Christian Gmeiner
c2387e6b3c
Revert "etnaviv: completely turn off MSAA"
...
This reverts commit 044b238507 and extends it with
- putting the comments directly in front of the if's
- do not support 2x MSAA on SMALL_MSAA hardware
- checking if blt/rs supports the format
MSAA should work as expected now. Tested with kmscube and qt5.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Christian Gmeiner
22920d5691
etnaviv: blt: Directly call etna_try_blt_blit(..)
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Christian Gmeiner
f126f81e68
etnaviv: blt: Add color resolve support
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Christian Gmeiner
b00fc1a08b
etnaviv: Update headers from rnndb
...
Update to rnndb commit fff078b61ceb.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Christian Gmeiner
24db330f8c
etnaviv: rs: msaa: Set cache mode for SMALL_MSAA
...
If the GPU supports SMALL_MSAA and does not support CACHE128B256BPERLINE we
need to set the cache mode to CACHE_MODE_256B.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Christian Gmeiner
a9b11d02d3
etnaviv: rs: Directly call etna_try_rs_blit(..)
...
Also remove some old comments.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Christian Gmeiner
a331717ed7
etnaviv: rs: Color resolve works
...
No special treatment is needed and is helps MSAA.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Gert Wollny
c581e426a9
etnaviv: Create MSAA surfaces with PE compatible tiling
...
MSAA surfaces are always used for rendering, and only as blit sources,
so the need to be allocated with PE compatible tiling.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Christian Gmeiner
6c0eff847d
etnaviv: Remove possibility to force MSAA
...
st/mesa does not know anything about the forced MSAA and we end with
the following assert:
etna_try_rs_blit: Assertion `(blit_info->src.box.x + blit_info->src.box.width) * msaa_xscale <= src_lev->padded_width' failed
Let the application do its thing regarding MSAA and remove this 'debug'
feature.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19013 >
2022-11-02 18:58:09 +00:00
Jesse Natalie
7221cc6526
d3d12: Hook up driver-private interop data
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
20bdec1fc4
mesa/st: Query driver for interop data
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
6421475b48
gallium: Add screen methods for driver-private data on interop interface
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
6ab615f183
include: Add driver data to v2 of mesa_glinterop_device_info
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
f35c8b4dbf
egl/wgl: Implement interop methods
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
e42e7aca18
wgl: Implement interop methods
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
89cd55e11d
egl/dri2: Implement the new flush method
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
8d55fb54b1
glx: Implement the new flush method
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
5345c34001
dri: Implement the new flush method
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
a86e0e8836
mesa/st: Implement the new flush method
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
4f3ccb9f47
mesa/st: Split interop object lookup from export
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
7033501eff
mesa: Make fence_sync not static
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
04d45eab34
include: Add a flush interop method
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
aaf35cb442
mesa, dri2: Move interop helpers from dri2 to state tracker
...
They're not at all dri2 specific and we'll want to use them from wgl.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Jesse Natalie
652d09d6ed
include: Add WGL version of GL interop extensions
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19242 >
2022-11-02 18:11:41 +00:00
Alyssa Rosenzweig
f343bd090d
docs/new_features: Add Panfrost disk cache
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19474 >
2022-11-02 17:42:24 +00:00
Rhys Perry
0004974467
radeonsi: increase gfx1100/gfx1101 physical vgprs
...
https://reviews.llvm.org/D134522
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18825 >
2022-11-02 17:09:32 +00:00
Rhys Perry
50073d6135
aco/gfx11: increase gfx1100/gfx1101 physical vgprs
...
https://reviews.llvm.org/D134522
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18825 >
2022-11-02 17:09:32 +00:00
Rhys Perry
67ebe86f0c
ac/gpu_info: increase gfx1100/gfx1101 physical vgprs
...
https://reviews.llvm.org/D134522
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18825 >
2022-11-02 17:09:32 +00:00
Rhys Perry
254f4fa573
radv: increase gfx1100/gfx1101 physical vgprs
...
https://reviews.llvm.org/D134522
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18825 >
2022-11-02 17:09:32 +00:00
Alyssa Rosenzweig
40372bd720
panfrost: Implement a disk cache
...
Wire up the Mesa shader disk cache into Panfrost. Coupled with the
precompiles from the previous patch, this should greatly reduce shader
recompile jank.
This is a bare bones implementation. Obvious future work includes:
- Caching internal (outside of Gallium) shaders
- Implement finalize_nir to reduce on disk size of shaders
That doesn't need to come in this patch.
This patch does shuffle some allocation patterns around to avoid extra
nir_shader_clones, but the result should be pretty clean.
---
Consider dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.* in the CTS.
With a cold cache:
44.11user 0.66system 0:45.44elapsed 98%CPU (0avgtext+0avgdata 267804maxresident)
k 0inputs+0outputs (130major+74725minor)pagefaults 0swaps
But with this commit and a warm cache:
4.07user 0.35system 0:04.56elapsed 96%CPU (0avgtext+0avgdata 211012maxresident)
k0inputs+0outputs (1major+49489minor)pagefaults 0swaps
That's an 11x improvement!
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
b35a55bb42
panfrost: Precompile shaders
...
We have no vertex shader key, and unless legacy GL features are used, the
fragment shader key is known ahead-of-time. That means we can precompile shaders
at CSO create time, hopefully avoiding some draw-time jank.
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
01bbf8e2df
panfrost: Precompile transform feedback program
...
This avoids the weird compiled_shader pointer inside of compiled_shader. Because
we don't have a nonempty vertex shader key, there will only ever be a single
transform feedback program per CSO.
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
b290ac960b
panfrost: Make fixed_varying_mask a fragment-only key
...
This makes it clear that there are no VS variants.
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
6d6f25e97e
panfrost: Use u_dynarray for variants
...
No need to open code our own "special" dynarray. Unify the graphics/compute CSO
creation to make this work without duplicating more code.
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
7bc34fbe84
panfrost: Remove uncompiled_shader->active_variant
...
The active compiled shader (variant) is context state, it is inappropriate to
stash it on the uncompiled shader. Add compiled shader pointers to the context
and get rid of the active_variant mutation. Names from iris.
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
52b4181eed
panfrost: Rename structs to panfrost_(un)compiled_shader
...
Consistency with other drivers, this makes the language less variant-centric.
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
ea45460f55
panfrost: Remove unused req_input_mem copy
...
Cloverism.
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
78f7128dad
panfrost: Merge pan_assemble.c into pan_shader.c
...
We now have a common place for the driver side of shader compilation. As a bonus
this gets rid of the old "assemble" name which hasn't been accurate since 2018
or so.
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
5ef46b4f72
panfrost: Consolidate all shader compiling code
...
Compute and graphics shaders will need similar paths for the disk cache. Let's
consolidate the code to make it easier to work with.
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
ecbeb6a335
panfrost: Remove bogus assert
...
Nothing enforces this except perhaps the implicit structure of shader keys.
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
4860b0f59e
panfrost: Move small compute functions to pan_context.c
...
So we can use pan_compute.c for just programs.
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
2e1a69105d
panfrost: Delete set_global_resources
...
Cloverism.
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
2316b80d77
panfrost: Don't use nir_variable to link varyings
...
NIR deemphasizes nir_variable. We want to transition off it. Instead of walking
the list of variables and playing games with the GLSL types to collect varying
information, walk the list of instructions and use the I/O semantics to collect
similar information.
In addition to avoiding the reliance on nir_variable, this fixes handling of
struct varyings under certain circumstances. Such programs are compiled by the
GLES3.1 CTS but not used, so without this fix, the affected tests would regress
when precompiling.
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
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
Erik Faye-Lund
f5e18da066
docs: swr -> OpenSWR
...
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
181d83cf2f
docs: ini -> INI
...
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
a02d3e099e
docs: piglit -> Piglit
...
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
4622c357db
docs: panfrost -> Panfrost
...
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
ac031f66c3
docs: softpipe -> Softpipe
...
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
99b45b2b68
docs: llvmpipe -> LLVMpipe
...
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
f90f194cff
docs: freedreno -> Freedreno
...
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
2170b4ad18
docs: de-nominate -> denominate
...
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
0361aec645
docs: de-duplicated -> deduplicated
...
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
c2ea5486ca
docs: spell out "transform and lighting"
...
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
c11b714541
docs: spell out "distribution"
...
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
Marcin Ślusarz
dcaaeb56ef
anv: program 3DSTATE_MESH_DISTRIB with the recommended values
...
It improves performance of vk_meshlet_cadscene on A770.
Fixes: f083df8710 ("anv: update task/mesh distribution with the recommended values")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19412 >
2022-11-02 08:56:53 +00:00
Marcin Ślusarz
d1d2dee970
anv: set 3DSTATE_[MESH|TASK]_CONTROL.MaximumNumberofThreadGroups
...
Documentation is worded in a confusing way, which may be understood that
we don't have to set this field to get good results.
MESH part of this commit improves performance of vk_meshlet_cadscene
by a factor of 2 on A380.
Fixes: ef04caea9b ("anv: Implement Mesh Shading pipeline")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19412 >
2022-11-02 08:56:53 +00:00
Marcin Ślusarz
11612d81b7
intel/genxml: fix width of 3DSTATE_TASK_CONTROL.MaximumNumberofThreadGroups
...
Fixes: 3567d47f3e ("intel/genxml: Inline the BODY structs into the instructions")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19412 >
2022-11-02 08:56:53 +00:00
Illia Abernikhin
aa4ac5ff8b
utils: Merge util/debug.* into util/u_debug.* and remove util/debug.*
...
Rename env_var_as_unsigned() -> debug_get_num_option(), because duplicate
Rename env_var_as_bool() -> debug_get_bool_option(), because duplicate
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7177
Signed-off-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19336 >
2022-11-02 07:25:39 +00:00
Illia Abernikhin
0e47171abe
utils: Move functions from debug.* to u_debug.*
...
Add unit tests for debug_get_bool_option and debug_get_num_option
Merge env_var_as_boolean and debug_get_bool_option and implement
env_var_as_boolean with debug_get_bool_option in a stricter side.
Merge env_var_as_unsigned and debug_get_num_option and implement
env_var_as_unsigned with debug_get_num_option in a stricter side.
Move debug_control, parse_debug_string, parse_enable_string,
comma_separated_list_contains from debug.* to u_debug.*
Main changes:
os_get_option() is used instead of getenv() for env_var_as_boolean
and env_var_as_unsigned;
also debug_get_bool_option() has logic like "true" always if not "false";
env_var_as_boolean() now uses different logic:
if env variable is neither "true" nor "false" returns the default value,
we left the second one; but if you want the behavior to be the same as in
the old version of debug_get_bool_option() use dfault=true
Signed-off-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19336 >
2022-11-02 07:25:39 +00:00
Thomas Debesse
d375a0ff8a
crocus: set clear_buffer = u_default_clear_buffer
...
This is required when crocus is enabled in rusticl,
the lack of it contributes to this error:
thread '<unnamed>' panicked at 'Context missing features. This should never happen!', ../src/gallium/frontends/rusticl/mesa/pipe/context.rs:44:13
Signed-off-by: Thomas Debesse <dev@illwieckz.net >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19001 >
2022-11-02 06:52:15 +00:00
Thomas Debesse
e74e82ea77
gallium/clover: pass -opaque-pointers to Clang on LLVM 15 and 16
...
This does the exact opposite of 06e96074 from !16129 .
Before LLVM commit 702d5de4 opaque pointers were supported but not enabled
by default when building LLVM. They were made default in commit 702d5de4.
LLVM commit d69e9f9d introduced -opaque-pointers/-no-opaque-pointers cc1
options to enable or disable them whatever the LLVM default is.
Those two commits follow llvmorg-15-init and precede llvmorg-15.0.0-rc1 tags.
Since LLVM commit d785a8ea, the CLANG_ENABLE_OPAQUE_POINTERS build option of
LLVM is removed, meaning there is no way to build LLVM with opaque pointers
enabled by default.
It was said at the time it was still possible to explicitly disable opaque
pointers via cc1 -no-opaque-pointers option, but it is known a later commit
broke backward compatibility provided by -no-opaque-pointers as verified with
arbitrary commit d7d586e5, so there is no way to use opaque pointers starting
with LLVM 16.
Those two commits follow llvmorg-16-init and precede llvmorg-16.0.0-rc1 tags.
Since Mesa commit 977dbfc9 opaque pointers are properly implemented in Clover
and used.
If we don't pass -opaque-pointers to Clang on LLVM versions supporting opaque
pointers but disabling them by default, there will be an API mismatch between
Mesa and LLVM and Clover will not work.
Signed-off-by: Thomas Debesse <dev@illwieckz.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19290 >
2022-10-25 07:18:16 +02:00
Thomas Debesse
1a06dbcaed
Revert "gallium/clover: pass -no-opaque-pointers to Clang", opaque pointers are now implemented
...
This reverts commit 06e9607478 from !16129 .
Clover passed -no-opaque-pointers option to Clang to workaround the fact
the Clover code was not ported to opaque pointers yet.
Opaque pointers are now implemented thanks to !19103 so passing this
option to tell Clang to not do opaque pointers while Clover does
is actually breaking Clover.
Here is an example of what happens when using opaque pointers while
passing -no-opaque-pointers at the same time:
fatal error: cannot open file 'hawaii-amdgcn-mesa-mesa3d.bc':
Opaque pointers are only supported in -opaque-pointers mode
This fixes one of the last remaining bits to fully support opaque pointers
in Mesa as referenced in #7468 , this is the last remaining bit to fully support
opaque points in Clover.
Signed-off-by: Thomas Debesse <dev@illwieckz.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19290 >
2022-10-25 05:20:29 +02:00
Alyssa Rosenzweig
2a6338722e
panfrost: Don't use nir_variable in the compilers
...
More future proof, simpler, and works with early I/O lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19456 >
2022-11-02 04:22:06 +00:00
Alyssa Rosenzweig
6a87719d35
pan/bi: Don't lower outputs for compute
...
Useless.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19456 >
2022-11-02 04:22:06 +00:00
Kenneth Graunke
fde99747e9
nir: Drop infer_non_readable option for nir_opt_access()
...
Everybody sets it to true now, and the only reason for the option to
exist was to work around a bug that's now been fixed.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19162 >
2022-11-02 03:42:04 +00:00
Kenneth Graunke
1462a61b5d
st/mesa: Let nir_opt_access() infer non-readable
...
In issue #3278 , Danylo noted that nir_opt_access() could desynchronize
the prog->sh.ImageAccess[] and prog->sh.BindlessImage[].access fields,
which are filled out as part of uniform linking, prior to running this
optimization pass. Those fields are used to fill out pipe_image_view's
shader_access field, which is used by a lot of drivers these days.
There's an easy solution to this issue however: we can simply call the
pass prior to linking, a few lines earlier.
This lets us infer that images are non-readable, which may let drivers
do additional optimizations.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3278
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19162 >
2022-11-02 03:42:04 +00:00
Alyssa Rosenzweig
45a111c21c
nir/opt_algebraic: Fuse c - a * b to FMA
...
Algebraically it is clear that
-(a * b) + c = (-a) * b + c = fma(-a, b, c)
But this is not clear from the NIR
('fadd', ('fneg', ('fmul', a, b)), c)
Add rules to handle this case specially. Note we don't necessarily want
to solve this by pushing fneg into fmul, because the rule opt_algebraic
(not the late part where FMA fusing happens) specifically pulls fneg out
of fmul to push fneg up multiplication chains.
Noticed in the big glmark2 "terrain" shader, which has a cycle count
reduced by 22% on Mali-G57 thanks to having this pattern a ton and being
FMA bound.
BEFORE: 1249 inst, 16.015625 cycles, 16.015625 fma, ... 632 quadwords
AFTER: 997 inst, 12.437500 cycles, .... 504 quadwords
Results on the same shader on AGX are also quite dramatic:
BEFORE: 1294 inst, 8600 bytes, 50 halfregs, ...
AFTER: 1154 inst, 8040 bytes, 50 halfregs, ...
Similar rules apply for fabs.
v2: Use a loop over the bit sizes (suggested by Emma).
shader-db on Valhall (open + small subset of closed), results on Bifrost
are similar:
total instructions in shared programs: 167975 -> 164970 (-1.79%)
instructions in affected programs: 92642 -> 89637 (-3.24%)
helped: 492
HURT: 25
helped stats (abs) min: 1.0 max: 252.0 x̄: 6.25 x̃: 3
helped stats (rel) min: 0.30% max: 20.18% x̄: 3.21% x̃: 2.91%
HURT stats (abs) min: 1.0 max: 5.0 x̄: 2.80 x̃: 3
HURT stats (rel) min: 0.46% max: 9.09% x̄: 3.89% x̃: 3.37%
95% mean confidence interval for instructions value: -6.95 -4.68
95% mean confidence interval for instructions %-change: -3.08% -2.65%
Instructions are helped.
total cycles in shared programs: 10556.89 -> 10538.98 (-0.17%)
cycles in affected programs: 265.56 -> 247.66 (-6.74%)
helped: 88
HURT: 2
helped stats (abs) min: 0.015625 max: 3.578125 x̄: 0.20 x̃: 0
helped stats (rel) min: 0.65% max: 22.34% x̄: 5.65% x̃: 4.25%
HURT stats (abs) min: 0.0625 max: 0.0625 x̄: 0.06 x̃: 0
HURT stats (rel) min: 8.33% max: 12.50% x̄: 10.42% x̃: 10.42%
95% mean confidence interval for cycles value: -0.28 -0.12
95% mean confidence interval for cycles %-change: -6.30% -4.30%
Cycles are helped.
total fma in shared programs: 1582.42 -> 1535.06 (-2.99%)
fma in affected programs: 871.58 -> 824.22 (-5.43%)
helped: 502
HURT: 9
helped stats (abs) min: 0.015625 max: 3.578125 x̄: 0.09 x̃: 0
helped stats (rel) min: 0.60% max: 25.00% x̄: 5.46% x̃: 4.82%
HURT stats (abs) min: 0.015625 max: 0.0625 x̄: 0.03 x̃: 0
HURT stats (rel) min: 4.35% max: 12.50% x̄: 6.22% x̃: 4.35%
95% mean confidence interval for fma value: -0.11 -0.08
95% mean confidence interval for fma %-change: -5.58% -4.93%
Fma are helped.
total cvt in shared programs: 665.55 -> 665.95 (0.06%)
cvt in affected programs: 61.72 -> 62.12 (0.66%)
helped: 33
HURT: 43
helped stats (abs) min: 0.015625 max: 0.359375 x̄: 0.04 x̃: 0
helped stats (rel) min: 1.01% max: 25.00% x̄: 6.68% x̃: 4.35%
HURT stats (abs) min: 0.015625 max: 0.109375 x̄: 0.04 x̃: 0
HURT stats (rel) min: 0.78% max: 38.46% x̄: 10.85% x̃: 6.90%
95% mean confidence interval for cvt value: -0.01 0.02
95% mean confidence interval for cvt %-change: 0.23% 6.24%
Inconclusive result (value mean confidence interval includes 0).
total quadwords in shared programs: 93376 -> 91736 (-1.76%)
quadwords in affected programs: 25376 -> 23736 (-6.46%)
helped: 169
HURT: 1
helped stats (abs) min: 8.0 max: 128.0 x̄: 9.75 x̃: 8
helped stats (rel) min: 1.52% max: 33.33% x̄: 8.35% x̃: 8.00%
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 25.00% max: 25.00% x̄: 25.00% x̃: 25.00%
95% mean confidence interval for quadwords value: -11.18 -8.11
95% mean confidence interval for quadwords %-change: -8.95% -7.36%
Quadwords are helped.
total threads in shared programs: 4697 -> 4701 (0.09%)
threads in affected programs: 4 -> 8 (100.00%)
helped: 4
HURT: 0
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for threads value: 1.00 1.00
95% mean confidence interval for threads %-change: 100.00% 100.00%
Threads are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Ol<C5><A1><C3><A1>k <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com > [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19312 >
2022-11-01 22:39:45 -04:00
Emma Anholt
07bac4094a
gallium: update docs about PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF.
...
We can provide better guidance on when to (un-)set this given that
everyone's on NIR now.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16539 >
2022-11-01 14:55:56 -07:00
Emma Anholt
467ee94001
iris: Disable GLSL lower_const_arrays_to_uniforms.
...
We want to use nir_opt_large_constants() instead (which is already
enabled), since that doesn't involve uploading the large immediate data
array again on each CB0 update. The downside is a bit of addressing math,
since constant_data is accessed using 64-bit global addresses.
The shader-db results are a bit all over:
All Iris driver platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 19910185 -> 19913931 (0.02%)
instructions in affected programs: 225374 -> 229120 (1.66%)
helped: 3 / HURT: 348
total cycles in shared programs: 856004856 -> 855016808 (-0.12%)
cycles in affected programs: 22832422 -> 21844374 (-4.33%)
helped: 277 / HURT: 101
total spills in shared programs: 6580 -> 6609 (0.44%)
spills in affected programs: 516 -> 545 (5.62%)
helped: 1 / HURT: 4
total fills in shared programs: 8235 -> 8267 (0.39%)
fills in affected programs: 1022 -> 1054 (3.13%)
helped: 1 / HURT: 3
total sends in shared programs: 1039347 -> 1039095 (-0.02%)
sends in affected programs: 16367 -> 16115 (-1.54%)
helped: 251 / HURT: 0
LOST: 5
GAINED: 2
LOST:
- 3 SIMD16 fragment shaders (Superposition)
- 2 SIMD16 compute shaders (Aztec Ruins)
GAINED:
- fake news... 2 SIMD8 compute shaders that replace the lost SIMD16
compute shaders.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16539 >
2022-11-01 14:55:33 -07:00
Kenneth Graunke
88756cee8d
intel/compiler: Run nir_opt_large_constants before scalarizing consts
...
nir_opt_large_constants balks at seeing a store_deref of a variable
where the source is a vecN operation of multiple load_consts, and thinks
that isn't a constant, so it should not bother promoting it.
Unfortunately, we were running nir_lower_load_const_to_scalar before
nir_opt_large_constants, so this prevented a ton of constant promotion.
This commit /used to help/ some shaders in shader-db. Presumably since
!16770 landed, those shaders were already helped. Currently ther are
no shader-db changes on any Intel platform.
Fossil-db results:
All Intel platforms had similar results. (Ice Lake shown)
Instructions in all programs: 141998227 -> 141421756 (-0.4%)
Instructions helped: 12515
Instructions hurt: 237
SENDs in all programs: 7437925 -> 7468033 (+0.4%)
SENDs hurt: 12806
Cycles in all programs: 9161655753 -> 9132869800 (-0.3%)
Cycles helped: 10163
Cycles hurt: 2637
Spills in all programs: 19977 -> 18678 (-6.5%)
Spills helped: 384
Spills hurt: 40
Fills in all programs: 32863 -> 31396 (-4.5%)
Fills helped: 385
Fills hurt: 42
Lost: 1
Lots of Shadow of the Tomb Raider fragment shaders and Batman Arkham
Origins vertex shaders were hurt for SENDs in this commit. A couple
Aztec Ruins compute shaders and Spaceship shaders (multiple stages)
were also hurt.
All of the shaders hurt for spills or fills were Spaceship compute
shaders. Nearly all of the shaders helped were Shadow of the Tomb
Raider fragmenet shaders. One Spaceship shader was reall, REALLY helped:
Spills helped fossils/fossil-db/Spaceship.run.9f90a2a226fcc57f.1.foz/0b507d3abe2e3c28/compute: 321 -> 13 (-96.0%)
Fills helped fossils/fossil-db/Spaceship.run.9f90a2a226fcc57f.1.foz/0b507d3abe2e3c28/compute: 279 -> 21 (-92.5%)
Overall this seems like an improvement, but we may want to actually
run these few benchmarks before landing.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16539 >
2022-11-01 14:55:21 -07:00
Kenneth Graunke
96054f8eba
iris: Use nir_intrinsic_load_global_constant for large constants
...
We were using the old load_global intrinsic still, which can't be
reordered, limiting optimization opportunities. We know the data here
is constant, so we can use the newer load_global_constant intrinsic.
This doesn't seem to have any impact on shader-db or fossil-db on any
Intel platform.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16539 >
2022-11-01 14:55:13 -07:00
Emma Anholt
e4d61f37d4
rusticl: Fix the invalid memory migration flags check.
...
We want to know if you have any invalid flags set, not if you don't have
any valid flags set.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19446 >
2022-11-01 21:30:52 +00:00
Chia-I Wu
05a4d3f380
freedreno/pps: loop countables by references
...
Mainly to get rid of alloc/free in collect_countables. Sampling at 1ms,
perf becomes
- 22.75% pps::FreedrenoDriver::collect_countables
22.59% pps::FreedrenoDriver::Countable::collect
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19427 >
2022-11-01 20:22:36 +00:00
Chia-I Wu
86553cd771
freedreno/pps: use 64-bit reads when possible
...
It is always possible on a5xx+ and allows Countable::collect to do 1 ldr rather
than 2.
Sampling at 1ms, perf goes from
- 34.44% pps::FreedrenoDriver::collect_countables
25.36% pps::FreedrenoDriver::Countable::collect
3.92% cfree
+ 2.28% operator new
to
- 29.60% pps::FreedrenoDriver::collect_countables
20.70% pps::FreedrenoDriver::Countable::collect
4.01% cfree
+ 2.35% operator new
1.09% memcpy
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19427 >
2022-11-01 20:22:36 +00:00
Samuel Pitoiset
53a8dd1d42
radv: move GDS counters after reserved GDS offsets for streamout
...
Otherwise, queries might return invalid data because they used
the same offsets as NGG streamout.
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/19442 >
2022-11-01 19:47:07 +00:00
Samuel Pitoiset
0bccf8f773
radv: use defines instead of magic values for GDS counters offset
...
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/19442 >
2022-11-01 19:47:07 +00:00
Georg Lehmann
9746ddf1d6
aco: Use s_pack_ll_b32_b16 for scalar zero extend.
...
Foz-DB Navi21:
Totals from 2403 (1.78% of 134913) affected shaders:
CodeSize: 25329156 -> 25311244 (-0.07%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19413 >
2022-11-01 18:59:53 +00:00
Samuel Pitoiset
d2f3e01f61
radv/amdgpu: add a kernel GDS management workaround for -ENOMEM
...
The kernel keeps returning -ENOMEM if multiple processes allocate GDS,
this always happen while running VKCTS. This solution is loosely based
on RadeonSI, except that it includes a timeout of 1s to exit the loop.
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/19440 >
2022-11-01 18:23:27 +00:00
Samuel Pitoiset
7e3be0b3ce
radv: assign IO var locations for VS/TES with NGG streamout
...
NGG streamout lowering requires nir_shader::num_outputs to be set to
the total number of outputs in order to compute the pervertex LDS size
correctly. This is wasting LDS memory but it's currently the only viable
solution.
This fixes a bunch of dEQP-VK.transform_feedback.* failures.
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/19436 >
2022-11-01 16:47:13 +00:00
Samuel Pitoiset
9ff2bed7be
ac/nir: stop using nir_gather_xfb_info_from_intrinsics
...
Given that we no longer need the slot_to_register mapping, it's
useless to use this function.
This also fixes a bunch of failures with
dEQP-VK.transform_feedback.*omit_write* on RADV because in Vulkan
the spec requires XFB query counters to be incremented even if XFB
outputs aren't written to.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19437 >
2022-11-01 15:55:07 +00:00
Jason Ekstrand
d0c9ab529e
nouveau/codegen: Support bindless texture queries
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19431 >
2022-11-01 15:29:24 +00:00
Jason Ekstrand
15796bdd0e
nir/types: Add some asserts to glsl_get_struct_field()
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19430 >
2022-11-01 14:48:41 +00:00
Ruijing Dong
4bf116d440
frontends/va: fixed an av1 dec image corruption.
...
[problem]
When decoding an av1 bitstream, it shows image corruption
in the middle of the bitstream around key frames.
[analysis]
in av1_spec.pdf page 38/669, there is a sentence below:
if ( frame_type == KEY_FRAME && show_frame ) {
for ( i = 0; i < NUM_REF_FRAMES; i++) {
RefValid[ i ] = 0
......
}
......
}
This shows that the condition of invalidating current
DPB frames should be the coming frame_type is KEY_FRAME plus
show_frame is equal to 1. Otherwise, some of the frames
in sequence after KEY_FRAME still refer to the reference frames
before KEY_FRAME, and if these before KEY_FRAME reference
frames were invalidated, these frames could not find their
reference frames, and it could cause image corruption.
[solution]
Add condition of show_frame, with the corresponding fix
in ffmpeg, we cannot see this issue any longer.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19386 >
2022-11-01 10:24:11 -04:00
Gert Wollny
b1e9065fe4
r600/sfn: remove load_uniform handling
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19416 >
2022-11-01 14:00:44 +00:00
Gert Wollny
350c56b1c3
r600/sfn: lower uniforms to UBOs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19416 >
2022-11-01 14:00:44 +00:00
Thomas Debesse
981bc603b4
clover: implement CLOVER_DEVICE_TYPE like RUSTICL_DEVICE_TYPE
...
Allows to make Clover devices appearing as cpu, gpu or accelerator
by setting the CLOVER_DEVICE_TYPE environment variable like
the RUSTICL_DEVICE_TYPE environment variable does.
For example it can make the CPU llvmpipe device appear as GPU or GPU devices
appear as CPU. This is useful for testing OpenCL with applications that may
use different code path given the OpenCL device is a CPU or a GPU.
The initial motivation for RUSTICL_DEVICE_TYPE implementation was to test
rusticl with llvmipe on applications ignoring CPU devices.
This brings Clover on par with rusticl on that topic.
CL_DEVICE_TYPE_CUSTOM isn't implemented or applications may crash when
iterating devices because CL_DEVICE_TYPE_CUSTOM is OpenCL 1.2 and Clover
is OpenCL 1.1.
Signed-off-by: Thomas Debesse <dev@illwieckz.net >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18931 >
2022-11-01 13:32:01 +00:00
Rhys Perry
6113ee650a
aco/gfx11: fix FS input loads in quad-divergent control flow
...
This is not ideal and it would be great to somehow make it better some
day.
fossil-db (gfx1100):
Totals from 5208 (3.86% of 135032) affected shaders:
MaxWaves: 127058 -> 126962 (-0.08%); split: +0.01%, -0.09%
Instrs: 3983440 -> 4072736 (+2.24%); split: -0.00%, +2.24%
CodeSize: 21872468 -> 22230852 (+1.64%); split: -0.00%, +1.64%
VGPRs: 206688 -> 206984 (+0.14%); split: -0.05%, +0.20%
Latency: 37447383 -> 37491197 (+0.12%); split: -0.05%, +0.17%
InvThroughput: 6421955 -> 6422348 (+0.01%); split: -0.03%, +0.03%
VClause: 71579 -> 71545 (-0.05%); split: -0.09%, +0.04%
SClause: 148289 -> 147146 (-0.77%); split: -0.84%, +0.07%
Copies: 259011 -> 258084 (-0.36%); split: -0.61%, +0.25%
Branches: 101366 -> 101314 (-0.05%); split: -0.10%, +0.05%
PreSGPRs: 223482 -> 223460 (-0.01%); split: -0.21%, +0.20%
PreVGPRs: 184448 -> 184744 (+0.16%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19370 >
2022-11-01 12:42:43 +00:00
Rhys Perry
16d2c7ad55
aco/gfx11: perform FS input loads in WQM
...
fossil-db (gfx1100):
Totals from 48184 (35.68% of 135032) affected shaders:
MaxWaves: 1131876 -> 1131960 (+0.01%); split: +0.05%, -0.04%
Instrs: 36755466 -> 36782290 (+0.07%); split: -0.04%, +0.11%
CodeSize: 200812068 -> 200915348 (+0.05%); split: -0.04%, +0.09%
VGPRs: 2163980 -> 2163828 (-0.01%); split: -0.15%, +0.14%
Latency: 484174459 -> 484341018 (+0.03%); split: -0.06%, +0.09%
InvThroughput: 87941284 -> 87944874 (+0.00%); split: -0.04%, +0.04%
VClause: 652984 -> 653085 (+0.02%); split: -0.09%, +0.10%
SClause: 1510995 -> 1528832 (+1.18%); split: -0.40%, +1.58%
Copies: 1997689 -> 2001857 (+0.21%); split: -0.49%, +0.69%
Branches: 676629 -> 676584 (-0.01%); split: -0.02%, +0.01%
PreSGPRs: 2033070 -> 2036725 (+0.18%)
PreVGPRs: 1903922 -> 1903897 (-0.00%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 3730be9873 ("aco: mostly implement FS input loads on GFX11")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19370 >
2022-11-01 12:42:43 +00:00
Rhys Perry
3da4fe9c6d
aco: fix typo in branch lowering
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: aadb7aef01 ("aco: add VINTERP instruction format")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19370 >
2022-11-01 12:42:43 +00:00
Samuel Pitoiset
c2ff7c3eb2
radv: enable VK_EXT_transform_feedback with NGG streamout on GFX11
...
Untested but it mostly work on GFX10.3.
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/19435 >
2022-11-01 11:28:45 +01:00
Samuel Pitoiset
75faaac895
radv: allow to enable NGG streamout with RADV_PERFTEST=ngg_streamout
...
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/19435 >
2022-11-01 11:28:43 +01:00
Samuel Pitoiset
4621c4936b
radv: enable all possible features with NGG streamout
...
Tested by forcing NGG streamout on GFX10.3.
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/19435 >
2022-11-01 11:28:41 +01:00
Samuel Pitoiset
d467ff7b0e
radv: set the correct buffer size for NGG streamout
...
If the size is passed through CmdBindTransformFeedback() uses that.
This partially fixes dEQP-VK.transform_feedback.simple.multiquery_1
by reporting the correct number of primitives written (the computation
is based on the buffer size). There is still a bug around GDS offsets
that will be fixed later.
Tested on GFX10.3 by forcing NGG streamout.
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/19433 >
2022-11-01 10:41:36 +01:00
Gert Wollny
3b9f36db47
r600/sfn: Handle load_workgroup_size
...
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19417 >
2022-11-01 08:04:48 +00:00
Samuel Pitoiset
76555a4777
radv: fix primitives generated query with NGG only
...
According to the AMD registers database, SAMPLE_STREAMOUTSTATS no
longer exists on GFX11. This fixes primitives generated query if only
the NGG path is used. Tested on GFX10.3 by forcing NGG everywhere.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19410 >
2022-11-01 07:26:31 +00:00
Samuel Pitoiset
8dafda4a07
radv: suspend/resume primitives generated query separately for legacy/NGG
...
With NGG only, only the GDS query counter will be incremented.
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/19410 >
2022-11-01 07:26:31 +00:00
Samuel Pitoiset
e83ec595df
radv: use 32-bit GDS counters for primitives generated query with NGG
...
Do not need to use 64-bit operations.
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/19410 >
2022-11-01 07:26:31 +00:00
Samuel Pitoiset
1e925ce565
radv: reword an incorrect comment about primitives generated query
...
This is not the XFB counter.
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/19410 >
2022-11-01 07:26:31 +00:00
Luis Felipe Strano Moraes
2842c04bf5
meson: simplified meson for enabling ray-tracing on Intel
...
Removed warning about deprecated usage that was not necessary.
Also added information on whether support is enabled or not to the
summary so it is easier to check when building.
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19332 >
2022-11-01 06:30:47 +00:00
Alyssa Rosenzweig
fda7d17e81
gallium: Default to PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT
...
Supported in all hardware and software drivers. Only that don't support
are virgl and svga, depending on host capabilities. I don't think
there's anything to be done there. This does give fewer places to screw
up the CAPs, though, because everyone wants ARB_buffer_storage.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Marek Ol<C5><A1><C3><A1>k <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19392 >
2022-10-31 23:35:33 -04:00
Alyssa Rosenzweig
614a8502a8
etnaviv: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT
...
This CAP only concerns mapping of buffers, not textures. For buffers,
etnaviv does not seem to use any staging resources. In neither case does
etnaviv use explicit syncs or flushes, so persistent/coherent mapping
should come as the implicit default and the cap should be almost free.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19392 >
2022-10-31 23:35:30 -04:00
Alyssa Rosenzweig
8a09eee858
i915g: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT
...
Currently buffer_map returns the raw pointer, there is no syncing or
flushing or staging buffers or resource shadowing anywhere. That means
if the driver is currently correct, it is implementing persistent and
coherent behaviour already, so the CAP is trivial.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19392 >
2022-10-31 23:34:39 -04:00
Alyssa Rosenzweig
1ad51f05c2
softpipe: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT
...
It's a software rasterizer, all buffers are necessarily persistent and
coherent. There are no staging buffers in transfer_map and no sync/flush
operations, so this is trivial.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19392 >
2022-10-31 23:34:36 -04:00
Frank Binns
d3d68394ce
CODEOWNERS: remove rajnesh-kanwal as an Imagination maintainer
...
Rajnesh has moved onto other non-graphics things.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19135 >
2022-10-31 23:59:41 +00:00
Nanley Chery
0fa540ef61
iris: Reduce use of RHWO optimization (Wa_1508744258)
...
Implement Wa_1508744258:
Disable RHWO by setting 0x7010[14] by default except during resolve
pass.
Disable the RCC RHWO optimization at all times except when resolving
single sampled color surfaces. MCS partial resolves are done via
software (i.e., not via a HW bit) and so are not expected to need this
workaround.
Reviewed-by: Mark Janes <markjanes@swizzler.org >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19360 >
2022-10-31 23:26:06 +00:00
António Monteiro
3e56968984
gallium/util: remove network class
...
Signed-off-by: António Monteiro <antonio.fmr.monteiro@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19403 >
2022-10-31 19:30:09 +00:00
jenneron
d9f0fef91d
docs/panfrost: Document Mali-T620 support
...
This one is already supported
Signed-off-by: Anton Bambura <jenneron@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19415 >
2022-10-31 18:53:24 +00:00
Emma Anholt
4e14da056d
zink: Enable mesa/st frontend shader caching.
...
This required fixing up the disk cache to hash in stuff that was missing
(like the proper pipeline cache uuid rather than just PCI IDs, and also
zink's build ID). Once we do that, we can just hand the frontend our disk
cache and avoid GLSL->NIR recompiles.
tu asphalt_9 trace perf +3.14859% +/- 1.36891% (n=4)
Fixes : #7513
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19124 >
2022-10-31 18:32:44 +00:00
Jesse Natalie
b4f2b244fa
d3d12: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19396 >
2022-10-31 18:17:41 +00:00
Jesse Natalie
61afaa0c68
dzn: Set factory flags before creating device
...
I got this in d3d12 but missed it in dzn
Fixes: 74d1c72b ("dzn: Support device factories in addition to global device creation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19420 >
2022-10-31 18:03:02 +00:00
Konstantin Seurer
1c7d208302
radv/rt: Set vars.arg in the traversal shader
...
Fixes: f4270b7 ("radv/rt: create traversal shader independent from main shader")
Closes : #7591
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19402 >
2022-10-31 17:25:55 +00:00
Michel Dänzer
6fd1414016
radeonsi/ci: Test piglit quick_shader profile as well
...
It's useful for catching regressions, e.g. it would have caught
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7567 .
For the radeonsi-stoney-gl:amd64 job, we can use the "gpu" profile,
which contains quick_gl and quick_shader.
For the radeonsi-raven-piglit-gl:amd64 job, that would almost double
the runtime, and bring it dangerously close to the 30 minutes timeout.
Instead, split it up into radeonsi-raven-piglit-quick_gl:amd64 and
radeonsi-raven-piglit-quick_shader:amd64 jobs.
v2:
* Rebase, drop spec@arb_tessellation_shader@execution flakes and add
one crash instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19378 >
2022-10-31 16:58:26 +00:00
Rhys Perry
b7ea47ede6
radv,aco: don't use lower_to_fragment_fetch_amd on GFX11+
...
FMask doesn't exist on GFX11. Have txf_ms take the fragment_fetch_amd
path.
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/19375 >
2022-10-31 16:26:30 +00:00
Rhys Perry
b9a3d8b0ab
radv/gfx11: don't create texop_samples_identical
...
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/19375 >
2022-10-31 16:26:30 +00:00
Rhys Perry
d31e5c8efc
radv/gfx11: don't create fmask copy/expand pipelines
...
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/19375 >
2022-10-31 16:26:30 +00:00
Rhys Perry
140cefe95a
ac/nir: lower gfx11 vertex parameter exports
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19228 >
2022-10-31 14:33:43 +00:00
Rhys Perry
14a1925727
aco: don't split swizzled store_buffer_amd on GFX9+
...
This isn't necessary.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19228 >
2022-10-31 14:33:43 +00:00
Rhys Perry
e6d26cb288
nir,ac/nir,aco,radv: replace has_input_*_amd with more general intrinsics
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19228 >
2022-10-31 14:33:43 +00:00
Samuel Pitoiset
9f692f5aa6
radv: do not unconditionally disable NGG streamout lowering in NIR
...
This is still always disabled because use_ngg_streamout is FALSE
but it will be turned on at some point.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317 >
2022-10-31 13:48:39 +00:00
Samuel Pitoiset
d653ca4c52
radv: lower NIR intrinsics for NGG streamout
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317 >
2022-10-31 13:48:39 +00:00
Samuel Pitoiset
3bafe6e0bc
radv: call nir_io_add_intrinsic_xfb_info() after IO lowering
...
This is needed for NGG streamout which gets the XFB info directly
from intrinsics.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317 >
2022-10-31 13:48:39 +00:00
Samuel Pitoiset
ed865440db
radv/llvm: prevent emitting streamout outputs for NGG
...
They are directly emitted from NIR.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317 >
2022-10-31 13:48:39 +00:00
Samuel Pitoiset
fa287c99ed
aco: remove invalid assertions for NGG streamout
...
Streamout outputs are directly emitted from NIR now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317 >
2022-10-31 13:48:39 +00:00
Samuel Pitoiset
db7ffa4006
aco: implement NIR intrinsics for NGG streamout
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317 >
2022-10-31 13:48:39 +00:00
Samuel Pitoiset
fdc212bd7b
aco: create a new builder variant for ds_add_rtn
...
This instruction can use 1 definition and 3 operands.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19317 >
2022-10-31 13:48:39 +00:00
Bas Nieuwenhuizen
5d04064642
radv: Handle attribute ring intrinsic correctly with LLVM.
...
Again, if we don't set progress to false we get fun stuff.
Fixes: 8bf1aa1b76 ("radv: add lowering for nir_intrinsic_load_ring_attr_{offset}_amd")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19404 >
2022-10-31 13:17:04 +00:00
Bas Nieuwenhuizen
45ff58cfd1
radv: Handle GSVS ring intrinsic correctly with LLVM.
...
If we don't set progress to false we get a mess as a replacement is
still attempted.
Fixes: 382831c986 ("radv,nir: add intrinsics for streamout and GS copy shaders")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19404 >
2022-10-31 13:17:04 +00:00
Bas Nieuwenhuizen
ec9d71498e
radv: Use correct types for loading the rings with LLVM.
...
Ring descriptors are v4i32, not i8.
Fixes: cb117cdc96 ("radv/llvm: use ac_build_gep0_type to get args types")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19404 >
2022-10-31 13:17:04 +00:00
Anton Bambura
18e7f5c428
panfrost: Enable Mali-T620
...
Support of this GPU is now good enough to enable it
Signed-off-by: Anton Bambura <jenneron@protonmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19408 >
2022-10-31 13:02:06 +00:00
Gert Wollny
333aa0a6e8
r600: Print MOVA_INT dest on Cayman
...
On Cayman the index registers can be written too, so print it.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19397 >
2022-10-31 12:52:49 +00:00
Gert Wollny
dfeb96e277
r600: Only count ALU registers that are not clause local
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19397 >
2022-10-31 12:52:49 +00:00
Gert Wollny
04465c10bd
r600: declare for counter locally and fix signed/unsigned warning
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19397 >
2022-10-31 12:52:49 +00:00
Samuel Pitoiset
d4ec3f21cf
Revert "radv: add a pointer to radv_shader_binary in radv_shader"
...
This is actually not necessary because we compile and upload binaries
directly from libraries with GPL. This introduced random double free
crashes because binaries were potentially freed by concurrent threads.
Root cause found by Ishi.
This reverts commit f8d887527a .
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19383 >
2022-10-31 12:16:38 +00:00
Sunil Khatri
4f57dfc115
winsys/amdgpu: clamp up the alignment if zero
...
Zero alignment buffers is a valid alignment and is
used for the cases when there is no special alignment
enforced due to hardware requirement.
Clamp up the buffer alignment of such buffers to
gart_page_size. Screenshot app uses such buffers
with zero alignment which is returned NULL by winsys
and failed and hence failed to capture.
Signed-off-by: Sunil Khatri <sunil.khatri@amd.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19314 >
2022-10-31 11:48:14 +00:00
Danylo Piliaiev
5eaca461a7
freedreno/fdl: Increase alignment for UBWC images
...
From empirical tests (on a660) R8G8 with UBWC enabled requires 256b
alignment, otherwise there would be a GPU fault during blits.
Set alignment to 4096 for all UBWC images since that's what blob does
and this area is heavily undertested.
Fixes GPU fault in Borderlands 3 running through DXVK.
cc: mesa-stable
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19298 >
2022-10-31 11:17:31 +00:00
Frank Binns
d4b43d1bcf
pvr: setup buffer and image format feature bits
...
Note, this also fixes a case where image usage and format feature flags were
being mixed. This was noticed as part of the conversion to format feature 2
flags.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19372 >
2022-10-31 11:07:30 +00:00
Georg Lehmann
2eac571d61
aco: Use opsel for the third operand.
...
Foz-DB Navi21:
Totals from 2 (0.00% of 134913) affected shaders:
CodeSize: 7788 -> 7772 (-0.21%)
Instrs: 1305 -> 1303 (-0.15%)
Latency: 7175 -> 7163 (-0.17%)
InvThroughput: 2082 -> 2078 (-0.19%)
Copies: 57 -> 55 (-3.51%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19380 >
2022-10-31 09:54:01 +00:00
Samuel Pitoiset
25e311e9d3
radv: implement transform feedback queries with NGG streamout
...
The control bit is written to the upper bits because GDS counters
are 32-bits only, this allows to re-use the existing query shader.
Tested on GFX10.3.
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/19325 >
2022-10-31 08:22:29 +00:00
Tapani Pälli
7cfd0e8d31
hasvk: remove some unused functions
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19368 >
2022-10-31 06:59:36 +00:00
Tapani Pälli
f9176d9b2c
anv: remove some unused functions
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19368 >
2022-10-31 06:59:36 +00:00
Bas Nieuwenhuizen
78519987b9
radv: Speculatively tune RT pipelines for GFX11.
...
With ACO not supporting VOPD and the high number of SALU instructions,
we're likely better off using wave64 until we can actually benchmark
this and fix these issues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19288 >
2022-10-31 02:39:34 +00:00
Lionel Landwerlin
6b52834ece
anv: remove shader fp64 inspection after parsing
...
Unfortunately some crucible tests are using all floating point widths
in a single shader and specializing a variable to select what code
path to use for a particular supported floating point width. This is
reporting errors in the validation layers.
Remove the validation for now.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes 8c4c4c3ee1 ("anv: Add softtp64 workaround")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19401 >
2022-10-30 22:16:52 +00:00
Yusuf Khan
492ac88078
nouveau: enable PIPE_CAP_UMA when appropriate
...
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18172 >
2022-10-30 20:21:51 +00:00
Bas Nieuwenhuizen
9369b40725
radv: Use PLOC for BVH building
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Bas Nieuwenhuizen
271865373e
radv: Add PLOC shader
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
14dfb6035f
radv: Add REF as a typename macro to .clang-format
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
0c0f179037
radv: Add global sync utilities
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
608fa1bd25
radv/rt: Track number of inactive leaf nodes
...
To avoid emitting nodes with only invalid children in PLOC.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
f502b3aab3
radv/rt: Dispatch internal converter indirectly
...
Preparation for using the converter with PLOC.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
49c0995918
radv/rt: Fix internal converter synchronization
...
Fixes: e83e4faf ("radv: Only emit parents from parents that actually end up in the tree.")
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
fa578f280e
radv: Add radv_indirect_unaligned_dispatch
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
030a1f6843
radv: Use a struct for AABBs
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Bas Nieuwenhuizen
ccf0a69e05
radv: Make the number of internal nodes be written on the GPU.
...
Opens the door of algorithms with a variable number of nodes.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Bas Nieuwenhuizen
0e23df959e
radv: Add BVH IR header.
...
To include GPU state passed between stages but not in a node.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Friedrich Vock
37525c11d1
radv: Rename emulated float helpers
...
Use only conversion functions now.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19292 >
2022-10-30 19:48:46 +00:00
Mauro Rossi
db946364df
util: glsl2spirv.py: ensure '#endif' is printed in new line
...
Fixes the following building errors:
In file included from ../src/intel/vulkan/anv_pipeline_cache.c:34:
src/intel/vulkan/float64_spv.h:3316:3: error: expected identifier or '('
};#endif // FLOAT64_SPV_H
^
src/intel/vulkan/float64_spv.h:1:2: error: unterminated conditional directive
^
../src/intel/vulkan/anv_pipeline_cache.c:59:17: error: use of undeclared identifier 'anv_shader_bin_serialize'; did you mean 'anv_shader_bin_deserialize'?
.serialize = anv_shader_bin_serialize,
^~~~~~~~~~~~~~~~~~~~~~~~
anv_shader_bin_deserialize
../src/intel/vulkan/anv_pipeline_cache.c:41:1: note: 'anv_shader_bin_deserialize' declared here
anv_shader_bin_deserialize(struct vk_device *device,
^
../src/intel/vulkan/anv_pipeline_cache.c:59:17: error: incompatible pointer types initializing 'bool (*)(struct vk_pipeline_cache_object *, struct blob *)' with an expression of type 'struct vk_pipeline_cache_object *(struct vk_device *, const void *, size_t, struct blob_reader *)' (aka 'struct vk_pipeline_cache_object *(struct vk_device *, const void *, unsigned long, struct blob_reader *)') [-Werror,-Wincompatible-pointer-types]
.serialize = anv_shader_bin_serialize,
^~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
Fixes: 9786d9e ("util: Add glsl2spirv.py script")
Reviewed-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19394 >
2022-10-30 14:14:21 +01:00
Filip Gawin
3f282b54fa
r300: update r400 tests
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19395 >
2022-10-29 20:45:17 +00:00
Mike Blumenkrantz
e68ecb52d2
zink: enable renderpass optimizing for turnip jobs
...
this should catch regressions, at the least
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19077 >
2022-10-29 20:19:51 +00:00
Mike Blumenkrantz
8a439f89d4
zink: use tc renderpass tracking to optimize renderpasses
...
this massively improves performance on tiling gpus
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19077 >
2022-10-29 20:19:51 +00:00
Mike Blumenkrantz
58f09f5993
zink: add a context flag to indicate when blitter is running
...
...or blitter-like functionality
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19077 >
2022-10-29 20:19:51 +00:00
Mike Blumenkrantz
07017aa137
util/tc: implement renderpass tracking
...
this allows tc to track metadata for framebuffer attachments so that
drivers can optimize their renderpasses
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19077 >
2022-10-29 20:19:51 +00:00
Mike Blumenkrantz
42fafd2f51
util/tc: split out dsa and fs state cso handling
...
no functional changes
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19077 >
2022-10-29 20:19:51 +00:00
Mike Blumenkrantz
288d109ff3
util/tc: split out flush and deferred flush calls
...
it's useful to be able to separate these, and deferred flushes can also consume
slightly less memory
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19077 >
2022-10-29 20:19:51 +00:00
Jordan Justen
2f32e8f64b
ci/d3d12: Update quick_shader results with 24 fixes from !19128
...
Suggested-by: Jesse Natalie <jenatali@microsoft.com >
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19128 >
2022-10-29 19:45:44 +00:00
Francisco Jerez
be6da31034
nir/lower_int64: Implement lowering of 64-bit integer to 64-bit float conversions.
...
This involves computing the significand with a 64-bit precision type,
and implementing the normalization and packing manually instead of
relying on u2f32, since the significand can no longer be represented
as a 32-bit integer. This fixes 64-bit integer to 64-bit float
conversions on devices that support 64-bit float natively but lack
64-bit integer support, like Intel MTL hardware.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com > (v1)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19128 >
2022-10-29 19:45:44 +00:00
Francisco Jerez
29da985682
nir/lower_int64: Enable lowering of 64-bit float to 64-bit integer conversions.
...
The existing code for this appears to work okay for conversions
involving 64-bit floats, relax the assert and enable the lowering
path. This fixes 64-bit float to 64-bit integer integer conversions
on devices that have native support for 64-bit floats but lack 64-bit
integer support, like Intel MTL hardware.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19128 >
2022-10-29 19:45:44 +00:00
Alyssa Rosenzweig
eac8cbb049
asahi: Identify counts for compute kernels
...
In the same place as for vertex/fragment.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19265 >
2022-10-29 19:23:51 +00:00
Marek Olšák
8f1a9a8dae
radeonsi: force the MSAA resolve shader to use 1 clause for MSAA loads
...
LLVM can't keep consecutive loads in a clause.
Using the optimization barrier for sample indices produces the optimal code.
Deduced by trial and error.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19243 >
2022-10-29 18:38:33 +00:00
Marek Olšák
0ac37b595a
nir: add nir_intrinsic_optimization_barrier_vgpr_amd for LLVM
...
We need this for the MSAA resolve shader.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19243 >
2022-10-29 18:38:33 +00:00
Alyssa Rosenzweig
041f484588
panfrost: Add lots of perf_debug annotations
...
Should make it easier to diagnose performance issues in the future.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19358 >
2022-10-29 18:23:55 +00:00
Alyssa Rosenzweig
1ff3b87ba2
panfrost: Enable rendering to 16-bit and 32-bit
...
Bifrost onwards handle this in hardware, and the Midgard lowering isn't
too terrible. Enable the format, otherwise desktop GL apps such as
Hacknet try to render to the format and get an incomplete framebuffer.
Cc stable because apparently we've been advertising this format
unintentionally as a result of some other interaction? Unclear how
Hacknet is hitting this, maybe it's an app bug. Shrug, it's not a big
deal regardless.
Additionally, we need to restrict texturing from 32-bit normalized due
to a restriction added with the v7 pixel format fiasco. That means
restricting rendering to 32-bit normalized on v7 onwards.
Closes : #7251
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Tested-by: Dang Huynh <danct12@disroot.org >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19358 >
2022-10-29 18:23:55 +00:00
Alyssa Rosenzweig
3a9cdd780d
panfrost/ci: Disable trace-based testing
...
Trace-based testing has not worked for Panfrost. It was a neat
experiment, and I'm glad we tried it, but the results have been mostly
negative for the driver. Disable the trace-based tests.
For testing that specific API features work correctly, we run the
conformance tests (dEQP), which are thorough for OpenGL ES. For big GL
features, we run Piglit, and if there are big GL features that we are
not testing adequately, we should extend Piglit for these. For
fine-grained driver correctness, we are already covered.
Where trace-based testing can fit in is as a smoke test, ensuring that
the overall rendering of complex scenes does not regress. In principle,
that's a lovely idea, but the current implementation has not worked out
for Panfrost thus far. The crux of the issue is that the trace based
tests are based on checksums, not fuzzy-compared reference images. That
requires updating checksums any time rendering changes. However, a
rendering change to a trace is NOT a regression. The behaviour of OpenGL
is specified very loosely. For a given trace, there are many different
valid checksums. That means that correct changes to core code frequently
fail CI after running through the rest of CI, only because a checksum
changed in a still correct way. That's a pain to deal with, exacerbated
by rebase pains, and provides negative value to the project. Some recent
examples of this I've hit in the past two weeks alone:
panfrost: Enable rendering to 16-bit and 32-bit
4b49241f7d ("panfrost: Use proper formats for pntc varying")
ac2964dfbd ("nir: Be smarter fusing ffma")
The last example were virgl traces, but were especially bad: due to a
rebase fail, I had to update traces /twice/, wasting two full runs of
pre-merge CI across *all* hardware. This was extremely wasteful.
The value of trace-based testing is as a smoke test to check that traces
still render correctly. That is useful, but it turns out that checksums
are the wrong way to go about it. A better implementation would be
storing only a single reference image from a software rasterizer per
trace. No driver-specific references would be stored. That reference
image must never change, provided the trace never changes. CI would then
check rendered results against that image with tolerant fuzzy
comparisons. That tolerance matches with the fuzzy comparison that the
human eye would do when investigating a checksum change anyway. Yes, the
image comparison JavaScript will now report that
0 pixels changed within the tolerance, but there's nothing a human eye
can do with that information other than an error prone copypaste of new
checksums back in the yaml file and kicking it back to CI, itself a
waste of time.
Finally, in the time we've had trace-based testing alongside the
conformance tests, I cannot remember a single actual regression in one
of my commits the trace jobs have identified that the conformance tests
have not also identified. By contrast, the conformance test coverage has
prevented the merge of a number of actual regressions, with very few
flakes or xfail changes, and I am grateful we have that coverage. That
means the value added from the trace jobs is close to zero, while the
above checksum issues means that the cost is tremendous, even ignoring
the physical cost of the extra CI jobs.
If you work on trace-based testing and would like to understand how it
could adapted to be useful for Panfrost, see my recommendations above.
If you work on CI in general and would like to improve Panfrost's CI
coverage, what we need right now is not trace-based testing, it's
GLES3.1 conformance runs on MediaTek MT8192 or MT8195. That hardware is
already in the Collabora LAVA lab, but it's not being used for Mesa CI
as the required kernel patches haven't made their way to mainline yet
and nobody has cherry-picked them to the gfx-ci kernel. If you are a
Collaboran and interested in improving Panfrost CI, please ping
AngeloGioacchino for information on which specific patches need to be
backported or cherry-picked to our gfx-ci kernel. Thank you.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19358 >
2022-10-29 18:23:55 +00:00
Rob Clark
5d3895d13b
nir: Add way to create passthrough TCS without VS nir
...
In the case of disk-cache hits, radeonsi no longer has the nir shader
around. So add a way to create a passthrough TCS with just the VS
output locations.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7567
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19382 >
2022-10-29 17:46:23 +00:00
Rob Clark
4229d2e39c
docs: Update features.txt
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19388 >
2022-10-29 16:47:08 +00:00
Alyssa Rosenzweig
b575f5ed6c
gallium: Only use Asahi's software path on macOS
...
On macOS, we don't have DRM or any real WSI, so Asahi has to pretend to be a
software rasterizer to load. On Linux, we do have DRM and proper WSI, so we
don't want that. For faking Asahi devices on Linux, we should use drm-shim
instead. This makes sure we don't accidentally load Asahi on non-M1 Linux.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15940 >
2022-10-29 12:04:41 -04:00
Alyssa Rosenzweig
db8ab52447
gallium: Stub support for Asahi + DRM
...
Copy-paste a pile of winsys code from panfrost and find-and-replace the name to
asahi. This should contain all the glue code needed for asahi+kmsro.
The kernel driver is under way (led by Asahi Lina, not me), but it's not
wred up here. My goal was rather to run shader-db, which expects a
render node, which means drm-shim, which means DRM loader support. With
this patch and a trivial drm-shim, shader-db runs.
In general I am reticent to touch UABI related code when the UABI hasn't been
finalized upstream, or started design at all, hence the RFC. Realistically this
patch assumes the following about the future UABI:
0. It will be a DRM driver. This is nonnegotiable.
1. The render node will be named "asahi". The other reasonable name would be
"apple", which I'm using for the display controller (not yet upstream, but
getting close).
2. Display and rendering will be split in the kernel, requiring kmsro in
userspace, as agreed in past discussions.
The 3D accelerator (AGX) and the display controller (DCP) are completely
orthogonal blocks with separate lineages. True, Apple A14 (~= M1) has AGX and
DCP together, and it seems like all the chips that will get upstream support
will have this for the forseeable future. Nevertheless, it's a historical
coincidence. Apple A12 had an AGX block with a pre-DCP Apple display
controller, which would use a completely different display driver. Older SoCs
had a PowerVR block with an Apple shader core, with a pre-DCP Apple display
controller. Even older SoCs had a pure PowerVR block (+ Apple display).
The AGX and DCP kernel drivers are not expected to share any nontrivial code.
We don't gain anything by bundling them together. Likewise, the many
codec blocks are completely orthogonal. This is all standard practice
for Arm SoCs.
It is true that AGX has never been used with a non-Apple display
controller; it is highly unlikely this would change (either by AGX
licensing out or something like Mali-DP getting licensed in). But
an extra kmsro user doesn't actually add more complexity to Mesa, so
shrug.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Eric Engestrom <eric@igalia.com > [meson, ack on gallium]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15940 >
2022-10-29 12:04:41 -04:00
Gert Wollny
27c8cddec1
r600/sfn: Add .clang-format file and apply style
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19379 >
2022-10-29 12:28:50 +00:00
Karol Herbst
e58c004870
nir/algebraic: add vec8/16 cmp lowering
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19150 >
2022-10-29 10:31:39 +00:00
Karol Herbst
5efbef833a
nir/algebraic: generalize vector_cmp lowering
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19150 >
2022-10-29 10:31:39 +00:00
Karol Herbst
f27e2234e1
nir/algebraic: support CL vector accessors
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19150 >
2022-10-29 10:31:39 +00:00
Karol Herbst
1d6014f267
nir/algebraic: add 8 and 64 bit urol and uror lowering
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19150 >
2022-10-29 10:31:39 +00:00
Alyssa Rosenzweig
10ace5de3a
panfrost,asahi: Support ARB_buffer_storage
...
After a great deal of spec lawyering in #dri-devel, I am convinced this
is probably okay for the same reasons as v3d and freedreno. The batch
reordering and flush deferral optimizations are seemingly still ok. The
requirement that writes are visible "immediately" in the spec actually
means "in the subsequent [OpenGL] command" for the CPU -> GPU direction,
which avoids pitfalls where PERSISTENT|COHERENT could be used as a
"doorbell". With that understanding, the extension doesn't actually
require anything special for tilers other than coherency at GPU submit
boundaries, which is true for any driver that does not use a sync ioctl.
After this commit, the remaining drivers that don't set the CAP are
d3d12, softpipe, etnaviv, and i915g. I am unsure about d3d12, but the
latter 3 could probbaly enable it trivially for the same reason.
v2: Don't use copy_resource path for persistent mappings (Emma). Emma
explained on GitLab:
I don't think you should have the copy_resource path taken for
PIPE_RESOURCE_FLAG_MAP_PERSISTENT BOs. Imagine the user has a
general-purpose BO they're streaming stuff into and doing draws that
they keep persistently mapped until wrapping. They call some GL
function on the same buffer that does a fallback write map on the BO
(u_default_buffer_subdata, util_resource_copy_region, whatever) -- the
buffer is in use, copy triggers, allocates a new BO. Whoops, the user's
pointer for streaming writes is now freed.
Closes : #7570
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19351 >
2022-10-29 02:20:17 +00:00
Yusuf Khan
99b832008a
gallium/util: add a helper for get_timestamp
...
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19334 >
2022-10-29 00:05:26 +00:00
Rhys Perry
7fa50ced14
aco: insert waitcnt before/after ds_ordered_count
...
The LLVM backend does this when lowering ordered_xfb_counter_add_amd. I
guess there is some missing dependency checking or something.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19345 >
2022-10-28 21:50:05 +00:00
Rhys Perry
ea8ddf5c26
aco: add storage_gds
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19345 >
2022-10-28 21:50:05 +00:00
Emma Anholt
590f176327
zink: Lazily allocate the dummy surfaces.
...
glmark2 -b texture --fullscreen drops from 141MB of BOs to 85MB on turnip.
Still 29MB more than freedreno (due to a pile of extra fullscreen rgba8
images)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19126 >
2022-10-28 20:37:54 +00:00
Emma Anholt
f0c033ebbc
zink: No need to use a 2-sample dummy image for bindless without null descs.
...
This appears to be some leftover copy and paste or something, should be
1-sample just like other dummy usages.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19126 >
2022-10-28 20:37:54 +00:00
José Roberto de Souza
09c4ed4f2c
iris: Do not export iris_bo_wait()
...
It has a single user, so no need to export it.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19359 >
2022-10-28 20:12:07 +00:00
José Roberto de Souza
144ccc31d7
iris: Drop duplicated errno handling in iris_bo_wait()
...
Both code paths already do this handling, so no need to this again in
iris_bo_wait().
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19359 >
2022-10-28 20:12:07 +00:00
José Roberto de Souza
191f9a39c9
iris: Nuke pci_id from iris_screen
...
We have the same information in devinfo.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19359 >
2022-10-28 20:12:07 +00:00
José Roberto de Souza
bb9f66800c
intel/perf: Use intel_device_info functions to compute subslice and eu totals
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19359 >
2022-10-28 20:12:07 +00:00
Giancarlo Devich
dc4d7d7b0f
d3d12: Don't align already-aligned size in d3d12_bufmgr_create_buffer
...
This is handled by `pb_cache_manager_create_buffer`.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19082 >
2022-10-28 19:46:25 +00:00
Giancarlo Devich
e902f2ab8c
gallium/pipe: Align allocation size in pb_cache_manager_create_buffer
...
Some drivers have minimum buffer size or alignment requirements. When a
buffer is created using pb_cache_manager_create_buffer, the cache is
first checked for a compatible buffer to return instead. If the
requested buffer size is less than
(minimum buffer size) / (mgr->size_factor), no buffer in the cache
is _ever_ applicable.
The alignment is used to determine the true allocation size when
evaluating against cached buffers.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19082 >
2022-10-28 19:46:25 +00:00
Rob Clark
416b33337d
freedreno/ci: Small bit of xfails cleanup
...
Minor resorting to group similar edgeflags fails together.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
edfc98460b
freedreno: Enable GL_ARB_enhanced_layouts
...
Seems like ir3 already supports everything that was needed, according to
piglit.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
5b7e6b583a
freedreno/a6xx: Enable GL_ARB_texture_mirror_clamp_to_edge
...
It was already supported, might as well turn it on.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
c50e9f65bd
freedreno/a6xx: Support GL_ARB_viewport_array + gl43
...
Support multiple viewports and bump supported GLSL version now that we
tick all the boxes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
23b7948a72
freedreno: Move guardband calc to bind time
...
No point in re-calculating this at emit time. Even more so when there
are multiple viewports.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
d9150eab28
freedreno: Massage scissor state at bind time
...
All the generations want maxx/maxy to be inclusive rather than
exclusive, so shift the subtract-one nonsense to bind time rather
than emit time.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
e752a26ca4
freedreno: support multiple viewports
...
Core plumbing to have multiple viewport support. Each viewport has it's
own scissor state.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
138b513fb7
freedreno/a6xx: Support AMD_vertex_shader_layer
...
Another thing we already supported but didn't set the cap.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
110a5f4f02
freedreno/a6xx: Fix buffer size clamping
...
Fixes spec@arb_texture_buffer_object@texture-buffer-size-clamp@* which
we start hitting after exposing glsl420
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
b416c08e86
freedreno/ir3: Drop unused view_zero/layer_zero lowering
...
Previous patch removed the only remaining user.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
679adcbc3c
freedreno/a6xx: Move layer_zero handling to interp state
...
We can just bake this into the program state, rather than making it a
shader variant. Turnip had already switched to this approach so it will
let us drop ir3 lowering for this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
3a69547086
freedreno: Don't advertise TGSI support for GS/tess
...
tgsi_to_nir doesn't support these, and we long ago removed support for
consuming TGSI without tgsi_to_nir. So don't claim to support this.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Rob Clark
2e689e9d9d
Revert "mesa/st: ARB_vertex_attrib_64bit depend on glsl>=410"
...
Turns out this change was unnecessary
This reverts commit 533b87dff0 .
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19236 >
2022-10-28 19:13:27 +00:00
Samuel Pitoiset
c84dbd189b
ac/nir/ngg: fix emitting streamout output by using packed location
...
In RadeonSI, they are packed but not in RADV, so don't rely on driver
locations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19343 >
2022-10-28 18:54:16 +00:00
Karol Herbst
1c37a8342c
rusticl/kernel: fix more 32 bit problems
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19353 >
2022-10-28 18:46:33 +00:00
Samuel Pitoiset
eae2867122
radv: move nir_opt_idiv_const/nir_lower_idiv after NGG lowering
...
NGG streamout lowering creates some idiv instructions that need to be
lowered.
No fossil-db results because it's currently broken.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19364 >
2022-10-28 18:19:57 +00:00
Samuel Pitoiset
e2fcbd4a37
radv/llvm: fix dual source blending on GFX11
...
Untested but this should be similar to RadeonSI.
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/19367 >
2022-10-28 17:03:37 +00:00
Samuel Pitoiset
d172fc1fca
radv: fix VRS limit when attachmentFragmentShadingRate is disabled
...
Can be reproduced on GFX10.3 with RADV_DEBUG=nohiz.
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/19374 >
2022-10-28 16:30:29 +00:00
Mike Blumenkrantz
e97edac66d
zink: don't double-deref bindless texture arrays in shaders
...
these are already dereferenced
Fixes: b2fcb34e97 ("zink: rework sampler emission")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19377 >
2022-10-28 15:38:41 +00:00
José Roberto de Souza
a5f335f97a
iris: Fix enablement of protected contexts
...
I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS needs to set otherwise
i915 will ignore the extensions.
Fixes: 57a1d13279 ("iris: enable protected contexts")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19373 >
2022-10-28 06:08:43 -07:00
Iago Toral Quiroga
004f431b7f
v3dv: split event implementation to a separate file
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19366 >
2022-10-28 10:55:37 +00:00
Iago Toral Quiroga
6748d22a7b
v3dv: return out of host memory if we fail to create event pipelines
...
Fixes: ecb01d53fd ('v3dv: refactor events')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19366 >
2022-10-28 10:55:37 +00:00
Frank Binns
40e683b907
pvr: remove implicit sync support
...
This is the legacy way of doing synchronisation and is no longer necessary now
that the DMA_BUF_IOCTL_EXPORT_SYNC_FILE / DMA_BUF_IOCTL_IMPORT_SYNC_FILE ioctls
exist, which the wsi code is already making use of.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19293 >
2022-10-28 10:44:55 +00:00
Mykhailo Skorokhodov
b890ad7d5e
drirc: Apply fp64_workaround_enabled to DOOM Eternal
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6847
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Mykhailo Skorokhodov
a954933f4f
drirc: Add fp64_workaround_enabled option
...
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Mykhailo Skorokhodov
8c4c4c3ee1
anv: Add softtp64 workaround
...
Pass float64.glsl into nir_lower_doubles() resolves the problem on
ICL/TGL when the shader uses float64, but the device doesn't support
that type.
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Mykhailo Skorokhodov
829d74b2f2
anv/meson: Add float64_spv_h custom target
...
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Mykhailo Skorokhodov
f8425e661a
glsl/meson: Add variable to export float64.glsl
...
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Mykhailo Skorokhodov
4692c66358
nir: Add assert in nir_lower_doubles
...
Cc: mesa-stable
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Mykhailo Skorokhodov
e4b7bf1a6d
nir: Make lower_double_ops recognize SPIR-V mangling
...
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Mykhailo Skorokhodov
9786d9ef2a
util: Add glsl2spirv.py script
...
Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854 >
2022-10-28 10:08:50 +00:00
Nanley Chery
48844910a3
iris: Enable INTEL_MEASURE for compute dispatches on XeHP
...
Cc: mesa-stable
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19324 >
2022-10-28 09:28:01 +00:00
Lucas Stach
a41c0b58aa
etnaviv: blt: try to find exact format match first
...
For MSAA downsampling to work correctly, the BLT engine needs to know
the exact format of the blit source/target. The compatible formats are
fine as long as the BLT is only used as a tiler without doing any
conversion.
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/19349 >
2022-10-28 08:49:11 +00:00
Lucas Stach
0f34a092e4
etnaviv: blt: scale operations by MSAA mode
...
Same as with the RS engine, BLT operations need to be scaled by
the MSAA size.
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/19349 >
2022-10-28 08:49:11 +00:00
Samuel Pitoiset
c41997f29f
radv: fix suspending/resuming pipeline statistics queries with GDS
...
This probably doesn't fix anything in practice because GDS is only
used for the number of generated primitives by GS and meta operations
don't use GS.
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/19348 >
2022-10-28 08:12:30 +00:00
Samuel Pitoiset
cf687e88ce
ac/nir/ngg: fix emitting streamout output by using packed location
...
In RadeonSI, they are packed but not in RADV, so don't rely on driver
locations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19365 >
2022-10-28 07:49:32 +00:00
Lionel Landwerlin
920aed2121
intel/compiler: don't allocate compaction arrays on the stack
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7569
Cc: mesa-stable
Reviewed-by: Luis Felipe Strano Moraes <luis.strano@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19339 >
2022-10-28 07:10:58 +00:00
Iago Toral Quiroga
29588fe116
v3dv: re-enable sync_fd import/export
...
Now that we implement GPU-side event functions in the GPU we
no longer have the issue that didn't allow us to expose
sync_fd.
Further more, new spec text has also made the problematic
behavior undefined, so the test that caused this issue,
dEQP-VK.api.external.semaphore.sync_fd.import_twice_temporary,
is incorrect and should be fixed.
It should be noted that we still keep sync_fd disabled in the
simulator, at least until the CTS tests are fixed, since the
synchronous execution model of the simulator means that in the
problematic scenario we can block the CPU on the execution
of the command buffer before we ever submit the signaling job,
still causing a deadlock.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19313 >
2022-10-28 08:41:13 +02:00
Iago Toral Quiroga
ecb01d53fd
v3dv: refactor events
...
This replaces our current implementation, which is 100% CPU based,
with an implementation that uses compute shaders for the GPU-side
event functions. The benefit of this solution is that we no longer
need to stall on the CPU when we need to handle GPU-side event
commands.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19313 >
2022-10-28 08:35:00 +02:00
Iago Toral Quiroga
8cd50ef071
broadcom/compiler: handle vec2 load/store index
...
In vulkan, we load descriptors via vulkan resource index, which
returns a vec2, of which we want component 0 which holds the actual
index. Typically, this will be cleaned-up by the time we get to
emitting VIR so the index is a single scalar component, but there
are some cases where this might no be the case, so make sure we don't
assume it to be a scalar, like we do in other places.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19313 >
2022-10-28 08:23:32 +02:00
Brian Paul
2ab70c1004
llvmpipe: check rectangle vertices have equal W components
...
The attribute interpolation code does not handle perspective
correction. But it's OK if the vertex W components are non-one as
long as they're equal.
This fixes about 30 CTS/dEQP tests.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19331 >
2022-10-27 22:05:01 -06:00
Matt Turner
3ef88cd0a2
intel/dev: Set display_ver = 13 on all ADL/RPL/DG2
...
display_ver doesn't seem to be used anywhere, but if that were to
change, we'd want this to be consistent.
Fixes: c746bf4c5c ("intel/dev: Add display_ver and set adl-p to 13")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19354 >
2022-10-28 01:31:44 +00:00
Karol Herbst
dbc4f05ca1
zink: remove leftover work_dim lowering code
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19362 >
2022-10-28 01:11:00 +00:00
Karol Herbst
43c5a7a6b4
rusticl/kernel: add work_dim lowering
...
No driver implements this in hardware, so let's implement it once in the
frontend.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19362 >
2022-10-28 01:11:00 +00:00
Karol Herbst
ff24eeee20
rusticl/kernel: lower system values before gathering info
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19362 >
2022-10-28 01:11:00 +00:00
Karol Herbst
f54608db6d
rusticl/nir: add reads_sysval wrapper
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19362 >
2022-10-28 01:11:00 +00:00
Karol Herbst
0961c6aba2
rusticl: add small bitset impl
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19362 >
2022-10-28 01:11:00 +00:00
Mike Blumenkrantz
c128cbb5bb
zink: always add MUTABLE with EXTENDED_USAGE for image creation
...
this otherwise makes little sense
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19018 >
2022-10-28 00:51:48 +00:00
Mike Blumenkrantz
f2d3826dac
zink: don't force attachment usage for images when unsupported
...
this is illegal even with EXTENDED_USAGE, but it will also probably
explode later when trying to populate the image
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19018 >
2022-10-28 00:51:48 +00:00
Mike Blumenkrantz
8de17393f5
zink: fix weird formatting
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19018 >
2022-10-28 00:51:48 +00:00
Jesse Natalie
fe73e07a51
d3d12: Set PIPE_CAP_MAX_TEXTURE_UPLOAD_MEMORY_BUDGET
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19357 >
2022-10-27 23:17:47 +00:00
Jesse Natalie
7118b2136e
d3d12: Don't multiply cube array sizes by 6
...
Gallium already does this for us.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19357 >
2022-10-27 23:17:47 +00:00
Jesse Natalie
e2934435f8
d3d12: Don't put permanently-resident resources in the residency bo list
...
If the permanently-resident resources are never used, such as a swapchain
buffer in a purely offscreen renderer, it can cause the residency algorithm
to fail, when the permanently-resident resource is least-recently-used,
so we try to wait for it to be idle and evict it, but it never gets evicted.
This triggers an infinite loop.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19357 >
2022-10-27 23:17:47 +00:00
Mike Blumenkrantz
82029aed88
zink: rip out unused kernel push constant
...
this was for supporting clover, but I don't care anymore
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
719ce10b86
zink: add handling for CL-style discrete shader samplers
...
this splits the bindings for sampler desc sets in CL like
* 32 samplers
* 128 samplerviews
* (compacted only) shader images
and then handles recombination during texop emission
it does NOT change the descriptor limits, which are still clamped to 32
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
1b45e79355
zink: add handling on the vk side for discrete sampler descriptors
...
just the descriptor layout/set management
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
b900bb2209
zink: always take the compact descriptor size path with kernel shaders
...
this guarantees compaction of the size arrays
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
efd14b6fc5
zink: emit explicit samplers in ntv based on sampler_mask
...
not actually used yet
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
6ef8470bb4
zink: add some spirv builder handling for sampled image ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
dbf24c6dca
zink: simplify image deref handling
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
49a387720e
zink: add a nir pass for CL image typing and sampler tracking
...
cl images and samplers come through untyped, so they need to be typed
before they can be used
samplers are also not combined into the descriptor, so track a mask which
can be used later for emission
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
c67dc62a4c
zink: pass image type to image emission
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
b2fcb34e97
zink: rework sampler emission
...
this simplifies all the different sampler metadata tracking fields to be
more comprehensible
it also increases some array sizes in case future work increases them outside
the compiler areas
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
037bbabcb9
zink: pass KERNEL shaders through successfully
...
basically just merging with COMPUTE cases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Mike Blumenkrantz
2a08b97330
zink: match bitsizes in bo rewriting
...
technically this matters
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327 >
2022-10-27 22:01:34 +00:00
Lionel Landwerlin
e59c4a912b
intel/fs: use fs implementation of dump_instructions
...
This specialized version prints out the liveness count as well as the
maximum liveness count. It was eye opening when seeing the max
liveness jump after lowering of packing instructions which should not
have changed the count.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18657 >
2022-10-27 21:05:00 +00:00
Lionel Landwerlin
e5dfff0946
intel/fs: reduce liveness of variables in lowering passes
...
When lowering a single instruction with a destination VGRF to 2 or
more, the VGRF is now considered partially written by each generated
instruction and that increases its liveness especially in loops. Thus
potentially increasing the number of spills/fills due to register
allocation.
Putting an UNDEF instruction in front of the lowered instructions
allows the IR to limit the liveness of the VGRF, reducing register
pressure.
This has a pretty dramatic effect on spills/fills for RT shaders. Here
the stats on Q2RTX shaders on DG2 (wipping out any spills/fills due to
register allocation) :
Instructions in all programs: 26150 -> 24955 (-4.6%)
SENDs in all programs: 1148 -> 1148 (+0.0%)
Loops in all programs: 4 -> 4 (+0.0%)
Cycles in all programs: 392179 -> 332787 (-15.1%)
Spills in all programs: 132 -> 116 (-12.1%)
Fills in all programs: 262 -> 154 (-41.2%)
Shader-db results on TGL :
total instructions in shared programs: 21158140 -> 21158377 (<.01%)
instructions in affected programs: 76629 -> 76866 (0.31%)
helped: 18
HURT: 20
helped stats (abs) min: 1 max: 60 x̄: 18.89 x̃: 12
helped stats (rel) min: 0.21% max: 3.61% x̄: 1.02% x̃: 0.77%
HURT stats (abs) min: 1 max: 79 x̄: 28.85 x̃: 18
HURT stats (rel) min: 0.04% max: 2.81% x̄: 1.13% x̃: 0.79%
95% mean confidence interval for instructions value: -4.82 17.30
95% mean confidence interval for instructions %-change: -0.34% 0.57%
Inconclusive result (value mean confidence interval includes 0).
total loops in shared programs: 5753 -> 5753 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total cycles in shared programs: 798856834 -> 798870688 (<.01%)
cycles in affected programs: 6208395 -> 6222249 (0.22%)
helped: 22
HURT: 17
helped stats (abs) min: 2 max: 8794 x̄: 1438.18 x̃: 782
helped stats (rel) min: 0.05% max: 2.28% x̄: 0.63% x̃: 0.44%
HURT stats (abs) min: 2 max: 19178 x̄: 2676.12 x̃: 1358
HURT stats (rel) min: 0.04% max: 23.49% x̄: 2.25% x̃: 0.71%
95% mean confidence interval for cycles value: -952.19 1662.65
95% mean confidence interval for cycles %-change: -0.64% 1.90%
Inconclusive result (value mean confidence interval includes 0).
total spills in shared programs: 4078 -> 4066 (-0.29%)
spills in affected programs: 40 -> 28 (-30.00%)
helped: 2
HURT: 0
total fills in shared programs: 2856 -> 2832 (-0.84%)
fills in affected programs: 127 -> 103 (-18.90%)
helped: 2
HURT: 0
total sends in shared programs: 998554 -> 998554 (0.00%)
sends in affected programs: 0 -> 0
helped: 0
HURT: 0
LOST: 0
GAINED: 0
Total CPU time (seconds): 2346.06 -> 2304.80 (-1.76%)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18657 >
2022-10-27 21:05:00 +00:00
Lionel Landwerlin
dd6d40429b
intel/fs: make split_virtual_grfs deal with partial undefs
...
v2: fix up UNDEFs instructions (Curro)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18657 >
2022-10-27 21:05:00 +00:00
Lionel Landwerlin
14b99df7d9
intel/fs: require UNDEFs register offsets to be aligned to REG_SIZE
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18657 >
2022-10-27 21:05:00 +00:00
Emma Anholt
59ecbe3fe2
turnip: Fix reservation for indirect compute's IR3_DP_SUBGROUP_ID_SHIFT.
...
Fixes an assert in GravityMark.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19203 >
2022-10-27 20:31:34 +00:00
Alyssa Rosenzweig
78785f3b18
pan/mdg: Don't schedule across memory barrier
...
Fixes KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-cs
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
027ee6c9e9
panfrost: Lower MAX_BLOCK_SIZE on Midgard
...
To match PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK, having it be higher in any
dimension is nonsensical and can confuse apps. Fixes tests in
KHR-GLES31.core.texture_buffer.* on Mali-T860.
Fixes: 9b19104a30 ("pan/mdg: Lower PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK on Midgard")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
934f9bbae7
panfrost: Avoid a XFB special case
...
This worked around an issue that doesn't apply to the Valhall XFB lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
0955fe8fe2
panfrost: Use compute-based XFB on Midgard
...
Now we're back to a single XFB implementation for all gens. Fixes:
KHR-GLES31.core.draw_indirect.advanced-twoPasses-transformFeedback-arrays
KHR-GLES31.core.draw_indirect.advanced-twoPasses-transformFeedback-elements
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
9e2ce225e6
pan/mdg: Fix 64-bit address arithmetic
...
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
4a626d9829
pan/bi: Clean up sysval handling a bit
...
Combine some cases.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
1e208aaef4
panfrost: Don't allow VS side effects on midgard
...
So we can use the common XFB lowering, and try to reduce the differences between
Midgard and Bifrost (given that Bifrost is conformant and actively maintained,
and Midgard is neither, getting Midgard as close to Bifrost is in the best
interests of Midgard's long term prospects upstream). Piles of KHR-GLES31 tests
from Fail -> Skip.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
1bb68d9532
panfrost: Zero polygon list for fragment-only
...
Even with hierarchical tiling. Otherwise if there's garbage leftover (due to BO
caching), a fragment-only batch can raise DATA_INVALID_FAULT. Fixes many tests
in KHR-GLES31.core.compute_shader.* on Mali-T860, including
KHR-GLES31.core.compute_shader.build-separable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19238 >
2022-10-27 20:13:11 +00:00
Alyssa Rosenzweig
63320c691a
nir/lower_idiv: Inline convert_instr_precise
...
Now that we only have one convert_instr path, this is simpler.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19303 >
2022-10-27 19:37:14 +00:00
Alyssa Rosenzweig
941c37c085
nir/lower_idiv: Remove imprecise_32bit_lowering
...
NIR has two implementations of lower_idiv, keyed on the
imprecise_32bit_lowering flag. This flag is misleading: the results when
setting this flag "imprecise", they're completely wrong for some values.
If a backend has a native implementation of umul_high, the correct path
isn't that much more expensive. If it doesn't, it's substantially slower
for highp integer divison... but in practice, non-constant highp integer
division is pretty rare.
After a painful migration of the tree, this code path has no more users.
Remove it so nobody else gets the bright idea of using it again.
Closes : #6555
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19303 >
2022-10-27 19:37:14 +00:00
Alyssa Rosenzweig
37bbcc2e4a
etnaviv: Use correct idiv lowering
...
imprecise_32bit_lowering produces wrong outputs for some inputs. Do not
use it, it is wrong. The correct lowering generates umul_high
instructions, which need to be lowered via lower_alu. That lowering in
turn produces uadd_carry instructions which also need lowering.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19303 >
2022-10-27 19:37:14 +00:00
José Roberto de Souza
5bbe3271e6
hasvk: Fix build around intel_measure_state_changed() call
...
Fixes: 2bc82581ad ("anv: add support for mesh shading in INTEL_MEASURE")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19355 >
2022-10-27 10:31:30 -07:00
Italo Nicola
89b93f7e34
rusticl: fix MemConstant invalid arg size check
...
As a memory object, the MemConstant check should be the same as
MemGlobal.
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19352 >
2022-10-27 16:34:56 +00:00
Brian Paul
341babb8a7
llvmpipe: asst. clean-ups in lp_state_fs.c
...
Move var decls to first use. Add const qualifiers, comments, etc.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19330 >
2022-10-27 16:10:47 +00:00
Brian Paul
4f4aacad19
llvmpipe: fix comment typo
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19330 >
2022-10-27 16:10:47 +00:00
Brian Paul
c2cd0e8218
llvmpipe: s/uint/enum pipe_prim_type/ in lp_setup_context.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19330 >
2022-10-27 16:10:47 +00:00
Marcin Ślusarz
ea7e331fb8
anv: add mesh shading tracepoints
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19344 >
2022-10-27 15:03:28 +00:00
Marcin Ślusarz
63ad8aed41
intel/ds: add new category/stage for draw mesh events
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19344 >
2022-10-27 15:03:28 +00:00
Marcin Ślusarz
2bc82581ad
anv: add support for mesh shading in INTEL_MEASURE
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19344 >
2022-10-27 15:03:28 +00:00
Mike Blumenkrantz
b1b2dee30e
zink: add docs for zink_surface
...
zink_surface is an abstraction that is a superset of pipe_surface,
used for all types of images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19307 >
2022-10-27 14:43:50 +00:00
Mike Blumenkrantz
1e63b24f88
zink: add some breadcrumbs for VK_EXT_multisampled_render_to_single_sampled
...
at some point someone should hook this extension up to simplify/optimize
the existing msrtt handling
see also #7559
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19307 >
2022-10-27 14:43:50 +00:00
Mike Blumenkrantz
919cbc190d
zink: delete unused zink_surface member
...
I think this was used before imageless_framebuffer became a requirement?
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19307 >
2022-10-27 14:43:50 +00:00
Mike Blumenkrantz
81713956fe
zink: use zink_resource_object::views to defer deferred storage view deletion
...
this is basically the same thing, so reuse the existing mechanism
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19307 >
2022-10-27 14:43:50 +00:00
Mike Blumenkrantz
113e477865
zink: simplify conditional for surface rebind no-ops
...
the question isn't whether the storage imageview has been created,
it's whether the surface is current for the memory binding
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19307 >
2022-10-27 14:43:50 +00:00
Mike Blumenkrantz
52efe113f9
zink: delete stale comment for zink_surface
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19307 >
2022-10-27 14:43:50 +00:00
Mike Blumenkrantz
34ec611dc6
zink: simplify swapchain imageview handling
...
the zink_resource_object::views array already handles this, so don't
duplicate its functionality
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19307 >
2022-10-27 14:43:50 +00:00
Lucas Stach
2f7a2ffde8
etnaviv: disable PE_COLOR_FORMAT_OVERWRITE with MSAA
...
This breaks MSAA, even when compression is not activated. The issue is
mostly theoretical, as we always enable color compression with MSAA, but
I ran into some GPU hangs when I disabled compression to run some tests.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
1cdcf45ac8
etnaviv: set LOGIC_OP_UNK24 for MSAA rendering on SMALL_MSAA GPUs
...
Fixes MSAA corruptions on GC3000. 0x4 seems to be enough to fix the
misrendering, but blob seems to always emit 0x5.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
2b11838eff
etnaviv: properly size TS buffer for MSAA resources
...
On GPUs with the SMALL_MSAA feature, color tiles of the MSAA resource
are 256B, even if the GPU doesn't have the CACHE128B256BPERLINE feature.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
ca96b3a409
etnaviv: rs: try to find exact format match first
...
For MSAA downsampling to work correctly, the RS engine needs to know
the exact format of the blit source/target. The compatible formats are
fine as long as the RS is only used as a tiler without doing any
conversion.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
0ff96aaef3
etnaviv: rs: fix MSAA alignment adjustment
...
The RS window alignment restrictions apply to the downsampled side of the
blit, so we must increase the blit size alignment by the MSAA scale to
avoid RS hangs. If a multi-pipe resolve is used (when the GPU doesn't have
the singlebuffer feature) then the Y alignment needs to be increased by
the number of pixel pipes.
The resource allocation has already been fixed to take this additional
alignment requirement into account.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
6dfae66016
etnaviv: increase alignment for MSAA resources
...
The RS window aligment restrictions apply to the downsampled size of a
MSAA resource, so in order to be able to do the downsample blit for all
possible sizes, we must make sure to increase the alignment of the
multisampled resource by the MSAA scale.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
391ccff250
etnaviv: handle compressed texture formats in etna_layout_multiple
...
Instead of special casing compressed formats in the caller, handle
them properly when working out the resource alignment. For good measure
add an assert that the layout is linear, as expected.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
88d8775f9e
etnaviv: compute linear resource Y alignment in etna_layout_multiple
...
Instead of adjusting the Y alignment in the callers, just do the
right (and consistent) thing in etna_layout_multiple.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
7d38c7cc18
etnaviv: assert valid layout in etna_layout_multiple
...
This function assigns proper values to the padding and halign parameters
for all valid layouts. Using unreachable() in the default path of the
switch statement asserts that we got a valid layout, so we can get rid of
some superfluous variable initializations and asserts in the call sites.
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/19066 >
2022-10-27 14:33:15 +00:00
Lucas Stach
735718ed33
etnaviv: move etna_layout_multiple into etnaviv_resource.c
...
The call sites of this function make a number of adjustments to the
padding/alignment returned by this function, which are inconsistent
and still don't cover all necessary cases. To be able to extend this
function move it out of the header and make the parameters passed
more useful by providing all necessary information at once.
No functional change, just a preparation for the following changes.
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/19066 >
2022-10-27 14:33:15 +00:00
Rhys Perry
93fb84237f
ac/nir: add ac_nir_lower_ngg_options
...
These signatures were getting ridiculous.
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/19340 >
2022-10-27 13:31:40 +00:00
Rhys Perry
21a319851a
ac/nir: micro-optimize boolean expression
...
Ignoring SCC spilling, the old version is probably faster because this
mixes uniform and divergent booleans.
fossil-db (navi21):
Totals from 61167 (45.10% of 135636) affected shaders:
Instrs: 29961899 -> 29932551 (-0.10%)
CodeSize: 157407028 -> 157289636 (-0.07%)
Latency: 139671953 -> 139625186 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 21221097 -> 21220756 (-0.00%)
SClause: 750438 -> 750439 (+0.00%)
Copies: 2672846 -> 2582332 (-3.39%)
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/19340 >
2022-10-27 13:31:40 +00:00
Martin Roukala (né Peres)
03a6eb2547
zink: mark a test as a flake in RADV expectations
...
Having only-recently hooked monitoring up for zink-on-radv, I am
starting to capture some flakes. So, I am unsure about the reproduction
rate of this failure, but I can say it is not extremely common.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19335 >
2022-10-27 13:08:07 +00:00
Iago Toral Quiroga
07c7d846e5
v3dv: drop layout refs for all allocated sets from a pool on destroy / reset
...
In 7f6ecb8667 we added reference counting for descriptor set layouts,
however, we didn't realize that pools created without the flag
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT don't free individual
descriptors and can only be reset or destroyed. Since we only drop
references when individual descriptor sets were destroyed, we would
leak set layouts referenced from descriptor sets allocated from these
pools.
Fix that by keeping a list of all allocated descriptor sets (no matter
whether VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT is present or
not) and then traversing the list dropping the references on pool resets
and destroys.
Fixes: 7f6ecb8667 ('v3dv: add reference counting for descriptor set layouts')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19337 >
2022-10-27 11:35:29 +00:00
Lionel Landwerlin
57a1d13279
iris: enable protected contexts
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
13d75495a0
iris: Emit protection & session ID on protected command buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
9402ac8023
iris: handle protected BO creation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
5d88ab63e2
st/gallium: plumb protected context creation
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
9de1263842
egl: Add EGL_EXT_protected_content support
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
b30f1327f9
gallium: rename PROTECTED_CONTENT cap into PROTECTED_SURFACE
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
62ac2cec85
dri: rename PROTECTED_CONTENT in PROTECTED_SURFACE
...
Better suiting to the associated extension EXT_protected_surface.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
ed7d64962e
intel/common: add detection of protected context support
...
v2: Add anv bits
Fix missing i915 extension chaining helper
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
4172596382
isl: add new MOCS field for protected buffers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
Lionel Landwerlin
8cd8f3d697
drm-uapi: bump headers
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8092 >
2022-10-27 10:53:18 +00:00
David Heidelberg
b16df310fd
ci/zink: rename zink job to zink-lvp to better describe it
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19321 >
2022-10-27 10:32:07 +00:00
Daniel Schürmann
c80137fcba
radv/rt: overwrite hit args with undef in case of a miss
...
This helps some variable coalescing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19188 >
2022-10-27 09:45:39 +00:00
Daniel Schürmann
f4270b7659
radv/rt: create traversal shader independent from main shader
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19188 >
2022-10-27 09:45:39 +00:00
Daniel Schürmann
22534e0d1a
nir: add AMD RT traversal intrinsics
...
These I/O intrinsics help to create an enclosed traversal shader.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19188 >
2022-10-27 09:45:39 +00:00
Jordan Justen
c238699afa
intel/compiler: Broadcast lower code should check 64-bit int support
...
This will affect MTL which will have fp64 support without int64
support.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Iván Briano <ivan.briano@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19284 >
2022-10-27 09:22:09 +00:00
Lionel Landwerlin
2da7ec0db9
intel/clc: assert when libclc shader is not found
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7483
Reviewed-by: Luis Felipe Strano Moraes <luis.strano@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19091 >
2022-10-27 08:53:55 +00:00
Iago Toral Quiroga
24d9a80247
v3dv: implement VK_EXT_pipeline_robustness
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18883 >
2022-10-27 08:17:11 +00:00
Iago Toral Quiroga
9deef4cde6
vulkan/runtime: include robustness info when hashing a shader stage
...
Suggested by Jason Ekstrand.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18883 >
2022-10-27 08:17:11 +00:00
Iago Toral Quiroga
c3641f413a
broadcom/compiler: trivial code clean-up
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18883 >
2022-10-27 08:17:11 +00:00
Iago Toral Quiroga
86503aaba4
v3dv: use enabled features from vk_device
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18883 >
2022-10-27 08:17:11 +00:00
Iago Toral Quiroga
1a2ca58aed
v3dv: use NIR_PASS with v3d_nir_lower_robust_image_access
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18883 >
2022-10-27 08:17:11 +00:00
Qiang Yu
bfb6a5fef1
ac/nir/ngg: add one odd dword to nogs culling pervertex lds
...
radeonsi use like this.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
13fb7f8f2c
ac/nir/ngg,ac/llvm,aco: save nogs ngg culling one lds dword
...
TES rel patch id is <256, so we can use an existing unused LDS
byte instead of extra dword.
To ease the programing, change the index of repacked_arg_vars
for these variables.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
66d1fa9666
ac/nir/ngg: save and restore no_varying/no_sysval_output
...
These are used by radeonsi for param export count, should
be saved and restore.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
b197dd0d15
ac/nir/ngg: allow passthrough with vs primitive id output
...
vertex primtive id and passthrough are not exclusive, just need
to get correct vertex index when passthrough.
radeonsi won't disable passthrough when vs primitive id output,
this is also for fixing the crash of the assertion.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
e536d0fe4b
ac/nir/ngg,radv: move LDS layout calculation out of nir ngg lowering
...
Use lds base load intrinsics in nir ngg lowering to get layout, left
its calulation to driver.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
3d6cce2e4c
nir: add two amd ngg lds base load intrinsics
...
These two values are not known when compile for radeonsi.
They are relocated when link/upload time.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
54eea0e393
ac/nir/ngg: pass primitive_id_location as param for nogs lower
...
radeonsi need to use packed driver location for all outputs,
while radv need to use VARYING_SLOT_*. To meet both drivers'
needs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
d82b668bc6
ac/nir/ngg: support user edge flags for ngg lower
...
Pack user edge flag into arg code is ported from radeonsi
gfx10_ngg_build_export_prim.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Qiang Yu
238eeeacb2
ac/llvm: get back intrinsics used by NGG
...
Will be used by radeonsi.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18832 >
2022-10-27 07:35:01 +00:00
Brian Paul
650597a770
glx: clean-ups in drisw_glx.c
...
Replace tabs with spaces. Fix up function pointer calls (don't use
the old style (*foo)(arg) syntax).
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19329 >
2022-10-27 03:26:08 +00:00
Brian Paul
421777dd3a
glx: clean-ups in create_context.c
...
Replace tabs w/ spaces, remove trailing whitespace.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19329 >
2022-10-27 03:26:08 +00:00
Brian Paul
33944867ae
frontends/dri: clean-ups in dri_util.c
...
Replace tabs with spaces. Rename __ATTRIB macro to SIMPLE_CASE to
be a bit more readable.
NFC.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19329 >
2022-10-27 03:26:08 +00:00
Brian Paul
05a4202dac
frontend/dri: assorted clean-ups in dri-screen.c
...
Replace tabs with spaces, fix indentation.
Move 'format' var decl and type (it's an integer array index, not
actually a mesa format).
NFC.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19329 >
2022-10-27 03:26:08 +00:00
Yusuf Khan
d9a257b339
nv50/ir: nir_op_b2i8 and nir_op_b2i16
...
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19256 >
2022-10-27 02:16:24 +00:00
Yiwei Zhang
cc961a28f8
docs: update to latest venus driver support
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19285 >
2022-10-27 00:22:30 +00:00
Yiwei Zhang
a408f5cafe
venus: add VK_EXT_depth_clip_control support
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19285 >
2022-10-27 00:22:30 +00:00
Yiwei Zhang
8f7b5bf34b
venus: add VK_EXT_primitives_generated_query support
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19285 >
2022-10-27 00:22:30 +00:00
Yiwei Zhang
4f22fb117d
venus: sync to latest venus protocol headers
...
This brings in:
- VK_KHR_push_descriptor
- VK_EXT_depth_clip_control
- VK_EXT_primitives_generated_query
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19285 >
2022-10-27 00:22:30 +00:00
Yiwei Zhang
4f2471e8c6
venus: handle VkAndroidHardwareBufferFormatProperties2ANDROID
...
Fixes: 4d80ccbf2d ("venus: Enable VK_KHR_format_feature_flags2")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19287 >
2022-10-27 00:08:00 +00:00
Yiwei Zhang
1c010da083
venus: remove redundant codes
...
This is some left over from prior 1.3 effort.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19287 >
2022-10-27 00:08:00 +00:00
Dave Airlie
6a29cb2654
nir/lower_bool_to_int32: add support for lowering functions.
...
Change the function parameters to 32-bit.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19291 >
2022-10-26 21:47:29 +00:00
Lionel Landwerlin
117b32a594
nir/divergence_analysis: add missing desc_set_address_intel
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19320 >
2022-10-26 21:09:20 +00:00
Lionel Landwerlin
edda5731c0
nir/divergence_analysis: add some missing RT intrinsics
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19320 >
2022-10-26 21:09:20 +00:00
Lionel Landwerlin
db42ed1e04
vulkan/wsi/wl: correctly find whether the compositor uses the same GPU
...
Using the wl_drm protocol we can check whether the compositor uses the
same GPU as the application.
This allows to run vulkan applications using a DG2 GPU with the
compositor using another card.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19224 >
2022-10-26 20:34:15 +00:00
Lionel Landwerlin
93dbd14ed7
anv: init major/minor before WSI
...
So that we can provide that information to WSI if it asks for it
immediately.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19224 >
2022-10-26 20:34:15 +00:00
Lionel Landwerlin
324d945589
anv: disable mesh in memcpy
...
We can't have streamout and mesh enabled at the same time.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: ef04caea9b ("anv: Implement Mesh Shading pipeline")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19323 >
2022-10-26 19:55:11 +00:00
Christophe
2ea481b2f0
Zink: add Zink profiles file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19192 >
2022-10-26 19:02:20 +00:00
Christophe
be235edfe2
zink: add profile documentation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19192 >
2022-10-26 19:02:20 +00:00
Mike Blumenkrantz
8dd314d203
zink: handle broken resource mapping deadlocks
...
some apps (most notably Wolfenstein: The New Order) have broken multi-context
buffer usage in which one context will attempt to write to a buffer while
another context holds unflushed usage, and the unflushed context will never
flush until the buffer write completes
it's impossible to handle this scenario correctly without deadlocking,
so add some handling to try waiting and then yolo the buffer write if
a deadlock would occur
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19141 >
2022-10-26 18:29:16 +00:00
Jason Ekstrand
5e05d98848
nir: Unconditionally call nir_trim_vector in nir_lower_readonly_images_to_tex
...
It will already short-circuit if the number of components matches.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19301 >
2022-10-26 17:11:44 +00:00
Jason Ekstrand
d9cf6de4a8
nir: Misc. style fixes to nir_lower_readonly_images_to_tex
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19301 >
2022-10-26 17:11:44 +00:00
Jason Ekstrand
b684a603f1
nir: Use nir_shader_instructions_pass in nir_lower_readonly_images_to_tex
...
nir_shader_lower_instructions is overkill and this makes the pass
generally easier to understand.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19301 >
2022-10-26 17:11:44 +00:00
Jason Ekstrand
a3c3d0d287
nir: Reformat a comment
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19301 >
2022-10-26 17:11:44 +00:00
Lucas Stach
16e0702ec7
etnaviv: properly reference flush_resources
...
The flush_resources recorded in the context need to stay alive until
the context is flushed, at which point additional resolve operations
are done to those resources. While the backing BO is alive due to being
referenced in the cmdstream, the resource might already be destroyed
at this point.
Keep a reference to the resource to make sure it is still available at
context flush time.
Fixes: 7b9d8d1936 ("etnaviv: flush used render buffers on context flush when neccessary")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19280 >
2022-10-26 17:03:05 +00:00
Michel Dänzer
20b9eece6e
winsys/amdgpu: Set RADEON_FLAG_32BIT again
...
Avoids hang running
rendercheck -t cacomposite -f a8r8g8b8
via glamor on Navi 14.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7167
Fixes: 7833c5139a ("winsys/amdgpu: use cached GTT for command buffers and don't set the 32BIT flag")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19276 >
2022-10-26 16:46:14 +00:00
SoroushIMG
d50db14023
zink: limit gl_Layer clamping to drivers that need it
...
So far, only IMG drivers cannot handle out of bounds layer values.
Ideally, a vulkan extension will be drafted to detail this behavior.
But for now if KHR-GL46.texture_cube_map_array.color_depth_attachments
fails, then needs_sanitised_layer is probably needed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 16:36:19 +01:00
SoroushIMG
2562c9c5c6
zink: clamp gl_Layer output to 0, if framebuffer is not layered
...
GL spec forces driver to ignore gl_Layer, if layered rendering
is not enabled.
Since vulkan doesn't have the same bavior, emulate this by forcing
gl_Layer to 0, based on driver internal state.
This was seen as failure in
KHR-GL46.texture_cube_map_array.color_depth_attachments
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 16:23:51 +01:00
SoroushIMG
72d18325dd
zink: add new framebuffer_is_layered state
...
This state is needed to make sure gl_Layer values are set to 0,
when the framebuffer is not layered accorfing to GL spec.
Specifically Section 9.8 Layered Framebuffers of GL46 spec:
A layer number written by a geometry shader has no effect if
the framebuffer is not layered.
Vulkan has no carve out for this, so zink must handle this by
sanitising gl_Layer (next commit in the series).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 16:23:51 +01:00
SoroushIMG
fd89690795
zink: add pushconst only pipeline layout
...
Now that all gfx pipelines share the same push constant layout,
create a screen wide push const only layout that is compatible
with all future programs.
This layout will be used to update push constant values, so that
the update can happen at any point before draw call.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 16:23:51 +01:00
SoroushIMG
a0c6286485
zink: cleanup zink_pipeline_layout_create
...
move the hashing to the caller, since it's not related to this.
Additionally, remove dependance on zink_program argument.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 16:23:45 +01:00
SoroushIMG
0f070923e8
zink: use unified pushconst layour for passthorugh tcs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 15:42:42 +01:00
SoroushIMG
ec4ac380f1
zink: cleanup pushconst interface between driver/compiler
...
Extend vs_pushconst structure to all gfx stages and make sure,
the push constant memory layout is defined in one place and
is therefore always correct.
No functional change, but should make adding new members to
zink_*_push_constant easier.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 15:42:42 +01:00
SoroushIMG
001c8fdfbf
lavapipe: stop allocating 0 size const buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19163 >
2022-10-26 15:42:42 +01:00
Lionel Landwerlin
d766093199
anv: enable localized loads for lower_shader_calls
...
On Q2RTX shaders :
Instructions in all programs: 31039 -> 26150 (-15.8%)
SENDs in all programs: 1587 -> 1148 (-27.7%)
Loops in all programs: 4 -> 4 (+0.0%)
Cycles in all programs: 420218 -> 392179 (-6.7%)
Spills in all programs: 157 -> 132 (-15.9%)
Fills in all programs: 337 -> 262 (-22.3%)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:26 +00:00
Lionel Landwerlin
53a0804146
radv: tweak lower_shader_calls parameters
...
On Q2RTX shaders :
MaxWaves: 62 -> 69 (+11.29%)
Instrs: 41626 -> 41575 (-0.12%); split: -0.27%, +0.15%
CodeSize: 224960 -> 223740 (-0.54%); split: -0.62%, +0.08%
VGPRs: 800 -> 704 (-12.00%)
Scratch: 75776 -> 70656 (-6.76%)
Latency: 922219 -> 977997 (+6.05%)
InvThroughput: 212154 -> 201746 (-4.91%); split: -5.54%, +0.64%
VClause: 1120 -> 1155 (+3.12%); split: -1.88%, +5.00%
SClause: 1148 -> 1144 (-0.35%); split: -0.70%, +0.35%
Copies: 5840 -> 5788 (-0.89%); split: -0.94%, +0.05%
PreVGPRs: 753 -> 651 (-13.55%)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:26 +00:00
Lionel Landwerlin
29da1c8253
nir/lower_shader_calls: run opt_cse after lower stack intrinsics
...
In particular when using scratch_base_ptr
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
3c242e551d
nir/lower_shader_calls: move scratch loads closer to where they're needed
...
The intel backend compiler is not dealing with the scratch loads
emitted by this pass very well. There are 2 reasons for this :
- all loads are at the top of the shader
- the loads are global load intrinsics (cannot be differentiated
from ssbo loads for example)
This leads the backend to generate ridiculous amount of spills.
To help a bit (actually quite a lot), we can move the scratch loads in
the blocks where they're needed, using the dominance information.
Quite often that also ends up moving loads in a block that might not
be reached by all the lanes, so we're potentially avoiding some loads.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
5717f13dff
nir/lower_shader_calls: add a pass to sort/pack values on the stack
...
The previous pass shrinking values stored on the stack might have left
some gaps on the stack (a vec4 turned into a vec3 for instance).
This pass reorders variables on the stack, by component bit size and
by ssa value number. The component size is useful to pack smaller
values together. The ssa value number is also important because if we
have 2 calls spilling the same values, then we can avoid reemiting the
spillings if the values are stored in the same location.
v2: Remove unused sorting function (Konstantin)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
4cd90ed7bc
nir/lower_shader_calls: add a pass to trim scratch values
...
For example, if we store to scratch a vec4 but only a subset of
components are used after the load operation.
v2: Use nir_intrinsic_write_mask (Konstantin)
Use u_foreach_bit() instead of u_bit_scan() (Konstantin)
Fix mask building loop (Konstantin)
v3: Fix reswizzle (Konstantin)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
1d10d17817
nir/lower_shader_calls: add an option structure for future optimizations
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
d0543bfbec
nir/lower_shader_calls: cleanup shaders a bit more post split
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
6d7e04d924
nir/lower_shader_calls: add NIR_PASS_V internally
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
dc70519c8a
nir/lower_shader_calls: rematerialize values in more complex cases
...
Previously when considering whether to rematerialize or spill/fill
ssa_1954, we would go for a spill/fill :
vec4 32 ssa_388 = (float32)txf ssa_387 (texture_handle), ssa_86 (coord), ssa_23 (lod), 0 (texture), 0 (sampler)
...
vec1 32 ssa_1953 = load_const (0xbd23d70a = -0.040000)
vec1 32 ssa_1954 = fadd ssa_388.x, ssa_1953
vec1 32 ssa_1955 = fneg ssa_1954
This is because when looking at ssa_1955 the first time, we would
consider ssa_388 unrematerialiable, and therefore all values built on
top of it would be considered unrematerialiable as well.
The missing piece when considering whether to rematerialize ssa_1954
is that we should look at filled values. Now that ssa_388 has been
spilled/filled, we can rebuild ssa_1955 on top of the filled value and
avoid spilling/filling ssa_1955 at all.
This requires a bit more work though. We can't just look at an
instruction in isolation, we need to go through the ssa chains until
we find values we can rematerialize or not.
In this change we build a list of all ssa values involved in building
a given value, up to the point there we find a filled or a
rematerializable value.
In this particular case, looking at ssa_1955 :
* We can rematerialize ssa_388 from its filled value
* We can rematerialize ssa_1953 trivially
* We can rematerialize ssa_1954 because its 2 inputs are rematerializable
* We can rematerialize ssa_1955 because ssa_1954 is rematerializable
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
ca2a1340a2
nir/lower_shader_calls: avoid respilling values
...
Currently we do something like this :
ssa_0 = ...
ssa_1 = ...
* spill ssa_0, ssa_1
call1()
* fill ssa_0, ssa_1
ssa_2 = ...
ssa_3 = ...
* spill ssa_0, ssa_1, ssa_2, ssa_3
call2()
* fill ssa_0, ssa_1, ssa_2, ssa_3
If we assign the same possition to ssa_0 & ssa_1 in the spilling
stack, then on call2(), we know that those values are already present
in memory at the right location and we can avoid respilling them.
The result would be something like this :
ssa_0 = ...
ssa_1 = ...
* spill ssa_0, ssa_1
call1()
* fill ssa_0, ssa_1
ssa_2 = ...
ssa_3 = ...
* spill ssa_2, ssa_3
call2()
* fill ssa_0, ssa_1, ssa_2, ssa_3
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
5a9f8d21d0
nir/lower_shader_calls: lower scratch access to format internally
...
For a follow up optimization, we would like to track scratch loads.
This isn't possible with global load/store intrinsics. So use a couple
of special intrinsic in the pass and only lower it to global
intrinsics at the end.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Lionel Landwerlin
df685b4f9c
nir/lower_shader_calls: rematerialize more trivial values
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16556 >
2022-10-26 12:53:25 +00:00
Alejandro Piñeiro
019529aa11
broadcom/compiler: call nir_opt_gcm with a custom strategy
...
nir_opt_gcm get us worse shader-db stats, but that is expected. But we
want to prevent to get worse values on spill/fills. Analyzing the
outcome with shader-db, this mostly happen with shaders that are
already complex, and are already spilling/filling.
So the best option here is adding a new strategy, that fall backs if
we get spill/fill using nir_opt_gcm.
It is not clear in which order we should disable gcm. For now we
disable it before loop unrolling.
We get a slight performance gain (in average) using nir_opt_gcm.
We don't show the shaderdb stats, as they are worse, but as mentioned,
this is expected.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185 >
2022-10-26 12:29:30 +00:00
Alejandro Piñeiro
afc6de356a
broadcom/compiler: pass a strategy struct to vir_compile_init
...
That allows to reduce the number of parameters of the method. And
after all, they were already filled using an existing strategy struct.
This would make easier adding new fields on a strategy.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185 >
2022-10-26 12:29:30 +00:00
Alejandro Piñeiro
33878a12dd
v3dv/pipeline: use v3d_optimize_nir
...
Instead of using a custom optimize_nir method, with the same purpose.
Running the fossils for the v3dv well know applications (ue4 demos,
Quake3d, etc) we got somewhat inconclusive outcome in general,
although slightly worse values:
Instrs: 265129 -> 265277 (+0.06%); split: -0.06%, +0.12%
Thread Count: 5504 -> 5506 (+0.04%)
Totals from 153 (10.23% of 1495) affected shaders:
Instrs: 84603 -> 84751 (+0.17%); split: -0.19%, +0.37%
Thread Count: 316 -> 318 (+0.63%)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185 >
2022-10-26 12:29:30 +00:00
Alejandro Piñeiro
0bf31b0710
broadcom/compiler: add more lowerings/optimizations on v3d_optimize_nir
...
Optimizations that we are already calling on the Vulkan driver. As
preparation to the Vulkan frontend to use v3d_optimize_nir too.
We need to add a new parameter to v3d_optimize_nir in order to know if
we can call nir_opt_find_array_copies. As we don't track if we are
calling nir_var_lower_copies, we explicitly call it when we create the
uncompiled shader create. So instead of tracking, we assume that each
driver (v3d/v3dv) would call it when the shader is created. So when
v3d_optimize_nir is called as part of the process to compile it at the
compiler, we call it with allow_copies as false.
We exclude on purpose nir_opt_gcm as it is a case of a optimization
that could help performance even if it hurts shader db stats.
shaderdb stats:
total instructions in shared programs: 11705923 -> 11705034 (<.01%)
instructions in affected programs: 88350 -> 87461 (-1.01%)
helped: 201
HURT: 80
Instructions are helped.
total threads in shared programs: 375552 -> 375558 (<.01%)
threads in affected programs: 6 -> 12 (100.00%)
helped: 3
HURT: 0
total uniforms in shared programs: 3486108 -> 3485789 (<.01%)
uniforms in affected programs: 7473 -> 7154 (-4.27%)
helped: 90
HURT: 1
Uniforms are helped.
total max-temps in shared programs: 2021860 -> 2021802 (<.01%)
max-temps in affected programs: 800 -> 742 (-7.25%)
helped: 21
HURT: 3
Max-temps are helped.
total sfu-stalls in shared programs: 19299 -> 19296 (-0.02%)
sfu-stalls in affected programs: 18 -> 15 (-16.67%)
helped: 10
HURT: 7
Inconclusive result (value mean confidence interval includes 0).
total inst-and-stalls in shared programs: 11725222 -> 11724330 (<.01%)
inst-and-stalls in affected programs: 88402 -> 87510 (-1.01%)
helped: 201
HURT: 80
Inst-and-stalls are helped.
total nops in shared programs: 269674 -> 269386 (-0.11%)
nops in affected programs: 3641 -> 3353 (-7.91%)
helped: 103
HURT: 29
Nops are helped.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185 >
2022-10-26 12:29:30 +00:00
Alejandro Piñeiro
9cbc3ab239
broadcom/compiler: update how we compute return_words_of_texture_data on non-ssa
...
For the non-ssa case, we were trying to use reg->num_components. But
this is not the same that nir_ssa_def_components_read. It is the
number of components of the destination register. And in the 16bit
case, even if nir_lower_tex packs the outcome, it doesn't update the
number of components, as nir_tex_instr_dest_size would still return
4. And nir validate would check that those values are the same.
So this change focuses on the last part of this comment at
nir_lower_tex:
* Note that we don't change the destination num_components, because
* nir_tex_instr_dest_size() will still return 4. The driver is just
* expected to not store the other channels, given that nothing at the
* NIR level will read them.
We just limit how many channels we would use for the f16 case.
It is also worth to note, based on the CTS and different applications
we test, that this is a corner case.
This was detected when we experimented to enable nir_opt_gcm for v3d,
that lead to raise an assertion slightly below with some shaderdb
tests, but technically it could happen without it.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185 >
2022-10-26 12:29:30 +00:00
Alejandro Piñeiro
ec10a37a52
broadcom/compiler: don't call nir_opt_load_store_vectorize on all v3d_optimize_nir calls
...
For compute shaders, to avoid a crash with that optimization, it requires
doing some optimizations and lowerings before. Example:
static void
lower_cs_shared(struct nir_shader *nir)
{
NIR_PASS_V(nir, nir_lower_vars_to_explicit_types,
nir_var_mem_shared, shared_type_info);
NIR_PASS_V(nir, nir_lower_explicit_io,
nir_var_mem_shared, nir_address_format_32bit_offset);
}
In the same way other drivers (like anv) calls
nir_opt_load_store_vectorize as part of their post-process-nir.
So one option would be to move nir_opt_load_store_vectorize outsize
the common v3d_nir_optimize, to a post-process nir method.
To make things simpler, this change calls that optimization only if we
have a v3d_compiler object, that is when each frontend has already
done their lowerings, and call the v3d_compiler to get the final
assembly (so we are already on a kind of post processing nir step).
This avoids dEQP-VK.memory_model.shared.basic_types.3 crashing if we
start to call v3d_optimize_nir on v3dv directly.
Slight shaderdb changes, but not significant.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185 >
2022-10-26 12:29:30 +00:00
Yusuf Khan
16287ff87d
nouveau: put nv04 push macros in nouveau_winsys
...
Remove some of the duplicated code that comes from it
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18857 >
2022-10-26 10:54:33 +00:00
Karol Herbst
8be9171fcb
rusticl/mem: can only map staging textures directly
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19213 >
2022-10-26 10:09:35 +00:00
Karol Herbst
0a0c35dd24
rusticl: force BIND_LINEAR on staging resources
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19213 >
2022-10-26 10:09:35 +00:00
Gert Wollny
1fe408e82f
r600/sfn: evaluate LDS location for color and clip-vertex too
...
This is required to support compatibility contexts
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6926
Fixes: 3340c7ce35
r600/sfn: lower CLIPVERTEX to clip planes
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
7b4bf219cc
r600: Account for color and clipvertex when evaluating LDS space
...
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6926
Fixes: 3340c7ce35
r600/sfn: lower CLIPVERTEX to clip planes
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
d380551544
r600/sfn: elimiate dead registers too
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
952b385b96
r600/sfn: Increase scheduling priority on uniform reads and non-ssa writes
...
* Non-ssa values are pre-allocated, so assigning values to these is
unlikely to increase register pressure.
* Uniforms are often used early in the shader to evaluate dependend
values so, don't penalize their scheduling priority like literal
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
a73b51c187
r600/sfn: improve scheduling of tex sources
...
Let tex sources switch the channel to unused channels.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
8f7100e48f
r600/sfn: Trigger TEX CF based on max TEX CF size
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
4189ea373a
r600/sfn: Allow copy-prop of group dest into origin
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
5ab6ebefa4
r600/sfn: Add test for channel changes in TEX source from opt
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
23c7e4d590
r600: Fix printing t-channel in diss-assambly
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
7bd1084ef5
r600/sfn: Handle nir_op_seq and nir_op_sne
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Gert Wollny
e8e420568d
r600/sfn: Unify the handling of resource IDs in instruction
...
Fetch, GDS, Texture, and RAT instructions all use resources
with a possible offset defined by the index register. Unify
the handling of resource ID and the offset register for these
instruction types.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19300 >
2022-10-26 06:57:11 +00:00
Vinson Lee
da1477a934
v3d: Fix initializer-overrides warning.
...
../src/gallium/drivers/v3d/v3d_screen.c:733:27: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.lower_mul_high = true,
^~~~
/usr/lib/llvm-14/lib/clang/14.0.0/include/stdbool.h:16:14: note: expanded from macro 'true'
^
../src/gallium/drivers/v3d/v3d_screen.c:726:27: note: previous initialization is here
.lower_mul_high = true,
^~~~
/usr/lib/llvm-14/lib/clang/14.0.0/include/stdbool.h:16:14: note: expanded from macro 'true'
^
Fixes: 73e8fc3efb ("broadcom/compiler: don't use imprecise_32bit_lowering for idiv lowering")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19262 >
2022-10-26 04:37:39 +00:00
Yonggang Luo
61342ea1a5
xlib: Remove the usage of global constructor in xlib.c, so the xm_public.h are removed
...
The usage of global constructor should be limited, only in absolutely needed case.
The call style of xlib_create_screen referenced to osmesa_create_screen
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Yonggang Luo
4117710ec1
xlib: Getting xmesa_strict_invalidate to be function
...
So that doesn't be called in global constructor
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Yonggang Luo
adcdfe66fc
ci: Getting debian-clang-release to building with glx=xlib
...
Because this is just building, didn't not used by CTS runner,
So enable glx=xlib in this build variant
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Yonggang Luo
64f848b048
ci/macOS: Getting the installed binary to be artifacts
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Yonggang Luo
9a6777c7ab
xlib: Indent with space and trim trailing spaces of xlib files
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Ack-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Yonggang Luo
b7d25dca98
gallium: Remove mgl* prefix in linker script osmesa.sym and libgl-xlib.sym
...
Seeing no mgl prefixed function in codebase, so removed it
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Ack-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Yonggang Luo
882400b1f4
xlib: Remove the linkage hack in lib.c by use meson link_whole option
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Ack-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Yonggang Luo
1cf6b4f205
xlib: Fixes compiling on linux
...
configure command line:
meson ../.. -Dglx=xlib -Dosmesa=true
link error:
virgl_screen.c.o: in function `virgl_is_video_format_supported':
/mnt/c/work/xemu/mesa/build/windows-wsl2/../../src/gallium/drivers/virgl/virgl_screen.c:885: undefined reference to `vl_video_buffer_is_format_supported'
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7545
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Ack-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19258 >
2022-10-26 02:16:35 +00:00
Alyssa Rosenzweig
4b49241f7d
panfrost: Use proper formats for pntc varying
...
The formats of special attributes are supposed to match their architectural
definitions, and point coordinates are architecturally defined as RGBA32F. In
practice this doesn't seem to fix anything.
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19237 >
2022-10-26 01:56:08 +00:00
Alyssa Rosenzweig
21a4dbb720
panfrost: Don't use lower_wpos_pntc on Midgard
...
gl_PointCoord is implemented via a special attribute descriptor on Midgard. This
descriptor has an orientation bit, the orientation is driver-controlled. That
means we can map rast->sprite_coord_mode to this bit, rather than lowering in
the shader.
This is a bug fix for point sprites, which are implemented natively on Midgard
for dubious reasons and need to be flipped this way. It is also an optimization
for apps reading gl_PointCoord, removing the extra arithmetic to flip, although
the value of this is somewhat dubious.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19237 >
2022-10-26 01:56:08 +00:00
Emma Anholt
8901787bad
ci/freedreno: Update known flakes/timeouts.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19304 >
2022-10-25 23:55:43 +00:00
Emma Anholt
4fc7c4d6b2
ci/freedreno: Update CivV trace expectation.
...
Rendered scene still looks good, just a few pixels changed a bit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19304 >
2022-10-25 23:55:43 +00:00
Karol Herbst
d28d1ead9c
aux/trace: add set_global_binding
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19214 >
2022-10-25 23:32:58 +00:00
Mike Blumenkrantz
6d2a0b3b8d
zink: elide a buffer samplerview update conditional
...
this is really part of the previous conditional blocks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306 >
2022-10-25 22:40:43 +00:00
Mike Blumenkrantz
17f9a3830c
zink: rescope/simplify some push descriptor code
...
this is only used in the push descriptor block, so move it there and
simplify redundant cases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306 >
2022-10-25 22:40:43 +00:00
Mike Blumenkrantz
cec19b58d5
zink: flag push state changed in batch changed conditional
...
this will matter after future refactoring
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306 >
2022-10-25 22:40:43 +00:00
Mike Blumenkrantz
2b40170d63
zink: split out uniform decriptor bindings in shader data
...
this is both more usable and fixes some descriptor util functionality
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306 >
2022-10-25 22:40:43 +00:00
Mike Blumenkrantz
9b420f7704
zink: simplify some program descriptor helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19306 >
2022-10-25 22:40:43 +00:00
Karol Herbst
3128a8cada
zink: fix spirv_builder_spec_const_uint
...
We need to create the type upfront otherwise the spir-v binary gets
corrupted.
Fixes: c305a2c962 ("zink: move spec constant emission to the types/consts block")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19310 >
2022-10-26 00:02:37 +02:00
Danylo Piliaiev
0c4676a3aa
freedreno: Add 'replay' tool which allows to replay cmdstreams
...
Replay command stream obtained from:
- /sys/kernel/debug/dri/0/rd
- /sys/kernel/debug/dri/0/hangrd
!!! Command stream capture should be done with ALL buffers:
- echo 1 > /sys/module/msm/parameters/rd_full
Requires kernel with MSM_INFO_SET_IOVA support.
This tool is intended for reproduction of various GPU issues:
- GPU hangs, note that command stream obtained from hangrd
may not reproduce (rarely) the hang, since the buffers are
snapshotted at the moment of the hang and not at the start
of the hanging command stream.
- TODO: Misrendering, would require marking framebuffer images
at each renderpass in order to fetch and decode them.
Code from Freedreno/Turnip is not re-used here since the relevant
pieces may introduce additional allocations which cannot be allowed
during the replay.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19171 >
2022-10-25 20:26:49 +00:00
Samuel Pitoiset
db573f7362
aco: add support for device clock on GFX11
...
According to LLVM, s_sendmsg_rtn(GET_REALTIME) should be used instead
of s_memrealtime.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19267 >
2022-10-25 20:23:08 +02:00
Samuel Pitoiset
c481978ac2
aco: split the sendmsg enumeration into sendmsg_rtn
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19267 >
2022-10-25 20:23:07 +02:00
Samuel Pitoiset
6630b6e2aa
aco: add support for s_sendmsg_rtn_b{32,64}
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19267 >
2022-10-25 20:23:05 +02:00
Samuel Pitoiset
3a3df9acda
ac/llvm: add support for device clock on GFX11
...
Signed-off-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/19267 >
2022-10-25 20:22:48 +02:00
Rhys Perry
1c005e72f4
ac/nir: add legacy streamout and GS copy shader helpers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19302 >
2022-10-25 17:35:08 +00:00
Rhys Perry
382831c986
radv,nir: add intrinsics for streamout and GS copy shaders
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19302 >
2022-10-25 17:35:08 +00:00
Emma Anholt
1ac42912cc
turnip: Enable LRZ testing (not writing) in the presence of discards.
...
We can LRZ test to not rasterize maybe-discarded pixels, as long as we
don't LRZ write a Z that may be discarded. We can drop this check,
because LRZ writes are already disabled by TU_LRZ_FORCE_DISABLE_WRITE, and
tu_6_build_depth_plane_z_mode() uses has_kill to choose EARLY_LRZ_LATE_Z
(or just LATE_Z if LRZ isn't enabled).
gfxbench aztec ruins: +7.93104% +/- 0.117845% (n=4)
ANGLE trex_200: +11.7208% +/- 0.476166% (n=3)
ANGLE aztec_ruins_high: +11.9138% +/- 0.147586% (n=3)
Fixes : #6327 (now vk-5-normal is +0.712724% +/- 0.0655751% to gl-5-normal)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19286 >
2022-10-25 16:55:59 +00:00
Eric Engestrom
bdfdc40a25
vc4: mark piglit copypixels-(draw-)sync as flaky
...
They sometimes fail when running all the tests together, but never when
running just them; not sure how to diagnose this, but for now jusk mark
them as flaky.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19295 >
2022-10-25 16:24:59 +00:00
Eric Engestrom
938e13c57d
vc4: send shaderdb output through KHR_debug
...
This allows us to see the file names for the shaders.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599 >
2022-10-25 16:07:57 +00:00
Jose Maria Casanova Crespo
cc22016d71
vc4: consolidate shader-db output
...
[Eric: update output string format for new shaderdb]
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599 >
2022-10-25 16:07:57 +00:00
Eric Engestrom
8ed00732cd
vc4: use PIPE_MASK_RGBA name instead of its value 0xf
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599 >
2022-10-25 16:07:57 +00:00
Eric Engestrom
daaced111a
vc4: pre-compile shaders to make up for the lack of draw calls in shader-db
...
This means we don't have the variant keys, and need to make up one
variant and pre-compile it.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18599 >
2022-10-25 16:07:57 +00:00
Brian Paul
11275ce2ee
llvmpipe: improve some if/switch code in llvmpipe_get_shader_param()
...
Move the PIPE_SHADER_CAP_PREFERRED_IR case into the switch statement.
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
68f507d126
llvmpipe: asst. clean-ups in lp_texture.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
857cdd61e3
llvmpipe: asst. clean-ups in lp_tex_sample.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
5adb219e7c
llvmpipe: asst. clean-ups in lp_test_main.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
5384293479
llvmpipe: asst. clean-ups in lp_test_format.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
03b62d81cc
llvmpipe: asst. clean-ups in lp_test_conv.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
4fa266063c
llvmpipe: asst. clean-ups in lp_test_blend.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
eb4ff32c2d
llvmpipe: asst. clean-ups in lp_state_vertex.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
b96151cd3c
llvmpipe: asst. clean-ups in lp_state_tess.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
03bd429fab
llvmpipe: asst. clean-ups in lp_state_surface.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:13 +00:00
Brian Paul
47fa82d48e
llvmpipe: asst. clean-ups in lp_state_so.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
c2271fb787
llvmpipe: asst. clean-ups in lp_state_rasterizer.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
2c12af6cf0
llvmpipe: asst. clean-ups in lp_state_gs.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
f22de6db44
llvmpipe: asst. clean-ups in lp_state_cs.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
dd9b013bf5
llvmpipe: asst. clean-ups in lp_state_clip.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
b74b245c0d
llvmpipe: asst. clean-ups in lp_state_derived.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
0dfc90d81b
llvmpipe: asst. clean-ups in lp_state_sampler.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
6954599821
llvmpipe: asst. clean-ups in lp_scene.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
416fcfc6e5
llvmpipe: asst. clean-ups in lp_scene.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
75d7bb2e16
llvmpipe: asst. clean-ups in lp_linear_sampler.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
fa65ab5c6f
llvmpipe: asst. clean-ups in lp_linear_interp.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
8874c728e5
llvmpipe: asst. clean-ups in lp_flush.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
fe9296de34
llvmpipe: asst. clean-ups in lp_fence.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
17695f796b
llvmpipe: asst. clean-ups in lp_draw_arrays.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
7dd9c79b2d
llvmpipe: asst. clean-ups in lp_debug.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
ee71e0d83a
llvmpipe: asst. clean-ups in lp_bld_interp.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
161d82c752
llvmpipe: asst. clean-ups in lp_bld_depth.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
54b6ccc10c
llvmpipe: asst. clean-ups in lp_bld_blend_aos.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
bee11cdab2
llvmpipe: asst. clean-ups in lp_bld_alpha.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
7d0616d835
llvmpipe: asst. clean-ups in lp_setup_tri.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
2ffb5b3688
llvmpipe: remove gotos in do_rect_ccw()
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
0b12ad1f6a
llvmpipe: asst. clean-ups in lp_setup_point.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
c4b222b9cf
llvmpipe: asst. clean-ups in lp_setup_line.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
e72c735cde
llvmpipe: asst. clean-ups in lp_setup_vbuf.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
6ef3881010
llvmpipe: asst. clean-ups in lp_setup_rect.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
5131200c28
llvmpipe: asst. clean-ups in lp_setup.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
5a63484b35
llvmpipe: asst. clean-ups in lp_query.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
49ab7d19bd
llvmpipe: asst. clean-ups in lp_screen.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
36df3d9b6f
llvmpipe: asst. clean-ups in lp_surface.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
b763db6015
llvmpipe: asst. clean-ups in lp_context.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
bc2068ac49
gallium: whitespace fixes in p_context.h, p_screen.h
...
Use consistent whitespace near parens. Replace tabs w/ spaces, etc.
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
2e55ee8c08
llvmpipe: asst. clean-ups in lp_rast_linear_fallback.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
25e214cdb6
llvmpipe: asst. clean-ups in lp_rast_linear.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
b522d9d233
llvmpipe: asst. clean-ups in lp_rast.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
4e58893275
llvmpipe: asst. clean-ups in lp_rast_rect.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
a020052a0b
llvmpipe: asst. clean-ups in lp_rast_priv.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
e368ea1725
llvmpipe: asst. clean-ups in lp_rast_debug.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Brian Paul
ae9d8dba19
llvmpipe: asst. clean-ups in lp_rast.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19289 >
2022-10-25 15:27:12 +00:00
Mike Blumenkrantz
fa7544959e
zink: add some docs for c++ pipeline state functions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19205 >
2022-10-25 13:31:43 +00:00
Mike Blumenkrantz
59f560caa2
zink: add some descriptor docs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19205 >
2022-10-25 13:31:43 +00:00
Mike Blumenkrantz
82096c8301
zink: stop passing pointer to changed_sets to populate_sets()
...
I think this used to be a thing for caching but I don't remember
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19205 >
2022-10-25 13:31:43 +00:00
Mike Blumenkrantz
a6fdf7f649
zink: delete unused descriptor function
...
this is leftover from caching
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19205 >
2022-10-25 13:31:43 +00:00
Mike Blumenkrantz
bff1f299d1
zink: add more zink_descriptor_type enum values to improve readability
...
the values are still the same, but now enum names can be used to more
accurately reflect their actual meaning
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19205 >
2022-10-25 13:31:43 +00:00
Mike Blumenkrantz
852de28579
zink: ZINK_DESCRIPTOR_TYPES -> ZINK_DESCRIPTOR_BASE_TYPES
...
slightly more clear
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19205 >
2022-10-25 13:31:43 +00:00
Mike Blumenkrantz
6f65a272f6
zink: rename some variables in descriptor code
...
this is more accurate
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19205 >
2022-10-25 13:31:43 +00:00
Qiang Yu
cf74cf3901
radeonsi: implement nir shader query enabled intrinsics
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17457 >
2022-10-25 12:58:43 +00:00
Qiang Yu
01d26e13d1
radeonsi: implement llvm abi atomic_add_prim_count
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17457 >
2022-10-25 12:58:43 +00:00
Qiang Yu
540eafada1
ac/nir/ngg: add streamout emitted primitive query
...
For radeonsi to implement GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17457 >
2022-10-25 12:58:43 +00:00
Qiang Yu
188a7f9226
ac/nir/ngg: add query param to ac_nir_lower_ngg_gs
...
radeonsi may disable it. gfx_level will also be used by latter
vertex param export when gfx11.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17457 >
2022-10-25 12:58:43 +00:00
Qiang Yu
7fb506d068
nir: add nir_load_prim_xfb_query_enabled_amd
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17457 >
2022-10-25 12:58:43 +00:00
Qiang Yu
a119a6464f
nir,ac,radv: add primitive count add intrinsics
...
radeonsi use shader buffer, but radv use gds for the query
result storage.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17457 >
2022-10-25 12:58:43 +00:00
Samuel Pitoiset
e18f76d890
radv: disable dual source blending in more situations
...
According to PAL, there is more restrictions that RADV doesn't have.
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/19278 >
2022-10-25 12:22:34 +00:00
Pierre-Eric Pelloux-Prayer
df16fa43ff
radeonsi: handle sqtt pipeline in shader prefetch
...
When sqtt is enabled, the shader code lives in the pipeline bo,
not in the shader bo.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
6189af1ddb
radeonsi: store the shader gpu adress in si_shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
619f009ff2
radeonsi/sqtt: simplify condition to determine if sqtt is on
...
We don't need to load screen->debug_flags because sctx->thread_trace
is already telling us if sqtt is enabled.
Furthermore we can perform this check only for GFX9 because sqtt
isn't supported currently on older chips.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
cc5dd491ec
radeonsi: simplify si_prefetch_shaders
...
Since 93cd96b523 the only used value of si_L2_prefetch_mode
was PREFETCH_ALL so we can remove some dead code in si_prefetch_shaders.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
676214b6ba
radeonsi/tests: update expected results for polaris11
...
Using the latest released LLVM version 15.0.1.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
f6f24786da
radeonsi/tests: update expected results for navi10
...
Using the latest released LLVM version 15.0.1.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
42d26ce8af
radeonsi/tests: update expected results for navi21
...
Using the latest released LLVM version 15.0.1.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
4b2a3df607
radeonsi/tests: simplify the script
...
And use exit(0) on success, exit(1) on failure.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
ee9d7e5c62
radeonsi/tests: handle flakes file for all test suite
...
And a generic flakes file that applies to all GPUs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
f319f039fb
radeonsi/sqtt: allow to disable spm counters
...
And fix rgp capture on GFX9 (where spm was disabled by default).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
8034a71430
radeonsi/sqtt: re-export shaders in a single bo
...
RGP expects a pipeline's shaders to be all stored sequentially, eg:
[vs][ps][gs]
As such, it assumes a single bo is dumped to the .rgp file, with
the following info:
* va of the bo
* offset to each shader inside the bo
For radeonsi, the shaders are stored individually, so we may have
a big gap between the shaders forming a pipeline => we can produce
very large file because the layout in the file must match the one
in memory (see the warning in ac_rgp_file_write_elf_text).
This commit implements a workaround: gfx shaders are re-exported as a
pipeline.
To update the shader address, a new state is created (sqtt_pipeline),
which will overwrite the needed _PGM_LO_* registers.
This reduces DeuxEX rgp captures from 150GB+ to less than 100MB.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Pierre-Eric Pelloux-Prayer
5a9a43c8f9
radeonsi/sqtt: notify sqtt when we skip a flush
...
Otherwise we may not produce any data because
si_handle_thread_trace is never called.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18865 >
2022-10-25 11:58:07 +00:00
Yonggang Luo
a37e3b7199
util: #include "c11/threads.h" instead of #include "util/u_cpu_detect.h" u_format.c
...
As it does not access any symbols in util/u_cpu_detect.h but accessed symbols in "c11/threads.h"
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19266 >
2022-10-25 11:06:05 +00:00
Yonggang Luo
cf44028c02
util: Move UTIL_MAX_CPUS from u_thread.h to u_cpu_detect.h
...
UTIL_MAX_CPUS is not used by u_thread.* anymore after commit
"util: replace UTIL_MAX_CPUS by util_cpu_caps.num_cpu_mask_bits"
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19266 >
2022-10-25 11:06:05 +00:00
Yonggang Luo
64ee9c1158
util: Merge duplicated function prototype in u_thread.h that named with util_barrier*
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19266 >
2022-10-25 11:06:05 +00:00
Yonggang Luo
17d46893fd
util: Remove non used UTIL_MAX_L3_CACHES in u_thread.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19266 >
2022-10-25 11:06:05 +00:00
Karmjit Mahil
6a9364f4bc
pvr: Change pvr_get_hw_clear_color() to pack based on accum formats.
...
`pvr_get_hw_clear_color()` now packs formats based on the accum
format which is how the hw deals with the formats internally and
might not line up exactly with the vk format representation.
E.g. R5G6B5_UNORM_PACK16 uses the U8 accum format so the USC will
internally use 3 bytes (1 per component) to deal with it instead
of 2 bytes which the vk format specifies. On USC EMITPIX, the PBE
will pack the results to 2 bytes using PACKMODE_R5G6B5 resulting
in the final value being in the vk format representation.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19218 >
2022-10-25 10:15:09 +00:00
Karmjit Mahil
81a90c1e48
pvr: Add PBE accum format size in bytes.
...
This will be used later on to implement
vkCmdClearAttachments() where we'll need to pick the
appropriate clear color shader based on the dwords used.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19218 >
2022-10-25 10:15:09 +00:00
Erik Faye-Lund
87eb4f4f4f
docs: vmware -> VMware
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
81f8382202
docs: healthcheck -> health check
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
2e320da72f
docs: dependant -> dependent
...
We generally prefer US English in the docs, so let's correct this.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
d33eb01843
docs: virtualisation -> virtualization
...
We generally perfer US English spelling in our docs, so let's fix up
this one word.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
a13056587e
docs: Linux fbdev -> Linux Framebuffer
...
It's either "fbdev" or "Linux Framebuffer", not "Linux fbdev". Since we
can spare the extra letters here, let's spell it out.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
1160b657d2
docs: servo -> Servo
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
af3c1a960c
docs: skqp -> SkQP
...
This seems to be the official styling of the name.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
d6c4ac72a3
docs: lava -> LAVA
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
f2e688f042
docs: hw -> HW
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
672fc2527b
docs: xyzw -> XYZW
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
9d64954bcb
docs: Gitlab -> GitLab
...
While we're at it, also fixup a single case of "Ci" -> "CI"
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
1298c5df69
docs: meson -> Meson
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
635bf6339d
docs: ArchLinux -> Arch Linux
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
86c2758404
docs: autotools -> Autotools
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
3196f71361
docs: ppir -> PPIR
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
b244128954
docs: lima -> Lima
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
590d4cbe3a
docs: vulkan -> Vulkan
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
f69fe8c279
docs: llvmpipe -> LLVMpipe
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
2eb1d2c19b
docs: nouveau -> Nouveau
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
b3e0a70908
docs: radeon -> Radeon
...
Let's also do radeonsi -> RadeonSI while we're at it.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
8e09975562
docs: adreno -> Adreno
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
af00076741
docs: freedreno -> Freedreno
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
956cc5459a
docs: lavapipe -> Lavapipe
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
2d0ffea118
docs: perfetto -> Perfetto
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
e23c3fcb4e
docs: rgb -> RGB
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
6dbb184ad7
docs: gpu -> GPU
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
a590043c77
docs: cpu -> CPU
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
b8f01b1c37
docs: pci -> PCI
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
deb5529385
docs: xorg -> X.Org
...
Also one case of Xorg
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
f4b0689eec
docs: irc -> IRC
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
efd93f1dd6
docs: ip -> IP
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
7041cf6612
docs: use consistent casing for dEQP
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
e9c494e24a
docs: consistently spell Haswell in camel-case
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
e855f5a060
docs: consistently spell VirGL in camel-case
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
0b371a1f62
docs: consistently spell API all-caps
...
While we're at it, drop an incorrect apostrophe.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
dc235de196
docs: consistently use CMake
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
f1bc496785
docs: consistently spell OK in allcaps
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
4453948a5f
docs: consistently spell URL in allcaps
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
1ed2878755
docs: consistently spell ANV in allcaps
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
5296c13552
docs: consistently spell DRI in all-caps
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
8e4725e879
docs: consistently upper-case VC4, V3D etc
...
This is how we're doing this elsewhere in the docs, and upper-casing is
a clear indication that this is a name.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
4a229fea22
docs: XOR'd -> XORed
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
6b83189412
docs: eg. -> e.g.
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:45 +00:00
Erik Faye-Lund
46d48659a6
docs: use the official spelling of SHA-1
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
030ecacdc4
docs: spell out "distribution"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
ad15f39e7d
docs: spell out "environment variable"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
9346d82c9a
docs: spell out "SHA256 checksum"
...
This isn't such a magical word, no need to quote it.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
6a008f34a6
docs: spell out "build directory"
...
This is a bit less cryptic than "builddir", and it's the same wording as
the meson docs uses.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
25936ef62b
docs: correct spelling of "Copr"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
d356b1dc63
docs: correct spelling of "Gouraud"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
9d8bf93420
docs: correct spelling of "specifies"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
19a4e2c864
docs: correct spelling of "semantic"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
13e2d1a78e
docs: correct spelling of "irrespective"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
29dd4ead44
docs: correct spelling of "passes"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Erik Faye-Lund
c74c53ff58
docs: correct spelling of "addition"
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19191 >
2022-10-25 10:06:44 +00:00
Fabian Vogt
28f4fcaa4f
gallivm: Fix LLVM optimization with the new pass manager
...
The previous list of passes contained several errors: "constprop" does not
exist anymore and a trailing ',' is not allowed. This made LLVMRunPasses
fail, but the error is silently ignored. Thus none of the listed passes
ran at all.
https://reviews.llvm.org/D85159 suggests "InstSimplify really should be
used anywhere ConstProp is being used" so replace constprop with
instsimplify and remove the trailing comma.
By enabling pass logging with
LLVMPassBuilderOptionsSetDebugLogging(opts, true),
the difference is visible. Before:
Running pass: AlwaysInlinerPass on [module]
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
Running analysis: ProfileSummaryAnalysis on [module]
Running pass: CoroConditionalWrapper on [module]
Running pass: AnnotationRemarksPass on fs_variant_partial (1162 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_partial
Running pass: AnnotationRemarksPass on fs_variant_whole (1110 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_whole
After:
Running pass: AlwaysInlinerPass on [module]
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
Running analysis: ProfileSummaryAnalysis on [module]
Running pass: CoroConditionalWrapper on [module]
Running pass: AnnotationRemarksPass on fs_variant_partial (1162 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_partial
Running pass: AnnotationRemarksPass on fs_variant_whole (1110 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_whole
Running analysis: InnerAnalysisManagerProxy<llvm::FunctionAnalysisManager, llvm::Module> on [module]
Running pass: SROAPass on fs_variant_partial (1162 instructions)
Running analysis: DominatorTreeAnalysis on fs_variant_partial
Running analysis: AssumptionAnalysis on fs_variant_partial
Running analysis: TargetIRAnalysis on fs_variant_partial
Running pass: EarlyCSEPass on fs_variant_partial (1111 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_partial
Running pass: SimplifyCFGPass on fs_variant_partial (961 instructions)
Running pass: ReassociatePass on fs_variant_partial (961 instructions)
Running pass: PromotePass on fs_variant_partial (897 instructions)
Running pass: InstCombinePass on fs_variant_partial (897 instructions)
Running analysis: OptimizationRemarkEmitterAnalysis on fs_variant_partial
Running analysis: AAManager on fs_variant_partial
Running analysis: BasicAA on fs_variant_partial
Running analysis: ScopedNoAliasAA on fs_variant_partial
Running analysis: TypeBasedAA on fs_variant_partial
Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on fs_variant_partial
Running pass: SROAPass on fs_variant_whole (1110 instructions)
Running analysis: DominatorTreeAnalysis on fs_variant_whole
Running analysis: AssumptionAnalysis on fs_variant_whole
Running analysis: TargetIRAnalysis on fs_variant_whole
Running pass: EarlyCSEPass on fs_variant_whole (1059 instructions)
Running analysis: TargetLibraryAnalysis on fs_variant_whole
Running pass: SimplifyCFGPass on fs_variant_whole (912 instructions)
Running pass: ReassociatePass on fs_variant_whole (912 instructions)
Running pass: PromotePass on fs_variant_whole (844 instructions)
Running pass: InstCombinePass on fs_variant_whole (844 instructions)
Running analysis: OptimizationRemarkEmitterAnalysis on fs_variant_whole
Running analysis: AAManager on fs_variant_whole
Running analysis: BasicAA on fs_variant_whole
Running analysis: ScopedNoAliasAA on fs_variant_whole
Running analysis: TypeBasedAA on fs_variant_whole
Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on fs_variant_whole
Fixes: 2037c34f24 ("gallivm: move to new pass manager to handle coroutines change.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19217 >
2022-10-25 09:41:58 +00:00
Daniel Schürmann
a36e27e507
aco: change thread_local memory resource to pointer
...
Apparently the TLS constructor doesn't work well if RADV
is instantiated multiple times and/or used by a program with
already existing threads.
Fixes: a128d444cb ('aco: use monotonic_buffer_resource for instructions')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19219 >
2022-10-25 09:08:08 +00:00
Roman Gilg
43d93c32c9
loader/dri3: Add DRI performance option to wait for next buffer on swap
...
For simple clients using the swap chain contention back pressure to regulate
their drawing and that don't query buffer age introduce a new DRI option with
which set to true (the default is false) we block the client until a new buffer
is available. This way we stall the client's execution until a new buffer is
available and the redrawing of the client starts only at this point and not
before.
The motivation for that is to reduce latency for clients that regulate their
drawing by swapchain contention back pressure. These clients draw whenever
possible and their drawing is implicitly stopping whenever we block. When we
block at the end of the swap and return only when a new buffer is available
the client can draw and we directly present. Otherwise the client would draw,
we block on the buffer becoming available, and only then show what the client
had drawn, usually one frame later.
Co-authored-by: Michel Dänzer <michel@daenzer.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14684 >
2022-10-25 08:30:35 +00:00
Roman Gilg
d54464279c
loader/dri3: Simplify buffer age query
...
The ternary operator is hard to read. Instead initialize the return variable
to zero and adjust its value in an if-clause.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14684 >
2022-10-25 08:30:35 +00:00
David Heidelberg
2aa588bf0a
ci/linker: update mold to 1.6 and enable on s390x
...
Since 1.6 is s390x supported platform.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19254 >
2022-10-25 06:25:14 +00:00
Eric Engestrom
4e570cbfa2
vc4: don't use imprecise_32bit_lowering for idiv lowering
...
This is known to produce bogus results for certain combinations of
operands, so don't use it. See this issue for details:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6555
None of the shaders in shaderdb are affected by this change, as all of
the shaders containing an integer division require a higher GLSL version
than vc4 supports and are therefore all skipped.
This is port of the v3d change 73e8fc3efb
to vc4; we expect the impact to be the same as for v3d, based on testing
a custom shader.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18019 >
2022-10-25 06:07:29 +00:00
Eric Engestrom
210e8a80ac
vc4: don't lower uadd_carry
...
We can produce slightly better code for these in the backend, so
do that.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18019 >
2022-10-25 06:07:29 +00:00
Qiang Yu
7ee0b8b8df
ac/nir/ngg,radv: use different counters for shader queries
...
VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT should count for each
stream.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7409
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015 >
2022-10-25 02:42:52 +00:00
Qiang Yu
83643e4dc8
nir,ac/nir/ngg,radv: split shader_query_enabled_amd
...
For used by different counter.
Vulkan:
1. VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
sum generated primitives of all 4 streams when GS.
2. VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT, count generated
primitives for all 4 streams when VS/TES/GS.
3. VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT, count generated
and streamout primitives for all 4 streams when VS/TES/GS.
OpenGL:
1. GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB, sum generated
primitives for all 4 streams when GS.
2. GL_PRIMITIVES_GENERATED, count generated primitives for all 4
streams when VS/TES/GS.
3. GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, count streamout
primitives for all 4 streams when VS/TES/GS.
pipeline_stat_query_enabled_amd is for Vulkan 1 and OpenGL 1.
xfb_query_enabled_amd is for Vulkan 2/3 and OpenGL 2/3.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015 >
2022-10-25 02:42:52 +00:00
Qiang Yu
1dcbf25757
radv: split active_pipeline_gds_queries
...
For different enabling of pipeline stat and prims gen.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015 >
2022-10-25 02:42:52 +00:00
Qiang Yu
0bbe8029b6
radv: count gen_prims_queries_enabled
...
User can enable/disable multi VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT
queries with same or different index.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19015 >
2022-10-25 02:42:52 +00:00
Mike Blumenkrantz
6247b35ab2
zink: delete unused zink descriptor mode
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281 >
2022-10-25 02:06:24 +00:00
Mike Blumenkrantz
d702a503ad
zink: support multiple heaps per memory type
...
some allocations require a different memory heap even when using the
same memory bits, so allow iterating over heaps of the same memory type
to find the one that works
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281 >
2022-10-25 02:06:24 +00:00
Mike Blumenkrantz
f9515d9376
zink: allocate/place memory using memoryTypeIndex directly
...
it's possible for drivers to have multiple heaps with identical flags,
so this will enable passing the heap that should actually be used for
allocation
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281 >
2022-10-25 02:06:23 +00:00
Mike Blumenkrantz
a3552048c7
zink: allow direct memory mapping for any COHERENT+CACHED buffer
...
some drivers may provide this in heaps that get used by non-staging resources,
so avoid extra copies in that case
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281 >
2022-10-25 02:06:23 +00:00
Mike Blumenkrantz
71ee1dd597
zink: don't flag ubo0 as used in shaders with indirect ubo access
...
ubo0 is not a regular ubo, so avoid setting the hint here
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281 >
2022-10-25 02:06:23 +00:00
Mike Blumenkrantz
e8e13d1d78
zink: decrement ZINK_FBFETCH_BINDING
...
there's no reason this shouldn't be contiguous with the other gfx stages
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19281 >
2022-10-25 02:06:23 +00:00
Mike Blumenkrantz
1f4172e4ec
zink: fix gpl compile optimization
...
this is supposed to create the non-optimized pipeline first and then
compile the optimized version in the background, not the other way around
facepalm.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19201 >
2022-10-25 01:46:13 +00:00
Mike Blumenkrantz
490ddbd0b7
lavapipe: fix BufferDeviceAddress usage
...
this is supposed to return the address at the start of the buffer,
not the address at the start of the memory allocation
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19274 >
2022-10-25 01:32:58 +00:00
Mike Blumenkrantz
17ccc80920
lavapipe: store binding offset for buffers
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19274 >
2022-10-25 01:32:58 +00:00
Nicholas Bishop
7cca889ecd
crocus: fix off-by-one error when clearing stale syncobjs
...
This is the same fix as commit 1311eddd52 ("iris: fix off-by-one error
when clearing stale syncobjs"), but for crocus.
Signed-off-by: Nicholas Bishop <nicholasbishop@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19282 >
2022-10-25 00:47:39 +00:00
Dave Airlie
977dbfc9de
clover/llvm: add kernel arg info for opaque pointers
...
With opaque pointers you can no longer the info from the pointertype,
so rebuild it.
v2: add a comment
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19103 >
2022-10-25 00:38:40 +00:00
Giancarlo Devich
b744e97033
d3d12: Add cache managers for separate buffer usage cases
...
Mis-matched usage is a large percentage of buffer cache misses when
searching for applicable buffers. Separating these into separate
managers puts them into separate heaps and eliminates a significant
amount of CPU time spent searching.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19283 >
2022-10-24 23:35:39 +00:00
Jami Kettunen
09b28524b2
freedreno/ir3: Switch to NIR for a5xx's vertex id lowering.
...
This was similarly done for a3xx & a4xx with 4bdd226ab6
("freedreno/ir3: Switch to NIR for a3xx/a4xx's vertex id lowering.")
already, yet a5xx was missed which I noticed as Minecraft window
titlebar text corruption on OnePlus 5T with Adreno 540.
Cc: mesa-stable
Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19263 >
2022-10-24 23:05:18 +00:00
Nicholas Bishop
7bc7b08bcf
crocus: Advertise PIPE_CAP_NATIVE_FENCE_FD
...
Enables EGL_ANDROID_native_fence_sync.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7253
Signed-off-by: Nicholas Bishop <nicholasbishop@google.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19235 >
2022-10-24 22:56:00 +00:00
Rob Clark
22ec93cc1a
v3d/ci: Add a flake
...
I've seen this one flake, add it to flakes.txt to avoid blocking CI.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259 >
2022-10-24 21:39:38 +00:00
Rob Clark
c00f36ad76
freedreno: Passthrough TCS support
...
Fixes 17 little piglits.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7518
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259 >
2022-10-24 21:39:38 +00:00
Rob Clark
18b02cbc25
freedreno: Add tess_state support
...
Add support for setting default tess params, used by passthrough TCS.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259 >
2022-10-24 21:39:38 +00:00
Rob Clark
38c747ce3d
freedreno/ir3: Passthrough TCS support
...
Wire up support for the two intrisics to get default tess levels (which
adds new HS driver params) and add a helper to generate a passthrough
TCS for a given VS. The passthrough TCS is cached in the VS, indexed by
patch_vertices, as the generated TCS is a function of the VS outputs and
the patch_vertices count.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259 >
2022-10-24 21:39:38 +00:00
Rob Clark
a7290370de
freedreno: Dirty the TCS state if patch_vertices change
...
If using a passthrough TCS shader, we can't rely on having a new TCS
stage bound, so we need to invalidate the TCS state when the # of
patch_vertices changes.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259 >
2022-10-24 21:39:38 +00:00
Rob Clark
027690996b
radeonsi: Use nir passthrough TCS helper
...
Switch over to using the common nir helper.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259 >
2022-10-24 21:39:38 +00:00
Rob Clark
a8e84f50bc
nir: Add helper to create passthrough TCS shader
...
Based on si_create_passthrough_tcs() as that seemed the most generic of
the various different backend driver implementations. Uses the
load_tess_level_outer_default and load_tess_level_inner_default
intrinsics to load the gl_TessLevelOuter and gl_TessLevelInner values,
so driver will somehow need to implement those to load the values set
by pipe_context::set_tess_state() or similar.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19259 >
2022-10-24 21:39:38 +00:00
David Heidelberg
2b750cacd7
ci/panfrost: re-enable traces on t760
...
Also make a note, why we don't run gles2 piglit.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19211 >
2022-10-24 21:24:46 +00:00
David Heidelberg
c6f575f663
ci/panfrost: Humus Portal trace got fixed, update checksum
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19211 >
2022-10-24 21:24:46 +00:00
David Heidelberg
9ba7164d2f
ci/panfrost: enable piglit-gl on g52 again and deparalelize
...
The job fits into 15 minutes of runtime, so deparalelize.
Stress-tested.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19211 >
2022-10-24 21:24:46 +00:00
David Heidelberg
b970e25890
ci/panfrost: deduplicate gitlab-ci.yml
...
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19211 >
2022-10-24 21:24:46 +00:00
Pavel Ondračka
8a0c1dcbd6
r300: respect buffer offset in r300_set_constant_buffer
...
Fixes constants upload with nine.
Thanks to Marek Olšák for pointing this out.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7481
Cc: mesa-stable
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19277 >
2022-10-24 21:15:37 +00:00
Timur Kristóf
a17e801a9c
aco: Add ACO_DEBUG=novalidateir option.
...
This disables IR validation in debug/debugoptimized builds.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103 >
2022-10-24 20:14:16 +00:00
Timur Kristóf
0cceab788e
aco: Move is_dead to aco_ir.h to allow it to get inlined.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103 >
2022-10-24 20:14:16 +00:00
Timur Kristóf
36bc3afb8b
aco/optimizer_postRA: Delete dead instructions more efficiently.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103 >
2022-10-24 20:14:16 +00:00
Timur Kristóf
7263a29794
aco/optimizer_postRA: Properly handle vccz/execz/scc in reset_block.
...
Fixes: a8dd07518c
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103 >
2022-10-24 20:14:16 +00:00
Timur Kristóf
75967a4814
aco/optimizer_postRA: Speed up reset_block() with predecessors.
...
Copy the information from the first predecessor then check whether
it matches other predecessors and modify the data accordingly.
Marked for backporting to stable to make it possible to also
backport fixes based on this.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103 >
2022-10-24 20:14:16 +00:00
Timur Kristóf
b542ab0243
aco/optimizer_postRA: Use unique_ptr + array for instruction indices.
...
According to perf, this roughly halves the impact of the post-RA
optimizer in ACO's compile times.
Measurement was taken using a debug optimized build using
NIR_DEBUG=novalidate RADV_DEBUG=nocache and replaying the Fossil DB
from the Doom Eternal shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18103 >
2022-10-24 20:14:16 +00:00
Giancarlo Devich
6f598fe4e3
mesa: Fix stack corruption for PIPE_QUERY_TIMESTAMP
...
get_query_result expects a pointer to a union pipe_query_result,
which is larger than GLuint64EXT, causing the memset it does to
overwrite the stack.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19055 >
2022-10-24 19:43:03 +00:00
Georg Lehmann
a0c52ee827
radeonsi: Use available dot product instructions on gfx11.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114 >
2022-10-24 19:07:16 +00:00
Georg Lehmann
31c1cb06ad
radv: Use available dot product instructions on gfx11.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114 >
2022-10-24 19:07:16 +00:00
Georg Lehmann
361b47b1f0
aco: Implement signed idot instructions on GFX11.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114 >
2022-10-24 19:07:16 +00:00
Georg Lehmann
cea6723243
ac/llvm: Implement signed idot on GFX11.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19114 >
2022-10-24 19:07:16 +00:00
Georg Lehmann
616d3908dc
aco: Don't use opsel for p_insert.
...
This doesn't make sense, opsel preserves the not selected half of the register,
p_insert zeros it.
No Foz-DB changes.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 54292e99c7 ("aco: optimize 32-bit extracts and inserts using SDWA")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19253 >
2022-10-24 18:40:40 +00:00
Georg Lehmann
79a8a7662b
aco: fmaak/fmamk can't use SDWA.
...
Found by inspection.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19255 >
2022-10-24 18:04:53 +00:00
Pedro J. Estébanez
413f8d0e9b
microsoft/spirv2dxil: Support pack_32_2x16 and pack_32_4x8
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19273 >
2022-10-24 17:39:59 +00:00
Yonggang Luo
224e501210
aco: Do not define NOMINMAX as it's already defined in pre_args now
...
It's a revert of fcd53bebe6 ("aco: Define NOMINMAX in Meson build file")
Because 852d91edcd ("windows: Always set NOMINMAX to remove min/max macros")
did the same thing
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19233 >
2022-10-24 17:00:58 +00:00
Erik Faye-Lund
0ebd6f52a2
zink: reuse rast_prim for line-rasterization check
...
The check_warn variable is true a bit too often; in realtity it's not
*either* of these conditions that makes things lines, it's the last one
in the pipeline. But we already have a state for this, so let's reuse
that instead of recomputing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19048 >
2022-10-24 16:41:48 +00:00
Erik Faye-Lund
659c39fafb
zink: rework primitive rasterization type logic
...
There's a few things that depends on the primitive rasterization type,
like point-sprite lowering and polygon offset. The effective state is a
combination of several other states, and we currently kinda wing it a
bit sometimes.
This should improve the situation. In particular, we now go backwards
through the pipeline, checking one overriding state at the time.
The end result should be that we don't end up lowering point-coord
replacement when not rendering with points.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19048 >
2022-10-24 16:41:48 +00:00
Pedro J. Estébanez
811794f8d8
microsoft/spirv2dxil: Change spirv_to_dxil() to receive SM and validator versions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19227 >
2022-10-24 16:15:31 +00:00
Pedro J. Estébanez
0bf5bbb3e4
microsoft/spirv2dxil: Refactor to make SM and validator versions public
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19227 >
2022-10-24 16:15:31 +00:00
Ella Stanforth
677def1d4e
vulkan: wsi: fix musl build
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19270 >
2022-10-24 15:39:06 +00:00
Konstantin Seurer
ac01f09d57
radv/rt: Load instance id and custom index on demand
...
Stats for Quae II RTX:
57fps -> 57fps
Totals from 7 (14.00% of 50) affected shaders:
VGPRs: 800 -> 784 (-2.00%)
CodeSize: 217868 -> 218308 (+0.20%)
MaxWaves: 62 -> 63 (+1.61%)
Instrs: 40384 -> 40420 (+0.09%); split: -0.01%, +0.10%
Latency: 866315 -> 870692 (+0.51%)
InvThroughput: 199189 -> 196595 (-1.30%); split: -1.75%, +0.45%
VClause: 1058 -> 1077 (+1.80%)
SClause: 1126 -> 1130 (+0.36%)
Copies: 5787 -> 5772 (-0.26%); split: -0.40%, +0.14%
PreVGPRs: 764 -> 750 (-1.83%)
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19159 >
2022-10-24 14:39:25 +00:00
Daniel Schürmann
6fcabb3b02
aco/ra: only rename fixed Operands if the copy-location matches
...
With epilogs, the same Operand can be fixed to multiple registers.
Fixes: 061b8bfd29 ('aco/ra: rework fixed operands')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18485 >
2022-10-24 13:12:34 +00:00
Samuel Pitoiset
cf7ada973a
radv: disable shaderBufferFloat64AtomicMinMax on GFX11
...
buffer_atomic_{fmin,fmax}_x2 aren't supported on this GPU apparently.
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/19268 >
2022-10-24 12:40:33 +00:00
Samuel Pitoiset
7298bc1810
radv: disable {shader,sparse}ImageFloat32AtomicMinMax on GFX11
...
image_atomic_{fmin,fmax} aren't supported on this GPU apparently.
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/19268 >
2022-10-24 12:40:33 +00:00
Samuel Pitoiset
1ec5b6774d
ac: fix has_vrs_ds_export_bug for VanGogh
...
Missed it.
Fixes: 0a8a9d9d63 ("ac: add radeon_info::has_vrs_ds_export_bug")
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/19272 >
2022-10-24 12:01:52 +00:00
Yonggang Luo
4aef5f8825
st: Remove struct st_api, st_gl_api_create and st_gl_api.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
b990142e05
xlib: Implement xmesa_get_name by return literal "Mesa " PACKAGE_VERSION directly
...
This literal is consistence with st_api::name comes from global variable
st_gl_api that will be removed in following commits
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
78a8350e8d
st: Turn st_api::query_versions to be direct accessed function st_api_query_versions
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
7bd5ff3122
st: Turn st_api::create_context to be direct accessed function st_api_create_context
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
562adc385d
st: Turn st_api::make_current to be direct accessed function st_api_make_current
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
26b77dfeb2
st: Turn st_api::get_current to be direct accessed function st_api_get_current
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
40e11ee509
st: Turn st_api::destroy_drawable to be direct accessed function st_api_destroy_drawable
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
3f15ba7d68
st: Remove st_api::destroy
...
It's a global variable and have no need destroy
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
23388be282
st: OpenVG are removed, remove st_api::feature_mask as it's constant
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
44151acc95
st: OpenVG are removed, remove st_api::profile_mask as it's constant
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
9d0d1e5295
st: move function st_visual_have_buffers into st_manager.c
...
As it's only accessed in st_manager.c, there is no need expose it
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Yonggang Luo
5e85165a7b
hgl: Remove non-nused hgl_create_st_api
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19197 >
2022-10-24 11:31:20 +00:00
Rhys Perry
f32dde2902
aco: swap v_perm_b32 operands
...
I misread the ISA doc and got the order wrong.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: dae1629778 ("aco: disable sdwa on gfx11")
Fixes: e68e6c75ca ("aco: use v_perm_b32 to copy 0xff00/0x00ff/0xff/0x00")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19223 >
2022-10-24 10:52:56 +00:00
Bas Nieuwenhuizen
514a9b3b75
radv: Use correct primgrp size for gfx11.
...
From radeonsi, found by inspection.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19222 >
2022-10-24 09:08:42 +00:00
Bas Nieuwenhuizen
9d782e5294
radv: Improve gfx11 clear colors for DCC.
...
When I wrote the function I did unorms wrong. Let's copy radeonsi
harder.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19222 >
2022-10-24 09:08:42 +00:00
Alejandro Piñeiro
8148e934a6
v3d: replace all TODO around for FIXME
...
Even if there is a slight difference of meaning between FIXME and
TODO, at some point we agreed to use just FIXME for all pending things
to do, just to make it easier to grepping for things that can be done.
And after all, one could argue that is there is something pending TO
DO, is that needs FIXING.
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19225 >
2022-10-24 08:33:44 +00:00
Pierre-Eric Pelloux-Prayer
434e74e658
radeonsi: zero init using the correct components count
...
This fixes the replay of the trace attached to
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7530 which
would otherwise fail with an LLVM error:
"All operands to PHI node must be the same type as the PHI node!"
Fixes: ae4379d81e ("ac/nir: export some undef as zero")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19189 >
2022-10-24 09:33:48 +02:00
Samuel Pitoiset
152b90efcd
aco,radv/llvm: do not export parameters on GFX11
...
They will be exported through the attribute ring instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216 >
2022-10-24 07:55:06 +02:00
Samuel Pitoiset
c5bf63753d
ac/nir,radv/llvm: add support for the attribute ring
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216 >
2022-10-24 07:55:06 +02:00
Samuel Pitoiset
fee5e379f4
radv/llvm: do not set COMPR for exports on GFX11
...
Use 0x3 channel mask instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19216 >
2022-10-24 07:53:59 +02:00
José Roberto de Souza
4096c15f4f
hasvk: Nuke code around local memory
...
None of the platforms supported by this driver supports local memory.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19240 >
2022-10-23 16:33:20 -07:00
António Monteiro
fdbb005984
freedreno: get timestamp from os_time_get_nano instead of os_time_get
...
Signed-off-by: António Monteiro <antonio.fmr.monteiro@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19260 >
2022-10-23 22:20:02 +01:00
Yusuf Khan
851c6598bd
nouveau: get timestamp from os_time_get_nano instead of os_time_get
...
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19249 >
2022-10-23 15:36:19 +00:00
Jan Beich
1d41dd42df
util: unify FreeBSD futex_wait signature with Linux/OpenBSD/Windows
...
src/util/futex.c:73:5: error: conflicting types for 'futex_wait'
int futex_wait(uint32_t *addr, int32_t value, struct timespec *timeout)
^
src/util/futex.h:50:5: note: previous declaration is here
int futex_wait(uint32_t *addr, int32_t value, const struct timespec *timeout);
^
Fixes: 095dfc6caa ("util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19177 >
2022-10-23 10:11:01 +00:00
Mike Blumenkrantz
813d502d7c
driconf: add mesa_glthread=false for gfxbench
...
this seems to hurt perf
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19081 >
2022-10-23 02:24:13 +00:00
Dave Airlie
55d2b82cc0
glsl/types: fix dword slots calc for float16 matricies.
...
The current uniform query uploader for mat3 calcs things as
if the vector elements are f16vec4 wide, so fix the calcs
here to do the same.
Fixes GTF-GL46.gtf21.GL.mat3.mat3arraysimple_frag on llvmpipe
when 16-bit uniform lowering is allowed.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14817 >
2022-10-23 01:43:44 +00:00
Alyssa Rosenzweig
3570e94bcc
agx: Use agx_nir_opt_preamble
...
Now that everything is in place, we can actually take advantage of
preambles. This wins us a crude form of UBO pushing (accounting for most
of the win here), as well as its intended purpose of optimizing
uniform-on-uniform arithmetic.
shader-db results are excellent. The shader that's regressed for instruction
count is a fragment shader that solely consists of `gl_FragColor = uniform`,
which goes from a vectorized UBO load to four scalar moves. That's more
instructions (and more bytes) but presumably faster, since ALU should be much
cheaper than load/store.
total instructions in shared programs: 6502 -> 5764 (-11.35%)
instructions in affected programs: 5136 -> 4398 (-14.37%)
helped: 60
HURT: 1
helped stats (abs) min: 2.0 max: 47.0 x̄: 12.33 x̃: 8
helped stats (rel) min: 0.84% max: 34.48% x̄: 18.69% x̃: 21.05%
HURT stats (abs) min: 2.0 max: 2.0 x̄: 2.00 x̃: 2
HURT stats (rel) min: 33.33% max: 33.33% x̄: 33.33% x̃: 33.33%
95% mean confidence interval for instructions value: -14.69 -9.51
95% mean confidence interval for instructions %-change: -20.49% -15.20%
Instructions are helped.
total bytes in shared programs: 42186 -> 38310 (-9.19%)
bytes in affected programs: 33182 -> 29306 (-11.68%)
helped: 60
HURT: 1
helped stats (abs) min: 10.0 max: 272.0 x̄: 64.83 x̃: 50
helped stats (rel) min: 0.72% max: 30.00% x̄: 15.16% x̃: 16.67%
HURT stats (abs) min: 14.0 max: 14.0 x̄: 14.00 x̃: 14
HURT stats (rel) min: 31.82% max: 31.82% x̄: 31.82% x̃: 31.82%
95% mean confidence interval for bytes value: -77.73 -49.35
95% mean confidence interval for bytes %-change: -16.66% -12.11%
Bytes are helped.
total halfregs in shared programs: 2370 -> 1639 (-30.84%)
halfregs in affected programs: 1804 -> 1073 (-40.52%)
helped: 60
HURT: 0
helped stats (abs) min: 1.0 max: 40.0 x̄: 12.18 x̃: 8
helped stats (rel) min: 3.85% max: 72.73% x̄: 41.37% x̃: 36.17%
95% mean confidence interval for halfregs value: -14.77 -9.60
95% mean confidence interval for halfregs %-change: -46.00% -36.75%
Halfregs are helped.
Total CPU time (seconds): 2.71 -> 2.80 (3.32%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 15:00:12 -04:00
Alyssa Rosenzweig
5e8b0289c3
agx: Add agx_nir_opt_preamble pass
...
This pass creates preamble shaders. The heavylifting is done by
nir_opt_preamble. We do need to define the cost model for nir_opt_preamble, set
up 16-bit units for the register file, and scalarize the resulting
load/store_preamble intrinsics.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 15:00:07 -04:00
Alyssa Rosenzweig
328eef2c3c
asahi: Set GPR count accurately
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 15:00:05 -04:00
Alyssa Rosenzweig
afa20a840b
asahi: Set uniform counts accurately
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 15:00:04 -04:00
Alyssa Rosenzweig
ec9eae99b1
agx: Report GPRs to the driver
...
This needs to be passed onto the hardware.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 15:00:01 -04:00
Alyssa Rosenzweig
6e32826345
agx: Avoid reading high uniforms from device_load
...
This does not seem to be possible architecturally. Exhaustively checked
all bits of the encoding. Avoids regressing
dEQP-GLES3.functional.texture.units.8_units.only_2d.0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:59 -04:00
Alyssa Rosenzweig
5bd245d2cd
agx: Handle 64-bit moves
...
lower_resinfo generates some 64-bit math, so we need to handle it. Even
though we don't have native 64-bit moves, it's convenient to pretend we
do to avoid special cases in the IR. In particular, modelling 64-bit
mov_imm in the IR means our existing small constant propagation code
works, with zero-extension from 8->64.
Fixes dEQP-GLES3.functional.texture.units.2_units.only_2d_array.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:52 -04:00
Alyssa Rosenzweig
1521d9c58c
agx: Restrict copyprop of uniforms
...
Some instructions don't accept uniform registers as sources (yet?),
avoid this hazard in the optimizer.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:51 -04:00
Alyssa Rosenzweig
cef13f8ab1
agx: Handle uniforms passed to COLLECT
...
It's useful to be able to copyprop uniform registers into COLLECT. That
requires handling of uniform registers in the parallel copy lowering,
which isn't too hard to add.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:48 -04:00
Alyssa Rosenzweig
056280a4a1
agx: Implement scalar load/store_preamble
...
These need to copy values between GPRs and uniform registers. This is pretty
easy in either direction. This implements scalar versions of the intrinsics. A
backend NIR pass will scalarize for us.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:46 -04:00
Alyssa Rosenzweig
14fe5bc598
agx: Strengthen assert for packing ld/st instructions
...
We really need to autogenerate the packing code... It's on the todo
list, currently in discussions on how to best go about this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:44 -04:00
Alyssa Rosenzweig
41b54d4a58
agx: Allow larger indices for ld/st
...
For memory load/store instructions, the immediate is 16-bit, not 8-bit
like for ALUs.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:43 -04:00
Alyssa Rosenzweig
05009d1dad
agx: Add uniform_store instruction
...
Moves data from GPRs to uniform registers. Encoded like load/store
instructions, so reuse the device_load packing code.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:40 -04:00
Alyssa Rosenzweig
ca4fe9d3f5
agx: Align preamble shaders
...
I don't know if it's ok to have unaligned programs, let's not risk it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:38 -04:00
Alyssa Rosenzweig
e466a7d1d8
agx: Handle multiple functions
...
Needed for preambles. Make agx_context map to nir_function_impl and
the (out, key, binary) triple the only global shader state.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:36 -04:00
Alyssa Rosenzweig
af74e746cd
agx: Make push_count public
...
The driver needs to plumb this information into the hardware. It will
also make it easier to preserve across preamble/main function in a
moment.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:34 -04:00
Alyssa Rosenzweig
2d63864e03
agx: Check that we don't push too much
...
Currently we don't have a good mechanism for this other than being
careful... assert() at least. The long term plan is to lift the
UBO/VBO lowerings into NIR, making the sysval requirements visible in
the NIR. (And possibly moving to a descriptor set model to better match
Vulkan? I need to talk to jekstrand about what we want to do here long
term.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:32 -04:00
Alyssa Rosenzweig
c74d6c4f9e
agx: Be less sloppy about high uniforms
...
We need 9-bits to index into the uniform file. Fix an overflow and add
some asserts to try to catch these issues earlier.
Sigh, C.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:29 -04:00
Alyssa Rosenzweig
a0da23d520
asahi: Support preamble shaders
...
Extend the compiler/driver ABI to attach preambles, and plumb them into
the USC hardware when needed. This is the easy part!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:27 -04:00
Alyssa Rosenzweig
9061e960b2
asahi: Add group tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:25 -04:00
Alyssa Rosenzweig
8b464f4c59
asahi: Don't use unnecessary test fixture
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:23 -04:00
Alyssa Rosenzweig
537a77ea6b
asahi: Rename LOD clamps tests to fit other packing
...
We'll use for testing the "groups" encoding.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:59:21 -04:00
Alyssa Rosenzweig
6195ac93d6
asahi: Use USC_UNIFORM_HIGH
...
Abstract it away so we get access to the full uniform file without
special cases.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:58:53 -04:00
Alyssa Rosenzweig
348ac0f4a2
asahi: Make agx_varyings a union
...
More accurate.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:58:51 -04:00
Alyssa Rosenzweig
721c4f2186
asahi: Remove "padding" field
...
Trivial.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:58:48 -04:00
Alyssa Rosenzweig
06cb242a54
asahi: Identify more shader-related fields
...
The big discovery is the "number of uniform registers" field. I learned
about this one accidentally when my preamble shaders weren't working
right, because we had inadvertently hardcoded "at most 32 registers" :-)
In the course of identifying that field, I found that the pipeline
address is used as a tagged pointer, with some unknown field in the
bottom bits and alignment demanded. The XML is updated to account for
this.
I later found that there's also a "number of general purpose registers
used by the preamble shader" field. I missed this one first, because the
encoding is slightly different from the usual "number of general purpose
registers in the main shader" field. The specification is slightly
coarser. I don't know why the hardware needs that
information anyway -- occupancy of the preamble shader should be
irrelevant -- but it's not a big deal.
Finally I found that the "more than 4 textures?" bit is... not that. I
do not yet know what it is, but it is... not that.
These all use the new groups() modifier for GenXML
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:58:37 -04:00
Alyssa Rosenzweig
24bfa5af88
asahi: Identify "Uniform high" USC word
...
The start field in the Uniform USC word is only 8-bits, whereas 9-bits
are required to address the entire uniform register file. This other
word gets used for the high half, with start indexed from u128l in
the natural way.
Apparently spending the evening stuffing too many uniforms into Metal is
paying off.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:54:07 -04:00
Alyssa Rosenzweig
0e1f9ca9f6
asahi: Route shader-db stats to debug callback
...
This way multithreading works correctly in shader-db including CPU time account.
Code from v3d via panfrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:54:07 -04:00
Alyssa Rosenzweig
e126338394
asahi: Precompile for shader-db
...
This gets shader-db's runner working, in conjunction with a shader-db ./run
modified to set ASAHI_MESA_DEBUG=precompile. This flag triggers precompiles of
all shaders witha default key so we can exercise the compiler.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:54:07 -04:00
Alyssa Rosenzweig
46ae8e659d
asahi: Remove AGX_FAKE_DEVICE environment variable
...
The proper way to fake a device on Linux will be drm-shim.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:54:07 -04:00
Alyssa Rosenzweig
13e90bebe1
agx: Remove command line compiler
...
It has not been used in quite some time but adds maintainence burden.
Its function is replaced by drm-shim in conjunction with shader-db's
./run, which goes through the actual driver.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:54:07 -04:00
Alyssa Rosenzweig
80de33cf6a
nir/opt_preamble: Move load_texture_base_agx
...
nir_opt_preamble will be crucial to optimize out the lowering for array
textures on AGX, which involves this AGX-specific sysval.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813 >
2022-10-22 14:48:04 -04:00
Alyssa Rosenzweig
ba551d293f
asahi: Hold a reference to BOs in a batch
...
Fixes GPU-side use after frees, e.g. in dEQP-GLES2.functional.texture.vertex.2d.wrap.clamp_mirror
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19215 >
2022-10-22 13:52:53 +00:00
Georg Lehmann
741dbadae0
nir: Fix ifind_msb_rev constant folding.
...
For example if src0 is 0x80000000 we should return 1, not 0.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: a5747f8ab3 ("nir: add opcodes for *find_msb_rev and lowering")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:55 +02:00
Georg Lehmann
125741dbae
nir/opt_algebraic: Optimize various find_msb_rev patterns.
...
From dxvk, dxil-spirv, fxc, dxc and others.
Totals from 177 (0.13% of 134913) affected shaders:
CodeSize: 1079504 -> 1059872 (-1.82%)
Instrs: 195381 -> 192269 (-1.59%)
Latency: 3664137 -> 3631951 (-0.88%)
InvThroughput: 599479 -> 585675 (-2.30%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:33 +02:00
Georg Lehmann
d57f5c9cac
radv,aco: Lower uclz in NIR.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:23 +02:00
Georg Lehmann
7505be3497
nir/opt_algebraic: Add an option to lower uclz.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:10 +02:00
Georg Lehmann
049b60cf4b
ac/llvm: Implement [ui]find_msb_rev.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:06 +02:00
Georg Lehmann
058174c4de
aco: Implement [ui]find_msb_rev.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:57:00 +02:00
Georg Lehmann
1e552b9c95
nir/opt_algebraic: Mirror optimizations for find_msb_rev.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18951 >
2022-10-22 11:56:44 +02:00
Konstantin Seurer
b5ecb5388e
radv/rt: Fix setting tmax for opaque AABBs
...
data->vars->tmax will be overwritten by inner_vars.tmax so we have to
set inner_vars.tmax instead. This probably doesn't affect anything in
practise.
cc: mesa-stable
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19207 >
2022-10-22 08:55:58 +00:00
Emma Anholt
22f7f167cd
nir/opt_phi_precision: Fix missing swizzles when narrowing phi srcs.
...
This NIR:
vec4 32 ssa_169 = phi block_1: ssa_168, block_2: ssa_138
vec1 16 ssa_209 = f2fmp ssa_169.x
vec1 16 ssa_210 = f2fmp ssa_169.y
vec1 16 ssa_211 = f2fmp ssa_169.z
vec1 16 ssa_212 = f2fmp ssa_169.w
vec4 16 ssa_213 = vec4 ssa_209, ssa_210, ssa_211, ssa_212
intrinsic store_output (ssa_213, ssa_171) (base=0, wrmask=xyzw /*15*/, component=0, src_type=float16 /*144*/, io location=4 slots=1 mediump /*8388740*/, xfb() /*0*/, xfb2() /*0*/)
would turn into:
vec4 32 ssa_169 = phi block_1: ssa_168, block_2: ssa_138
vec4 16 ssa_216 = phi block_1: ssa_214, block_2: ssa_215
vec1 16 ssa_209 = f2fmp ssa_169.x
vec1 16 ssa_210 = f2fmp ssa_169.y
vec1 16 ssa_211 = f2fmp ssa_169.z
vec1 16 ssa_212 = f2fmp ssa_169.w
vec4 16 ssa_213 = vec4 ssa_216.x, ssa_216.x, ssa_216.x, ssa_216.x
intrinsic store_output (ssa_213, ssa_171) (base=0, wrmask=xyzw /*15*/, component=0, src_type=float16 /*144*/, io location=4 slots=1 mediump /*8388740*/, xfb() /*0*/, xfb2() /*0*/)
ignoring the swizzles from the f2fmp srcs. Fixes failures in
dEQP-GLES2.functional.shaders.random.all_features.fragment.20 on
turnip+ANGLE.
Fixes: c7b935962b ("nir: Add pass to lower phi precision")
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19179 >
2022-10-22 03:06:31 +00:00
Yonggang Luo
783b416e65
ci/macos: Building both dri and xlib version of glx
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19221 >
2022-10-22 01:34:53 +00:00
Yonggang Luo
6c9f8d8662
xlib: Remove macro guard with GLX_INDIRECT_RENDERING in xlib.c
...
According meson about with_glx == 'xlib' check only defied '-DUSE_XSHM',
so the macro check GLX_INDIRECT_RENDERING make no-sense, removed it.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19221 >
2022-10-22 01:34:53 +00:00
Yonggang Luo
5bed3d4ad6
meson: with_glx never assigned to 'gallium-xlib', remove 'gallium-xlib'
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19221 >
2022-10-22 01:34:53 +00:00
Yonggang Luo
814682d00c
meson: with_glx never assigned to 'gallium-xlib', so need add with_glx == 'xlib' for dep_glproto
...
Fixes: 76791db088 ("mesa/x11: Remove the swrast-classic-based fake libGL")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19221 >
2022-10-22 01:34:53 +00:00
Thomas H.P. Andersen
9a7e93f1f6
vulkan: drop const for descriptor set
...
drivers should be able to update the reference count
member of the vk_descriptor_set_layout struct
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19132 >
2022-10-21 22:36:45 +00:00
Mike Blumenkrantz
5aa437a9f1
zink: fix ds3 line stipple enable handling
...
ds3 can be used without line stipple enable if the driver doesn't support
line stipple, so this needs special-casing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19204 >
2022-10-21 21:27:13 +00:00
Mike Blumenkrantz
12fded5965
zink: fix duplicate VK_DYNAMIC_STATE_LINE_STIPPLE_EXT setting
...
if ds3 is used, this is already set above
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19204 >
2022-10-21 21:27:13 +00:00
Alyssa Rosenzweig
9de7e49e6f
panfrost: Remove NIR_SERIALIZED support
...
Only used by Clover (due to the dynamic pipeloader), which we never
shipped support for. We'll do OpenCL via Rusticl, which does not use the
dynamic pipeloader.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18972 >
2022-10-21 21:12:14 +00:00
Rhys Perry
dfce433385
aco/gfx11: optimize LS/HS load_local_invocation_index
...
fossil-db (gfx1100):
Totals from 1361 (1.01% of 135032) affected shaders:
Instrs: 501227 -> 500469 (-0.15%); split: -0.16%, +0.01%
CodeSize: 2730012 -> 2724820 (-0.19%); split: -0.20%, +0.00%
VGPRs: 63716 -> 63688 (-0.04%)
Latency: 2228848 -> 2228858 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 878418 -> 878275 (-0.02%); split: -0.02%, +0.00%
VClause: 14866 -> 14868 (+0.01%); split: -0.03%, +0.04%
SClause: 16674 -> 16645 (-0.17%); split: -0.22%, +0.05%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19196 >
2022-10-21 20:01:30 +00:00
Rhys Perry
8c716525cf
ac/llvm: ignore g16 if the image opcode doesn't use derivatives
...
g16 is irrelevant in this case.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19198 >
2022-10-21 19:09:49 +00:00
Rhys Perry
c492779924
ac/llvm: fix mixing non-uniform/uniform sampler/texture descriptors
...
Non-uniform descriptors are not loaded in NIR and instead the pointer is
passed to abi->load_sampler_desc. It can be the case that only the texture
or sampler uses this path.
For the descriptor which doesn't use the path, we would previously pass
NULL to abi->load_sampler_desc.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19198 >
2022-10-21 19:09:49 +00:00
Damian Korczowski
5b47e32474
d3d12: Fix placed footprint of subresources
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19220 >
2022-10-21 18:57:54 +00:00
Sil Vilerino
479eb67aac
d3d12: HEVC Decode - Fix slice size and offsets translation from VA to DXVA
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19231 >
2022-10-21 17:56:38 +00:00
Samuel Pitoiset
897adcf7d7
radv: disable AMD_shader_explicit_vertex_parameter on GFX11
...
Not supported by ACO.
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/19230 >
2022-10-21 16:42:12 +00:00
Samuel Pitoiset
c18e39ebca
radv: disable VK_AMD_texture_gather_bias_lod on GFX11
...
image_gather4_b_o no longer exists apparently, so this is likely
broken.
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/19230 >
2022-10-21 16:42:12 +00:00
Samuel Pitoiset
59be3b8a8f
radv: advertise VK_EXT_extended_dynamic_state3
...
Some tricky dynamic states still need to be implemented for full ds3
support with Zink, I will implement them later.
Pass dEQP-VK.pipeline.*extended_dynamic_state* on NAVI21.
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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
e48c0fbd8f
radv: add support for dynamic depth clamp 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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
31f946f4d2
radv: add support for dynamic provoking vertex mode
...
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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
e26d3cd9e8
radv: add support for dynamic depth clip negative one to one
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
fbed3aed4a
radv: add support for dynamic conservative rasterization mode
...
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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
96282ceb9a
radv: add support for dynamic depth clip 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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
8682e09c33
radv: add support for dynamic sample mask
...
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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
7c38d94261
radv: add support for dynamic alpha to coverage 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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
6a98329b5e
radv: add support for dynamic line stipple 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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
17b9aa92b7
radv: add support for dynamic logic op 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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
f22290949d
radv: add support for dynamic tessellation domain origin
...
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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
6bf34e9f36
radv: add support for dynamic polygon mode
...
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/18882 >
2022-10-21 15:56:52 +00:00
Samuel Pitoiset
e0b4b12066
radv: declare new dynamic states
...
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/18882 >
2022-10-21 15:56:52 +00:00
David Heidelberg
5d23c94dd1
ci/freedreno: add Guilherme Gallo into restricted traces access list
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19210 >
2022-10-21 15:22:26 +00:00
Simon Ser
4c080cb8e5
egl: fix error string for dri2_create_image_dma_buf()
...
Using dri2_create_image_khr_texture_error() here prints an error
like so:
command: eglCreateImageKHR, error: EGL_BAD_ALLOC (0x3003), message: "dri2_create_image_khr_texture"
This is confusing, because dri2_create_image_khr_texture() is
unrelated to this error.
Instead, print a more accurate error manually.
Signed-off-by: Simon Ser <contact@emersion.fr >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19156 >
2022-10-21 14:57:25 +00:00
Karol Herbst
e2d67765fa
zink: handle f2f16_rtz
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19212 >
2022-10-21 14:38:26 +00:00
Karol Herbst
813b76aeb6
zink: handle more opcodes for CL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19212 >
2022-10-21 14:38:25 +00:00
Martin Roukala (né Peres)
4629fe2aab
zink: update the RADV expectations
...
We got 4 more tests passing, let's document that :)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19190 >
2022-10-21 14:19:35 +00:00
Karol Herbst
4a125f790c
ci/llvmpipe: update to new RUSTICL_ENABLE var
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19149 >
2022-10-21 13:58:07 +00:00
Karol Herbst
cce02f0184
docs: Add documentation for Rusticl's env variables
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19149 >
2022-10-21 13:58:07 +00:00
Karol Herbst
feca63e37e
rusticl: add RUSTICL_ENABLE to have a global way of enabling devices
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19149 >
2022-10-21 13:58:07 +00:00
Leandro Ribeiro
3b7d977f76
vulkan/wsi/wayland: avoid useless re-allocations when receiving per-surface dma-buf feedback
...
It's not just because we received dma-buf feedback that we should
re-allocate, as sometimes it is useless.
We must compare the most recent allocation parameters used and the ones
that we have with the newest feedback. So do that.
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
df77641993
vulkan/wsi/wayland: add per-surface dma-buf feedback support
...
Follow up of "vulkan/wsi/wayland: add default dma-buf feedback support".
The surface feedback is dynamic, differently from the default feedback.
When we receive per-surface feedback, that means that we could be using
a better DRM format/modifier pair for the chain's buffers. So the next
time that the client calls vkAcquireNextImageKHR(), we return
VK_SUBOPTIMAL_KHR instead of VK_SUCCESS. Some clients will re-create the
swapchain when receiving SUBOPTIMAL, and for those we'll re-create the
chain. An optimal DRM format/modifier pair from the per-surface feedback
will be used to create the images of this swapchain.
Note that for now we won't be able to change the DRM format, only the
modifier. That's good enough for many cases in which direct scanout
would not be possible because of the modifier. In order to be able to
switch the format, we'll need a mechanism to negotiate preferred formats
with clients. Currently we can only expose a set of supported formats
all with the same preference.
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
edd3c00d5d
vulkan/wsi/wayland: add default dma-buf feedback support
...
This bumps the supported dma-buf version up to 4 and adds default
dma-buf feedback support. It follows the changes in the dma-buf protocol
extension to include dma-buf feedback.
From version 4 onwards, the dma-buf modifier events are not sent by the
compositor anymore, so we use the default feedback to pick the set of
formats/modifiers supported by the compositor.
In the next commit we add support for per-surface feedback.
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
947a465cee
vulkan/wsi/wayland: remove refcount from struct wsi_wl_display
...
After "vulkan/wsi/wayland: move wl_surface and wl_display from chain to
struct wsi_wl_surface", refcount is being unused. So remove it and its
associated functions.
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
3adba6b18d
vulkan/wsi/wayland: move wl_surface and wl_display from chain to struct wsi_wl_surface
...
When a swapchain is re-created, if the old swapchain is not passed to
us, we need to re-create the wl_display and the Wayland objects. As
described in "vulkan/wsi/wayland: introduce struct wsi_wl_surface", this
gets in the way when adding the dma-buf feedback implementation.
With this change now the lifetime of the Wayland objects is tied to the
VkSurface. When the swapchain gets re-created, we won't have to
re-create the wl_display (and consequently the Wayland objects).
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
ba571c3657
vulkan/wsi/wayland: take ownership of wsi_wl_surface when creating chain
...
When we create a swapchain, take ownership of a struct wsi_wl_surface.
When the chain gets destroyed, the ownership is dropped.
We can safely do that because only a single swapchain can be associated
with the surface at a time, according to vkCreateSwapchainKHR spec:
"If pCreateInfo->oldSwapchain is VK_NULL_HANDLE, and the native
window referred to by pCreateInfo->surface is already associated
with a Vulkan swapchain, VK_ERROR_NATIVE_WINDOW_IN_USE_KHR must
be returned."
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
abc464f3a9
vulkan/wsi/wayland: introduce struct wsi_wl_surface
...
In the following commits we add dma-buf feedback support. In order to do
that, we need to keep the feedback tied to the lifetime of the surface,
instead of tied to the lifetime of the chain.
Why do we need this change?
The reason is per-surface feedback and swapchain re-creation. If we
receive feedback and return SUBOPTIMAL to the client in the next
acquireNextImage() call, it may re-create the swapchain. If it
doesn't pass us the oldSwapchain, we won't have access to the surface
feedback data (as it was tied to the oldSwapchain). We could bind
again to the surface feedback, but compositors may have a transient
state when we bind to surface feedback, and send a non-optimal batch
of dma-buf feedback which is updated when the drawing loop starts. So
we would re-create the chain with this non-optimal batch, and after a
few moments receive new feedback. This could potentially lead into an
allocation loop, so it is not safe.
Tying the feedback to the lifetime of the VkSurface we don't have to
re-bind to the surface dma-buf feedback every time that the swapchain
is re-created, avoiding this dangerous allocation loop described
above.
So add struct wsi_wl_surface in order to add support for dma-buf
feedback. For now it is just the stub, but in the next commits we start
making use of that.
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
149f7e4762
vulkan/wsi/wayland: remove unnecessary spaces in struct fields
...
We have arbitrary amount of spaces between structs fields types and
their names. That doesn't improve legibility and get in the way when
adding new fields/structs. So remove these spaces.
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Leandro Ribeiro
05ed116d01
vulkan/wsi/wayland: move some structs to beginning of code
...
There are some structs defined in the middle of the code. Move them
closer to where the other structs are defined.
This makes the code easier to read and also will help us in the next
commits, in which we add dma-buf feedback support.
Reviewed-by: Simon Ser <contact@emersion.fr >
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12226 >
2022-10-21 12:15:37 +00:00
Pierre-Eric Pelloux-Prayer
19b6c889be
Revert "ac: use LLVMContextSetOpaquePointers if available"
...
This reverts commit 940734630d .
radeonsi and radv now support opaque pointers.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
f5abb7ce4c
ac/llvm: pass ac_llvm_ptr instead of separate type/ptr
...
This simplifies the API.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
efa5c52822
ac/llvm: add ac_get_ptr_arg
...
For argument of type AC_AR_..._PTR, this returns a ac_llvm_pointer.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
39fd373f81
radv/llvm: replace LLVMBuildLoad by LLVMBuildLoad2
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
b31affddf4
ac/llvm: remove gep_2 and others temporary functions
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
7508cdd2ff
radeonsi: port the remaining code to opaque pointers
...
Mechanical changes (= use ac_llvm_pointer and adapt the callers/callees)
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
c0058a38d1
radeonsi: make ngg_gs_get_vertex_storage return a ac_llvm_pointer
...
gs_ngg_emit is declared as a 0-size array so we can't store it as a
ac_llvm_pointer.
Instead, we simply modify the ngg_gs_get_vertex_storage to return
a properly typed pointer, when num_outputs is known.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
52f8319dac
radeonsi: use LLVMBuildGEP2 in si_build_gep_i8_var
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
b58bb254f3
radeonsi: use ac_get_arg_pointee_type to get the right type
...
And switch to the xxx2 versions of the ac/llvm functions.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
cb117cdc96
radv/llvm: use ac_build_gep0_type to get args types
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
f12adf2cc9
ac/llvm: remove unneeded casts
...
The only useful information in pointer types is the address space and these
casts don't change it.
The type information is explicitely passed by the caller of GEP2 and similar
functions.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
a15eed1e22
ac/llvm: store constant_data and scratch as ac_llvm_pointer
...
This way we can pass the type information to LLVM when needed.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
e9a7f8d8df
ac/llvm: store lds as ac_llvm_pointer
...
This way we can pass the type information to LLVM when needed.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
8c54ae013d
ac/llvm: add xxxx2 functions to iteratively port to opaque pointers
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
18e78db39c
ac/llvm: add type param to ac_build_load_invariant
...
And adapt the only user of this function.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
f044de2e60
ac/llvm: switch ac_build_pointer_add to LLVMBuildGEP2
...
The cast was superfluous: GEP2 return value is a pointer to
the given type.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
f68b18f285
ac/llvm: switch ac_build_gep_ptr to LLVMBuildGEP2
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
0f00f74b20
ac/llvm: port functions to use ac_llvm_pointer
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
174caabab7
ac/llvm: add a ac_llvm_pointer type
...
This struct stores a pointer's value and the pointee type and
will be used everywhere LLVM requires us to pass the pointee
type.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
afd645f057
ac/llvm: remove LLVMBuildGEP usages
...
Use LLVMBuildGEP2 instead.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
fab476bd11
ac/llvm: add helpers to get pointer types of ac_arg
...
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
5dcc2c216b
ac/llvm: simplify get_memory_ptr
...
We actually don't need the type: lds is always treaded as
a "pointer to i8" in this function.
The caller will use the proper type when using the result.
For the same reason, we can get rid of the cast in setup_shared
because LLVM won't use this information anymore.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
8465d23f99
ac/llvm: drop visit_deref
...
This functions processes mem_shared and nir_var_mem_global:
- mem_shared is lowered by radv and radeonsi.
- mem_global is lowered by radv and radonsi doesn't use it.
So we can safely drop this function.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
236c7ca8b3
radeonsi: use nir_lower_explicit_io to get rid of mem_shared deref
...
We can get them through GLSL compute or SPIR-V.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
55ba066d45
radeonsi: remove USE_LDS_SYMBOLS
...
This has been set to true for 3 years and radeonsi wants LLVM 11, so
we can remove the define and use true directly.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Pierre-Eric Pelloux-Prayer
83283fffc5
ac/llvm: remove unused vars hash table
...
It's unused because variables are never dereferenced during the
NIR -> LLVM IR translation.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19035 >
2022-10-21 07:56:38 +00:00
Samuel Pitoiset
ef5fc6a764
aco: fix tcs_wave_id unpacking on GFX11
...
Only the first 3 bits are useful.
Ported from ac/llvm.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19194 >
2022-10-21 07:15:44 +00:00
Samuel Pitoiset
1f573c44ab
radv: advertise fragmentShadingRateWithShaderDepthStencilWrites on NAVI23+
...
It should work.
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/19195 >
2022-10-21 06:45:21 +00:00
Samuel Pitoiset
0a8a9d9d63
ac: add radeon_info::has_vrs_ds_export_bug
...
According to PAL, only NAVI21 and NAVI22 are affected.
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/19195 >
2022-10-21 06:45:21 +00:00
Samuel Pitoiset
61e54297cd
radv: allocate more space for pipeline statistics query on GFX11
...
There is 14 queries, including new queries for mesh/task shaders.
Ported from RadeonSI.
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/19199 >
2022-10-21 06:09:00 +00:00
Timothy Arceri
0237e5f379
st/glsl_to_ir: remove stale include
...
We now only link via nir so no need to include tgsi headers.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19182 >
2022-10-20 23:27:14 +00:00
Timothy Arceri
4c174700eb
st/glsl_to_ir: remove stale comment
...
The function is now called directly.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19182 >
2022-10-20 23:27:14 +00:00
Yonggang Luo
8897f309ca
ci: Trigger building visual studio docker image
...
Update Dozen fails for new deqp
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19187 >
2022-10-20 22:52:06 +00:00
Jesse Natalie
9edc23f075
ci/windows: Update vk-gl-cts to pick up new zlib dependency
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19187 >
2022-10-20 22:52:06 +00:00
Yonggang Luo
fe78a8910c
ci: Install the clang-cl compiler within mesa_deps_vs2019.ps1
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Ack-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19187 >
2022-10-20 22:52:06 +00:00
Yonggang Luo
9ab525ea1f
ci: Move building libva before clone llvm-project in mesa_deps_build.ps1
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19187 >
2022-10-20 22:52:06 +00:00
Yonggang Luo
a3872ff4f8
ci: Add Get-Date in each package build in mesa_deps_build.ps1
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19187 >
2022-10-20 22:52:06 +00:00
Yonggang Luo
92b4091b99
ci: upgrade zlib to 1.2.13 in mesa_deps_build.ps1
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19187 >
2022-10-20 22:52:06 +00:00
Yonggang Luo
05a31cdce6
meson: upgrade zlib wrap
...
Remove zlib.wrap first.
Then using "meson wrap install zlib" to add it back
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19187 >
2022-10-20 22:52:06 +00:00
Rob Clark
20f33a1cd9
Revert "egl: Factor some common terminate cleanup up to common code"
...
This reverts commit 04826cd9fc .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7497
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19145 >
2022-10-20 22:21:01 +00:00
Simon Fels
210f19b004
venus: drop duplicated YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
...
The extensions is added twice which will cause the encoder to run into a
stack overflow in vn_encode_VkPhysicalDeviceFeatures2_pnext_partial when
supported by the host driver.
Signed-off-by: Simon Fels <simon.fels@canonical.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19208 >
2022-10-20 21:38:44 +00:00
Guilherme Gallo
db2c14887b
ci: Fix kernel+rootfs.* jobs
...
The rootfs generation is failing due to issues with the deqp and crosvm
build stages.
== crosvm ==
This week, crates.io released the bindgen cargo package at version
0.61.0, but this version could not be installed via `cargo install
bindgen ...`, setting the version to the previous one to avoid breaking
the Mesa rootfs builds.
See also related failed job:
https://gitlab.freedesktop.org/gallo/mesa/-/jobs/30046963
== deqp ==
The deqp build is failing due to the missing archive of an old zlib
release version, which was deleted due to a CVE, see zlib 1.2.13 release
notes.
As the deqp uprev to 1.3.4.0, which contains the fix, was not
straightforward, let's only apply the necessary patch to fix zlib
source code download link and then remove this indirection in an
eventual deqp uprev.
Example of a failed kernel+rootfs build job:
https://gitlab.freedesktop.org/gallo/mesa/-/jobs/30045324
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19183 >
2022-10-20 20:52:49 +00:00
Yonggang Luo
71dc65ec20
ci: libxvmc-dev is not a dependence anymore
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19183 >
2022-10-20 20:52:49 +00:00
Sil Vilerino
7ba94036f3
d3d12: Create d3d12_resource objects for video usage keeping their DXGI_..._UNORM formats
...
Do not set D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS nor convert
new d3d12_resource objects to their DXGI typeless formats for video
usage flagged by the video driver with PIPE_BIND_CUSTOM
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19206 >
2022-10-20 20:37:10 +00:00
Timur Kristóf
dd90273aaa
aco: Optimize MUBUF 0 offset when idxen is also being used.
...
Now that we added an index src to the NIR intrinsic, it can
happen that these generate MUBUF instructions which have both
an index and an offset.
Extend this ACO optimization to the case when idxen is used.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17551 >
2022-10-20 20:00:50 +00:00
Timur Kristóf
e52c2f4fca
nir, ac, aco: Add index src to load_buffer_amd/store_buffer_amd.
...
Also modify all existing uses to pass a zero to this new src.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com > (nir)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17551 >
2022-10-20 20:00:50 +00:00
Timur Kristóf
b67aa87810
aco: Cleanup load_vmem_mubuf and store_vmem_mubuf functions.
...
Remove unused arguments, clean up allow_combining vs. swizzled etc.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17551 >
2022-10-20 20:00:50 +00:00
Timur Kristóf
c918f0934e
nir, ac, aco: Add ACCESS intrinsic index to load/store_buffer_amd.
...
Previously, we always treated these as coherent, but now let's make
this configurable. Also set all current users to ACCESS_COHERENT.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com > (nir)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17551 >
2022-10-20 20:00:49 +00:00
Yonggang Luo
a096f46836
st: Remove st_api_type because ST_API_OPENVG is not an option anymore
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19186 >
2022-10-20 19:29:44 +00:00
Rhys Perry
1ae73bc076
nir/algebraic: optimize b<<a + c<<a
...
fossil-db (navi21):
Totals from 248 (0.18% of 135636) affected shaders:
Instrs: 85836 -> 85611 (-0.26%); split: -0.27%, +0.00%
CodeSize: 481304 -> 480332 (-0.20%); split: -0.21%, +0.00%
Latency: 9596559 -> 9596152 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 1423707 -> 1423670 (-0.00%)
SClause: 3872 -> 3874 (+0.05%)
PreSGPRs: 5034 -> 5038 (+0.08%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19137 >
2022-10-20 18:57:23 +00:00
Emma Anholt
26abdef5bc
turnip: Be sure we blit depth, not stencil, for Z32FS8 -> Z32F resolves.
...
Fixes : #7143
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19181 >
2022-10-20 18:20:00 +00:00
Karol Herbst
2285011a3f
rusticl: remove blit code
...
I never ended up using it
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19184 >
2022-10-20 18:05:54 +00:00
Yonggang Luo
d7e2ea803b
glx: Adot #ifdef GLX_USE_WINDOWSGL in #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
...
glx_direct and glx_accel are guard by #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
d160ba93d1
glx: Adopt guard of glx_direct and glx_accel in #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
6ac591028c
glx: Remove redundant #ifndef GLX_USE_APPLEGL in glx/glxext.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
bde5928264
glx: Trim trailing spaces in in glx/glxext.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Yonggang Luo
ffab4c8cb7
glx: Guard usage of infer_zink && !explicit_zink in glxext.c
...
Fixes: 2569215f43 ("egl/glx: add fallback for zink loading")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18749 >
2022-10-20 17:06:10 +00:00
Mike Blumenkrantz
ef9e63820c
zink: start on some type docs
...
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19165 >
2022-10-20 16:46:02 +00:00
Mike Blumenkrantz
c5324e9b2b
zink: delete unused descriptor struct field
...
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19165 >
2022-10-20 16:46:02 +00:00
Mike Blumenkrantz
69013c860b
zink: delete/cleanup some descriptor #defines
...
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19165 >
2022-10-20 16:46:02 +00:00
Mike Blumenkrantz
eef575b91d
zink: add docs for zink_batch.c
...
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19165 >
2022-10-20 16:46:02 +00:00
Samuel Pitoiset
8bf1aa1b76
radv: add lowering for nir_intrinsic_load_ring_attr_{offset}_amd
...
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/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
09033c7b22
nir: add nir_intrinsic_load_ring_attr_{offset}_amd
...
These intrinsics will be used to lower NGG attributes to memory on
GFX11.
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/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
46777e5544
radv: declare shader arguments for attributes via memory
...
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/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
bcf642c23e
radv: create and configure the ring BO for attributes
...
It currently uses a pretty large size but it will be tweaked 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/19173 >
2022-10-20 15:59:44 +00:00
Samuel Pitoiset
f239d745d6
radv: add RADEON_FLAG_DISCARDABLE
...
For big pages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19173 >
2022-10-20 15:59:44 +00:00
Jesse Natalie
93febe1198
dzn: Use ID3D12DeviceConfiguration for root signature serialization
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18306 >
2022-10-20 14:40:49 +00:00
Jesse Natalie
6fc619470d
dzn: Attempt to use the Agility SDK
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18306 >
2022-10-20 14:40:49 +00:00
Jesse Natalie
fd653ee33f
dzn: Use architecture props to return correct device type
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18306 >
2022-10-20 14:40:49 +00:00
Jesse Natalie
74d1c72b35
dzn: Support device factories in addition to global device creation
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18306 >
2022-10-20 14:40:49 +00:00
Jesse Natalie
4696aa484f
dzn: Store the d3d12 module reference on the instance
...
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18306 >
2022-10-20 14:40:49 +00:00
Mike Blumenkrantz
d2eebb670e
zink: set default spec constant value to 1
...
this is less illegal
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19116 >
2022-10-20 14:17:05 +00:00
Mike Blumenkrantz
c305a2c962
zink: move spec constant emission to the types/consts block
...
spec constants are used as constants, so emitting them in the instructions
block can create mismatched ordering of the constant usage with other types
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19116 >
2022-10-20 14:17:05 +00:00
Tapani Pälli
1e51383258
intel/compiler: run nir_opt_idiv_const before nir_lower_idiv
...
Integer div lowering can potentially create a lot of code that is
not removed later on. Running const lowering pass first can be used
to eliminate that code.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19157 >
2022-10-20 15:35:48 +03:00
Samuel Pitoiset
f8bf2a9a15
radv: drop the ES vertex count requirement on GFX11
...
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
bc19ffef27
radv: do not use memory for waiting for cache flushes on GFX11
...
There is a different mechanism with an internal counter.
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
39bdf17d19
radv: use correct VGT_TESS_DISTRIBUTION settings on GFX11
...
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Samuel Pitoiset
2a7e4dc8cb
radv: set SAMPLE_MASK_TRACKER_WATERMARK to 15 on GFX11
...
Ported from RadeonSI.
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/19155 >
2022-10-20 08:55:04 +00:00
Tomeu Vizoso
c23727d554
radeonsi,radv/ci: Increase coverage
...
12 more machines with Stoney Ridge have been added to Collabora's lab.
Use the new ones for testing more of RadeonSI, and repurpose the freed
ones for more RADV coverage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19161 >
2022-10-20 08:03:05 +00:00
Tomeu Vizoso
3df2bfac6c
ci: Run RadeonSI jobs on changes to src/amd/ci
...
Now that RadeonSI jobs are defined in src/amd/ci, make sure that those
jobs are run on changes to that directory.
Fixes: a1d34d8c95 ("ci/amd: move radeonsi in amd directory")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19161 >
2022-10-20 08:03:05 +00:00
Qiang Yu
97e1613b0e
ac/nir/ngg: use nir_load_provoking_vtx_in_prim_amd in ngg lower
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19166 >
2022-10-20 06:53:56 +00:00
Qiang Yu
58e006b174
nir,ac/llvm,radv: add nir_intrinsic_load_provoking_vtx_in_prim_amd
...
For radeonsi which load this from arg.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19166 >
2022-10-20 06:53:56 +00:00
Martin Roukala (né Peres)
c38111f6b4
radv/ci: run two jobs in parallel to reduce the execution time
...
This should bring the overall execution time at around 15 minutes \o/,
but it exposes more issues in the driver:
- [...].linear_interpolation.no_offset_8_samples (#7220 )
- Timeouts on some dedicated_alloc.image.full.1048577.* tests
- Timeout on memory.pipeline_barrier.host_read_host_write
More performance improvements should come later, as the load average
remains in the [12, 16] range when running on my machine on a navi22
gets me a 31 load average and a lower execution time by a couple of
minutes.
References: #7220
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19111 >
2022-10-20 09:33:53 +03:00
Martin Roukala (né Peres)
2459fcd9ff
radv/ci: bump the job count on navi21
...
We got shiny new hosts for our navi21 which sport twice as many cores
as the previous hosts. Let's try to keep them fed!
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19111 >
2022-10-20 09:33:53 +03:00
Vinson Lee
861ec4988d
r600/sfn: Initialize TestInstrFromString member m_instr_factory.
...
Fix defect reported by Coverity Scan.
Uninitialized pointer field (UNINIT_CTOR)
uninit_member: Non-static class member m_instr_factory is not
initialized in this constructor nor in any functions that it calls.
Fixes: e840645bb7 ("r600/sfn:explicitly initialize the memory pool")
Suggested-by: Gert Wollny <gert.wollny@collabora.com >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19098 >
2022-10-20 05:36:25 +00:00
Yonggang Luo
53ab57e888
util: Move the function implementation from u_thread.h to u_thread.c
...
Move the platform dependent functions from u_thread.h to u_thread.c,
so that avoid pull unneeded headers when using u_thread.h, including the big windows.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
0a2506a848
util: Remove include of windows.h in rwlock.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
c30d63a53d
util: Remove include of windows.h in memstream.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
c2a486120b
llvmpipe: #include <windows.h> in lp_rast.c
...
It's accessed GetExitCodeThread
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
797130b449
util: #include <windows.h> in disk_cache_os.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
399dc71a30
c11: Getting the macro guard of HAVE_PTHREAD in c11/threads.h to be consistence with util/u_uthread.h
...
The macro guard of #if defined(_WIN32) && !defined(__CYGWIN__) is comes from yohhoy's implementation
and that's not consistence with util/u_uthread.h, this caused it's hard to understand.
Now we change the behavior that's always rely on how meson detecting HAVE_PTHREAD.
So we always disable detecting of threads on Win32 as it's always included in the kernel32 library to
avoid detecting pthreads in mingw.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
54beddb5d2
util: Remove the guard WIN32_WINNT >= 0x0600 in u_thread.h
...
We already require Windows Vista or later before this commit;
No need check WIN32_WINNT >= 0x0600
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
b6e4aa6f31
meson/mesa/wide: define WIN32_LEAN_AND_MEAN with pre_args
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
2f140c564f
c11: Remove the code for Windows XP
...
We already require Windows Vista or later before this commit;
So the code for Windows XP can be removed.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
ea3dd4179d
util: #include "util/macros.h" in u_cpu_detect.h for ATTRIBUTE_CONST
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Yonggang Luo
2b2b8ac64e
util: #include "c11/threads.h" when necessary in simple_mtx.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18425 >
2022-10-20 03:04:56 +00:00
Luis Felipe Strano Moraes
eb6668ee86
anv: adding parsetab.py to the .gitignore for grl
...
This file is autogenerated by python's ply package and is used during
compilation to cache tables built by it for quicker parsing.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19153 >
2022-10-20 02:24:39 +00:00
Luis Felipe Strano Moraes
eff1517cd7
anv: added proper handling for input argument in intel_clc
...
That was previously listed on the getopt_long struct but not actually
being used. This makes intel_clc argument processing easier as now
all of its arguments are handled with getopt and anything after the
special argument '--' is passed along to clang to form the final build
command.
Thanks to Dylan Baker for help with changes to the meson file.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19153 >
2022-10-20 02:24:39 +00:00
Luis Felipe Strano Moraes
8de02ff980
anv: fixing typo on description of output flag for intel_clc
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19153 >
2022-10-20 02:24:39 +00:00
Luis Felipe Strano Moraes
056d72c897
anv: add missing separator to help for intel_clc
...
intel_clc relies on the special argument '--' for getopt to be given so
it knows when to start expecting purely input files or clang arguments.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19153 >
2022-10-20 02:24:39 +00:00
Luis Felipe Strano Moraes
8e1f03ada0
anv: reword info flag in intel_clc's getopt to avoid clash
...
The info keyword was using the same short description that
was listed for input files on the struct for long_options.
Rewording it to 'v' and 'verbose' to be more in line with
expectations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19153 >
2022-10-20 02:24:39 +00:00
Yonggang Luo
2b3529d3d8
mesa: Use util_call_once_data instead of mtx_t init_once_lock
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
86290c81b2
egl/dri2: Use util_call_once_data to replace usage of mtx_t glFlushMutex
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
56a34d1568
egl/wgl: Use util_call_once_data to replace usage of mtx_t glFlushMutex
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
81ef38f484
gallium/auxiliary: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
ccf6dfedbc
mapi: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in stub.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
1411d79e24
mapi: Use util_call_once to init exec_mem and mutex instead _MTX_INITIALIZER_NP
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
cf36399459
util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_M in u_debug_refcnt.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
8f9e336aed
util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_memory.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
44901ebd97
util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_stack_android.cpp
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
a26d5b4b69
util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_symbol.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
404808afc8
util: Call function mtx_init on exit_mutex to replace the usage of _MTX_INITIALIZER_NP in u_queue.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
35c7f2e809
util: Remove the need of _MTX_INITIALIZER_NP by using simple_mtx_t/SIMPLE_MTX_INITIALIZER in u_debug_stack.c
...
This removed the thread-unsafe function initialize_backtrace_mutex.
And remove the _MTX_INITIALIZER_NP that's doesn't belong to c11
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Yonggang Luo
574b4c547f
meson: add dep_valgrind dependency for 'dxil_compiler'
...
The error when include simple_mtx.h in glsl_types.h:
../src/microsoft/compiler/dxil_function.c
In file included from ../src/compiler/glsl_types.h:37,
from ../src/compiler/nir_types.h:36,
from ../src/compiler/nir/nir.h:44,
from ../src/microsoft/compiler/dxil_signature.h:28,
from ../src/microsoft/compiler/dxil_module.h:37,
from ../src/microsoft/compiler/dxil_function.h:48,
from ../src/microsoft/compiler/dxil_function.c:24:
../src/util/simple_mtx.h:37:12: fatal error: valgrind.h: No such file or directory
37 | # include <valgrind.h>
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19154 >
2022-10-20 01:32:47 +00:00
Jesse Natalie
0fad769c13
d3d12: Release sharing contract in flush_frontbuffer
...
Just a leak I happened to notice.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18305 >
2022-10-20 00:30:21 +00:00
Jesse Natalie
035db6f011
d3d12: Use ID3D12DeviceConfiguration for root signature serialization
...
If we were able to create a device factory from a DLL-local D3D12Core,
we want to use that one to do root signature serialization, instead of
going to the globally-configured D3D12Core.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18305 >
2022-10-20 00:30:21 +00:00
Jesse Natalie
6a1268cc4f
d3d12: Attempt to use the Agility SDK
...
The ideal would be to use a D3D12Core.dll next to the GL DLL, via
ID3D12SDKConfiguration1, but this requires a new D3D12.dll to be
present on the machine, which only very new OSes will currently have.
For older OSes, we can at least try to use ID3D12SDKConfiguration to
set a global Agility SDK override, but that only works in developer
mode and requires the DLL to be at a relative path from the app EXE,
so only try that if we have environment variables telling us to do so.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18305 >
2022-10-20 00:30:21 +00:00
Jesse Natalie
d21f0cb5b9
d3d12: Support device factories in addition to global device creation
...
As explained in a comment, a device factory allows modification of state
like debug layer enablement without touching global state / triggering
device removal on a singleton device, and can even create devices that are
not singletons if the driver supports that.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18305 >
2022-10-20 00:30:21 +00:00
Jesse Natalie
cb9a58c103
d3d12: Store the d3d12 module reference on the screen
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18305 >
2022-10-20 00:30:21 +00:00
Jesse Natalie
ff102db76c
d3d12: Move some things from screen late-init to early-init
...
The GLSL singleton ref was too late, and we could end up with an un-paired
dec-ref if screen init failed. Also the transfer slab init was in the wrong
init function, so we'd re-init that struct if the screen was re-initialized.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18305 >
2022-10-20 00:30:21 +00:00
Jesse Natalie
1868391732
deps: Update DirectX-Headers req to 1.606.4
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18305 >
2022-10-20 00:30:21 +00:00
Iván Briano
91085bf337
anv: enable rayTraversalPrimitiveCulling feature
...
It is mandatory if VK_KHR_ray_query is supported.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19152 >
2022-10-20 00:03:55 +00:00
Iván Briano
d9747169b6
anv: support VK_PIPELINE_CREATE_RAY_TRACING_SKIP_*
...
VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR and
VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, when specified,
make TraceRay behave as if the corresponding shader flags were set, but
without affecting the value of IncomingRayFlags in shaders.
v2 (Lionel): Improve comments
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19152 >
2022-10-20 00:03:55 +00:00
Samuel Pitoiset
3aa41349a7
ac/llvm: add missing nir_intrinsic_bindless_image_atomic_{fmin,fmax}
...
Fix various atomic operations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19134 >
2022-10-19 23:42:26 +00:00
LingMan
ada1076f98
rusticl/api: Interpret lengths as a slice of Option<NonZeroUsize>
...
So far `lengths` as been interpreted as a slice of usize. However, 0 is specified as a sentinel
value signalling that the corresponding string is nul terminated. Since checking for sentinel
values is frequently forgotten, Option types should be preferred if possible.
Option<NonZeroUsize> is layout compatible with usize. The None variant is then represented as 0,
which is exaclty what we need here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18978 >
2022-10-19 23:32:50 +00:00
LingMan
5c16065169
rusticl/api: Don't check the program source for nul bytes needlessly
...
At this point we already know that the Vec we've constructed cannot contain a nul byte. Avoid the
needless scan.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18978 >
2022-10-19 23:32:50 +00:00
LingMan
0d31bc5ac3
rusticl/api: Shrink unsafe block
...
There's only two unsafe operations left here, so shrink the unsafe block to make them obvious.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18978 >
2022-10-19 23:32:50 +00:00
LingMan
677c871a0a
rusticl/api: Factor pushing to the Vec out of the if
...
Both branches do the same here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18978 >
2022-10-19 23:32:50 +00:00
LingMan
d64b9ea483
rusticl/api: Fix creating a program if a nul byte is within the specified string length
...
The code assumed that if the length of a string was specified and greater than zero, the string
would not contain a nul byte.
Legal or not, there are apparently applications which violate that assumption. Since the spec
doesn't say anything about this case, take the likely most compatible route and treat a nul byte as
terminating the string early.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7408
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18978 >
2022-10-19 23:32:50 +00:00
LingMan
9de42613bf
rusticl/api: Drop UTF-8 conversion of input source
...
The spec doesn't define any charset for the source code. While the vast majority of inputs are
likely to be ASCII (which a subset of UTF-8), it is better not to make assumptions.
As a nice side effect this should be a minor speedup.
`CString`s can't currently be pushed to, so use a `Vec` as intermediate.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18978 >
2022-10-19 23:32:50 +00:00
LingMan
4de48a5dd5
rusticl/api: Use iterators in create_program_with_source
...
This replaces several instances of unsafe pointer arithmetic and dereferencing with a single unsafe
creation of a slice, which we then use normal iterators on.
The spec mandates that a null pointer is to be interpreted as if a slice filled with zeros had been
given. That case is represented by an infinite iterator returning only zero.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18978 >
2022-10-19 23:32:50 +00:00
Pavel Ondračka
1e9e561811
r300: fix generation of invalid swizzles in regalloc
...
rc_adjust_channels is inteded for moving the swizzles to a new channels
when rewriting the writemask of an instruction. However for readers one
needs to keep the swizzles in the old channels but rather convert to the
new values, so use the proper helper rc_rewrite_swizzle.
With the new swizzle fixed, we should properly detect that it would be
invalid and thus we can select the proper register class to prevent the
writemask rewrite in the regalloc.
Documentation was added to rc_adjust_channels to make it more clear what
it actually does.
Fixes a bunch of dEQP tests.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7521
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19158 >
2022-10-19 22:49:23 +00:00
Pedro J. Estébanez
842a0c6ef1
nir2dxil: Use native helper lane intrinsic on SM >= 6.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19170 >
2022-10-19 22:25:51 +00:00
Bas Nieuwenhuizen
1252d63cc2
aco: Pre-split result of bvh64_intersect_ray_amd.
...
Avoids later moves with extractions from the vector.
Reduces VALU operation in the raytrace loop by ~6%, increasing
the RT performance in Q2RTX on a 6800 XT by about ~1.3%.
Suggested by Georg.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19148 >
2022-10-19 21:44:48 +00:00
Dylan Baker
c6aca79f63
util/indicies: convert u_unfilled_gen.py to write a file
...
Which avoids meson needing to wrap the generator to capture the output,
and makes it faster
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19058 >
2022-10-19 20:21:08 +00:00
Dylan Baker
090e71e0bf
util/indicies: use itertools.product in u_unfilled_gen.py
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19058 >
2022-10-19 20:21:08 +00:00
Dylan Baker
a72d8425ea
util/indicies: simplify some of u_indicies_gen.py
...
v2:
- Give variable more descriptive name to avoid shadowing
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
and avoid shadowing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19058 >
2022-10-19 20:21:08 +00:00
Dylan Baker
1e523f2339
util/indicies: write a file with u_indicies_gen.py
...
This avoids meson creating a wrapper to redirect stdout, and makes the
generator faster
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19058 >
2022-10-19 20:21:08 +00:00
Dylan Baker
addd4d71fa
util/indicies: use itertools.product instead of deeply nested loops
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19058 >
2022-10-19 20:21:08 +00:00
Dylan Baker
55042a1fb9
util/indicies: move common static functions to private header
...
less duplication is good
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19058 >
2022-10-19 20:21:08 +00:00
Dylan Baker
5819d259cf
docs: Extend calendar entries for 22.2 by 2 releases.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19172 >
2022-10-19 20:16:00 +00:00
Dylan Baker
51236cb178
docs: update calendar and link releases notes for 22.2.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19172 >
2022-10-19 20:16:00 +00:00
Dylan Baker
7887f76997
docs: Add sha256 sum for 22.2.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19172 >
2022-10-19 20:16:00 +00:00
Dylan Baker
4ad1a81cd8
docs: add release notes for 22.2.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19172 >
2022-10-19 20:16:00 +00:00
Ruijing Dong
f939b31157
frontends/va: fixed an av1 decoding image corruption issue.
...
problem:
When playing back some clips with loop restoration parameters
enabled, the display image could be corrupted.
solution:
correct loop restoration unit size logic in vaapi interface.
CC: 22.2 <mesa-stable>
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19146 >
2022-10-19 20:03:23 +00:00
Mike Blumenkrantz
5b49f8b025
zink: add ci flake
...
fixes #7442
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19160 >
2022-10-19 19:43:04 +00:00
Mark Collins
029d4cbf42
tu: Clean up variable usage in tu6_draw_common
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19107 >
2022-10-19 19:00:42 +00:00
Mark Collins
9248ce2978
tu: Only write A6XX_PC_PRIMITIVE_CNTL_0 if changed
...
Increases the score in the `draw` test in `vkoverhead` to 71809
from 67170 on a HDK 888.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19107 >
2022-10-19 19:00:42 +00:00
Alyssa Rosenzweig
3de9c42908
gallium: Default to PIPE_CAP_MIXED_COLORBUFFER_FORMATS
...
There are three tiers of drivers:
* Drivers that support MRT and support mixed colorbuffer formats. All modern
hardware fits this as it becomes a spec requirement.
* Drivers that do not support MRT. Then this CAP is a no-op, so we might as well
set it by default even here (this commit trivially enables the CAP for lima,
vc4, etanviv).
* Drivers that support MRT but do not support mixed colorbuffer formats! Very
little hardware fits this category as it doesn't suffice for MRT in most APIs.
Unfortunately we have a few drivers that are in this category, preventing us
from bulldozing the CAP altogether.
Given that the CAP only exists for a few legacy drivers, default it to being
enabled to avoid new drivers falling into the trap of forgetting to enable it.
Failing to set this CAP causes failures in
dEQP-GLES3.functional.fbo.completeness.*
Drivers which still do not set this CAP: nv30, r300 (older than r500), virgl in
some cases. r300/r400 is due to a hardware requirement as Emma points out.
v2: Advertise the cap on lima like the commit message claims (delete the special
case).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19079 >
2022-10-19 18:06:51 +00:00
Vinson Lee
8939d477ac
zink: Remove duplicate variable zm.
...
Fix defect reported by Coverity Scan.
Evaluation order violation (EVALUATION_ORDER)
write_write_typo: In
zm = zm = create_shader_module_for_stage_optimal(ctx, screen, prog->shaders[i], prog, i, state),
zm is written twice with the same value.
Fixes: 325c703624 ("zink: add 'optimal_keys' handling for shader keys")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19086 >
2022-10-19 17:44:09 +00:00
Karmjit Mahil
3873ef47f7
pvr: Remove outdated comments.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19110 >
2022-10-19 16:07:26 +00:00
Karmjit Mahil
849c2e14ab
pvr: Handle pipeline barrier vk_sync.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19110 >
2022-10-19 16:07:26 +00:00
Karmjit Mahil
d19835e43c
pvr: Fix overflow before widen warning for rgn headers size calculation.
...
This fixes CID 1515968.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19136 >
2022-10-19 15:24:53 +00:00
Karmjit Mahil
6a35563de0
pvr: Fix possible seg fault on csb copy.
...
When copying the secondary command buffer's deferred control stream
to the main stream we have to first allocate space in the main
stream. In case the allocation failed we were attempting to
memcpy() to a NULL destination causing a NULL dereference.
This fixes CID 1515977.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19136 >
2022-10-19 15:24:53 +00:00
Rob Clark
f9eb0c13a0
freedreno/a6xx: Drop max_scissor tracking
...
We don't actually really use this on a6xx, since SQE can early-exit IB2
when there are no more remaining primitives in the bin.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
2ad637f52a
freedreno/a6xx: Update caps
...
We should be doing all the 64b lowering.. I think that should be enough
to get us at least glsl400.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
dc70a940d4
freedreno/a6xx: Fix primitives-generated query
...
RBBM_PRIMCTR_7 is pre-clipped, whereas RBBM_PRIMCTR_8 is after clipping.
I believe we want pre-clipping, and this is what tu does.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
f26631c6de
freedreno/a6xx: Fix MAX_GEOMETRY_OUTPUT_VERTICES cap
...
Limited by the size of PC_PRIMITIVE_CNTL_5.GS_VERTICES_OUT
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
b96e8050d6
freedreno/ir3: Lower all the 64b
...
Just need to enable some existing lowering.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
1b38d233fc
freedreno/ir3: Fix clipvertex with GS+tess
...
If we have both GS and tess, GS is the stage we should run lower_clip_vs
on.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
0f6f671824
freedreno/a6xx: Remove unused param
...
Minor cleanup, make it more clear that we aren't actually emitting in
IB2.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
533b87dff0
mesa/st: ARB_vertex_attrib_64bit depend on glsl>=410
...
It is possible to expose ARB_gpu_shader_fp64 without supporting
ARB_vertex_attrib_64bit. The supported GLSL version should tell
us if 64b vertex attribs are also supported or not.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Rob Clark
1aeca308a2
docs: Update freedreno features
...
Another manual re-sync with reality.
There are a few extension, notably GL_ARB_texture_compression_bptc,
which are exposed but mesamatrix doesn't show as supported. I can't
really figure out why.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19100 >
2022-10-19 12:23:40 +00:00
Marek Olšák
8dba83bb8d
driconf: add a workaround for Cossacks 3
...
Wine issue: https://bugs.winehq.org/show_bug.cgi?id=44560
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19147 >
2022-10-19 11:52:46 +00:00
Marek Olšák
53e7f3afbd
driconf: add a workaround for a cursor issue with kwin_wayland
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7351
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19147 >
2022-10-19 11:52:46 +00:00
Erik Faye-Lund
c849c41b0d
docs: correct spelling of "freedreno"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
264080057a
docs: correct spelling of "traveling"
...
While "travelling" isn't incorrect, we generally prefer US english in the
docs, where "traveling" is the common form.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
ead77aeb82
docs: correct spelling of "correctly"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
de9449c17a
docs: ie. -> i.e.
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
51481b8f4c
docs: fractionary -> fractional
...
While "fractionary" isn't incorrect language, it's much less common than
the more modern "fractional" term.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
f3475859fa
docs: correct spelling of "rasterizer"
...
We use rasterizer all over the docs, so let's be consistent.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
c20f4484d3
docs: correct spelling of "explicitly"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
60e8c443b1
docs: correct spelling of "addition"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
b469d9746f
docs: correct spelling of "average"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
f8d047c08b
docs: correct spelling of "laid"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
9d55200e72
docs: correct spelling of "compression"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
5590fbd530
docs: correct spelling of "commutativity"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
57db29e967
docs: correct spelling of "hierarchy"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
fa210550b0
docs: correct spelling of "maximum"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
fcd93216c6
docs: correct spelling of "synced"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
8d28667046
docs: correct spelling of "simplification"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
65ad0824c9
docs: correct spelling of "shareable"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
12b52b3f95
docs: correct spelling of "Raspbian"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
a8343b2fc8
docs: correct spelling of "subtly"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
0a24308384
docs: correct spelling of "choosing"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
9ceb8ac1a8
docs: correct spelling of "Khronos"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
20e4ee0c77
docs: correct spelling of "to"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
fbeabe5c67
docs: correct spelling of "implementation"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
e2ee7e03da
docs: correct spelling of "hierarchical"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
34e3dead97
docs: correct spelling of "specified"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
c8dc8c96ae
docs: correct spelling of "bug fixes"
...
This isn't a compound word in English, and we tend to write it as two
worlds.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
9037d2a508
docs: correct spelling of "attempts"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Erik Faye-Lund
809be97407
docs: correct spelling of "implemented"
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19139 >
2022-10-19 11:18:50 +00:00
Yonggang Luo
13e7f0c8d2
docs: Remove document about XvMC
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19133 >
2022-10-19 11:08:03 +00:00
Yonggang Luo
86f203f60e
nouveau: Remove XVMC_VL environment variable usage
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19133 >
2022-10-19 11:08:03 +00:00
Yonggang Luo
6570136e15
docs: Remove rbug related documents
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19138 >
2022-10-19 10:56:00 +00:00
Yonggang Luo
bdfadec6fd
docs: Remove graw related words
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19138 >
2022-10-19 10:56:00 +00:00
Jesse Natalie
65e4b440c9
ci/windows: Update build container image with all deps so wraps can be disabled
...
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18287 >
2022-10-19 07:02:14 +00:00
Karol Herbst
2cadc066da
radeonsi: lower hadd and fisnormal
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151 >
2022-10-19 06:27:20 +00:00
Karol Herbst
d7156e5d9c
nir/lower_cl_images: set binding
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151 >
2022-10-19 06:27:20 +00:00
Karol Herbst
d037fd539c
radeonsi: fail creating textures from user memory
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19151 >
2022-10-19 06:27:20 +00:00
Mike Blumenkrantz
b9e08f2fe1
zink: clamp shader bindings for compute descriptors
...
this uses massively less memory for some drivers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140 >
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz
e220c39510
zink: reorder context init to handle COMPUTE_ONLY
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140 >
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz
a05a0f5b44
zink: delete some big struct members from zink_context
...
these were only used by descriptor caching, so now they just take up memory
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140 >
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz
b6f6224810
zink: clamp feedback loop layout to GENERAL if the ext isn't supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19140 >
2022-10-19 06:03:40 +00:00
Mike Blumenkrantz
bf3edad94c
zink: enable tc cpu storage on some buffers
...
matching freedreno usage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19142 >
2022-10-19 05:43:40 +00:00
Marek Olšák
211c2aebd2
cso: make memcmp and hash computation use a literal key size for blend state
...
This results in faster lookups because memcmp and the hash computation
can be unrolled.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129 >
2022-10-19 04:56:55 +00:00
Marek Olšák
f7b513c9b1
cso: inline more functions because some parameters like key_size are literals
...
One function is moved to the header file, the other two functions are inlined
manually.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129 >
2022-10-19 04:56:55 +00:00
Marek Olšák
2f0cd4029c
cso: don't destroy CSOs that are saved
...
I think this can't happen in practice, but better safe than sorry.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129 >
2022-10-19 04:56:55 +00:00
Marek Olšák
94240f561c
cso: fix broken optimization for sampler state lookups
...
Since the key size wasn't a constant expression, all the function inlining
didn't do much. This makes it a constant expression.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Fixes: c4e18cd4dd - mesa/st: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_FREEDRENO
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129 >
2022-10-19 04:56:55 +00:00
Marek Olšák
224735abaf
cso: constify some parameters to remove typecasts
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129 >
2022-10-19 04:56:55 +00:00
Marek Olšák
97ec1de8f3
cso: start without u_vbuf by default if it's not always used
...
no functional change, but it's convenient for future work
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19129 >
2022-10-19 04:56:55 +00:00
Marek Olšák
8e024e2870
glthread: don't sync for glIsEnabled(GL_BLEND, GL_LIGHTING, GL_POLYGON_STIPPLE)
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:06 +00:00
Marek Olšák
513ac52e47
glthread remove the unused *last pointer from unmarshal functions
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
6e6245f189
glthread: merge and collapse glBindBuffer calls that unbind and then bind
...
This is a small optimization for viewperf. See the comment in the code.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
9b6e2783eb
gl_marshal.py: C style fixups
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
5db7dc599a
gallium/u_threaded: don't call simplify_draw_info redundantly
...
It's always called for the first and second draw in a row, and if they
can't be merged, the second draw becomes the first draw in the next call,
and simplify_draw_info is called again on that. Thus, it's called twice
on any draw that isn't merged. To prevent that, call it when we add
the draws.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
3cb96b18f6
glthread: rewrite CallList merging and do it in the app thread
...
This looks simpler and hopefully faster, but it may just move the overhead
to the app thread.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
6f8cbbfce2
glthread: demystify Draw function names
...
Since we had the freedom to write our own marshal and unmarshal Draw
functions, we turned it into a mess by doing whatever we want in those
functions. For example, DrawElementsInstancedBaseVertex actually
implemented DrawArraysInstancedBaseInstanceBaseInstance.
Add 4 internal GL functions that pass user buffers through marshal
/unmarshal functions, and clean up the other names to match their
behavior.
The new functions don't need any parameters in their definitions because
we don't call them directly.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
5679ef99b8
glapi: remove EXT and ARB suffixes from Draw functions
...
This swaps the function names with aliased names that don't have those
suffixes.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
58f738bf5e
glthread: add more DrawArrays/Elements variants with fewer fields
...
The idea is to save 8 bytes per call by removing 2 fields that are not
specified by the user such as instance_count=1, basevertex=0, and
baseinstance=0.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
83ce647c15
glthread: use a constant expression instead of cmd_size in custom functions
...
cmd_size is constant in these cases
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
b09a88fb72
gl_marshal.py: simplify print_sync_call and rename to print_call
...
no spaces around = is a python convention for implicit arguments only
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
05dddaeb80
gl_marshal.py: inline functions for readability
...
All functions have only one use. Jumping constantly between functions
in the file is confusing.
No spaces around = is a python convention for implicit arguments only.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
146836f4ba
gl_marshal.py: remove the -O1 hack and manual SET_* inlining
...
The compile times aren't so bad anymore now that the initialization is
split among all 8 files.
Also add one assertion.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
67c7260571
gl_marshal.py: rework how the marshal dispatch table is initialized
...
Instead of setting all function pointers in marshal_generated0.c,
set the function pointers in the file that contains the functions,
and remove all the forward declarations of marshal functions
in marshal_generated.h.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
5e66e26998
gl_marshal.py: move the unmarshal table into a separately generated file
...
It's unrelated to the rest of the script and it's in the way of bigger
changes.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Marek Olšák
5c65a3a98f
gl_marshal.py: remove/simplify parameters
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18199 >
2022-10-19 04:23:05 +00:00
Timothy Arceri
b4b2fd0bb4
glsl: move lower instructions logic inside that pass
...
There is now only a single called of this pass so tidy things up
and move all this logic inside the pass.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112 >
2022-10-19 03:52:21 +00:00
Timothy Arceri
e5102a406f
glsl: always do {CARRY,BORROW}_TO_ARITH lowering
...
The only caller always sets these so here we just remove the
option to disable it.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112 >
2022-10-19 03:52:21 +00:00
Timothy Arceri
9f14c5dae2
glsl: drop sub to add neg lowering in GLSL IR
...
NIR opt algebraic does this for us so no need to have it
implemented here also.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112 >
2022-10-19 03:52:21 +00:00
Timothy Arceri
a31c547206
glsl: move rule inside lower_packing_builtins()
...
We only have a single user of this pass so lets tidy things up and
move all the rules in the pass itself.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19112 >
2022-10-19 03:52:20 +00:00
Mark Janes
141703f906
anv: work around improper buffer usage in hitman3
...
Avoid memory errors by returning an error immediately instead of
attempting to allocate the buffer view with an unsupported format.
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6998
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17972 >
2022-10-19 03:24:36 +00:00
Lionel Landwerlin
a31e8a7568
anv: add a layer for hitman3
...
This title is trying to create a buffer view with usage not supported by Anv.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17972 >
2022-10-19 03:24:36 +00:00
Mark Janes
74d0be27ae
anv: compile anv_acceleration_structure.c
...
This file was unintentionally excluded from meson build support.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17972 >
2022-10-19 03:24:36 +00:00
Rhys Perry
36703a60bf
aco: add ACO_DEBUG=force-waitdeps
...
GFX11 has a lot of complicated data dependency hazards.
For debugging GFX10+ data dependency hazards. This creates an excessive
amount of s_waitcnt_depctr.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
6f368431fd
aco/gfx11: workaround VALUMaskWriteHazard
...
fossil-db (gfx1100):
Totals from 62812 (46.52% of 135032) affected shaders:
Instrs: 43971580 -> 44069887 (+0.22%)
CodeSize: 233473420 -> 233866648 (+0.17%)
Latency: 463487489 -> 463520688 (+0.01%); split: -0.00%, +0.01%
InvThroughput: 86505748 -> 86509679 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
5806f0246f
aco/gfx11: workaround VALUPartialForwardingHazard
...
fossil-db (gfx1100):
Totals from 18121 (13.42% of 135032) affected shaders:
Instrs: 28272367 -> 28323468 (+0.18%)
CodeSize: 152581916 -> 152786320 (+0.13%)
Latency: 366477785 -> 366482318 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 74475188 -> 74475758 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
b0b48b7687
aco/gfx11: workaround VALUTransUseHazard
...
fossil-db (gfx1100):
Totals from 116990 (86.64% of 135032) affected shaders:
Instrs: 67942325 -> 69493991 (+2.28%)
CodeSize: 366448984 -> 372655648 (+1.69%)
Latency: 673236871 -> 673269808 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 128266905 -> 128270175 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
98ee3e1468
aco/gfx11: workaround LdsDirectVMEMHazard
...
fossil-db (gfx1100):
Totals from 27217 (20.16% of 135032) affected shaders:
Instrs: 18010853 -> 18047277 (+0.20%)
CodeSize: 99369568 -> 99515264 (+0.15%)
Latency: 207454040 -> 207464932 (+0.01%); split: -0.00%, +0.01%
InvThroughput: 39810158 -> 39810628 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
296b4d95a3
aco/gfx11: workaround LdsDirectVALUHazard
...
fossil-db (gfx1100):
Totals from 57858 (42.85% of 135032) affected shaders:
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
1a9840b341
aco/gfx11: workaround VcmpxPermlaneHazard
...
Same as GFX10, but in a separate pass because it's the only hazard that's
shared.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Rhys Perry
484df5b30e
aco: add search_backwards helper
...
This will be useful for VALUPartialForwardingHazard.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18273 >
2022-10-19 02:46:03 +00:00
Pedro J. Estébanez
6558a9e1fb
nir2dxil: Lower texture projections
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19115 >
2022-10-19 02:30:16 +00:00
Erik Faye-Lund
95fe418def
mesa/st: remove translate_mode
...
This no longer does anything useful, so let's just drop it.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19034 >
2022-10-19 01:33:23 +00:00
Erik Faye-Lund
a125f2d8c7
mesa/st: move static asserts out of translate_prim
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19034 >
2022-10-19 01:33:23 +00:00
Sil Vilerino
2d504bc5a0
CI: Add gallium-va and video-codecs in windows-vs2019 and debian-mingw32-x86_64
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063 >
2022-10-19 00:45:48 +00:00
Sil Vilerino
e08df85923
d3d12: resource_from_handle to validate importing resource ptr from same d3d12 device
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063 >
2022-10-19 00:45:48 +00:00
Sil Vilerino
b557ceb75b
frontends/va: Add windows VA frontend support via vl_winsys_win32 and libva-win32
...
Acked-by: Emil Velikov <emil.l.velikov@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063 >
2022-10-19 00:45:48 +00:00
Sil Vilerino
05f0d27601
gallium/vl: Add vl_winsys_win32 support
...
Acked-by: Emil Velikov <emil.l.velikov@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19063 >
2022-10-19 00:45:48 +00:00
Iván Briano
cde0778d3d
hasvk: use DX rules for point rasterization
...
It seems that's what the reference renderer in the CTS expects for
Vulkan. This mostly matters if the edges of a point primitive fall
exactly on a pixel sampling point.
Fixes some upcoming tests under
dEQP-VK.pipeline.monolithic.depth.format.*.point_list*
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19026 >
2022-10-19 00:20:48 +00:00
Iván Briano
63b2f735b1
anv: use DX rules for point rasterization
...
It seems that's what the reference renderer in the CTS expects for
Vulkan. This mostly matters if the edges of a point primitive fall
exactly on a pixel sampling point.
Fixes some upcoming tests under
dEQP-VK.pipeline.monolithic.depth.format.*.point_list*
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19026 >
2022-10-19 00:20:48 +00:00
Iván Briano
d042669747
anv: compile_upload_rt_shader expects a valid pointer
...
Fixes crashes on almost every CTS test that uses raytracing pipelines.
Fixes: ff91c5ca42 ("anv: add analysis for push descriptor uses and store it in shader cache")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19130 >
2022-10-18 23:55:48 +00:00
Yonggang Luo
095dfc6caa
util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c
...
Doing this is to avoid include bloat on Windows that pulls windows.h,
for other unix platforms, it's also benefit include the used symbols only when use
futex_wake and futex_wait.
No functional change, there is no performance incur because function call is consume
much less time than syscall
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19120 >
2022-10-18 23:20:25 +00:00
Rob Clark
de34c2c29b
freedreno: Fix fence unref race
...
Destroying a fence that was never flushed could race with the submit
queue, which could cause either an fd leak or closing an fd that the
retire queue would want to use.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19080 >
2022-10-18 23:02:13 +00:00
Marek Olšák
a9341eb9da
radeonsi: fix max_dw computation for CS preambles
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19131 >
2022-10-18 22:42:28 +00:00
Marek Olšák
c62170fe57
winsys/amdgpu: fix (enable) preemption for chained IBs
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19131 >
2022-10-18 22:42:28 +00:00
Marek Olšák
4c4d698208
radeonsi: rename si_create_multi_fence -> si_alloc_fence
...
We no longer have any multi fences (gfx+sdma fence).
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19131 >
2022-10-18 22:42:28 +00:00
Eric Engestrom
2fd087cd19
v3dv: drop error overwrite
...
Let the error returned be bubbled up.
Fixes: dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic
Fixes: 591103d04d ("v3dv: don't return incompatible driver if GPU is not present")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18901 >
2022-10-18 22:22:58 +00:00
Alyssa Rosenzweig
3ea393e023
asahi: Lower point sprites in driver
...
mesa/st can't save us now!
Fixes: 310959d9fe ("mesa/st: rip out point-sprite cap")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18651 >
2022-10-18 21:49:24 +00:00
Alyssa Rosenzweig
87bc306605
u_transfer_helper: Handle Z24S8 with z24_in_z32f but no interleaving
...
First, the separate Z/S condition kicks in, splitting up Z24S8 into
Z24X8 + S8. But then the driver is asked to create a Z24X8 resource,
which it may not be able to do. We need to further lower at create
time to Z32F + S8, so the driver is only asked to create supported
formats. We can do this with an extra condition at create time.
The alternate approach would be recursing into
transfer_helper_resource_create, but this seemed more obvious.
Fixes assertion failure running neverball on Asahi.
Assertion failed: (templ->format != PIPE_FORMAT_Z24X8_UNORM &&
templ->format != PIPE_FORMAT_Z24_UNORM_S8_UINT &&
"u_transfer_helper should have lowered"), function
agx_resource_create, file agx_pipe.c, line 174.
Fixes: 45a37ace28 ("u_transfer_helper: Handle Z24X8 for drivers that don't use the interleaved transfer_map")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18651 >
2022-10-18 21:49:24 +00:00
Alyssa Rosenzweig
78adf44839
nir/lower_io: Set interpolated_input dest_type
...
...even for non-pixel interpolation, for consistency. Otherwise backends get
funny intrinsics with interpolateAt:
vec4 32 ssa_4 = intrinsic load_interpolated_input (ssa_3, ssa_2) (base=1, component=0, dest_type=invalid /*0*/, io location=33 slots=1 /*161*/)
We know it'll be a float, but backends shouldn't need to special case this. (Or
maybe interpolated_input shouldn't have a dest_type index. I'd be ok with that
resolution too. But having one and not setting it consistently is wrong.)
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19085 >
2022-10-18 21:08:54 +00:00
Alyssa Rosenzweig
0191b06756
mesa: Fix multiple matrix pops in a row
...
When we pop a matrix, we update stack->Top, which means that stack->Top has
changed since last push. We cannot skip subsequent pops or we'll get an
incorrect matrix.
Fixes Neverball rendering. When collecting a coin in game, the
point-sprite stars popping out of the coin are in the wrong places
due to an incorrect transformation matrix.
Close : #7502
Fixes: e6ecd22140 ("mesa: make glPopMatrix a no-op if the matrix hasn't changed")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19090 >
2022-10-18 20:45:47 +00:00
Mark Collins
09ae2c4fee
tu: Optimize hash_renderpass_instance by removing XXH64_update
...
It was determined through testing that `XXH64_update` is
significantly slower than calling `XXH64` directly as far as small
data velocity is concerned. This function is called on every RP end
which made it visible while profiling but substantial difference
(measured to be ~4x) made it not show up whatsoever.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18428 >
2022-10-18 16:28:29 +00:00
Tapani Pälli
b02e9ef35a
anv: fill AlphaToCoverageEnable lazily from state
...
Now the first blend state is filled only when emitted.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19105 >
2022-10-18 10:44:57 +03:00
Tapani Pälli
9f75355643
anv: move emit_shading_rate to gfx8_cmd_buffer
...
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19105 >
2022-10-18 10:44:38 +03:00
Yonggang Luo
83ebd637d5
d3d10ump: No need define snprintf anymore in InputAssembly.cpp
...
As minimal visual studio version are 2019
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18685 >
2022-10-18 03:16:00 +00:00
Yonggang Luo
a9da108c6b
nir: No need redefine snprintf anymore in nir.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18685 >
2022-10-18 03:16:00 +00:00
Yonggang Luo
1ee21139e8
gallium: delete graw
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7017
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19099 >
2022-10-18 01:57:27 +00:00
Timothy Arceri
ac7f4e0942
glsl/glsl_to_nir: remove unreachable code
...
This hack in glsl_to_nir() to clean up after the glsl ir linker should
no longer be reachable. These type of linking opts are now done via
a nir based linker long after GLSL IR has been coverted to nir by
this pass.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19104 >
2022-10-18 00:05:29 +00:00
Sergei Chernyadyev
c7e9268658
radv: fix setting results for initialization failures in thread trace and trap handler
...
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19083 >
2022-10-17 22:59:15 +00:00
nyanmisaka
0e782d9609
radeonsi: Inherit the old modifier when reallocating the texture.
...
Otherwise the reallocated texture has an invalid modifier when exporting
the VAAPI surface handle.
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19097 >
2022-10-17 21:50:37 +00:00
Luis Felipe Strano Moraes
5bc52a9103
anv: fix FTBFS on grl due to changes in clang 15
...
This was causing build failures when RT is enabled on recent Fedora releases.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7404
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19094 >
2022-10-17 21:27:19 +00:00
Alyssa Rosenzweig
2c7be4d421
nir: Usher nir_normalize_cubemap_coords into 2022
...
I stumbled upon this old NIR pass (still in use by intel and broadcom)
and noticed how most of the code was NIR boilerplate that we have
helpers for. Rewrite the pass to use all the helpers.
v2: Fix cube map arrays.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18754 >
2022-10-17 20:46:24 +00:00
Alyssa Rosenzweig
fc5c671e87
nir: Fix nir_fmax_abs_vec_comp
...
This failed to take fabs of the first component, implementing an unintended
formula that would return the right results in some common cases but is wrong in
general:
max { x, |y|, |z| }
instead of the intended
max { |x|, |y|, |z| }
Reexpress the implementation to make correctness obvious.
Fixes: 272e927d0e ("nir/spirv: initial handling of OpenCL.std extension opcodes")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18754 >
2022-10-17 20:46:24 +00:00
Sil Vilerino
6fbb87851c
d3d12: HEVC Set D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_FLAG_USE_ASYMETRIC_MOTION_PARTITION when required by caps
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19119 >
2022-10-17 20:33:19 +00:00
Sil Vilerino
8f654b9000
d3d12: Fix HEVC wrong caps detection due to bad parenthesis in condition
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19119 >
2022-10-17 20:33:19 +00:00
Sil Vilerino
be7e2e5525
d3d12: HEVC Encode workaround for edge case in caps reporting not contemplated by upper layer interface
...
Workaround for https://github.com/intel/libva/issues/641
Example where VAConfigAttribValEncHEVCBlockSizes.max_transform_hierarchy_depth_intra/inter overflows
MinCbLog2SizeY = log2(8) = 3
CtbLog2SizeY = log2(64) = 6
MinTbLog2SizeY = log2(4) = 2
MaxTbLog2SizeY = log2(32) = 5
max_transform_hierarchy_depth_intra = (CtbLog2SizeY − MinTbLog2SizeY) = 4
max_transform_hierarchy_depth_inter = (CtbLog2SizeY − MinTbLog2SizeY) = 4
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19119 >
2022-10-17 20:33:19 +00:00
Danylo Piliaiev
3eed5931ed
tu: Fix the size of patch control points state
...
tu6_emit_patch_control_points was called with CS size calculated
at compile time, but HS params have dynamic size. Account for this.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7479
Fixes: 68f3c38c80
("tu: Implement extendedDynamicState2PatchControlPoints")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19075 >
2022-10-17 20:13:43 +00:00
Daniel Schürmann
ebf7f7a182
aco/spill: Fix spilling of Phi operands
...
By adding the renamed variable, phi operands got spilled twice at the precessors.
Fixes: dEQP-VK.ray_query.misc.dynamic_indexing
Closes : #7493
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19109 >
2022-10-17 19:50:32 +00:00
Alyssa Rosenzweig
829f769e60
pan/mdg: Fix 16-bit alignment with spiller
...
The loop over sources has to happen for every instruction, regardless of whether
we also need to register allocate the destination. The other source loops handle
this properly, but this one was missed.
Fixes spilling failure in shaders/android/angle/aztec_ruins/16.shader_test when
the input NIR is shuffled a bit (from reordering passes).
Fixes: 129d390bd8 ("pan/mdg: Fix bound setting in RA for sources")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19093 >
2022-10-17 19:11:10 +00:00
Alyssa Rosenzweig
2c446b6636
pan/mdg: Limit work registers for large workgroups
...
When more than 8 registers are used, Midgard can only fit 64 threads in a
thread group. For barriers to work properly, a threadgroup must fit an entire
work group. The GL driver configures the hardware to have threadgroups the size
of work groups. That means if more than 64 threads are used in a workgroup, and
more than 8 registers are used, the hardware will fault spawning threads.
To workaround this hardware limitation, we need to limit the number of work
registers used depending on the size of the workgroup. Typically, the work group
size is known at compile-time so that determination can usually be made without
variants. To avoid variants, we make a pessimistic estimate in the case when
it's not known at compile-time.
shader-db shows 6 shaders affected. I expect that all of these would fault with
DATA_INVALID_FAULT if they tried to execute before this patch, due to the
oversize local size, and faulting is even slower than spilling ;-)
Fixes dEQP-GLES31.functional.synchronization.* on Mali-T860.
instructions HURT: shaders/android/gfxbench/carchase/6.shader_test MESA_SHADER_COMPUTE: 121 -> 157 (29.75%)
instructions HURT: shaders/android/gfxbench/carchase/386.shader_test MESA_SHADER_COMPUTE: 121 -> 157 (29.75%)
instructions HURT: shaders/android/gfxbench/carchase/374.shader_test MESA_SHADER_COMPUTE: 141 -> 184 (30.50%)
instructions HURT: shaders/android/gfxbench/carchase/4-1.shader_test MESA_SHADER_COMPUTE: 141 -> 184 (30.50%)
instructions HURT: shaders/android/com.miHoYo.GenshinImpact/18.shader_test MESA_SHADER_COMPUTE: 513 -> 933 (81.87%)
instructions HURT: shaders/android/com.miHoYo.GenshinImpact/16.shader_test MESA_SHADER_COMPUTE: 505 -> 1002 (98.42%)
bundles HURT: shaders/android/gfxbench/carchase/374.shader_test MESA_SHADER_COMPUTE: 73 -> 116 (58.90%)
bundles HURT: shaders/android/gfxbench/carchase/4-1.shader_test MESA_SHADER_COMPUTE: 73 -> 116 (58.90%)
bundles HURT: shaders/android/gfxbench/carchase/6.shader_test MESA_SHADER_COMPUTE: 61 -> 97 (59.02%)
bundles HURT: shaders/android/gfxbench/carchase/386.shader_test MESA_SHADER_COMPUTE: 61 -> 97 (59.02%)
bundles HURT: shaders/android/com.miHoYo.GenshinImpact/18.shader_test MESA_SHADER_COMPUTE: 281 -> 701 (149.47%)
bundles HURT: shaders/android/com.miHoYo.GenshinImpact/16.shader_test MESA_SHADER_COMPUTE: 278 -> 775 (178.78%)
registers helped: shaders/android/gfxbench/carchase/374.shader_test MESA_SHADER_COMPUTE: 11 -> 8 (-27.27%)
registers helped: shaders/android/gfxbench/carchase/4-1.shader_test MESA_SHADER_COMPUTE: 11 -> 8 (-27.27%)
registers helped: shaders/android/gfxbench/carchase/6.shader_test MESA_SHADER_COMPUTE: 14 -> 8 (-42.86%)
registers helped: shaders/android/gfxbench/carchase/386.shader_test MESA_SHADER_COMPUTE: 14 -> 8 (-42.86%)
registers helped: shaders/android/com.miHoYo.GenshinImpact/16.shader_test MESA_SHADER_COMPUTE: 16 -> 8 (-50.00%)
registers helped: shaders/android/com.miHoYo.GenshinImpact/18.shader_test MESA_SHADER_COMPUTE: 16 -> 8 (-50.00%)
threads helped: shaders/android/gfxbench/carchase/6.shader_test MESA_SHADER_COMPUTE: 1 -> 2 (100.00%)
threads helped: shaders/android/gfxbench/carchase/386.shader_test MESA_SHADER_COMPUTE: 1 -> 2 (100.00%)
threads helped: shaders/android/gfxbench/carchase/374.shader_test MESA_SHADER_COMPUTE: 1 -> 2 (100.00%)
threads helped: shaders/android/gfxbench/carchase/4-1.shader_test MESA_SHADER_COMPUTE: 1 -> 2 (100.00%)
threads helped: shaders/android/com.miHoYo.GenshinImpact/16.shader_test MESA_SHADER_COMPUTE: 1 -> 2 (100.00%)
threads helped: shaders/android/com.miHoYo.GenshinImpact/18.shader_test MESA_SHADER_COMPUTE: 1 -> 2 (100.00%)
spills HURT: shaders/android/gfxbench/carchase/374.shader_test MESA_SHADER_COMPUTE: 0 -> 5
spills HURT: shaders/android/gfxbench/carchase/4-1.shader_test MESA_SHADER_COMPUTE: 0 -> 5
spills HURT: shaders/android/gfxbench/carchase/6.shader_test MESA_SHADER_COMPUTE: 0 -> 8
spills HURT: shaders/android/gfxbench/carchase/386.shader_test MESA_SHADER_COMPUTE: 0 -> 8
spills HURT: shaders/android/com.miHoYo.GenshinImpact/18.shader_test MESA_SHADER_COMPUTE: 0 -> 112
spills HURT: shaders/android/com.miHoYo.GenshinImpact/16.shader_test MESA_SHADER_COMPUTE: 0 -> 146
fills HURT: shaders/android/gfxbench/carchase/6.shader_test MESA_SHADER_COMPUTE: 0 -> 26
fills HURT: shaders/android/gfxbench/carchase/386.shader_test MESA_SHADER_COMPUTE: 0 -> 26
fills HURT: shaders/android/gfxbench/carchase/374.shader_test MESA_SHADER_COMPUTE: 0 -> 33
fills HURT: shaders/android/gfxbench/carchase/4-1.shader_test MESA_SHADER_COMPUTE: 0 -> 33
fills HURT: shaders/android/com.miHoYo.GenshinImpact/18.shader_test MESA_SHADER_COMPUTE: 0 -> 209
fills HURT: shaders/android/com.miHoYo.GenshinImpact/16.shader_test MESA_SHADER_COMPUTE: 0 -> 234
total instructions in shared programs: 1521691 -> 1522766 (0.07%)
instructions in affected programs: 1542 -> 2617 (69.71%)
helped: 0
HURT: 6
HURT stats (abs) min: 36.0 max: 497.0 x̄: 179.17 x̃: 43
HURT stats (rel) min: 29.75% max: 98.42% x̄: 50.13% x̃: 30.50%
95% mean confidence interval for instructions value: -49.36 407.69
95% mean confidence interval for instructions %-change: 17.14% 83.12%
Inconclusive result (value mean confidence interval includes 0).
total bundles in shared programs: 649296 -> 650371 (0.17%)
bundles in affected programs: 827 -> 1902 (129.99%)
helped: 0
HURT: 6
HURT stats (abs) min: 36.0 max: 497.0 x̄: 179.17 x̃: 43
HURT stats (rel) min: 58.90% max: 178.78% x̄: 94.01% x̃: 59.02%
95% mean confidence interval for bundles value: -49.36 407.69
95% mean confidence interval for bundles %-change: 36.20% 151.83%
Inconclusive result (value mean confidence interval includes 0).
total registers in shared programs: 90681 -> 90647 (-0.04%)
registers in affected programs: 82 -> 48 (-41.46%)
helped: 6
HURT: 0
helped stats (abs) min: 3.0 max: 8.0 x̄: 5.67 x̃: 6
helped stats (rel) min: 27.27% max: 50.00% x̄: 40.04% x̃: 42.86%
95% mean confidence interval for registers value: -8.03 -3.30
95% mean confidence interval for registers %-change: -50.95% -29.13%
Registers are helped.
total threads in shared programs: 55717 -> 55723 (0.01%)
threads in affected programs: 6 -> 12 (100.00%)
helped: 6
HURT: 0
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00%
95% mean confidence interval for threads value: 1.00 1.00
95% mean confidence interval for threads %-change: 100.00% 100.00%
Threads are helped.
total spills in shared programs: 1108 -> 1392 (25.63%)
spills in affected programs: 0 -> 284
helped: 0
HURT: 6
total fills in shared programs: 4721 -> 5282 (11.88%)
fills in affected programs: 0 -> 561
helped: 0
HURT: 6
Cc: mesa-stable
Closes : #7228
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19092 >
2022-10-17 18:56:13 +00:00
Alyssa Rosenzweig
9b19104a30
pan/mdg: Lower PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK on Midgard
...
The register file on Midgard is not large enough to sustain 256 threads in a
threadgroup when all ISA-defined registers are used. As such, we want
to advertise the smallest MAX_THREADS_PER_BLOCK permissible by the spec to
avoid compiling shaders that will necessarily spill. The minimum-maximum in
OpenGL ES 3.1 is 128, so set that on Midgard.
6 compute shaders LOST in shader-db due to exceeding this new limit. These
shaders would fault if they were attempted to be executed.
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19092 >
2022-10-17 18:56:13 +00:00
Alyssa Rosenzweig
5c95be85ab
panfrost/ci: Remove stale fail
...
Due to fractional run. This whole section passes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19092 >
2022-10-17 18:56:13 +00:00
Rohan Garg
16d061d3ac
anv: Enable 16 bit float ops on devices that have a LSC
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17988 >
2022-10-17 15:56:29 +02:00
Rohan Garg
43169dbbe5
intel/compiler: Support 16 bit float ops
...
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17988 >
2022-10-17 15:56:28 +02:00
Daniel Stone
2e774180c6
Revert "panfrost/ci: Disable t720 jobs"
...
This reverts commit b3a69d1c31 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19113 >
2022-10-17 12:13:47 +01:00
Alejandro Piñeiro
c1cb7506bb
v3dv/pipeline: keep qpu_insts around if we expect them to be used later
...
If the pipeline was created with the creation flags
VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR or
VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR it is
really likely that methods from VK_KHR_pipeline_executable_properties
that would require having access to the qpu insts around will be
called.
Instead of getting those back from the BO where we upload them, we
just keep them around. This could require more host memory, but would
allow us to avoid needing to handle map/unmap the BO when needed (so
needing the host memory in any case). This can be tricky if those
methods are being called from different threads (so we can avoid
adding a mutex there).
In the same way, if the pipeline was not created with those flags, we
skip collecting data that requires the QPU. Only
GetPipelineExecutableProperties is allowed to be called without any of
those flags, and doesn't require that info.
This fixes a race condition crash at GetPipelineExecutableProperties
when using fossilize-replay with some fossils with several shaders,
and using several threads, as some thread would be unmapping the bo
before other thread stopped to use it.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18859 >
2022-10-17 10:06:23 +00:00
Timothy Arceri
7dcdd51938
glthread: leave dlist dispatch in place for Begin/End
...
If Begin/End are called from a display list make sure to leave
the dlist.c's dispatch table in place just like the non-glthread
code does.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7335
Fixes: 7f1cac7ba6 ("mesa/glthread: enable immediate mode")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19088 >
2022-10-17 09:31:12 +00:00
Samuel Pitoiset
ca02da294a
radv: discard the PS epilog when the pipeline doesn't use a fragment shader
...
This makes no sense and this was broken.
Fixes dEQP-VK.mesh_shader.ext.smoke.*_lib.mesh_shader_triangle_rasterization_disabled.
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/19019 >
2022-10-17 08:13:26 +02:00
Samuel Pitoiset
7b3aae8912
radv: do not create a noop FS when the FS is imported from a library
...
The entrypoint can be NULL even if the FS is imported from a library,
but we shouldn't overwrite the pre-compiled FS by a noop.
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/19019 >
2022-10-17 08:13:24 +02:00
Jose Maria Casanova Crespo
c8849043a8
Revert "CI: Igalia farm is down"
...
This reverts commit aa405b789e .
Igalia farm is up again. Switch died and it needed to be replaced.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19102 >
2022-10-17 02:02:01 +02:00
Timothy Arceri
675bcbb7a1
mesa: add EXT_debug_label support
...
KHR_debug provides the same functionality but this extension is
still in use and adding support for it seems fairly harmless.
For example its used by Unity and without it we keep
getting given apitraces from Unity games that just spew out
unsupported function errors due to the missing support.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19029 >
2022-10-17 08:53:20 +11:00
Yonggang Luo
70fef47633
ci/windows: Getting the default supported windows version to be 7 when using mingw
...
MSVC are already tested with default windows version 8
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19096 >
2022-10-17 00:36:40 +08:00
Yonggang Luo
79891bea1c
ci/windows: Remove -Dlibelf:warning_level=1 as libelf subproject are already removed
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19096 >
2022-10-17 00:28:32 +08:00
Yonggang Luo
2cb21fdd53
ci/windows: Enable gles1 for msvc
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19096 >
2022-10-17 00:28:29 +08:00
Konstantin Seurer
6905c25829
radv/rra: Use the accel struct type for header validation
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
43756a9f76
radv/rra: Continue dumping accel structs if validation fails
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
e8547392b0
radv/rra: Add basic header validation
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
2ccd039174
radv/rra: Validate before gathering bvh info
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Konstantin Seurer
d83176d1c0
radv/rra: Fix dumps in the case of aliasing
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19089 >
2022-10-16 14:37:02 +00:00
Jose Maria Casanova Crespo
aa405b789e
CI: Igalia farm is down
...
It seems a power outage affected the Raspberry Pi farm nodes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19095 >
2022-10-16 12:06:25 +02:00
Yonggang Luo
2b64ff9284
util: Turn -DWINDOWS_NO_FUTEX to be pre_args
...
Turn -DWINDOWS_NO_FUTEX to be pre_args for not need add direct dependencies
to dep_futex for libraries and executables.
So only add dependencies to idep_mesautil is enough.
And this will make sure all source code are either using Windows futex,
or use mtx_t consistently across different sources, other than mixed usage of
futex and mtx_t before this commit.
If -DWINDOWS_NO_FUTEX is not globally available, that would cause
/src/util/simple_mtx.h:116: undefined reference to `futex_wait'
This error is raised when
* compiled with -D min-windows-version=7
* moved futex_wait from futex.h to futex.c
* used simple_mtx_t in more codes
Or linkage error:
src/compiler/libcompiler.a.p/glsl_types.cpp.obj: in function `futex_wake':
/../../src/util/futex.h:154: undefined reference to `WaitOnAddress'
When:
* compiled with -D min-windows-version=7
* used simple_mtx_t in more codes
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7494
Fixes: c002bbeb2f ("util: Add a Win32 futex impl")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19087 >
2022-10-16 05:21:45 +00:00
Alyssa Rosenzweig
4c7a44413a
mesa,gallium: Revert "Make point coord origin a CAP"
...
This reverts commit e749f67f89 , which added a CAP
to support drivers that can only do upside-down point coordinates. That was
added specifically for Asahi, since Metal's point coordinate convention is
opposite Mesa's. Since then, additional reverse-engineering aided by the PowerVR
headers led me to the bit doing the flip in hardware, so Asahi does not use the
CAP since baadc1ec13 ("asahi: Don't use lower_wpos_pntc"). Garbage collect it.
[If it's needed for future hardware, we can revive it. But the plan is Vulkan
anyway.]
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19078 >
2022-10-16 02:23:12 +00:00
José Roberto de Souza
86c9aa6bfe
intel: Add and use intel_engines_class_to_string()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18975 >
2022-10-15 20:04:51 +00:00
José Roberto de Souza
772dfd60ad
intel: Convert i915 engine type to intel in tools/ common/ and ds/
...
This ones were left to be done after initial conversion.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18975 >
2022-10-15 20:04:51 +00:00
José Roberto de Souza
5269d91efc
intel: Convert missing i915 engine types to intel
...
This convertions were missed due to bad rebased in my end, sorry.
Fixes: 03b959286e ("intel: Make engine related functions and types not i915 dependent")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18975 >
2022-10-15 20:04:51 +00:00
Alyssa Rosenzweig
ac2964dfbd
nir: Be smarter fusing ffma
...
If there is a single use of fmul, and that single use is fadd, it makes
sense to fuse ffma, as we already do. However, if there are multiple
uses, fusing may impede code gen. Consider the source fragment:
a = fmul(x, y)
b = fadd(a, z)
c = fmin(a, t)
d = fmax(b, c)
The fmul has two uses. The current ffma fusing is greedy and will
produce the following "optimized" code.
a = fmul(x, y)
b = ffma(x, y, z)
c = fmin(a, t)
d = fmax(b, c)
Actually, this code is worse! Instead of 1 fmul + 1 fadd, we now have 1
fmul + 1 ffma. In effect, two multiplies (and a fused add) instead of
one multiply and an add. Depending on the ISA, that could impede
scheduling or increase code size. It can also increase register
pressure, extending the live range.
It's tempting to gate on is_used_once, but that would hurt in cases
where we really do fuse everything, e.g.:
a = fmul(x, y)
b = fadd(a, z)
c = fadd(a, t)
For ISAs that fuse ffma, we expect that 2 ffma is faster than 1 fmul + 2
fadd. So what we really want is to fuse ffma iff the fmul will get
deleted. That occurs iff all uses of the fmul are fadd and will
themselves get fused to ffma, leaving fmul to get dead code eliminated.
That's easy to implement with a new NIR search helper, checking that all
uses are fadd.
shader-db results on Mali-G57 [open shader-db + subset of closed]:
total instructions in shared programs: 179491 -> 178991 (-0.28%)
instructions in affected programs: 36862 -> 36362 (-1.36%)
helped: 190
HURT: 27
total cycles in shared programs: 10573.20 -> 10571.75 (-0.01%)
cycles in affected programs: 72.02 -> 70.56 (-2.02%)
helped: 28
HURT: 1
total fma in shared programs: 1590.47 -> 1582.61 (-0.49%)
fma in affected programs: 319.95 -> 312.09 (-2.46%)
helped: 194
HURT: 1
total cvt in shared programs: 812.98 -> 813.03 (<.01%)
cvt in affected programs: 118.53 -> 118.58 (0.04%)
helped: 65
HURT: 81
total quadwords in shared programs: 98968 -> 98840 (-0.13%)
quadwords in affected programs: 2960 -> 2832 (-4.32%)
helped: 20
HURT: 4
total threads in shared programs: 4693 -> 4697 (0.09%)
threads in affected programs: 4 -> 8 (100.00%)
helped: 4
HURT: 0
v2: Update trace checksums for virgl due to numerical differences.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18814 >
2022-10-15 17:47:31 +00:00
Mike Blumenkrantz
07c654e08f
glthread: fix buffer allocation size with non-signed buffer offset path
...
this needs to always add the start_offset to avoid creating
buffers that are too small
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18994 >
2022-10-15 16:02:38 +00:00
Andri Yngvason
9fc4cb8067
gallium/vl: Add opaque rgb pixel formats
...
Signed-off-by: Andri Yngvason <andri@yngvason.is >
Reviewed-by: Simon Ser <contact@emersion.fr >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18959 >
2022-10-15 08:15:02 +00:00
Erik Faye-Lund
8255739a0a
mesa/main: remove driver-cap for ARB_point_sprite
...
It's always supported, no need for checks here.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Begrudgingly-reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19049 >
2022-10-15 02:57:18 +00:00
Erik Faye-Lund
310959d9fe
mesa/st: rip out point-sprite cap
...
All current drivers reports supporting this cap, let's just assume
it's always supported.
It seems better to lower this in the drivers, like we already do for
etnaviv, panfrost and zink...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Begrudgingly-reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19049 >
2022-10-15 02:57:18 +00:00
Italo Nicola
b0d698c532
rusticl: correctly check global argument size
...
As the spec that is quoted in the comment says, if the argument is a
memory object, arg_size should be different than sizeof(cl_mem). The
previous verification only worked if the underlying type has the same
size as sizeof(cl_mem).
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18985 >
2022-10-15 02:23:04 +00:00
Italo Nicola
c935232822
rusticl: use 32-bit address format for 32-bit devices
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18985 >
2022-10-15 02:23:03 +00:00
Italo Nicola
66b3df3c15
clc: add 32-bit target
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18985 >
2022-10-15 02:23:03 +00:00
Alyssa Rosenzweig
b3a69d1c31
panfrost/ci: Disable t720 jobs
...
They're dead, Jim!
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19084 >
2022-10-15 00:53:22 +00:00
Erik Faye-Lund
eccc5600c3
zink: use util_dynarray_clear
...
We already have a helper for this, let's use it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19068 >
2022-10-14 23:29:08 +00:00
Erik Faye-Lund
17d8ff3a39
zink: fixup dynarray-type
...
This doesn't make a functional difference, because the size here ends up
being the same; the size of a pointer. But let's use the right type for
consistency.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19068 >
2022-10-14 23:29:08 +00:00
Erik Faye-Lund
510a34fbf3
zink: fix broken pool-alloc consolidation
...
When appending the content of a util_dynarray to another util_dynarray, we
need to copy the content to the *end* of the util_dynarray, not the
beginning.
As we've already resized the dynarray, We also shouldn't add to the size
once more at the end, otherwise we'll end up with garbage.
Fixes: 43dcdf3365 ("zink: rework/improve descriptor pool overflow handling on batch reset")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7485
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19068 >
2022-10-14 23:29:08 +00:00
Lionel Landwerlin
b49b18f0b7
anv: reduce BT emissions & surface state writes with push descriptors
...
Zink on Anv running Gfxbench gl_driver2 is significantly slower than
Iris.
The reason is simple, whereas Iris implements uniform updates using
push constants and only has to emit 3DSTATE_CONSTANT_* packets, Zink
uses push descriptors with a uniform buffer, which on our
implementation use both push constants & binding tables.
Anv ends up doing the following for each uniform update :
- allocate 2 surface states :
- one for the uniform buffer as the offset specify by zink
- one for the descriptor set buffer
- pack the 2 RENDER_SURFACE_STATE
- re-emit binding tables
- re-emit push constants
Of all of those operations, only the last one ends up being useful in
this benchmark because all the uniforms have been promoted to push
constants.
This change defers the 3 first operations at draw time and executes
them only if the pipeline needs them.
Vkoverhead before / after :
descriptor_template_1ubo_push: 40670 / 85786
descriptor_template_12ubo_push: 4050 / 13820
descriptor_template_1combined_sampler_push, 34410 / 34043
descriptor_template_16combined_sampler_push, 2746 / 2711
descriptor_template_1sampled_image_push, 34765 / 34089
descriptor_template_16sampled_image_push, 2794 / 2649
descriptor_template_1texelbuffer_push, 108537 / 111342
descriptor_template_16texelbuffer_push, 20619 / 20166
descriptor_template_1ssbo_push, 41506 / 85976
descriptor_template_8ssbo_push, 6036 / 18703
descriptor_template_1image_push, 88932 / 89610
descriptor_template_16image_push, 20937 / 20959
descriptor_template_1imagebuffer_push, 108407 / 113240
descriptor_template_16imagebuffer_push, 32661 / 34651
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
ff91c5ca42
anv: add analysis for push descriptor uses and store it in shader cache
...
We'll use this information to avoid :
- binding table emission
- allocation of surface states
v2: Fix anv_nir_push_desc_ubo_fully_promoted()
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
01e282f23f
anv: initialization pipeline layout to 0s
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
8616f11a39
anv: track descriptor set layout flags
...
To identify push descriptors.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
d7f1569307
anv: limit push constant reemission
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
2db45f713a
isl: avoid gfx version switch cases on the hot path
...
Some of the surface state packing functions are called from the hot
path in Anv. We can use function pointers to avoid repeatedly going
through switch/case.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
06d955ab21
anv: remove multiple push descriptors
...
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00293
pSetLayouts must not contain more than one descriptor set layout
that was created with
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set
There is only one push descriptor set with all the descriptor sets, so
no need to have an array.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
803f438d85
anv: optimize 3DSTATE_VF emission
...
We can avoid reemitting this when the index buffer index type doesn't
change.
Also we don't need to update this when the pipeline changes as we do
not pull any value from the pipeline. Instead rely on the dynamic
state to tell if dyn->ia.primitive_restart_enable changed.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
126f5bc15a
anv: limit calls into cmd_buffer_flush_dynamic_state
...
Avoids a bunch of checks if we can.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
54bc34f70a
anv: comment out the Gfx8/9 VB cache key workaround for newer Gens
...
This code shows up a little on profiling on Gfx12 and since it's only
a gfx8/9 workaround we might as well ifdef it out.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
f8136ea5b6
anv: remove unused code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Lionel Landwerlin
cea113c977
vulkan/runtime: don't lookup the pipeline disk cache if disabled
...
When the Anv pipeline got migrated to the runtime, we gain/lost a bit
of functionality which is that the disk cache is always read
regardless of VK_ENABLE_PIPELINE_CACHE=0.
This change brings the old behavior back.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 591da98779 ("vulkan: Add a common VkPipelineCache implementation")
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050 >
2022-10-14 23:03:16 +00:00
Bas Nieuwenhuizen
6558ecf3eb
radv: Mark dEQP-VK.ray_query.misc.dynamic_indexing as crashing in CI.
...
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7493
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19073 >
2022-10-14 21:34:54 +00:00
Ryan Houdek
b516f59490
vulkan/wsi: Add dep_libudev to idep dependencies
...
Otherwise users of `idep_vulkan_wsi` won't pull in the udev dependency,
which will cause the linker to fail later on in compiling.
The user of this dependency is lavapipe which would fail to link if this
isn't provided.
Fixes: 4885e63a6d (vulkan/wsi: implement missing wsi_register_device_event)
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19037 >
2022-10-14 21:10:29 +00:00
David Heidelberg
9cb251a0b0
ci/traces: Blender demo (Cube Diorama) flakes on Intel APL
...
Acked-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19067 >
2022-10-14 18:44:30 +00:00
Gert Wollny
2e50bf19cd
nir: move fusing csel and comparisons to opt_late_algebraic
...
With that simple comparisons are cleaned up properly.
This helps with some tesselation shaders on r600.
Shader-db stats R600/Cayman:
--------------------------------------------------------------
total dw in shared programs: 1621806 -> 1620884 (-0.06%)
dw in affected programs: 41650 -> 40728 (-2.21%)
helped: 211
HURT: 4
helped stats (abs) min: 2 max: 26 x̄: 4.46 x̃: 4
helped stats (rel) min: 0.30% max: 9.68% x̄: 2.87% x̃: 2.52%
HURT stats (abs) min: 2 max: 8 x̄: 5.00 x̃: 5
HURT stats (rel) min: 0.23% max: 1.67% x̄: 1.02% x̃: 1.09%
95% mean confidence interval for dw value: -4.81 -3.77
95% mean confidence interval for dw %-change: -3.03% -2.57%
Dw are helped.
total gprs in shared programs: 41192 -> 41182 (-0.02%)
gprs in affected programs: 731 -> 721 (-1.37%)
helped: 53
HURT: 45
helped stats (abs) min: 1 max: 3 x̄: 1.23 x̃: 1
helped stats (rel) min: 5.88% max: 40.00% x̄: 16.56% x̃: 14.29%
HURT stats (abs) min: 1 max: 2 x̄: 1.22 x̃: 1
HURT stats (rel) min: 7.69% max: 40.00% x̄: 19.42% x̃: 20.00%
95% mean confidence interval for gprs value: -0.37 0.16
95% mean confidence interval for gprs %-change: -3.92% 3.85%
Inconclusive result (value mean confidence interval includes 0).
total alu_groups in shared programs: 203677 -> 203632 (-0.02%)
alu_groups in affected programs: 2876 -> 2831 (-1.56%)
helped: 68
HURT: 30
helped stats (abs) min: 1 max: 4 x̄: 1.46 x̃: 1
helped stats (rel) min: 0.84% max: 25.00% x̄: 7.48% x̃: 5.41%
HURT stats (abs) min: 1 max: 6 x̄: 1.80 x̃: 1
HURT stats (rel) min: 1.98% max: 33.33% x̄: 10.09% x̃: 5.61%
95% mean confidence interval for alu_groups value: -0.81 -0.11
95% mean confidence interval for alu_groups %-change: -4.20% <.01%
Alu_groups are helped.
total loops in shared programs: 72 -> 72 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total cf in shared programs: 88230 -> 88233 (<.01%)
cf in affected programs: 71 -> 74 (4.23%)
helped: 1
HURT: 4
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 33.33% max: 33.33% x̄: 33.33% x̃: 33.33%
HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel) min: 1.89% max: 33.33% x̄: 17.14% x̃: 16.67%
95% mean confidence interval for cf value: -0.51 1.71
95% mean confidence interval for cf %-change: -24.20% 38.29%
Inconclusive result (value mean confidence interval includes 0).
total stack in shared programs: 3827 -> 3827 (0.00%)
stack in affected programs: 0 -> 0
helped: 0
HURT: 0
LOST: 0
GAINED: 0
Total CPU time (seconds): 45.32 -> 41.69 (-8.01%)
--------------------------------------------------------------
v2: Simplify replacement pattern (Rhys Perry)
v3: fix ws (Alexander Orzechowski)
v4: move the original lowering to opt_late_algebraic and
drop cleanup code (Alyssa)
v5: Add shader-sb stats (Alyssa)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18970 >
2022-10-14 13:08:15 +00:00
Gert Wollny
aea311dbef
r600/sfn: run cleanup passes after late algebraic opt
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18970 >
2022-10-14 13:08:15 +00:00
Väinö Mäkelä
cfc6bdb760
hasvk: Correctly set NonPerspectiveBarycentricEnable on gfx7
...
The incorrect #else has existed since commit bfd9942cdc , but the issue
was already present before that. NonPerspectiveBarycentricEnable must be
enabled if non-perspective interpolation is used.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7449
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19004 >
2022-10-14 08:18:40 +00:00
Lionel Landwerlin
eec49374b0
nir: fix NIR_DEBUG=validate_ssa_dominance
...
validate_ssa_def_dominance() asserts :
validate_assert(state, !BITSET_TEST(state->ssa_defs_found, def->index));
Because the previous validation lefts bits set when it processed the
IR.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18966 >
2022-10-14 10:36:56 +03:00
Yonggang Luo
44ccaca41d
util/mesa/wide: Rename _SIMPLE_MTX_INITIALIZER_NP to SIMPLE_MTX_INITIALIZER
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18393 >
2022-10-14 03:27:41 +00:00
Guilherme Gallo
be3c46964b
ci/bin: Remove whitespace from token files
...
There was a security problem with some `gitlab_gql.py` scenarios because
of `\r` and `\n` in the token file, which interrupted the requests for
Gitlab endpoints.
Stripping the token file after reading the file content solves the
problem.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18066 >
2022-10-14 01:46:52 +00:00
Guilherme Gallo
d52d51b24d
ci/bin: Fix requirements.txt
...
Add missing aiohttp and PyYAML packages
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18066 >
2022-10-14 01:46:52 +00:00
Alyssa Rosenzweig
bb6c43027e
agx: Reserve live-in regs at the start of block
...
...Rather than reserving the union of the registers live-out of the
predecessors. This avoids reserving registers that are killed along a
control flow edge (where the predecessor has another successor that does
use the register).
glmark2 subset of shaderdb:
total instructions in shared programs: 6442 -> 6440 (-0.03%)
instructions in affected programs: 42 -> 40 (-4.76%)
helped: 1
HURT: 0
total bytes in shared programs: 42186 -> 42174 (-0.03%)
bytes in affected programs: 270 -> 258 (-4.44%)
helped: 1
HURT: 0
total halfregs in shared programs: 1769 -> 1757 (-0.68%)
halfregs in affected programs: 75 -> 63 (-16.00%)
helped: 3
HURT: 0
helped stats (abs) min: 4.0 max: 4.0 x̄: 4.00 x̃: 4
helped stats (rel) min: 16.00% max: 16.00% x̄: 16.00% x̃: 16.00%
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
de6e11b848
agx: Pass in max regs as a paramter to RA
...
This will allow us to restrict max regs later.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
68f89d4cc5
agx: Introduce ra_ctx data structure
...
We have more parameters to pass, this will get unwieldly otherwise.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
bcb2cf9688
agx: Write to r0l with a "nesting" instruction
...
This avoids modeling the r0l register explicitly in the IR, which would
complicate RA for little benefit at this stage. Do the simplest thing
that could possibly work in SSA.
glmark2 subset.
total instructions in shared programs: 6442 -> 6442 (0.00%)
instructions in affected programs: 701 -> 701 (0.00%)
helped: 4
HURT: 5
helped stats (abs) min: 1.0 max: 3.0 x̄: 2.00 x̃: 2
helped stats (rel) min: 1.46% max: 7.69% x̄: 4.03% x̃: 3.48%
HURT stats (abs) min: 1.0 max: 3.0 x̄: 1.60 x̃: 1
HURT stats (rel) min: 0.81% max: 7.41% x̄: 2.67% x̃: 1.14%
95% mean confidence interval for instructions value: -1.58 1.58
95% mean confidence interval for instructions %-change: -3.70% 3.08%
Inconclusive result (value mean confidence interval includes 0).
total bytes in shared programs: 42196 -> 42186 (-0.02%)
bytes in affected programs: 7768 -> 7758 (-0.13%)
helped: 8
HURT: 5
helped stats (abs) min: 2.0 max: 18.0 x̄: 7.25 x̃: 4
helped stats (rel) min: 0.13% max: 7.26% x̄: 2.02% x̃: 0.97%
HURT stats (abs) min: 6.0 max: 18.0 x̄: 9.60 x̃: 6
HURT stats (rel) min: 0.82% max: 6.32% x̄: 2.37% x̃: 1.02%
95% mean confidence interval for bytes value: -7.02 5.48
95% mean confidence interval for bytes %-change: -2.30% 1.63%
Inconclusive result (value mean confidence interval includes 0).
total halfregs in shared programs: 1926 -> 1769 (-8.15%)
halfregs in affected programs: 1395 -> 1238 (-11.25%)
helped: 71
HURT: 0
helped stats (abs) min: 1.0 max: 10.0 x̄: 2.21 x̃: 2
helped stats (rel) min: 1.92% max: 52.63% x̄: 15.33% x̃: 11.76%
95% mean confidence interval for halfregs value: -2.69 -1.73
95% mean confidence interval for halfregs %-change: -17.98% -12.68%
Halfregs are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
c9a96d4615
agx: Preload vertex/instance ID only at start
...
This means we don't reserve the registers, which improves RA
considerably. Using a special preload psuedo-op instead of a regular
move allows us to constrain semantics and gaurantee coalescing.
shader-db on glmark2 subset:
total instructions in shared programs: 6448 -> 6442 (-0.09%)
instructions in affected programs: 230 -> 224 (-2.61%)
helped: 4
HURT: 0
total bytes in shared programs: 42232 -> 42196 (-0.09%)
bytes in affected programs: 1530 -> 1494 (-2.35%)
helped: 4
HURT: 0
total halfregs in shared programs: 2291 -> 1926 (-15.93%)
halfregs in affected programs: 2185 -> 1820 (-16.70%)
helped: 75
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
f665229d77
agx: Print agx_dim appropriately
...
Easier to read, and gets us closer to proper disasm in Mesa.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
6c95572ef0
agx: Print instructions as "dest = src"
...
This makes the dataflow easier to read, especially with splits and
collects (which take variable numbers of sources/destinations).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
72a1e1f33f
agx: Emit trap at pack-time, not during isel
...
This makes the shaderdb stats make more sense.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
1dcaade3e2
agx: Rename "combine" to "collect"
...
For consistency with ir3 and bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
82e8e709cb
agx: Dynamically size split instruction
...
This is more flexible.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
7c9fba34bc
agx: Switch to dynamic allocation of srcs/dests
...
So we can handle parallel copies later.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
544c60a132
agx: Improve printing of immediate sources
...
For floats, decode the float. Regardless, the size speciifer is
redundant.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
c2bc8c1384
agx: Don't prefix pseudo-ops
...
It's not really buying us anything and it clutters the IR.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
40f0ac2082
agx: Emit smaller combines for nir_op_vec2/3
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
f4726cf240
agx: Set PIPE_SHADER_CAP_INDIRECT_CONST_ADDR
...
Avoids spilling in t-rex.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Alyssa Rosenzweig
6a183a9ffd
agx: Add iterators for phi/non-phi instructions
...
We know that phi nodes are always at the start (this is asserted in
agx_validate and a fundamental invariant of SSA form). That means we can
cheaply iterate all n phi nodes forward (or n non-phi nodes backwards)
in O(n) time. We already open code this idiom in a few places, use
common iterators instead so we don't need to justify in random places.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18804 >
2022-10-14 01:37:39 +00:00
Mike Blumenkrantz
d3880a6324
zink: disable fbfetch when flushing clears
...
this ensures there's no weird perf happening, avoids using renderpass
instead of dynamic rendering, and avoids hitting an assert from broken
framebuffer construction
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19065 >
2022-10-14 01:16:30 +00:00
Mike Blumenkrantz
1ae26de36f
zink: unset rp_changed after initializing renderpass attachments
...
if fbfetch is setup here, it will flag rp_changed
this is already inside renderpass setup, however, so just unset it
to avoid erroneously trigering the assert
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19065 >
2022-10-14 01:16:30 +00:00
Mike Blumenkrantz
f72071fbc3
zink: clamp line_stipple_factor to 1 if stipple is disabled
...
0 is technically an illegal value even though it won't be read in this case
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19065 >
2022-10-14 01:16:30 +00:00
Mike Blumenkrantz
2710ef4c2a
zink: don't add other usage bits for transient images
...
this is illegal
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19065 >
2022-10-14 01:16:30 +00:00
Mike Blumenkrantz
3dcc03d979
zink: check core feature for pipeline cache control
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19065 >
2022-10-14 01:16:30 +00:00
Emma Anholt
179e638bb8
zink: Fix dummy CB path decision for VK_EXT_cwe presence.
...
We have to do the dummy workaround when we *don't* have the ext. This was
apparently a mis-sedding.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19057 >
2022-10-14 00:55:36 +00:00
Karol Herbst
6a18e154bc
rusticl/mem: propper CL_MEM_ALLOC_HOST_PTR support
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18793 >
2022-10-13 23:15:33 +00:00
Karol Herbst
7195b62c63
lp: claim being UMA
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18793 >
2022-10-13 23:15:33 +00:00
Karol Herbst
72f763f5cc
rusticl/mem: rewrite the (un)mapping code
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18793 >
2022-10-13 23:15:33 +00:00
Karol Herbst
dc081353ac
rusticl: add helper ctx wrapper for coherent and direct mapping
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18793 >
2022-10-13 23:15:33 +00:00
Karol Herbst
ea5b23c75b
rusticl: rework resource mappings a little
...
The _async variants will be removed later.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18793 >
2022-10-13 23:15:33 +00:00
Karol Herbst
6b235361f7
rusticl/mesa: add bx() method to PipeTransfer
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18793 >
2022-10-13 23:15:33 +00:00
Karol Herbst
557f4dd89a
rusticl: add support for coherent resources
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18793 >
2022-10-13 23:15:33 +00:00
Timothy Arceri
a5e9e64aae
glthread: fix matrix stack depth tracking
...
Dont bump the depth if the application attempts to overflow or
underflow the stack.
Fixes: 6febe2b880 ("glthread: track all matrix stack depths")
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19059 >
2022-10-13 22:47:49 +00:00
Alyssa Rosenzweig
6689d67603
asahi: Remove no-direct-packing
...
It's weird.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18922 >
2022-10-13 18:06:52 -04:00
Alyssa Rosenzweig
ea58edaafb
asahi: Use a header more like Intel's GenXML
...
We're trying to converge on a common schema.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18922 >
2022-10-13 18:06:52 -04:00
Alyssa Rosenzweig
ab2d5deec2
asahi,panfrost: Remove exact attribute
...
Not used, although in the future it might be...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18922 >
2022-10-13 18:06:52 -04:00
Alyssa Rosenzweig
a64e38b0aa
panfrost,asahi: Remove unused function
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18922 >
2022-10-13 18:06:51 -04:00
Alyssa Rosenzweig
0f24c8ef5f
panfrost,asahi: Remove unused prepare macro
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18922 >
2022-10-13 18:06:51 -04:00
Alyssa Rosenzweig
0302519f1c
asahi/genxml: Defeature uint/float
...
Unused, relic from panfrost and not in upstream genxml.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18922 >
2022-10-13 18:06:51 -04:00
Alyssa Rosenzweig
8eefda4ea9
asahi: Eliminate "Pixel Format" type from GenXML
...
This is leaky and hurts compatibility with upstream GenXML. Just use the
actual hardware fields.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18922 >
2022-10-13 18:06:51 -04:00
Alyssa Rosenzweig
f4b03ea6dc
nir/lower_system_values: Fix cs_local_index_to_id with variable workgroups
...
In that case we need to use the sysval. That sysval can be optimized anyway in
the nonvariable case. Fixes test_basic.get_linear_ids on panfrost.
Fixes: 998d84fca5 ("nir/lower_system_values: Support lowering more intrinsics")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18662 >
2022-10-13 21:25:23 +00:00
Kenneth Graunke
2dfab687ec
intel/compiler: Vectorize gl_TessLevelInner/Outer[] writes [v2]
...
Setting the NIR options takes care of iris thanks to the common st/mesa
linking code, and updating brw_nir_link_shaders should handle anv.
The main effort here is updating remap_tess_levels, which needs to
handle vector stores, writemasking, and swizzling. Unfortunately,
we also need to continue handling the existing single-component
access because it's used for TES inputs, which we don't vectorize.
We could try to vectorize TES inputs too, but they're all pushed
anyway, so it wouldn't buy us much other than deleting this code.
Also, we do have opt_combine_stores, but not one for loads.
One limitation of using nir_vectorize_tess_levels is that it works
on variables, and so isn't able to combine outer/inner writes that
happen to live in the same vec4 slot (for triangle domains). That
said, it's still better than before.
For writes, we allow the intrinsics to supply up to the full size
of the variable (vec4 for outer, vec2 for inner) even if the domain
only requires a subset of those components (i.e. triangles needs 3).
shader-db results on Icelake:
total instructions in shared programs: 19600314 -> 19597528 (-0.01%)
instructions in affected programs: 65338 -> 62552 (-4.26%)
helped: 271 / HURT: 0
helped stats (abs) min: 6 max: 24 x̄: 10.28 x̃: 12
helped stats (rel) min: 1.30% max: 18.18% x̄: 5.80% x̃: 7.59%
95% mean confidence interval for instructions value: -10.71 -9.85
95% mean confidence interval for instructions %-change: -6.17% -5.43%
Instructions are helped.
total cycles in shared programs: 851842332 -> 851808165 (<.01%)
cycles in affected programs: 618577 -> 584410 (-5.52%)
helped: 271 / HURT: 0
helped stats (abs) min: 64 max: 540 x̄: 126.08 x̃: 111
helped stats (rel) min: 2.57% max: 37.97% x̄: 6.12% x̃: 5.06%
95% mean confidence interval for cycles value: -135.35 -116.80
95% mean confidence interval for cycles %-change: -6.67% -5.57%
Cycles are helped.
total sends in shared programs: 1025238 -> 1024308 (-0.09%)
sends in affected programs: 6454 -> 5524 (-14.41%)
helped: 271 / HURT: 0
helped stats (abs) min: 2 max: 8 x̄: 3.43 x̃: 4
helped stats (rel) min: 5.71% max: 25.00% x̄: 14.98% x̃: 17.39%
95% mean confidence interval for sends value: -3.57 -3.29
95% mean confidence interval for sends %-change: -15.42% -14.54%
Sends are helped.
According to Felix DeGrood, this results in a 10% improvement in
the draw call time for certain draw calls from Strange Brigade.
v2: Fix assertions about number of components and add more of them.
Combine the quads and triangles handling as it's nearly identical.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com > [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19061 >
2022-10-13 11:38:21 -07:00
semjon00
44d917bdf3
hasvk: force inline more pipe flush functions
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18965 >
2022-10-13 14:21:38 +00:00
semjon00
760b43f32c
hasvk: combine flushes in Draw/DrawIndexed/DrawIndirectByteCountEXT
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18965 >
2022-10-13 14:21:38 +00:00
semjon00
bee1f7b83a
hasvk: don't export gfx state flushing helper
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18965 >
2022-10-13 14:21:38 +00:00
semjon00
6db3a82fb2
hasvk: don't export flush_compute_state
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18965 >
2022-10-13 14:21:38 +00:00
Yonggang Luo
4f0f272069
util: Implement atomic operations consistently across compilers and testing for it
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18795 >
2022-10-13 13:51:18 +00:00
Yonggang Luo
96e7d1cf0c
util: Remove the include of windows.h when compiling with MSVC
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7345
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18795 >
2022-10-13 13:51:18 +00:00
Karol Herbst
1c86a5f309
rusticl/kernel: preserve fp16 denorms to fix vload/vstore_half
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19041 >
2022-10-13 13:13:54 +00:00
Yiwei Zhang
5fa7c53631
venus: avoid accessing local var in VN_ADD_EXT_TO_PNEXT_OF
...
This boring refactor:
- makes it consistent for extension name alias
- shortens the line a bit to not further regress line width
- applies macro when possible to be consistent
- removes some redundant empty lines
v2: rebase
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18993 >
2022-10-13 05:35:26 +00:00
Mike Blumenkrantz
ea429b90b7
lavapipe: store compiler options to physical device
...
this minimizes noise in gallium trace
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18867 >
2022-10-13 04:17:28 +00:00
Mike Blumenkrantz
d1acd88c14
zink: prevent ballooning of view object memory
...
if a resource is in use every frame and never goes idle, it becomes
impossible to execute pruning, as there is no tracking for when views
are no longer in use
to avoid eventually ooming in this scenario, add some data to zink_resource_object
which can effectively "queue" pruning of these views if ballooning is
detected at a time when the views are guaranteed to be safe to delete
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19056 >
2022-10-13 03:56:02 +00:00
Mike Blumenkrantz
765debc602
zink: delete view objects when unsetting resource usage in batch reset
...
if the resource has no usage, it's guaranteed to be idle, which means view
objects can be pruned to avoid memory ballooning
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19056 >
2022-10-13 03:56:02 +00:00
Mike Blumenkrantz
43dcdf3365
zink: rework/improve descriptor pool overflow handling on batch reset
...
the existing model for descriptor pools works thusly:
* allocate pool
* when possible, reuse existing pool from overflow array
* when pool is full, append to overflow array
* on batch reset, cycle the overflow arrays to enable reuse
the problem with this is it uses two separate arrays for overflow, and these arrays
are cycled but never consolidated, leading to wasted memory allocations for whichever
array is not currently being recycled
to resolve this, make the following changes to batch resets:
* set the recycle index to whichever overflow array is smaller
* copy the elements from the smaller array to the larger array (consolidate)
* set the number of elements in the smaller array to 0
this leads to always appending to an empty array while the array containing all the
"free" pools is always the one that's available for recycled use
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19053 >
2022-10-13 03:02:59 +00:00
Mike Blumenkrantz
340cfa1001
zink: fix pool overflow handling on batch reset
...
this mechanism worked off the previous iteration of descriptor updating,
in which pools were stored in a set to the batch state and could be iterated
normally
now, however, they're stored as a sparse array, and so the dynarray util for getting
the number of elements cannot be used
instead, use the calculated size for the array like every other accessor for
the pools to ensure correct indexing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19053 >
2022-10-13 03:02:59 +00:00
Mike Blumenkrantz
6c59aeebbf
zink: handle oom better during descriptor updating
...
in the case where a new descriptor pool cannot be allocated naturally:
* iterate free batch states and try to free up memory
* iterate in-use batch states and try to free up memory
* ???
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19053 >
2022-10-13 03:02:59 +00:00
Mike Blumenkrantz
7b88bc5482
zink: move descriptor function up in file
...
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19053 >
2022-10-13 03:02:59 +00:00
Chad Versace
f8f4648cac
venus: Enable Vulkan 1.3
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19046 >
2022-10-12 16:59:21 -07:00
Chad Versace
85a6a2461d
venus: Enable VK_KHR_synchronization2
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19046 >
2022-10-12 16:59:20 -07:00
Chad Versace
58eb3ac666
venus: Refactor vn_command_buffer_builder temp storage
...
Easy refactor. Change the storage type from `VkImageMemoryBarrier *` to
`void *`. Prepares for VK_KHR_synchronization2.
The patch series is cleaner with this refactor. I promise.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19046 >
2022-10-12 16:59:20 -07:00
Chad Versace
7daedd2a30
venus: Add vn_queue_wait_idle_before_present()
...
Trivial refactor.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19046 >
2022-10-12 16:59:20 -07:00
Chad Versace
cc1407df44
venus: Change signature of vn_get_fence_feedback_cmd
...
Trivial refactor.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19046 >
2022-10-12 16:59:20 -07:00
Chad Versace
e469bedb95
venus/queue: Rename some local vars
...
Reduces noise in following patches.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19046 >
2022-10-12 16:59:19 -07:00
Simon Zeni
c71006726e
meson: remove unused EGL_NO_X11 definition
...
Last EGL header update changed the logic for the Xlib header inclusion. Now
the caller has to specify USE_X11 if they want the Xlib definitions.
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18848 >
2022-10-12 19:26:01 +00:00
Simon Zeni
96894e6746
EGL: sync headers with Khronos
...
Since [1], EGL removed the inclusion of the Xlib headers by default.
The logic is now reversed, and the call has to define USE_X11 to include the
Xlib headers instead of EGL_NO_X11_HEADERS to prevent the inclusion.
[1]: 3670d645f4
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18848 >
2022-10-12 19:26:01 +00:00
Simon Zeni
1fc7f0f084
egl: set API symbols public
...
With the latest header update from Khronos, KHRONOS_APICALL (which is then
defined as EGLAPI) is empty, preventing the API symbols to be visible.
This commit adds `PUBLIC` to all the symbols from the EGL API that needs to be
visible.
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18848 >
2022-10-12 19:26:01 +00:00
Simon Zeni
15b931bee7
egl: fix Xlib include in egldisplay.h
...
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18848 >
2022-10-12 19:26:01 +00:00
Brian Paul
0c87909bcf
draw: fix base vertex bug
...
Move the assignment of draw->start_index into the num_draws loop
in draw_pt_arrays() so that it's updated for each primitive we're
drawing. Previously, it was only set once to the 0th primitive's
start index.
This fixes incorrect gl_BaseVertex values when using
vkCmdDrawMultiEXT() with more than one VkMultiDrawInfoEXT item.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19039 >
2022-10-12 18:59:11 +00:00
Brian Paul
4314949277
draw: fix vertex id offset bug
...
The vertex_id_offset value needs to be used both for the elt and
linear cases. As it was, if a long primitive was split, the vertex id
seen in the VS was also getting to reset to zero for each batch of the
split prim's vertices.
This fixes at least five VMware test cases (dx11-dxsdk-FluidCS11,
dx11-amd-TressFX-v1.0, dx10-win7-dxsdk-samples-nbodygravity,
dx10-win7-dxsdk-samples-gpuboids, dx10-wide-points).
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19039 >
2022-10-12 18:59:11 +00:00
Dylan Baker
3395b40b37
intel/genxml: use Path.replace instead of unlink and rename
...
Suggested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:59:15 -07:00
Dylan Baker
ede03c99db
intel/genxml: use a main() function
...
So we have less stuff in the global namespace
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:59:12 -07:00
Dylan Baker
0ac3b6f671
intel/genxml: split the processing code up
...
Instead of crewating output or validating in the process code, just
process, then let main handle the rest
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:59:09 -07:00
Dylan Baker
8c8a1966ab
intel/genxml: reprocess xml with elementree output
...
This makes two relatively small changes, first it addes the encoding to
the xml delcaration, and switches the quote style. Second, it changes
the final newline. These seemed minor enough to not warrent patches to
make the old wrter do the same thing as the new writer.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:59:06 -07:00
Dylan Baker
9a185d78ca
intel/genxml: use ElementTree.write and .indent
...
This removes a bunch of hand-written code, and allows for fewer corner
cases. The resulting code has some minor differences (no empty newlines
and the encoding is declared in the xml declaration)
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:59:03 -07:00
Dylan Baker
b876f4daa9
intel/genxml: re-process with extra whitespace removed
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:59:01 -07:00
Dylan Baker
db8c6590e0
intel/genxml: remove newlines between xml islands
...
When we move to using etree to print this it won't have them, so this
minimizes the diff further.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:58:58 -07:00
Dylan Baker
9acd459bee
intel/genxml: re-process with space before />
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:58:56 -07:00
Dylan Baker
b150b89e61
intel/genxml: write a space before the '/>` closing tag
...
ElementTree.write will do this, and we want to minimize the diff when we
switch from our own writer to the builtin one.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18955 >
2022-10-12 10:58:49 -07:00
Ruijing Dong
c4482a3c1a
radeonsi/vcn: enable multi-slice encoding
...
- enable h264 multiple slice encoding
- enable hevc multiple slice encoding
- enable hevc block size config options.
- enable amp, strong_intra_smmothing,
constrained_intra_pred and deblocking filter
disable config options for hevc encoding.
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18992 >
2022-10-12 13:42:15 +00:00
Ruijing Dong
4bcd5ee5b2
radeonsi/vcn: enable dbk in avc encoding
...
enable deblocking filter in avc encoder.
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18992 >
2022-10-12 13:42:15 +00:00
Ruijing Dong
afc9f48858
frontends/va: add h264 dbk enc parameters
...
Obtain va h264 dbk enc parameters.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18992 >
2022-10-12 13:42:15 +00:00
Ruijing Dong
3d30bf44ce
gallium/pipe/video: add data struct for dbk in avc encoding.
...
add dbk data structure for preparing enabling
avc deblocking filter.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18992 >
2022-10-12 13:42:15 +00:00
Bas Nieuwenhuizen
f00b54bc9e
radv: Rework modification detection of the meta cache.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19047 >
2022-10-12 12:09:48 +02:00
Bas Nieuwenhuizen
8231f7eaa1
radv: Use a VkPipelineCache handle for meta shaders.
...
Prep work for using the common vk caches.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19047 >
2022-10-12 12:09:48 +02:00
Bas Nieuwenhuizen
911455a0d6
radv: Constify entry_size.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19047 >
2022-10-12 12:09:47 +02:00
Samuel Pitoiset
e00ce79003
radv: use SHA1_DIGEST_LENGTH in the pipeline cache
...
Instead of a magic value.
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/19047 >
2022-10-12 12:09:46 +02:00
Samuel Pitoiset
db62b13ddd
radv: move the disk cache to the vk_physical_device struct
...
To be able to use it from the common pipeline cache implementation.
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/19047 >
2022-10-12 12:09:44 +02:00
Konstantin Seurer
3e22f957d5
radv: Remove create_accel_build_shader
...
Unused since every kernel is written in GLSL now.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19006 >
2022-10-12 08:56:05 +02:00
Mike Blumenkrantz
ddc5c30489
zink: handle global and scratch vars
...
also delete cs pushconst since that was for clover and I don't care anymore
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19044 >
2022-10-11 22:33:01 -04:00
Mike Blumenkrantz
19a74229c9
zink: add some bda handling
...
will be useful in the near future
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19044 >
2022-10-11 22:26:00 -04:00
Mike Blumenkrantz
5cf959393c
zink: add a safety assert in descriptor updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19038 >
2022-10-12 00:12:58 +00:00
Mike Blumenkrantz
d13bae858d
zink: move descriptor layout/pool stuff to screen object
...
this already has locks for async gfx precompiles, but compute shaders
can be compiled on one context and bound on another, which means
all the descriptor stuff they allocate has to be portable:
specifically the pool key ids MUST match across contexts
this is trivially achieved by making pool keys into screen objects
fixes #7434
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19038 >
2022-10-12 00:12:58 +00:00
Dylan Baker
20ad1678ab
docs: update calendar and link releases notes for 22.2.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19040 >
2022-10-11 21:30:02 +00:00
Dylan Baker
b860a2b802
docs: Add sha256 sum for 22.2.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19040 >
2022-10-11 21:30:02 +00:00
Dylan Baker
7406a3e89f
docs: add release notes for 22.2.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19040 >
2022-10-11 21:30:02 +00:00
SoroushIMG
69c22dd817
zink: fix isNan mismatch between NIR and SPIR-V
...
SPIR-V and Vulkan allow implementations to optimize
float ops assuming inputs are not NaN unless SignedZeroInfNanPreserve
execution mode is enabled.
This means isnan which is turned to nir_op_fneu(a,a) and then emitted
as SpvOpFUnordNotEqual could potentially be optimised to a const 0.
isnan is special in this approach and therefore recognise this pattern,
and emit SpvOpIsNan instead of enabling SignedZeroInfNanPreserve which
will hurt performace of some vulkan drivers.
Fixes dEQP-GL45-ES31.functional.shaders.builtin_functions.common.isnan.*
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18910 >
2022-10-11 20:51:48 +00:00
SoroushIMG
a730b1bb0a
zink: stop enabling minmax filtering when not supported
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18910 >
2022-10-11 20:51:48 +00:00
SoroushIMG
b87c08b3bf
zink: fix invalid Offset set for variables which do not need an offset
...
Offset decoration in spirv is unsigned and it does not have a notion of an invalid offset.
Unlike NIR which set -1 for invlaid offset. This translates to invalid spirv being produced.
Instead, just don't emit an Offset decoration.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18910 >
2022-10-11 20:51:48 +00:00
Konstantin Seurer
6eadd6d169
radv/rra: Calculate bvh size requirements recursively
...
Gets rid of the assumption, that every internal node has the same size.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
e4283d857b
radv/rra: Handle box16 nodes
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
7754f208ce
radv: Use half floats for box16 coords
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
266f0ae948
radv: Add radv_bvh_node_box16
...
Adds the last useful node type. The different triangle types can be
derived by addition.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Konstantin Seurer
5f859f805b
radv: Rename node_internal to node_box32
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19017 >
2022-10-11 20:27:24 +00:00
Brian Paul
da856af2c9
draw: s/start_or_maxelt/start/ in llvm VS code
...
Per the now removed comment, the maxelt part of start_or_maxelt was
not used. Rename to start to avoid confusion.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
4c73a503e3
draw: move vs_slot var in tgsi/llvm_fetch_gs_input()
...
Move the decl to where it's first used. Remove the unneeded increment.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
717572e5be
draw: fix some const-correctness in draw_vbo()
...
There's no need to cast away const for use_info and draw_info. There
might have been a reason in the past.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
0a809fca61
draw: make draw_geometry_shader_run() return void
...
The return value was always zero and unused.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
8d8683ab1d
draw: replace double conditional expression with if/else
...
This is a bit more verbose, but quicker to grok, IMHO.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
645a3d24a1
draw: asst. clean-ups in draw_pt_fetch_shade_pipeline_llvm.c
...
Also rename vid_base to vertex_id_offset to match code elsewhere.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
baee3c62f7
draw: asst. clean-ups in draw_private.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
bfaed9dd63
draw: clean-up count assignment in draw_pt_arrays()
...
count was initialized to draw_info[i].count but then re-assigned a few
lines later. Remove the original assignment. Move the var decl.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
e4552632aa
draw: asst. clean-ups in draw_pt.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
529707d4ef
draw: asst. clean-ups in draw_split_tmp.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
39a42c48e3
draw: asst. clean-ups in draw_pt_vsplit_tmp.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
0a340419cb
draw: asst. clean-ups in draw_pipe.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
f83e284543
draw: asst. clean-ups in draw_prim_assembler.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
8613316a31
draw: asst. clean-ups in draw_gs.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:37 +00:00
Brian Paul
490f7a14f6
draw: asst. clean-ups in draw_cliptest_tmp.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
0d27e3b917
draw: asst. clean-ups in draw_llvm.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
4e6a32219b
draw: asst. clean-ups in draw_pipe_aapoint.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
6af739bb9e
draw: asst. clean-ups in draw_pt_so_emit.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
9daf8531e5
draw: asst. clean-ups in draw_vertex.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
3ac0b2115c
draw: asst. clean-ups in draw_pipe_wide_point.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
07e2ecd0cf
draw: asst. clean-ups in draw_pipe_wide_line.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
0a31e24d22
draw: asst. clean-ups in draw_pipe_util.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
8a3b365b92
draw: asst. clean-ups in draw_pipe_user_cull.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
7488f0fe27
draw: asst. clean-ups in draw_pipe_unfilled.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
49705deb67
draw: asst. clean-ups in draw_pipe_twoside.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
aa2eabbc2d
draw: asst. clean-ups in draw_pipe_pstipple.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
3c1cba7038
draw: asst. clean-ups in draw_pipe_offset.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
d654164041
draw: asst. clean-ups in draw_pipe_flatshade.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
ff329ac1e0
draw: asst. clean-ups in draw_pipe_clip.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
230584fed5
draw: asst. clean-ups in draw_pipe_cull.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
b813bab889
draw: asst. clean-ups in draw_pt_post_vs.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
6f1b99ab06
draw: asst. clean-ups in draw_pt_fetch.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
da2932c634
draw: asst. clean-ups in draw_pipe.h
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
67ee7ddfb7
draw: remove unused draw_has_llvm()
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
7178d30a52
draw: remove goto in llvm_pipeline_generic()
...
Just use an else clause.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
f058873832
draw: asst. clean-ups in draw_vs.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
c5ddbc6ba7
draw: asst. clean-ups in draw_vs_variant.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
327742c2c9
draw: asst. clean-ups in draw_vs_llvm.c
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Brian Paul
32218eabdb
draw: asst. clean-ups in draw_context.[ch]
...
Fix whitespace/formatting for consistency. Move var decls to where
they're first used, etc.
Signed-off-by: Brian Paul <brianp@vmware.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19024 >
2022-10-11 20:04:36 +00:00
Bas Nieuwenhuizen
243aa6b2ec
radv: Consider inactive internal nodes never in the tree.
...
Since the parent doesn't know to signal it.
Fixes: e83e4fafc8 ("radv: Only emit parents from parents that actually end up in the tree.")
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19033 >
2022-10-11 19:33:46 +00:00
Emma Anholt
8721323100
turnip: Add perf debug for more UBWC-disable cases that we could support.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18990 >
2022-10-11 19:10:18 +00:00
Emma Anholt
c425b7342e
turnip: Add perf_debug for UBWC being disabled due to mutable formats.
...
I suspect this is going to be a popular perf issue for zink and angle. I
keep having to print out format lists for debug.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18990 >
2022-10-11 19:10:18 +00:00
Emma Anholt
29488c4183
turnip: Move the ubwc_possible check before mutable formats.
...
I'm going to add some perf debug about mutable formats, and I don't want
to warn when UBWC would be impossible anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18990 >
2022-10-11 19:10:18 +00:00
Emma Anholt
4fe3330765
turnip: Add a perf_debug for feedback-related performance traps.
...
This can show up in layering drivers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18990 >
2022-10-11 19:10:18 +00:00
Emma Anholt
3c278c3f71
zink: Decorate mediump outputs as RelaxedPrecision.
...
The NIR lowering for mediump can sometimes detect stores of 16-bit values
and demote the outputs, but even better is to have them decorated properly
in the first place. Fixes a bunch of full-precision outputs in gfxbench
Aztec Ruins.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18960 >
2022-10-11 18:22:16 +00:00
Emma Anholt
2592749679
zink: Fix RelaxedPrecision decoration of texture samples.
...
You can't do it unless GL called the sampler mediump. Also, the spirv
says "For image-sampling operations, decorations can appear on both the
sampling instruction and the image variable being sampled. If either is
decorated, they both should be decorated, and if both are decorated their
decorations must match. If only one is decorated, the sampling instruction
can behave either as if both were decorated or neither were decorated." so
emit it on the declaration too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18960 >
2022-10-11 18:22:16 +00:00
Emma Anholt
f5f5fed7e2
ci/zink: Add some more flakes for turnip.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18960 >
2022-10-11 18:22:16 +00:00
Bas Nieuwenhuizen
66664b8d7c
radv: Implement pipeline-wide skiptriangles/skipaabbs.
...
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19030 >
2022-10-11 18:03:23 +00:00
Samuel Pitoiset
65dd53ca97
radv: always re-emit patch control points when a pipeline with tess is bound
...
We already re-emit this state when it's static. It could be dirtied
conditionally but the number of parameters to check is not worth it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7457
Fixes: eef1511437 ("radv: implement dynamic patch control points")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19021 >
2022-10-11 17:21:56 +00:00
Mike Blumenkrantz
3c9771b434
zink: add ZINK_DEBUG=shaderdb
...
this should enable shader-db support with zink
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18961 >
2022-10-11 17:02:14 +00:00
Mike Blumenkrantz
41ffb15de5
zink: implement async gfx precompile
...
the pipe_context::link_shader hook is called when shaders are
linked into a program by the application
by leveraging this, it becomes possible to utilize the existing
graphics pipeline library to implement precompilation
by creating a partial pipeline containing only the shader stages
and then adding in the vertex input and fragment output stages
dynamically using the fast-link feature
if all goes well, and if the vulkan driver's fast-linking is
truly fast, the full pipeline should be dynamically combined
in time to avoid stuttering, and an optimized variant will be
queued for async compile to be used the next time the pipeline
triggers a draw
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18961 >
2022-10-11 17:02:14 +00:00
Mike Blumenkrantz
aed4e716d0
zink: change zink_gfx_program::last_pipeline -> struct zink_gfx_pipeline_cache_entry
...
this ensures that the latest version of the pipeline pointer in the cache
entry will always be used
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18961 >
2022-10-11 17:02:14 +00:00
Mike Blumenkrantz
b54929ac27
zink: gfx_pipeline_cache_entry -> zink_gfx_pipeline_cache_entry
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18961 >
2022-10-11 17:02:14 +00:00
Mike Blumenkrantz
b38cb40fdb
zink: allow creating full pipelines unoptimized
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18961 >
2022-10-11 17:02:14 +00:00
Tapani Pälli
13c422e1b2
anv: toggle on EXT_extended_dynamic_state3
...
This enabled the extension and toggles on supported features.
v2: set false to non-supported features (Lionel)
add dynamic sample mask (Tapani)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:05 +00:00
Tapani Pälli
9f6af43743
anv: dynamic multisample sample mask
...
This affects following packets:
3DSTATE_SAMPLE_MASK
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:05 +00:00
Tapani Pälli
8e0377dcf3
anv: dynamic color blend equation
...
This affects following packets:
BLEND_STATE_ENTRY
3DSTATE_PS_BLEND
v2: move vk_to_intel_blend and vk_to_intel_blend_op,
remove ps_blend merge (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:05 +00:00
Tapani Pälli
fc3fd7c69e
anv: dynamic color write mask
...
This affects following packets:
3DSTATE_BLEND_STATE_POINTERS
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:05 +00:00
Tapani Pälli
0b75376e4d
anv: dynamic provoking vertex mode
...
This affects following packets:
3DSTATE_CLIP
3DSTATE_SF
3DSTATE_STREAMOUT
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:05 +00:00
Tapani Pälli
1a8209218e
anv: dynamic states for depth clip and clamp
...
This change implements 3 states in one go:
- depth clamp enable
- depth clip enable
- depth clip negative one to one
This affects following packets:
3DSTATE_CLIP
3DSTATE_VIEWPORT_STATE_POINTERS_CC
3DSTATE_RASTER
v2: remove clip enable bit check from viewport emit (Lionel)
v3: use helper function from runtime to get depth clip (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
ba645f1623
anv: dynamic alpha to one enable
...
This affects following packets:
BLEND_STATE
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
9dc6bed9a1
anv: dynamic state for logic op enable
...
This affects following packets:
3DSTATE_PS_BLEND
3DSTATE_BLEND_STATE_POINTERS
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
ad2e80ee53
anv: dynamic line rasterization mode
...
This affects following packets:
3DSTATE_RASTER
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
fe5a259723
anv: dynamic line stipple enable
...
This affects following packets:
3DSTATE_WM
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
0a6d0fed9d
anv: dynamic rasterization stream
...
This affects following packets:
3DSTATE_STREAMOUT
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
0f33d7061b
anv: dynamic state for tessellation domain origin
...
This affects following packets:
3DSTATE_TE
v2: remove render target check, move cmd_emit_te and
stop merging it, cleanups (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
cc0ada2d67
anv: dynamic state for polygon mode
...
Remove 'polygon_mode' from pipeline and read it from
dynamic state instead.
This affects following packets:
3DSTATE_CLIP
3DSTATE_RASTER
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Timur Kristóf
6586afd6d2
ac/nir/tess: Remove jump from tess factor writes.
...
When the output patch size <= 32 we can be sure regardless
of wave size that each wave will take this branch, therefore
the jump can be removed.
Fossil DB stats on Navi 21:
Totals from 1385 (1.03% of 134906) affected shaders:
CodeSize: 2664436 -> 2658896 (-0.21%)
Instrs: 488618 -> 487233 (-0.28%)
Latency: 2290157 -> 2289199 (-0.04%)
InvThroughput: 898658 -> 898364 (-0.03%)
Branches: 6554 -> 5169 (-21.13%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-By: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17921 >
2022-10-11 15:42:54 +00:00
Timur Kristóf
892c15af64
ac/nir/ngg: Remove jumps from some branches where we know LGKMCNT==0.
...
The GPU can skip LDS instructions when LGKMCNT==0, and for these
branches this should be always faster than a jump.
Fossil DB stats on Navi 21:
Totals from 60918 (45.16% of 134906) affected shaders:
CodeSize: 158624792 -> 157893776 (-0.46%)
Instrs: 30234254 -> 30051500 (-0.60%)
Latency: 139521675 -> 139434597 (-0.06%); split: -0.06%, +0.00%
InvThroughput: 21184146 -> 21183653 (-0.00%); split: -0.00%, +0.00%
Branches: 1115134 -> 932380 (-16.39%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-By: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17921 >
2022-10-11 15:42:54 +00:00
Timur Kristóf
d8639b7a80
aco: Allow explicitly removing jumps on GFX10+ when beneficial.
...
"Removing jumps" in ACO means skipping the jump instruction
at the beginning of a divergent branch (but still modify exec).
ACO already supports implicitly removing jumps when it decides
that executing a branch with empty exec mask is more beneficial
than a jump.
This commit adds the possibility to use this explicitly
through nir_selection_control. ACO will respect this
setting and remove the branch instructions when this is specified,
unless it decides that this would cause bugs (eg. exp instruction).
There are two cases that benefit from the new change:
1. When the application requests to "flatten" a branch (ie.
remove control flow), we now respect that.
2. When the compiler stack determines that a divergent branch
is always taken.
v2 by Georg Lehmann: fixed applying sel_ctrl to else blocks
Fossil DB stats on Navi 21:
Totals from 13 (0.01% of 134906) affected shaders:
CodeSize: 136616 -> 136496 (-0.09%)
Instrs: 26196 -> 26166 (-0.11%)
Latency: 417928 -> 417889 (-0.01%)
Branches: 1241 -> 1211 (-2.42%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-By: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17921 >
2022-10-11 15:42:54 +00:00
Georg Lehmann
00a8be3414
nir: Print nir_selection_control_divergent_always_taken.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17921 >
2022-10-11 15:42:54 +00:00
Timur Kristóf
c0d0a7c176
nir: Add selection control enum for always taken divergent branches.
...
The new enum is called nir_selection_control_divergent_always_taken,
and it's almost the same as nir_selection_control_flatten.
The main difference between the two is that "flatten" represents
a choice made by the application but "divergent_always_taken" may
be applied by the compiler stack when it thinks this is beneficial.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-By: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17921 >
2022-10-11 15:42:54 +00:00
Timur Kristóf
a2ec843727
nir: Document the flatten/dont_flatten selection control options.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-By: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17921 >
2022-10-11 15:42:53 +00:00
Sil Vilerino
ea6e69bb2b
d3d12: Fix get_index7bits - Reuse previously freed indices
...
Some apps do not always reuse resources contiguously and we need to search for a previous free index/slot
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18944 >
2022-10-11 15:15:11 +00:00
Sil Vilerino
c8e8ce8359
d3d12: Add VP9 Decode support
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18944 >
2022-10-11 15:15:11 +00:00
Sil Vilerino
bb86bcad71
frontends/va: Add VP9 decode ref/mode_deltas information
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18944 >
2022-10-11 15:15:11 +00:00
Sil Vilerino
baad2575ae
frontends/va: Add VP9 decode multi slice information
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18944 >
2022-10-11 15:15:11 +00:00
Ruijing Dong
4df54d97e8
frontends/va: fix av1 decoding image distortion issue
...
problem:
when not using qmatrix, the qm_y, qm_u and qm_v value is set to 0,
which signals av1 decoder to use qmatix and causes confussion.
solution:
when not using qmatrix, set these values to 0xf.
fixed: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5632
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19002 >
2022-10-11 14:59:49 +00:00
Rohan Garg
c0c243f1cb
anv, iris: Disable pre fetching the binding table entries on DG2
...
On DG2 the HW will fetch the binding entries into the cache
for every single thread when a compute walker is dispatched,
wiping out the advantages of the cache prefetch.
The spec also advises to not do a cache prefetch when we have more than
31 binding table entries, but most real world applications will never
hit that limit.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18498 >
2022-10-11 15:16:09 +02:00
Samuel Pitoiset
d91c3bde8c
radv: fix and rework shaders upload with GPL
...
For fast-linking, we really want to upload the binaries directly in
a library to avoid creating and uploading at pipeline creation time.
To achieve that, add a radeon_winsys_bo pointer to radv_shader in
order to indicate that a shader is already uploaded. When a lib is
imported, the pipeline slab BO is also incremented to make sure it's
not freed when the lib is destroyed.
This also allows to free binaries right after they are uploaded.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18860 >
2022-10-11 10:06:53 +00:00
Mike Blumenkrantz
4b6b3f18f2
vk/graphics_state: don't set default sample locations if rast samples is dynamic
...
dynamic rasterization samples got added late, and I forgot to update this
Fixes: 1deb83fb86 ("vulkan: Add more dynamic multisample states")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18896 >
2022-10-11 06:58:19 +00:00
Timothy Arceri
ca0c429d32
radv: add radv_zero_vram workarounds for OpenGL games
...
These are needed if the games are running on radv via zink.
Tested with "7 Days to Die"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6449
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19031 >
2022-10-11 06:36:59 +00:00
Kenneth Graunke
346994265a
iris: Add miplevel parameters to iris_resource_texture_aux_usage
...
Sometimes we only access a subset of a texture's miplevels, for example
when peforming GenerateMipmaps(). We want to be able to look for the
aux state being ISL_AUX_STATE_PASS_THROUGH for only the relevant
miplevels, rather than all of them, when deciding whether to bypass aux.
Avoids another occurrence of issues with reading via aux while in
passthrough state (see issue #6558 ), fixing misrendering in Chrome
and Electron apps while resizing the window to be smaller (#7272 ).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7272
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com > [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19028 >
2022-10-11 04:46:17 +00:00
Tapani Pälli
21740580ce
mesa: mark debug variables with ASSERTED
...
To clean up compilation warnings about unused variables
when asserts are disabled.
v2: UNUSED -> ASSERTED (Eric Engestrom)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19016 >
2022-10-11 04:14:30 +00:00
Tapani Pälli
b62d1c257e
anv: mark debug variables with ASSERTED
...
To clean up compilation warnings about unused variables
when asserts are disabled.
v2: UNUSED -> ASSERTED (Eric Engestrom)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19016 >
2022-10-11 04:14:30 +00:00
Tapani Pälli
c9c9a5b78d
intel/fs: mark debug variables with ASSERTED
...
To clean up compilation warnings about unused variables
when asserts are disabled.
v2: UNUSED -> ASSERTED (Eric Engestrom)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19016 >
2022-10-11 04:14:30 +00:00
Bas Nieuwenhuizen
30ce1676fe
radv: Properly annotate all the invalid node usage.
...
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
a8abdc0d89
radv: Add traversal backtracking with a short stack.
...
So we can now work with arbitrarily deep BVHs.
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
251bba2fa0
radv: Split global & local bvh node variable.
...
Need the local id later for follow up work.
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
e83e4fafc8
radv: Only emit parents from parents that actually end up in the tree.
...
Otherwise the wrong parent link might be set.
This kinda relies on waves being launched in order which tends to
be the case on AMD. To avoid the busy-wait loop waiting on stuff
from the same subgroup we do the actual processing in the body of
the loop. This can have performance implications but mostly in the
case we'd otherwise deadlock, so meh.
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
4ce1b9b2ff
radv: Generate parent links in BVH.
...
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
1e2c95ac1f
radv: Start the BVH after the header.
...
First usage of the offset field, Can put more in it in the follow
up.
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
48ab1adda5
radv: Simplify buffer copy address generation.
...
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
f1e1509c92
radv: Add a field for the offset of the bvh in the blas.
...
So that we can put some metadata in front.
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Bas Nieuwenhuizen
b0a385a6bd
radv: Clean up unused fields in BVH IR.
...
Reviewed-By: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18799 >
2022-10-10 23:35:25 +00:00
Connor Abbott
9b1087ca7c
tu: Add compute shader instrlen workaround
...
It's a bit unfortunate that this doesn't match any blob workaround that
we know of, but it seems to be necessary.
Closes : #5892
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19023 >
2022-10-10 21:04:18 +00:00
Connor Abbott
0dd60610dc
freedreno: Add LABEL flush
...
This seems like a debug thing, but the blob also seems to use it for
workarounds where an event is required but no actual work needs to be
done. For example CP_REG_WRITE uses it for various workarounds.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19023 >
2022-10-10 21:04:18 +00:00
Danylo Piliaiev
a1c372cd84
tu: Reset whether there is DS resolve for dynamic subpass
...
Otherwise we use old invalid value.
Relevant CTS tests:
dEQP-VK.pipeline.monolithic.multisample.misc.dynamic_rendering.multi_renderpass.r8g8b8a8_unorm_r16g16b16a16_sfloat_r16g16b16a16_*
Fixes: ed125e6cca
("tu: Initial support for dynamic rendering")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18999 >
2022-10-10 20:45:51 +00:00
Jason Ekstrand
e4473c8f7a
iris: Set SamplerCount in shader packets
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18670 >
2022-10-10 20:23:01 +00:00
Karol Herbst
46143ffd63
iris: bump IRIS_MAX_GLOBAL_BINDINGS to 128
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18670 >
2022-10-10 20:23:01 +00:00
Karol Herbst
f9c4dc3508
iris: speed up walking global bindings
...
we can break on the first NULL resource as frontends always bind
contingous lists of resources without any gaps.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18670 >
2022-10-10 20:23:01 +00:00
Karol Herbst
3ae84ea225
iris: use images_used instead of num_images
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18670 >
2022-10-10 20:23:01 +00:00
Lionel Landwerlin
1e29a1a8c5
anv: add grl build dependency on entrypoints
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7446
Fixes: f3ddfd81b4 ("anv: Build BVHs on the GPU with GRL")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19007 >
2022-10-10 19:14:07 +00:00
Danylo Piliaiev
4eba6d71a8
tu: Lazily init VSC to fix dynamic rendering in secondary cmdbufs
...
Dynamic renderpasses need vsc_prim_strm_pitch, vsc_draw_strm_pitch
values, and a correct BO. The easiest way to solve this is to
lazily init VSC when it is needed, and not at every cmdbuf
initialization.
Fixes CTS tests (when running with TU_DEBUG=gmem,forcebin):
dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18996 >
2022-10-10 18:31:15 +00:00
Danylo Piliaiev
e70a2148e5
tu: Do not DCE unused output vars used for transform feedback
...
Fixes CTS tests:
dEQP-VK.transform_feedback.simple.multiquery_omit_write_1
dEQP-VK.transform_feedback.simple.multiquery_omit_write_3
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19020 >
2022-10-10 18:12:04 +00:00
Rob Clark
f6098fb4f5
gallium/u_threaded: Add optional call-id tracing
...
If enabled, use a scoped trace to see where calls happen on frontend vs
where they are pushed down to driver. This is much lighter weight than
printf based tracing, but would still be an extra few instructions even
if perfetto tracing isn't active, so it is not enabled by default.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18927 >
2022-10-10 17:47:21 +00:00
Rob Clark
81925e2cc7
gallium/u_threaded: Add some atrace/perfetto
...
Use the MESA_TRACE_BEGIN/END() macros which will generate perfetto
traces (if perfetto is enabled) otherwise atrace (if android build), in
either case creating track events which will show up on the frontend
thread in a perfetto trace, giving visibility into where syncs happen.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18927 >
2022-10-10 17:47:21 +00:00
Thomas Debesse
6d5921c623
nv50: call nir_lower_flrp
...
Fix #7432 : unknown nir_op flrp assertion
This copy-pastes src/gallium/drivers/radeonsi/si_shader_nir.c
The lower_flrp16 value differs given chipset >= NVISA_GV100_CHIPSET.
Signed-off-by: Thomas Debesse <dev@illwieckz.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19003 >
2022-10-10 17:22:49 +00:00
pal1000
ed2743eae5
clc/clover: Link clang statically when shared-llvm is disabled
...
Makes things easier to handle when aiming for a static build
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18117 >
2022-10-10 12:20:30 +00:00
Erik Faye-Lund
55f6a2bb51
gallium: normalized_coords -> unnormalized_coords
...
A lot of code zero-initializes pipe_sampler_state, and sets the states
the non-zero fields manually. This means that normalized_coords is the
"default" setting.
However, setting normalized_coords to true isn't allways allowed, and
we'd need to check PIPE_CAP_TEXRECT first. So it's not really the ideal
default here. There's recently been found quite a bit of bugs in this
area, where the state-tracker didn't properly lower texrects.
Let's switch this around to avoid more bugs like this in the future.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18971 >
2022-10-10 10:20:02 +00:00
Filip Gawin
4e7b9aaa06
r300: don't use smooth line if not requested
...
Makes these tests passing:
dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide,UnexpectedPass
dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide,UnexpectedPass
dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide,UnexpectedPass
dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide,UnexpectedPass
dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide,UnexpectedPass
dEQP-GLES2.functional.rasterization.primitives.line_loop,UnexpectedPass
dEQP-GLES2.functional.rasterization.primitives.line_strip,UnexpectedPass
dEQP-GLES2.functional.rasterization.primitives.lines,UnexpectedPass
dEQP-GLES2.functional.rasterization.primitives.lines_wide,UnexpectedPass
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18979 >
2022-10-10 06:08:28 +00:00
Timothy Arceri
98944b327b
util/radeonsi: enable zerovram workaround for Exanima
...
The issue is very intermittent and can sometimes work fine
without the workaround but turning it on seems to resolve
any issues.
Issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6449
Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18935 >
2022-10-10 11:19:26 +11:00
Timothy Arceri
3200b5c46b
util/conf: enable init to zero workaround for Exanima
...
Fixes rendering issues on llvmpipe.
Issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6449
Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18935 >
2022-10-10 11:16:22 +11:00
Lionel Landwerlin
091b5b08d4
pps: enable track_event in intel.cfg
...
Take the opportunity to prune some ftraces that are not that useful
and fill the buffer pretty fast.
Record time is bumped to 1.2s
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18930 >
2022-10-09 22:39:53 +03:00
Konstantin Seurer
e68adf19bc
radv/rra: Transcode nodes recursively
...
Instead of relying on a certain BVH layout, this patch traverses the BVH
from the root node which gets rid of any layout requirements.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18967 >
2022-10-09 17:39:31 +00:00
David Heidelberg
0c6c30d211
ci: uprev DXVK to 1.10.3
...
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18888 >
2022-10-08 16:36:36 -05:00
Rob Clark
27aa172012
isaspec: Fix out of date comment
...
Assembler support has existed for a long time.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18926 >
2022-10-08 14:25:29 +00:00
Rob Clark
c0cdc148f4
freedreno: Add perf-debug trace
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18926 >
2022-10-08 14:25:29 +00:00
Rob Clark
f6f72b5629
freedreno/drm: Don't call kernel with no ops
...
When called with FD_BO_PREP_FLUSH as the only op bit set, the intention
is to only sync with the submit-queue.. we shouldn't be calling down to
the kernel (where op==0 gets interpreted as MSM_PREP_READ).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18926 >
2022-10-08 14:25:29 +00:00
Rob Clark
6dcc524035
freedreno: Use TC cpu-storage to shadow buffers
...
We still use the shadow path for non-buffer updates, where TC isn't
playing any tricks. But for correctness we need to use the cpu-
storage approach, instead of buffer shadowing, otherwise we can race
with the frontend thread for PIPE_MAP_UNSYNCHRONIZED access.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7262
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18926 >
2022-10-08 14:25:28 +00:00
Thomas Debesse
3aa76e6a05
r600: info.stage MESA_SHADER_KERNEL as MESA_SHADER_COMPUTE
...
Fixes:
src/gallium/drivers/r600/sfn/sfn_nir.cpp:832: int r600_shader_from_nir(r600_context*, r600_pipe_shader*, r600_shader_key*): Assertion `shader' failed.
karolherbst said:
> long term r600 should implement PIPE_CAP_SHAREABLE_SHADERS
Signed-off-by: Thomas Debesse <dev@illwieckz.net >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18963 >
2022-10-08 11:44:52 +00:00
Thomas Debesse
98cace5224
r600: set clear_buffer = u_default_clear_buffer
...
Fixes:
thread '<unnamed>' panicked at 'Context missing features. This should never happen!', ../src/gallium/frontends/rusticl/mesa/pipe/context.rs:44:13
Signed-off-by: Thomas Debesse <dev@illwieckz.net >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18962 >
2022-10-08 11:36:41 +00:00
Konstantin Seurer
505dd284c1
radv: Remove main_loop_case_visited
...
Totals from 7 (14.00% of 50) affected shaders:
CodeSize: 219168 -> 216732 (-1.11%)
Instrs: 40211 -> 40040 (-0.43%)
Latency: 963520 -> 961498 (-0.21%)
InvThroughput: 221435 -> 220974 (-0.21%)
Copies: 5634 -> 5562 (-1.28%)
PreSGPRs: 387 -> 380 (-1.81%)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18929 >
2022-10-08 09:44:50 +00:00
Konstantin Seurer
d4345ec4d2
radv: Use cache_uuid for accel struct compatibility
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18938 >
2022-10-08 09:23:55 +00:00
Dave Airlie
12efb83ae8
gallivm/sample: refactor multisample offset calcs code.
...
Just consoldiate this
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18264 >
2022-10-08 09:56:50 +10:00
Dave Airlie
b4f132b2dd
gallivm/nir: drop some unused struct members.
...
These weren't used in the nir paths.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18264 >
2022-10-08 09:56:46 +10:00
Dave Airlie
c457e1f0e4
gallivm/sample: move some first_level/last_level calcs out
...
There were a fair few instances of first/level dynamic state getting,
these could be moved up a level or two and made more common.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18264 >
2022-10-08 09:56:18 +10:00
Daniel Stone
3052d30dc2
CI: Re-enable Collabora devices
...
Friday maintenance is done.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18998 >
2022-10-07 18:38:45 +00:00
Erik Faye-Lund
b666c203ee
gallium/u_threaded_context: remove stale comment
...
We're now using PIPE_SHADER_MAX_SAMPLER_VIEWS, so this advice is
outdated.
Fixes: 620c5e9dd0 ("gallium/u_threaded_context: Use PIPE_MAX_SHADER_SAMPLER_VIEWS for sampler_buffers")
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18973 >
2022-10-07 17:06:58 +00:00
Sathishkumar S
12acee17fa
frontends/va: reallocate surface for yuv400/yuv444 picture
...
reallocate the surface appropriately based on the mjpeg sampling factor
v2:
use macros for mjpeg sampling factors (Ruijing Dong)
indentation fix (Thong Thai)
v3:
add comments to mention workaround of reallocation (Boyuan Zhang)
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18914 >
2022-10-07 15:14:39 +00:00
James Zhu
3e2f7905a6
radeonsi/vcn: enable jpeg decode of yuv444 and yuv400
...
v2: set third plane offset only for 3 plane formats (Boyuan Zhang)
Signed-off-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18914 >
2022-10-07 15:14:39 +00:00
Sathishkumar S
6b933676cc
frontends/va: support yuv 400/444 rt_formats in vaconfig
...
check if vaprofile supports decode of yuv400 and yuv444 formats
and enable the corresponding rt_formats in vaconfig.
v2: use config->entrypoint as param instead of BITSTREAM (Sil Vilerino)
Signed-off-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18914 >
2022-10-07 15:14:39 +00:00
James Zhu
d2c0ff1caf
frontends/va: add support for yuv400 and yuv444
...
v2: indentation fixes (Saleem)
Signed-off-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18914 >
2022-10-07 15:14:39 +00:00
James Zhu
9055ab9de3
util/format: add util format y8_400_unorm
...
Signed-off-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18914 >
2022-10-07 15:14:39 +00:00
Rajnesh Kanwal
791f187405
pvr: Add vulkan shader factory headers for Query and clear APIs.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18976 >
2022-10-07 14:23:05 +00:00
Rajnesh Kanwal
0923de04ba
pvr: Split pds compute shader create and upload code for reuse.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18976 >
2022-10-07 14:23:05 +00:00
Rajnesh Kanwal
b8d9afe75c
pvr: Remove double error reporting.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18976 >
2022-10-07 14:23:05 +00:00
Rajnesh Kanwal
b03e73a024
pvr: Fix allocation size passed in pvr_cmd_buffer_alloc_mem.
...
pvr_cmd_buffer_alloc_mem takes size in bytes. This change
fixes the invocations which assume it to be size in dwords.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18976 >
2022-10-07 14:23:05 +00:00
Rajnesh Kanwal
0b694c2eb3
pvr: Fix heap type of availability_buffer allocation.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18976 >
2022-10-07 14:23:05 +00:00
Rajnesh Kanwal
c229916e38
pvr: Update buffer type macro names for consistency.
...
Also changing struct pvr_descriptor_program_input to
struct pvr_pds_descriptor_program_input for consistency with
other similar structs defined in pvr_pds.h.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18976 >
2022-10-07 14:23:05 +00:00
Simon Zeni
9e84fc73be
mesa: unlock texture on error path in glEGLImageTargetTexStorageEXT
...
The texture mutex was not properly unlocked on error path, leading to deadlocks
Fixes: 6a3f5c65 ("mesa: simplify st_egl_image binding process for texture storage")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7422
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18964 >
2022-10-07 09:52:31 -04:00
Diogo Ivo
941c70a28a
nouveau: treat DRM_FORMAT_INVALID as implicit modifier
...
Failing to allocate resources when DRM_FORMAT_INVALID
is passed as a modifier breaks tegra. Change this behaviour
so that this modifier is instead interpreted as a don't care,
allowing for the driver to choose an appropriate modifier internally.
v2: change nouveau instead of tegra (Thierry Rieding)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6693
Fixes: 129d83cac2 ("nouveau: Use format modifiers in buffer allocation")
Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt >
Reviewed-by: Thierry Reding <treding@nvidia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18649 >
2022-10-07 13:35:52 +00:00
Gert Wollny
5cd3e39503
r600/sfn: Make sure all components are usable when lowering TF inputs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
a34003d472
r600/sfn: Always enforce LDS operation order
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
6b767f83c3
r600/sfn: Unroll loops after doing some optimizations
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
3290978053
r600/sfn: assert on use of abs modifier in op3
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
e840645bb7
r600/sfn:explicitly initialize the memory pool
...
This reduces the overhead of checking with each allocation
whether the pool is already initialized.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
04aea1c0ba
r600/sfn: Use the correct allocator for loop lists
...
This fixes a memory leak.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
4b7ae72c46
r600/sfn: Fix typo
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
5bdbbe5399
r600/sfn: Delete final lowered nir shader early
...
Since this is no longer needed we can as well free the
memory right away instead of waiting until the parent
shader is freed.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
47bd2b7afc
r600/sfn: Add peephole optimization for kill instructions
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
6de40d17ba
r600/sfn: don't propagate registers into conditional test
...
We don't check whether the register is overwritten between the actual
conditional test and the test of the used result, so don't try to
optimize the evaluation of the conditional.
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
99b7a12ec1
r600/sfn: Always start a new CF after a KILL instruction
...
Docu says:
Ensure that the KILL* instruction is the last instruction
in an ALU clause, because the remaining instructions executed
in the clause do not reflect the updated valid state after
the kill operation.
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Gert Wollny
82b22e7fb9
r600/sfn: Only run 64 bit ops lowering passes when really needed
...
If the shader doesn't do 64 bit then there is no need to run these
lowering passes.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983 >
2022-10-07 11:33:57 +02:00
Lucas Stach
ed3caf4866
etnaviv: pass shader key by reference
...
The shader key has grown substancially since the introduction of the
shadow sampler lowering to the point where passing it by value when
looking for the right variant matching the current state is showing
up in the CPU profiles. Pass the key by reference to get rid of this
overhead.
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/18968 >
2022-10-07 08:36:31 +00:00
Lucas Stach
a1af7ae96a
etnaviv: slim down etna_shader_key
...
The max number of exposed fragment samplers and views on any hardware is 16,
so there is no point in having arrays of 128 entries to track information
for the shadow sampler lowering in the shader key. Most of them will never
be used. Reduce the size of the arrays to what is actually necessary and add
a assert to make sure the sampler (view) limit isn't bumped without a
matching change in the shader key.
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/18968 >
2022-10-07 08:36:31 +00:00
Lionel Landwerlin
1964899c28
intel: add INTEL_DEBUG=capture-all to capture everything upon hang
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18977 >
2022-10-07 07:45:22 +00:00
Jason Ekstrand
650880105e
vulkan,lavapipe: Use a tri-state enum for depth clip enable
...
This should make it a lot more clear how depth clip enables work.
Annoyingly, because of the way they originally worked in Vulkan 1.0,
it's dependent on the depth clamp if the state isn't set in the pipeline
and isn't declared dynamic. The enum is explicitly set up so that
drivers don't need to be aware of this change unless they already
implement VK_EXT_extended_dynamic_state3. If depth clamp/clamp are not
dynamic, depth clip will be either TRUE or FALSE which map to 1/0 so the
field can still be treated as a boolean.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18889 >
2022-10-07 06:22:32 +00:00
Pavel Ondračka
0d3bc8c5b9
r300: be more careful when pair merging with presubtract
...
and when some argument reads both from rgb and apha. We would fail to
properly rewrite the sources in such case.
Consider the following instructions:
2: src0.xyz = const[3], src1.xyz = temp[6], srcp.xyz = (src1 - src0)
CMP temp[8].x, src0.0__, src0.1__, srcp.x__
...
5: src0.xyz = const[1], src0.w = const[1]
MAX temp[10].xy, |src0.xz_|, |src0.yw_|
We can merge them together into pair like
2: src0.xyz = const[3], src1.xyz = temp[6], src2.xyz = const[1], src2.w = const[1], srcp.xyz = (src1 - src0)
MAX temp[10].xy, |src2.xz_|, |src2.yw_|
CMP temp[8].w, src0.0, src0.1, srcp.x
However the current code fails to do so properly and we end with this:
2: src0.xyz = const[3], src0.w = const[1], src1.xyz = temp[6], src2.xyz = const[1], srcp.xyz = (src1 - src0)
MAX temp[10].xy, |src2.xz_|, |src2.yw_|
CMP temp[8].w, src0.0, src0.1, srcp.x
where the src2.w is undefined.
Just check for the the case where the arguments reads both from rgb and
alpha and bail out from the merge.
Fixes the following dEQPs:
dEQP-GLES2.functional.uniform_api.random.47
dEQP-GLES2.functional.uniform_api.value.initial.render.array_in_struct.float_vec4_both
dEQP-GLES2.functional.uniform_api.value.initial.render.basic_array.vec4_both
Only a minor change in shader-db with RV530:
total instructions in shared programs: 180847 -> 180864 (<.01%)
instructions in affected programs: 3178 -> 3195 (0.53%)
helped: 2
HURT: 16
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18991 >
2022-10-07 05:40:00 +00:00
Daniel Stone
bd74a6fc18
CI: Collabora farm down for maintenance
...
We have major maintenance planned tomorrow, so let's just disable LAVA
until it comes back.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18987 >
2022-10-07 03:36:39 +00:00
Christian Gmeiner
1ebd3fb3ad
ci/etnaviv: add GC7000 support
...
Will be used in combination with Nitrogen8M boards.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13691 >
2022-10-06 07:30:34 +02:00
Christian Gmeiner
37cddadf29
ci/bare-metal: introduce BM_MKBOOT_PARAMS
...
Make it possible to provide per device mkimage.py params.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13691 >
2022-10-06 07:30:34 +02:00
Christian Gmeiner
13c6d7e97d
ci: switch to mkbootimg.py
...
On ARM64 appending the dtb does not work with U-Boot and fastbooting
with such an image failes like:
## Booting Android Image at 0x40480000 ...
Kernel load addr 0x00000000 size 30514 KiB
Kernel command line: ip=dhcp console=ttymxc0,115200n8 root=/dev/nfs rw nfsrootdebug init=/init nfsroot=10.10.10.17:/mnt/disks/testing-nfs-root/gc7000-00,vers=3,tcp
RAM disk load addr 0x00000000 size 1 KiB
Error: header_version must be >= 2 to get dtb
Loading Kernel Image
"Error" handler, esr 0xbf000002
elr: 000000004029ce70 lr : 000000004029cf0c (reloc)
elr: 00000000be59ae70 lr : 00000000be59af0c
x0 : 0000000000100000 x1 : 0000000040580800
x2 : 0000000000010000 x3 : 00000000000020c0
x4 : f9402063f9400463 x5 : 0000000000000000
x6 : 0000000000100000 x7 : 0000000006000000
x8 : 00000000b64f1488 x9 : 0000000000000008
x10: 00000000b651c450 x11: 00000000b653df68
x12: 0000000000000000 x13: 0000000000000200
x14: 0000000000000000 x15: 0000000000000020
x16: 00000000be55acc8 x17: 0000000000004530
x18: 00000000b64fddc0 x19: 0000000000100000
x20: 0000000040580800 x21: 0000000001ccc4af
x22: 0000000000010000 x23: 0000000000010000
x24: 0000000040480800 x25: 00000000b64f15c8
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000040480800 x29: 00000000b64f1470
Code: d65f03c0 f8636824 f8236804 91002063 (cb030044)
Resetting CPU ...
resetting ...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13691 >
2022-10-06 07:30:34 +02:00
Christian Gmeiner
1cba34d8d5
ci: include etnaviv support in ARM64 container
...
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13691 >
2022-10-06 07:30:32 +02:00
Timur Kristóf
df3fdbdeb5
aco: Fix build error with std::max on GCC 12
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18969 >
2022-10-05 20:22:04 +00:00
Timur Kristóf
3ca8402ec7
ac/nir/ngg: Fix cross-invocation indices and cull outputs.
...
The layout calculation accidentally thought these would be
stored in variables, but that's not the case.
Fixes: 697ea02202
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18846 >
2022-10-05 19:47:25 +00:00
Brian Paul
458fc9ce81
cso: asst. clean-ups in cso_context.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18954 >
2022-10-05 19:03:27 +00:00
Brian Paul
faf8398893
cso: asst. clean-ups in cso_cache.[ch]
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18954 >
2022-10-05 19:03:27 +00:00
Brian Paul
eaa93d7177
cso: use util_bitcount
...
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18954 >
2022-10-05 19:03:27 +00:00
Brian Paul
983e06af2b
cso: asst. clean-ups in cso_hash.[ch]
...
Consistent whitespace, move var decls to first use, add some const
qualifiers, etc.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18954 >
2022-10-05 19:03:27 +00:00
Iván Briano
406a1854d0
vulkan_hasvk: set READ/WRITE_WITHOUT_FORMAT for buffer views
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18958 >
2022-10-05 09:45:57 -07:00
Iván Briano
b75fbfdd46
anv: set READ/WRITE_WITHOUT_FORMAT for buffer views
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18958 >
2022-10-05 09:45:50 -07:00
Alyssa Rosenzweig
847361ba07
panfrost: Remove load_kernel_input path
...
Now the state tracker's responsible to lower away for us (and the state tracker
can do it correctly, our implementation is incorrect with a strict reading of
the Gallium contract).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18658 >
2022-10-05 16:09:21 +00:00
Alyssa Rosenzweig
deb3810f1e
agx: Remove load_kernel_input path
...
Unused and now won't be used.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18658 >
2022-10-05 16:09:21 +00:00
Brian Paul
6dcad8a13b
lavapipe: zero-init sampler objects
...
The cso code hashes these as a block of bytes. This silences some
Valgrind uninitialized memory warnings and possibly avoids creating
some redundant sampler instances.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18953 >
2022-10-05 14:55:57 +00:00
Brian Paul
2aac8ef125
lavapipe: remove continue statements in emit_state() to be more consistent
...
Rejig some dirty state checks to avoid continue and make it consistent
with surrounding code.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18953 >
2022-10-05 14:55:57 +00:00
Emma Anholt
77515d722b
zink: Map ETC1 to ETC2 to avoid uncompressing in the frontend.
...
Maybe the frontend should map for us in this case, but it's easy enough
here: ETC2 is an extension to use undefined states from ETC1, and is
backwards compatible.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18957 >
2022-10-05 14:35:11 +00:00
Emma Anholt
061914ad83
zink: Enable ASTC texture format translation.
...
Without this, the frontend would decompress them for us without even the
kindness of a perf debug warning.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18957 >
2022-10-05 14:35:11 +00:00
SoroushIMG
44894ba8b1
zink: enable native ETC2 if vk driver supports it
...
There is a 1-to-1 mapping from pipe to vk formats for ETC2.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18957 >
2022-10-05 14:35:11 +00:00
Emma Anholt
270ea2ac7e
zink: Skip border color clamping for compressed formats.
...
You won't have a non-void channel for block formats, because "how many
bits are there in the red channel" doesn't even make sense.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18957 >
2022-10-05 14:35:11 +00:00
Emma Anholt
da04bbe586
ci/zink: Clear stale xfails for turnip.
...
The linked MR landed and fixed them.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18957 >
2022-10-05 14:35:11 +00:00
Alejandro Tafalla
afe4b534b5
freedreno: Fix graphic glitches on a4xx and a5xx
...
Like on adreno 3xx, hw binning and scissor optimizations don't work correctly
together on a4xx and a5xx GPUs.
Disable binning as a workaround if scissor optimizations are being used.
Fixes: f68c6951b8 8efaae3e19
Signed-off-by: Alejandro Tafalla <atafalla@dnyon.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18925 >
2022-10-05 13:04:07 +00:00
Lionel Landwerlin
1d32bcdcb2
iris: better error message with GuC loading failures
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18952 >
2022-10-05 12:37:48 +00:00
Jeremy Rand
537176181e
llvmpipe: bump LP_MAX_THREADS to 32
...
On my ppc64le machine with 32 hardware threads, this speeds up OpenArena
(1920x1200) from 7.2 fps to 8.1 fps.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18415 >
2022-10-04 22:59:12 +00:00
Yiwei Zhang
0a06db8fb9
ci/venus: enable render server for venus testing
...
Render server config will soon become a mandatory requirement for venus.
v2: updated DEBIAN_BASE_TAG and KERNEL_ROOTFS_TAG
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reveiwed-by: Ryan Neph <ryanneph@google.com > (v1)
Reveiwed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com > (v1)
Reviewed-by: Corentin Noël <corentin.noel@collabora.com > (v2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18918 >
2022-10-04 21:41:48 +00:00
Emma Anholt
dadb29cf2e
turnip: Don't use the dynamic color write enable during non-dynamic.
...
We have the correct merged color write enable state as a local var here,
use that instead of the zero cmd->state.color_write_enable. Fixes
blending in many traces with ANGLE on turnip. In the process of fixing,
clarify the logic a little bit.
Fixes: 169e03800d ("tu: Implement VK_EXT_color_write_enable")
Fixes : #7328
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18956 >
2022-10-04 20:50:51 +00:00
Dave Airlie
6f27bf2504
gallivm: remove legacy pointer_get apis
...
These are no longer used.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947 >
2022-10-05 06:20:42 +10:00
Dave Airlie
0c86524590
gallivm/sample: use retrieved types to do opaque pointer loads.
...
This uses the types to do the loads using opaque ptr interfaces.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947 >
2022-10-05 06:20:37 +10:00
Dave Airlie
1a9889ae12
draw/llvmpipe: add way to return pointer types to generic code.
...
Some of the generic code tries to load from things it has no
types for, mip offsets, row and image strides.
Fix the interfaces to allow returning types for these.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947 >
2022-10-05 06:20:20 +10:00
Dave Airlie
02c675b196
draw/llvmpipe: move texture/sampler/image member load to opaque.
...
This removes the non-opaque paths from the draw/lp sampling code.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947 >
2022-10-05 06:20:14 +10:00
Dave Airlie
9fe8e5ccf7
gallivm/llvmpipe: add opaque pointers support to sampler
...
This adds explicit context types wiring through the sampler code
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947 >
2022-10-05 06:20:11 +10:00
Dave Airlie
3d242c0447
llvmpipe/tests: port to new pointer interfaces.
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947 >
2022-10-05 06:19:50 +10:00
José Roberto de Souza
0066e60fc4
anv: Split the debug part of anv_queue_exec_locked()
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
bc384e24f0
anv: Use Vulkan types for priority as much as possible
...
Continuing the work to split i915_drm.h specific code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
f5a58b8886
anv: Split i915 specific parts of anv_queue_submit_simple_batch()
...
This will make easier to spot more places where the code can
simplified after the hasvk split.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
35ed40f356
anv: Move fetch of i915 physical device parameters
...
Move everything that depends on i915_drm.h to its own function,
in a future MR will move the parameters that are also needed by
Iris to intel_device_info.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
a17783b066
intel/dev: Split i915 specific parts of intel_get_device_info_from_fd()
...
Continuing the work to split i915_drm.h specific code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
03b959286e
intel: Make engine related functions and types not i915 dependent
...
There is too much i915_drm.h code spread, this patch start to fix that
by re-organizing engine related code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
Yiwei Zhang
24bc3b7644
docs: move VK_EXT_extended_dynamic_state3 out from 1.3
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18941 >
2022-10-04 18:08:11 +00:00
Connor Abbott
68f3c38c80
tu: Implement extendedDynamicState2PatchControlPoints
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18773 >
2022-10-04 15:39:43 +00:00
Connor Abbott
1bd3d28050
tu: DS primitive stride does not use patch control points
...
Previously we would use patch control points if there was no GS, but
it wasn't immediately obvious that this driver param is unused if there
is no GS. Make it output 0 instead, making it clear that we can emit it
even if we don't know the patch control points. This change in the
cmdstream is split out from the next commit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18773 >
2022-10-04 15:39:43 +00:00
Connor Abbott
042c135a99
tu: Fix param_stride placement
...
Even though it's tessellation-related, it's set based on the
tessellation variant which is only known after linking. The param stride
may change due to LTO if fast linking is not used.
Fixes: e9f5de11d4 ("tu: Initial implementation of VK_EXT_graphics_pipeline_library")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18773 >
2022-10-04 15:39:43 +00:00
Simon Zeni
998122d9c2
mesa: fix GL_INVALID_OPERATION in glEGLImageTargetTexStorageEXT
...
Using EGLImages from DMA-BUF as target storage should return
GL_INVALID_OPERATION if the target is not GL_TEXTURE_2D or
GL_TEXTURE_EXTERNAL_OES.
Fixes: 6a3f5c65 ("mesa: simplify st_egl_image binding process for texture storage")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18939
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18939 >
2022-10-04 14:44:57 +00:00
Connor Abbott
66b9c05bb9
ir3: Add missing cat5 encoding to asm parser
...
We were missing the case where there is a sampler and texture but the
texture offset is encoded in a1.x.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18840 >
2022-10-04 14:00:50 +00:00
Connor Abbott
dcab399a17
ir3/analyze_ubo_ranges: Account for reserved consts better
...
It turns out that the ir3_setup_const_state() already includes reserved
consts, so we were accidentally counting it twice. This makes us use
less consts, and if there are enough reserved consts can make it go
negative and wrap around. Fix this while also making sure the previous
bug remains fixed.
Fixes: 8cb1deded6 ("ir3/analyze_ubo_ranges: Account for reserved consts")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18840 >
2022-10-04 14:00:50 +00:00
Connor Abbott
c58d633dd2
ir3: Move fixup_regfootprint() to ir3_collect_info()
...
This fixes the case where fixup_regfootprint() adds to the reg footprint
but it isn't accounted for when determining whether we should double
threadsize in ir3_collect_info(). This would produce a hang on a650 and
above where we have a reg footprint of 33 and doubled threadsize.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18840 >
2022-10-04 14:00:50 +00:00
Connor Abbott
7d1b8c8ab2
ir3: Delete outputs from fixup_regfootprint()
...
We weren't considering the number of components, which means that we
would overestimate the output size, which could result in nonsensical
things like a reg footprint of larger than r48.x. In addition, in some
cases we can force double regsize which would go badly if this
miscalculated the reg footprint, although currently this only happens
with compute shaders where there are no outputs. It's not actually
necessary anyway, because any output must come from an input or
something in the shader - this is how RA works. Just delete it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18840 >
2022-10-04 14:00:50 +00:00
Alejandro Piñeiro
34a390569d
v3dv/pipeline: use a array instead of individual pointer to stages
...
Before this commit we were using individual pointers to each pipeline
stage struct. We did that instead of an array because we needed to had
a pointer for the binner stages too, and at that time we didn't have a
enum to handle those stages.
Since then we introduced broadcom_shader_stage, and started to use in
a lot of places (and per-stage arrays) so we can now use an array.
The main advantage is being able to handle several cases as
loops. This also adds some consistency to the code (because as
mentioned, in a lot of other places we use an array).
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18943 >
2022-10-04 12:01:44 +00:00
Georg Lehmann
cc06b7e00d
aco: Use s_pack_ll for s_bfe operand on GFX9+.
...
Foz-DB Navi21:
Totals from 1 (0.00% of 134913) affected shaders:
CodeSize: 340 -> 336 (-1.18%)
Instrs: 77 -> 76 (-1.30%)
Latency: 1065 -> 1063 (-0.19%)
InvThroughput: 4260 -> 4252 (-0.19%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18936 >
2022-10-04 11:39:13 +00:00
Tapani Pälli
1cf1a94f97
intel: revert preemption disable via VFG changes
...
This register will not be whitelisted and this change will be
done in kernel instead.
This change reverts commits d5d4604a , ddcd6b38 , 27c5b93d .
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18897 >
2022-10-04 10:38:49 +00:00
Gert Wollny
9ebe893a61
nir_lower_to_source_mods: Don't sneek in an abs modifier from parent
...
If the abs source modifiers is not supported for the current
instruction because it is an instruction with three sources we
may still see a parent mov that has the `abs` modifier. In this
case we must not propagate that abs modifier from that parent
instructions.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7350
Fixes: cd73b6174b
nir/lower_to_source_mods: Stop turning add, sat, and neg into mov
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18902 >
2022-10-04 08:36:57 +02:00
Dave Airlie
8945375b80
vulkan: update beta and video headers to 1.3.230
...
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18945 >
2022-10-04 11:15:47 +10:00
Dave Airlie
fbe7b6f6a2
gallium/tgsi: handle temps/outputs array.
...
The old code used GetElementType on a pointer, to pick a path,
I cant find a test to hit the second path, so just hardcode it
for now.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
4a0394f54a
gallivm/tgsi: port tgsi to explicit types.
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
d728355f60
draw: handle primid for tess being a different pointer type
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
bbc1fe6585
draw: fix gs/tes explicit pointer handling
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
4ac29d1b4b
llvmpipe/fs/linear: port to explicit pointers.
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
28afc22179
gallivm/llvmpipe: hand sample position type in for loading.
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
270668f7b1
gallivm/sample: move border color load to explicit pointers
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
61b2d2e0a8
gallivm/nir: fixup atomic path for explicit pointers.
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Dave Airlie
09d4eb92e8
gallivm/nir: move to explicit pointer interfaces.
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18932 >
2022-10-03 22:42:07 +00:00
Yiwei Zhang
e577bb18c8
docs: update venus extension support
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18940 >
2022-10-03 19:32:28 +00:00
Yiwei Zhang
1048eaffd5
venus: move vendor ext to bottom and sort the ext list
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18940 >
2022-10-03 19:31:23 +00:00
Konstantin Seurer
7485660d12
radv: Fix incorrect build info indexing
...
Fixes: 8666b1f ("radv: Build acceleration structures using BVH IR")
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18928 >
2022-10-03 18:23:39 +00:00
Emma Anholt
0ae3eb834d
ci/iris: Update iris traces checksums.
...
The previous commits in this MR caused a minor rendering change for
Unvanquished.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
Emma Anholt
24607ce7d3
glsl: Remove lower_vec_index_to_swizzle.
...
GLSL's lower_vector_derefs already does this, and even if it didn't
nir_vector_extract() would when glsl-to-nir happens.
No effect on freedreno shader-db.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
Emma Anholt
a2a6995352
glsl: remove opt_structure_splitting.
...
nir_lower_vars_to_ssa will split temp structs up anyway. This fixes a bug
where mediump wouldn't be propagated to the split vars.
The effect is tiny, I think just shuffling some code scheduling from
optimizing at different places. Affects Natural Selection 2, Serious Sam
3, 3dmark slingshot, and Lego Legacy.
freedreno shader-db:
total instructions in shared programs: 11315637 -> 11315993 (<.01%)
instructions in affected programs: 24861 -> 25217 (1.43%)
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
Emma Anholt
a19c0ce9b2
glsl: Remove opt_array_splitting.
...
nir_lower_vars_to_ssa will split temp arrays up anyway. Fixes a bug where
split arrays wouldn't get their precision qualifier.
Helps mostly Android and skia shaders. Also affects Civ5, Witcher 2, and
Borderlands 2.
freedreno shader-db:
total instructions in shared programs: 11319395 -> 11319355 (<.01%)
instructions in affected programs: 65744 -> 65704 (-0.06%)
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
Emma Anholt
f862f9112f
glsl: Remove do_set_program_inouts.
...
No longer used since 214c774ba6 ("mesa/st: Remove st_glsl_to_tgsi.").
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
Emma Anholt
e5248fb53e
glsl: Remove lower_output_reads.
...
No longer used since 214c774ba6 ("mesa/st: Remove st_glsl_to_tgsi.").
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
Emma Anholt
594b638d4f
nir/vars_to_ssa: Always do OOB load/store removal.
...
We elminated OOB loads while renaming vars to SSA. However, if the OOB
load only appeared after some other passes had constant folded, there may
be no renaming work to do, at which point we'd leave the OOB load deref
around without renaming it or deleting it. For vc4, this was quite a
surprise and caused a regression when we stop eliminating some OOB
accesses at the GLSL level.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
Ruijing Dong
ba64f45124
d3d12: Updating refactored fields in pipe_h264_enc_picture_desc
...
Updating accesses to refactored fields in pipe_h264_enc_picture_desc
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:27 +00:00
Ruijing Dong
e568d5d073
radeonsi/vcn: support aspect ratio and vui timing info
...
add aspect ratio and vui timing info into vui
for both avc/hevc encoder.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:27 +00:00
Ruijing Dong
00be1a4928
frontends/va: add aspect ratio and vui timing info
...
add aspect ratio and vui timing info to va interface
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:27 +00:00
Ruijing Dong
3ed4e8c956
radeonsi/vcn: use avc seq paramters
...
- use avc seq parameters
- clean up pipe_264_enc_picture_desc structure
- clean up get_param function
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:26 +00:00
Ruijing Dong
b4eb10e4ca
frontends/va: apply avc seq parameters
...
using avc seq parameters
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:26 +00:00
Ruijing Dong
566d95ce14
frontends/omx: apply avc seq parameters
...
change omx according to avc seq parameters
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:26 +00:00
Ruijing Dong
47e2e15c24
radeonsi/vce: apply avc seq parameters
...
just apply avc seq parameters
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:26 +00:00
Ruijing Dong
8432ed4b28
gallium/pipe/video: group avc encoder seq structure
...
Prepare for using new seq structure
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18877 >
2022-10-03 16:45:26 +00:00
Emma Anholt
6c38797101
nir/nir_opt_copy_prop_vars: Don't leak dynarray memory during the pass.
...
It was swept at the end, but it meant that in shaders with lots of copies
available at the start of lots of if statements, you'd blow up memory
usage.
turnip memory consumption on dEQP-VK.ssbo.layout.random.scalar.75 drops
from 1.4GB to 110MB, and runtime from 19s to 17s.
Fixes : #7361
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18891 >
2022-10-03 15:33:21 +00:00
José Roberto de Souza
1e87834980
intel: Share code to read render timestamp
...
Timestamp read is not in any hot path so there is no down-sides in
share the same function between iris, crocus, anv and hasvk.
Also while at it also dropping the functions to read MMIO from kernel,
the only use is read render timestamp so we don't need it.
v2:
- fix compilaton of ds
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18920 >
2022-10-03 06:26:50 -07:00
Rajnesh Kanwal
3047195c62
pvr: Implement vkCmdExecuteCommands API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18871 >
2022-10-03 16:30:51 +05:00
Rajnesh Kanwal
39ace3a0e6
pvr: Add support to copy a control stream to another control stream.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18871 >
2022-10-03 16:30:51 +05:00
Rajnesh Kanwal
ea2f4cbecb
pvr: Reserve space for vdm state for deferred secondary buffer.
...
For secondary buffer we need to emit additional vdm state along
with additional ppp state words to provide depthbias and scissor
indexes. These are indexes into depthbias and scissor tables.
In vkCmdExecuteCommands we append secondary buffer tables to primary
buffer tables, so the depthbias and scissor indexes change and
need fixing. This is why we need to emit these separatly.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18871 >
2022-10-03 16:30:51 +05:00
Rajnesh Kanwal
100456a516
pvr: Create deferred control stream for secondary command buffers.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18871 >
2022-10-03 16:30:51 +05:00
Rajnesh Kanwal
1420d196f7
pvr: Add support for PVR_CMD_STREAM_TYPE_GRAPHICS_DEFERRED stream.
...
This adds support for PVR_CMD_STREAM_TYPE_GRAPHICS_DEFERRED type control
stream. The main difference is that this is backed by host memory.
This is mainly needed for secondary command buffers allocated with
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT. In this case we need
to copy secondary command buffer's control stream over to primary
stream in vkCmdExecuteCommands.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18871 >
2022-10-03 16:30:51 +05:00
Rajnesh Kanwal
7494a977a2
pvr: Fix check in pvr_cmd_uses_deferred_cs_cmds.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18871 >
2022-10-03 16:30:51 +05:00
Rajnesh Kanwal
be1142a1a3
pvr: Add pvr_csb_emit_link function to support secondary buffer links.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18871 >
2022-10-03 16:30:51 +05:00
Pavel Ondračka
d1dbf6fe7e
r300: fix reader detection with breaks
...
We were previously ignoring the breaks completelly. This patch
is heavily based on analysis and draft patch from Filip Gawin.
It mostly mirrors the current behavior for ENDIF with minor
differences. If the reader is in a branch leading directly to BRK,
we set the AbortOnRead mask as when encountering ENDIF but jump to
the ENDLOOP. If the reader was before the branch, we save the
AbortOnRead mask as if in normal branch handling and restore it
at the end of the loop.
Besides the single dEQP fix, this also fixes one more dEQP and few
piglits when the loop unrolling is disabled.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7249
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18900 >
2022-10-03 08:49:37 +02:00
Pavel Ondračka
ff933485b7
Revert "r300: be less agresive with copy propagate in loops"
...
This reverts commit 2bdffe7eb2 .
This solution was mostly a workaround to fix the copy propagation.
A (hopefully) proper fix to the reader detection is in the next commit.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18900 >
2022-10-03 08:49:24 +02:00
Dylan Baker
1f0a0a46d9
meson: run genxml sort tests
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
3f0da1bbfa
intel/genxml: run gen_sort_tags on all of the xml
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
106da29196
intel/genxml: add a validation mode to gen_sort_tags
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
1386fd6a7b
intel/genxml: add 'nonzero' to gen_sort_tags
...
which was added in ebe2a2b5f6 .
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
92857fd5c9
intel/genxml: don't overwrite the input of gen_sort_tags in place
...
otherwise we can be left with garbage
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
c0aeeb93a8
intel/genxml: remove unused variable in gen_sort_tags.py
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
27d89a673d
intel/genxml: use a not in {x, y} instead of a != x or a != y
...
It's faster, less code, and more idiomatic
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
4fd2e15855
intel/genxml: add type annotations to gen_sort_tags.py
...
let static analysis help us out
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
3f9fe21988
intel/genxml: don't use parens with python assert statement
...
assert is a statement in python, not a function. Useing parens with it
leads to madness, because assert takes two arguments in the form `assert
expression: bool, message: str`. With parens though it's tempting to
write `assert(expression, message)`, which results in an assert that is
*always* true, because a non-empty tuple (which is what is written) is
*never* false.
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
f286451ada
intel/genxml: use a set for lookups
...
Python will pre-compute the set since it's const, and the performance of
a set search is significantly better than that of a list search
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
e04ece53d7
intel/genxml: use a single pattern for res
...
regex is expensive, do less of it.
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Eric Engestrom
7e1f0e3d98
docs/release-calendar: add 22.3 schedule
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18756 >
2022-10-01 17:09:31 +00:00
Caio Oliveira
6cda887ac6
intel/compiler: Explicitly include build-id when linking intel_clc
...
Ensure that the program will have a build-id.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18924 >
2022-10-01 16:42:07 +00:00
Karol Herbst
3246889fb0
radeonsi: stop vectorizing unpack_32_2x16_split
...
nir_to_llvm can't deal with them being vectors.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802 >
2022-10-01 13:36:46 +00:00
Karol Herbst
876ea2f83b
ac/llvm: fix load_ubo for vectors with more than 4 elements
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802 >
2022-10-01 13:36:46 +00:00
Karol Herbst
70d375100c
ac/llvm: fix load/store_shared for vectors with more than 4 elements
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802 >
2022-10-01 13:36:46 +00:00
Karol Herbst
6eb3226b71
ac/llvm: fix load_const for vectors with more than 4 elements
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802 >
2022-10-01 13:36:46 +00:00
Karol Herbst
d6d39920a0
ac/llvm: support non 32 bit sized workgroup ids
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802 >
2022-10-01 13:36:46 +00:00
Karol Herbst
8e6faa34e1
rusticl/kernel: assign locations before passing the nir to drivers
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802 >
2022-10-01 13:36:46 +00:00
Karol Herbst
3811834eb1
rusticl: limit global mem to 2GB
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18802 >
2022-10-01 13:36:46 +00:00
Martin Roukala (né Peres)
bb91117204
ci/b2c: add support for the new format of CI_RUNNER_TAGS
...
Seems like Gitlab did not follow their own documentation:
```
CI_RUNNER_TAGS 8.10 0.5 A comma-separated list of the runner tags.
```
But it would seem like a gitlab update brought json-style lists which
broke:
```
CI_RUNNER_TAGS = '["keywords-gateway", "CI-gateway"]'
```
This commit adds support for both style.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: John Brooks <john@fastquake.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18923 >
2022-10-01 12:53:08 +00:00
Karol Herbst
bd9d276485
rusticl/mem: align fill pattern buffer to 4 bytes
...
drivers might treat it as a uint32_t* buffer.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18853 >
2022-10-01 12:27:19 +00:00
Caio Oliveira
988c45ae12
spirv: Enable OpEmitMeshTasksEXT workaround for Clay Shader Compiler
...
Clay Shader Compiler is the SPIR-V generator used by GravityMark benchmark.
Fixes #7368 .
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18894 >
2022-10-01 03:59:20 +00:00
Karol Herbst
df84c89d96
rusticl/mem: fix image OOB checks
...
The CL API puts the array layer on the height, where gallium puts it on
the depth. This is taken into account everywhere else, except for API
validation.
Fixes: 8b9a5adf8b ("rusticl/mem: return errors for OOB accesses")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18852 >
2022-10-01 03:43:10 +00:00
Mike Blumenkrantz
1af804d554
delete graw tests
...
These seem abandoned and they make interfaces changes less easy.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18705 >
2022-10-01 03:17:33 +00:00
Mike Blumenkrantz
4b0f28d706
delete rbug
...
These seem abandoned and they make interfaces changes less easy.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18705 >
2022-10-01 03:17:33 +00:00
Mike Blumenkrantz
8cc766d8f7
remove xvmc
...
These seem abandoned and they make interfaces changes less easy.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18705 >
2022-10-01 03:17:33 +00:00
Mike Blumenkrantz
0b81ff0193
zink: set depth clamp
...
this is correct according to spec
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
2d6fa1dcdf
zink: define zink_pipeline_dynamic_state3 as zink_rasterizer_hw_state
...
this ensures the structs are kept in sync
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
50a7ac1bb2
zink: reenable GPL
...
this is now functional again
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
11c4d79709
zink: use an extra pipeline state bit to track coherent fbfetch usage for gpl outputs
...
bringing parity to non-gpl codepath
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
617ee2855b
zink: don't deref prog->shaders during pipeline construction
...
this may or may not be valid depending on (upcoming) threading changes,
and the nir pointers are all readily available
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
9b76fc4033
zink: reorder zink_destroy_gfx_program()
...
this ensures that pipeline cache entries are freed before shaders
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
f63944f694
zink: move binding_map to hw_state part of vertex state
...
this is used when dynamic states aren't used
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
dd9e5fea20
zink: add param to disable optimization when combining pipeline libraries
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
203daf97c6
zink: require optimal_keys for GPL
...
this is pointless otherwise
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
53a5291803
zink: set VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
c4dc3adff2
zink: further compress zink_gfx_output_key lookups
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
764e800886
zink: compress zink_gfx_output_key members
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
4c228f00a2
zink: don't access prog->shaders array during pipeline compile
...
this may or may not have valid data
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18911 >
2022-10-01 02:18:39 +00:00
Mike Blumenkrantz
e7ede96f3f
zink: add tgl ci skip
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18921 >
2022-10-01 01:55:26 +00:00
Dawn Han
23f5936ec6
venus: Update mutable descriptor struct type
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18766 >
2022-10-01 00:50:15 +00:00
Dawn Han
0737ad8f86
venus: support the promoted VK_EXT_mutable_descriptor_type
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18766 >
2022-10-01 00:50:15 +00:00
Roland Scheidegger
0dec967ca9
gallivm: remove dead cube map lod calculation code
...
Since commit d413fd0219 ("gallivm: Always take the per-pixel LOD path
for cubemaps.") the special cube rho code was not used anymore.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18892 >
2022-10-01 00:27:19 +00:00
Bas Nieuwenhuizen
0e6d44d14f
vulkan/wsi/x11: Fix double free of modifiers.
...
Breaks radv when modifiers are used.
Fixes: 8775f08bf1 ("vulkan/wsi/x11: Configure images via params passed to wsi_swapchain_init()")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7386
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7398
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-By: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18919 >
2022-09-30 23:39:25 +00:00
Mike Blumenkrantz
a5b8466e4a
zink: use more dynamic state3 when available
...
this is an all-or-nothing type of thing, where either all the blend/ms
states are available or they aren't
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18890 >
2022-09-30 23:17:25 +00:00
Mike Blumenkrantz
c7f46d2ad6
zink: use dynamic state3 rasterization states when available
...
this massively reduces the number of pipelines required
also temporarily disable GPL until a few more patches land since something's
weird and broken
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18890 >
2022-09-30 23:17:25 +00:00
Mike Blumenkrantz
57f966ed1e
lavapipe: improve blend handling on pipeline binds
...
* use renderpass info for independent blend
* only reset blend state if no color attachments
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18913 >
2022-09-30 21:20:03 +00:00
Rhys Perry
7e54fea373
aco: fix assembler.gfx11.vinterp test
...
This was missed. I guess CI doesn't have a recent enough LLVM for these
tests.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
Rhys Perry
4544490df0
aco: limit hard clauses to 63 instructions
...
See https://reviews.llvm.org/D127391
fossil-db (gfx1100):
Totals from 4 (0.00% of 161689) affected shaders:
Latency: 24545 -> 24539 (-0.02%)
InvThroughput: 102867 -> 102835 (-0.03%)
fossil-db (navi10):
Totals from 4 (0.00% of 161220) affected shaders:
Latency: 25969 -> 25959 (-0.04%)
InvThroughput: 112917 -> 112869 (-0.04%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
Rhys Perry
a406b36d30
aco/gfx11: update form_hard_clauses
...
See https://reviews.llvm.org/D127391
fossil-db (gfx1100):
Totals from 116 (0.07% of 161689) affected shaders:
Instrs: 124719 -> 124664 (-0.04%); split: -0.06%, +0.02%
CodeSize: 731660 -> 731440 (-0.03%); split: -0.04%, +0.01%
Latency: 2771695 -> 2771671 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 1050309 -> 1050312 (+0.00%)
VClause: 3731 -> 3779 (+1.29%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
Rhys Perry
2930317cea
aco/gfx11: deallocate VGPRs at the end of the shader
...
fossil-db (gfx1100):
Totals from 65987 (40.81% of 161689) affected shaders:
Instrs: 57123207 -> 57199947 (+0.13%)
CodeSize: 308402500 -> 308709460 (+0.10%)
Latency: 680527139 -> 680527160 (+0.00%)
InvThroughput: 131620026 -> 131620045 (+0.00%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
Rhys Perry
6407d783ea
aco: update sendmsg enum from LLVM
...
Add GFX11 enums and some new ones that apparently existed before.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
Rhys Perry
7cecc81683
aco/gfx11: fix s_waitcnt printing
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
Rhys Perry
7b21af3f51
aco: improve wait_imm unpack
...
Add GFX11 support and use wait_imm::unset_counter. Looping in the waitcnt
pass was probably broken on GFX11 because of this.
fossil-db (gfx1100):
Totals from 899 (0.56% of 161689) affected shaders:
Instrs: 1319368 -> 1319179 (-0.01%)
CodeSize: 7124640 -> 7123884 (-0.01%)
Latency: 26554304 -> 26404606 (-0.56%)
InvThroughput: 9032485 -> 8978773 (-0.59%); split: -0.59%, +0.00%
No navi10 fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
Rhys Perry
39a6067635
aco/gfx11: swap ds_cmpst_* data operands
...
According to an LLVM comment, these are swapped in GFX11.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17710 >
2022-09-30 20:57:02 +00:00
SoroushIMG
6ac3f9d64e
zink: enable loop unrolling for loops that have soft fp64
...
The info that a loop contains fp64 ops is lost after full
software lowering.
Therefore, specifically unroll these loops in zink instead of
in vulkan, where the blown up body is no longer unrolled.
This helps a lot in KHR-Single-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
SoroushIMG
1e8e785a07
nir: allow to fine tune unrolling for loops with soft fp64 ops
...
Lowered fp64 ops can blow up the loop bodies while still being
suitable for unrolling.
Allow for using different parameters to unroll loops with
soft fp64.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
SoroushIMG
121f30005f
nir: track whether a loop contains soft fp64 ops
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
SoroushIMG
bcbcc25602
zink: fix spirv temp func variable class emission
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
SoroushIMG
d2e2b9bb80
zink: fix nir_op_unpack_64_2x32 emission
...
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
SoroushIMG
d20c82b785
zink: lower 64bit pack when float64 not supported
...
SPIRV ops for 64bit pack/unpack require float64 cap.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
SoroushIMG
e7afa9cddf
zink: optimise lower_64bit_vars for when int64 is supported
...
There are vulkan drivers that support Int64 but not Float64.
Optimise the 64bit lowering by converting doubles to uint64,
but keep matrix lowerig to float as glsl int64 matrices do
not exist.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
SoroushIMG
5a831be1ac
zink: lower 64bit vars for drivers without float64
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863 >
2022-09-30 17:07:37 +00:00
Mike Blumenkrantz
a47b9f2b6f
zink: call flush_resource when presenting garbage
...
this ensures the resource is queued for presentation
fixes #7359
Fixes: babf9474c4 ("zink: rework flush_frontbuffer to always flush")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18899 >
2022-09-30 16:40:43 +00:00
Corentin Noël
0a6aa58aca
ci: Remove Wno-error=stringop-truncation from debian-arm64-asan
...
All the warnings are now fixed.
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18613 >
2022-09-30 12:38:11 +00:00
Corentin Noël
4a1bde9fb0
gallium/hud: use snprintf(..., "%s", ...) instead of strncpy
...
This fixes a warning with stringop-truncation:
```
error: 'strncpy' output may be truncated copying 127 bytes from a string of length 255 [-Werror=stringop-truncation]
1443 | strncpy(graph->name, s, sizeof(graph->name)-1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18613 >
2022-09-30 12:38:11 +00:00
Corentin Noël
9718c88baf
mesa/main: do not copy the exact size of the string
...
This fixes a compiler warning with stringop-truncation:
```
error: 'strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation]
286 | strncpy(s, msg, MAX_DEBUG_MESSAGE_LENGTH);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18613 >
2022-09-30 12:38:11 +00:00
Rhys Perry
2cdb3e4b6b
aco: add VMEMtoScalarWriteHazard tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18270 >
2022-09-30 11:44:38 +00:00
Rhys Perry
4c327dcfbc
aco: improve printing of s_waitcnt_depctr
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18270 >
2022-09-30 11:44:38 +00:00
Rhys Perry
27305680e2
aco: improve printing of sgpr_null
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18270 >
2022-09-30 11:44:38 +00:00
Rhys Perry
a1022dbf07
aco: use some helpers in GFX10 hazard workarounds
...
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18270 >
2022-09-30 11:44:38 +00:00
Rhys Perry
a4f6acece1
aco: improve VMEMtoScalarWriteHazard s_waitcnt mitigation
...
fossil-db (navi10):
Totals from 171 (0.13% of 134563) affected shaders:
Instrs: 69348 -> 69144 (-0.29%)
CodeSize: 381112 -> 380296 (-0.21%)
Latency: 451534 -> 451387 (-0.03%)
InvThroughput: 88692 -> 88686 (-0.01%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18270 >
2022-09-30 11:44:38 +00:00
Rhys Perry
2bd16256a6
aco: fix VMEMtoScalarWriteHazard s_waitcnt mitigation
...
It doesn't make sense for a "s_waitcnt vmcnt(0)" to affect a store or DS
instruction.
LLVM checks for "s_waitcnt vmcnt(0) lgkmcnt(0) expcnt(0)" but ignores
s_waitcnt_vscnt (which I assume is a bug).
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: bcf94bb933 ("aco: properly recognize that s_waitcnt mitigates VMEMtoScalarWriteHazard")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18270 >
2022-09-30 11:44:38 +00:00
Georg Lehmann
bfb12a3b6a
nir/opt_algebraic: Optimize more (a cmp b ? a : b) to min/max.
...
Foz-DB Navi21:
Totals from 112 (0.08% of 134913) affected shaders:
CodeSize: 1618384 -> 1618172 (-0.01%); split: -0.06%, +0.04%
Instrs: 307695 -> 307535 (-0.05%); split: -0.05%, +0.00%
Latency: 3590228 -> 3589658 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 563692 -> 563447 (-0.04%); split: -0.05%, +0.01%
Copies: 24541 -> 24519 (-0.09%); split: -0.10%, +0.01%
Branches: 13480 -> 13468 (-0.09%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18548 >
2022-09-30 11:10:52 +00:00
Rajnesh Kanwal
d0d90b4de9
pvr: Implement vkGetEventStatus API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18864 >
2022-09-30 11:01:47 +00:00
Rajnesh Kanwal
a125accd16
pvr: Add assert to check for non-NULL binding_desc.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
a12395c464
pvr: Call VALGRIND_FREELIKE_BLOCK before unmapping to avoid use after free.
...
Fixes: CID 1503261.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
cc530255bb
pvr: Fix Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) errors.
...
Fixes: CID 1503255, 1503258, 1503265, 1503268, 1504078, 1507509.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
1021550e20
pvr: Zero init pbe_cs_words to avoid passing on garbage.
...
In case if the surface->resolve_type is not PVR_RESOLVE_TYPE_PBE
then we do not setup pbe_cs_words in which case we might end up
using garbage values.
Fixes: CID 1515466.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
3fbecd485e
pvr: Remove dead code from pvr_perform_start_of_render_clears.
...
Logically the hw_render would never be NULL so the if block is
never used and can be removed.
Fixes: CID1503270.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
d1eb75ecec
pvr: Remove framebuffer NULL check from pvr_CmdBeginRenderPass2.
...
Framebuffer can not be NULL in pvr_CmdBeginRenderPass2.
Fixes: CID 1503259.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
6cef99c536
pvr: Remove redundant assignment error.instruction.
...
Fixes: CID 1503256.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
4f965ad8ee
pvr: Remove redundant instruction buffer check.
...
Fixes: CID 1503273.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Rajnesh Kanwal
568b7b4635
pvr: Convert attachment indexes to unsigned.
...
This commit converts attachment indexes used in renderpass to unsigned
and uses VK_ATTACHMENT_UNUSED for unused attachments instead of -1.
Also fixes some signed to unsigned comparisons.
Fixed: CID 1515587, 1515590, 1515597, 1515604.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18866 >
2022-09-30 10:52:51 +00:00
Tapani Pälli
60be71aeaa
anv: limit to default fast clear color when image used for transfer
...
v2: use vk_image_layout_to_usage_flags for detecting
transfer usage (Nanley)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7189
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18836 >
2022-09-30 10:14:01 +00:00
Rajnesh Kanwal
35c40c64c8
pvr: Handle indirect buffer address in pvr_setup_descriptor_mappings.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18872 >
2022-09-30 10:55:27 +01:00
Rajnesh Kanwal
faf1ac8307
pvr: implement vkcmddispatchindirect api.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18872 >
2022-09-30 10:55:27 +01:00
Samuel Pitoiset
f5c50f496c
radv: enable the unified heap on APUs for Red Dead Redemption 2
...
This seems to resolve the memory explosion without hurting performance.
This workaround is only applied for native Vulkan.
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/18884 >
2022-09-30 11:01:50 +02:00
Samuel Pitoiset
0974b67a6e
radv: add a new drirc option to enable a unified heap on APUs
...
This option (radv_enable_unified_heap_on_apu) allows to force the
driver to expose only one heap of VRAM because some games seem to
perform better with that.
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/18884 >
2022-09-30 11:01:48 +02:00
Mike Blumenkrantz
31d38d1882
zink: enable glthread by default
...
huge perf gains.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858 >
2022-09-30 02:16:02 +00:00
Mike Blumenkrantz
8da9e65500
pipe-loader: fix zink driinfo header path
...
this feels like a compiler bug, but somehow just specifying the
shorter path ends up with a broken/partial header include
Fixes: d760a9151b ("gallium: Learn about kopper")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858 >
2022-09-30 02:16:02 +00:00
Mike Blumenkrantz
966d6b738e
zink: export PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858 >
2022-09-30 02:16:02 +00:00
Mike Blumenkrantz
12569a390f
zink: export PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18858 >
2022-09-30 02:16:02 +00:00
Mike Blumenkrantz
af775f842c
zink: fix/improve handling for multi-component bitfield ops
...
the original improvement for this correctly handled cases where
the offset/count values were swizzled with .xxxx, but it was broken
for any other swizzling
this adds a nir pass to more easily manipulate the swizzles and rewrite
the multi-component ops as multiple ops with the swizzled params
fixes #6697
Fixes: 8e97f51c67 ("zink: handle swizzled offset/count values for shader bitfield ops")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18706 >
2022-09-30 01:52:47 +00:00
Dave Airlie
111bf8bfee
llvmpipe/fs: convert outputs handling to explicit api
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
5b83357ac5
llvmpipe/fs: cleanup some remaining mask handling and reuse types
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
b9a0ec0c67
llvmpipe/fs: handle explicit types around blending and c/zs bufs calcs
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
3137f4fad1
llvmpipe/fs: use explicit api in viewport code.
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
38907a40ab
llvmpipe/fs: pass mask type to alpha to coverage handler
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
e28db68e53
llvmpipe/fs: add sample position type to the interp interface
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
ff02d042aa
llvmpipe/fs: port depth code to opaque pointer api
...
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
694104b776
llvmpipe/fs: pass explicit mask_type into interp code.
...
This is so it is known for explicit pointer support
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
637652a97f
llvmpipe/fs: add mask_type for mask_store accesses.
...
This adds and passes around the type for mask stores.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Dave Airlie
b36160689f
gallivm/struct: add opaque ptr friendly pointer accessors.
...
These just add explicit types.
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876 >
2022-09-30 01:22:42 +00:00
Kenneth Graunke
b61b1d5a4c
Revert "intel/compiler: Vectorize gl_TessLevelInner/Outer[] writes"
...
This reverts commit abba55382f .
The assertions I added late in the process broke shader-db, and my
quick fix broke CI, so let's just revert it for now and I'll resubmit
this later when it's working better.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7385
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18895 >
2022-09-29 17:39:18 -07:00
Eric Anholt
1a286837bc
freedreno/ir3: Validate our scheduling DAGs after construction.
...
This gives us some better explanation of a stack overflow in ir3_postsched
with shader-db:
IR3_SHADER_DEBUG=nouboopt ./run shaders/nexuiz/46.shader_test
DAG validation failed at:
0x55f6570e8460: 0079:0107:002: _meta:collect r1.w (wrmask=0xff), r1.w, r2.x, r2.y, r2.z, r2.w, r3.x, r3.y, r3.z, false-deps:_[0098:0126:000: mov.u32u32], _[0112:0143:000: mov.u32u32], _[0087:0113:000: mov.u32u32], _[0113:0144:000: mov.u32u32], _[0099:0127:000: mov.u32u32], _[0088:0114:000: mov.u32u32]
Nodes in stack:
0x55f657102050: 0079:0103:009: mov.u32u32 r1.w, r0.x, right=_[0080:0104:009: mov.u32u32]
0x55f6570e8460: 0079:0107:002: _meta:collect r1.w (wrmask=0xff), r1.w, r2.x, r2.y, r2.z, r2.w, r3.x, r3.y, r3.z, false-deps:_[0098:0126:000: mov.u32u32], _[0112:0143:000: mov.u32u32], _[0087:0113:000: mov.u32u32], _[0113:0144:000: mov.u32u32], _[0099:0127:000: mov.u32u32], _[0088:0114:000: mov.u32u32]
0x55f657075f80: 0083:0108:007: samgq (f32)(xyz)r0.z (wrmask=0x7), r1.w (wrmask=0xff), s#3, t#3
0x55f657051b60: 0104:0134:008: ldc.offset0 r3.x (wrmask=0xf), imm[0.000000,0,0x0], r9.w
0x55f657103040: 0112:0143:000: mov.u32u32 r9.w, r0.x, right=_[0113:0144:000: mov.u32u32]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6656 >
2022-09-29 23:40:18 +00:00
Eric Anholt
5d0050c8bf
util/dag: Add a validation function.
...
I experienced a circular dag in freedreno, and wanted a way to see what
was going wrong.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6656 >
2022-09-29 23:40:18 +00:00
Eric Anholt
984aa0ac9a
util/dag: Move the callback function pointer to the state.
...
No sense passing it as a recursive argument when we have this storage
right there.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6656 >
2022-09-29 23:40:18 +00:00
Mike Blumenkrantz
004c5b60ca
glthread: handle DeleteBuffers(n=-1) gracefully
...
this is a valid error condition
cc: mesa-stable
fixes:
GTF-GL46.gtf21.GL2FixedTests.buffer_objects.buffer_objects
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18856 >
2022-09-29 22:05:06 +00:00
Mike Blumenkrantz
171b2a16b5
glthread: use signed vertex buffer offsets when available, don't require them
...
this is a great memory-saving optimization for drivers that support it,
but for drivesr that can't, it ends up taking slower paths instead
of just consuming more memory
but the year is 2022. we have all the memory. so use more memory if signed
offsets aren't supported
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18856 >
2022-09-29 22:05:06 +00:00
Sil Vilerino
248e3ceba2
d3d12: Style variable fix in d3d12_video_decoder_prepare_dxva_slices_control_av1
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Sil Vilerino
aa1afc3766
d3d12: Fix aliased usage of m_SliceControlBuffer in d3d12_video_decoder_prepare_dxva_slices_control_XXXX
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Sil Vilerino
1222503ef3
d3d12: Support more video formats
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Adds support for P010 Encoding and Decoding
Also adds support for RGBA/RGBX UNORM/UINT in the video processor
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Sil Vilerino
af8f730d8d
d3d12: Add support for AV1 Video Decode
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Sil Vilerino
f2fc9996d3
frontends/va: Fix AV1 decode qm_* parameters reading from VADecPictureParameterBufferAV1
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Those are being read with | 0xF, but instead should be & 0xF to clear the bits above 4 (the field is 4 bits in size)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Sil Vilerino
4bab5b0b50
frontends/va: Use is_video_format_supported in vlVaVidEngineBlit instead of format list
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Sil Vilerino
e91636ae26
frontends/va: Support AV1 Decode with multiple tiles (num_elements > 1) in a single VASliceParameterBufferAV1 buffer
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Sil Vilerino
d5b4dec033
frontends/va: Add more params from VADecPictureParameterBufferAV1 and VASliceParameterBufferAV1 to pipe_av1_picture_desc
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18875 >
2022-09-29 15:50:04 -04:00
Marcin Ślusarz
9bac88856d
intel/compiler: fix loading of draw_id from task & mesh payload
...
Previously both destination and source were floats, so no casting was
performed, but with 7664c85b1d source register was reinterpreted as
unsigned integer, so MOV started casting that integer to float.
Fixes: 7664c85b1d ("intel/compiler: Create and use struct for TASK and MESH thread payloads")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18886 >
2022-09-29 17:17:25 +00:00
Dmitry Osipenko
e5631add0d
ci/virgl: Enable virgl-iris-traces
...
All virgl-iris-traces tests are passing now after the crosvm revup that
fixed crosvm crash and after updating test checksums. Enable auto-testing
for the virgl-iris-traces pipeline stage.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18693 >
2022-09-29 16:45:04 +00:00
Dmitry Osipenko
f7a64df0e7
ci: Update virgl-iris-traces checksums
...
Few virgl-iris-traces tests fail because resultant images now have few
pixels that changed. The actual reason of the change is unknown, we
assume it happened due to a new optimizations. Update the virgl-iris-traces
checksums.
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18693 >
2022-09-29 16:45:04 +00:00
Dmitry Osipenko
498186e0d9
ci: Bump crosvm version
...
Recent crosvm contains a fix for the unmapping memory on a wrong thread
that crashes crosvm. Bump the crosvm version.
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Corentin Noël <corentin.noel@collabora.com >
Link: https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/282
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18693 >
2022-09-29 16:45:04 +00:00
Yiwei Zhang
2403468202
venus/ci: remove redundant crosvm patch
...
VirglRenderer::export_blob doesn't need to handle opaque fd. That will
let rutabaga's export_blob to fail and fallback directly to the external
mapping path desired.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18693 >
2022-09-29 16:45:03 +00:00
Samuel Pitoiset
c8765c5244
radv: ignore shader stages that don't need to be imported with GPL
...
Fixes an assertion with vkoverhead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18869 >
2022-09-29 16:22:50 +00:00
Samuel Pitoiset
bc0ff36885
radv: fix initializing the blend state for NULL render pass with GPL
...
If a library with only the vertex input interface is created, this
would crash.
This fixes segfault with vkoverhead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18869 >
2022-09-29 16:22:50 +00:00
Samuel Pitoiset
6000e3f534
radv: fix initializing the attribute mask for VS input state and GPL
...
attribute_mask was unused when I first introduced this but now it's
used again.
This fixes a bunch of GPL regressions.
Fixes: 0feab7b9cf ("radv: prepare the VS input state for prologs created with GPL")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18862 >
2022-09-29 16:02:41 +00:00
Mike Blumenkrantz
56fb258064
zink: replace mixed_zs with zs feedback loops
...
this is the more technically correct way to handle such things
SoroushIMG <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18855 >
2022-09-29 15:29:51 +00:00
Mike Blumenkrantz
5bc19dd5f7
zink: add a draw barrier when unbinding a sampler-bound fb surface
...
this is guaranteed to need some kind of layout change, so ensure the
barrier actually happens
cc: mesa-stable
SoroushIMG <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18855 >
2022-09-29 15:29:51 +00:00
Corentin Noël
1b685dc350
virgl: Add nir_lower_tex pass
...
In GLES hosts that do not support EXT_texture_shadow_lod we need to lower
the shadow texture calls with offset.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18296 >
2022-09-29 15:06:29 +00:00
Corentin Noël
086b620793
virgl: Add TEXTURE_SHADOW_LOD capability support
...
Bind PIPE_CAP_TEXTURE_SHADOW_LOD with its value so that we are not using
non-existing GLSL on host side.
Rename VIRGL_CAP_FAKE_FP64 into VIRGL_CAP_HOST_IS_GLES
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18296 >
2022-09-29 15:06:29 +00:00
Samuel Pitoiset
a63a31a47b
radv: remove NULL checks when binding a graphics pipeline
...
The driver no longer bind NULL graphics pipelines, so these checks
are useless.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18873 >
2022-09-29 14:44:47 +00:00
Connor Abbott
1ca8930845
tu: Fix setting RB_DEPTH_CNTL::Z_CLAMP_ENABLE
...
I missed this when enabling pipeline libraries, and we were also setting
this to the wrong thing. Previously we were using rasterization state
when parsing depth/stencil indirectly via builder->depth_clip_disable,
which is not allowed with pipeline libraries. Fixing this is a bit
painful because now RB_DEPTH_CNTL can depend on state from both the
fragment shader library and the pre-rasterization library, in addition
to being disabled via output interface state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18861 >
2022-09-29 10:47:52 +00:00
Connor Abbott
0b131b3e99
freedreno/a6xx, tu: GRAS_CL_CNTL::UNK5 is Z_CLAMP_ENABLE
...
This changes the behavior for freedreno but it should ultimately be the
same for GL/GLES, given what mesa/st does.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18861 >
2022-09-29 10:47:52 +00:00
Connor Abbott
5af6dad179
Revert "freedreno,ir3: rename Z_CLAMP_ENABLE to Z_CLIP_DISABLE"
...
This reverts commit 6cb41c5188 . It was
incorrect and the issue it was trying to fix was actually a zink bug.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18861 >
2022-09-29 10:47:52 +00:00
Mike Blumenkrantz
7308996921
lavapipe: dynamic state3
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Jason Ekstrand
092be5a329
vulkan: Add more dynamic color blend states
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Jason Ekstrand
1deb83fb86
vulkan: Add more dynamic multisample states
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Jason Ekstrand
1fee04d8ff
vulkan: Add dynamic state for tessellation domain origin
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Jason Ekstrand
9d0ed9cbcc
vulkan: Add more dynamic rasterizer state
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Jason Ekstrand
effd9962d9
vulkan: Add a dynamic state for vp.depth_clip_negative_one_to_one
...
This is the last bit of viewport state that's not dynamic. Making it
dynamic will help ANV out a bit.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Jason Ekstrand
10bc2cd3ae
vulkan: Rename viewport_state::negative_one_to_one
...
This makes it a bit clearer what it's for.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Mike Blumenkrantz
76a4d5ce89
vulkan: Update the XML and headers to 1.3.230
...
Acked-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Jason Ekstrand
691ec62452
vulkan: Use altlen when available for array lengths
...
When the array length is a calculation, the C version of the calculation
is provided in altlen while len often contains LaTeX that we can't do
anything with. Use altlen when available. Also, while we're here, wrap
array lengths in parentheses in case they contain math.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Filip Gawin
1a03788195
gallium: avoid using float based conditions in loops
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12996 >
2022-09-29 04:26:37 +00:00
Mike Blumenkrantz
5650d67242
zink: pass actual screen->threaded to zink_tc_context_unwrap()
...
using the ctx->screen pointer may not actually yield a zink_screen object
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18868 >
2022-09-28 23:13:44 +00:00
Mike Blumenkrantz
267d715efb
zink: hook up VK_EXT_depth_clamp_zero_one
...
this is required for GL since the allowable depth range is always [0,1]
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18868 >
2022-09-28 23:13:44 +00:00
Mike Blumenkrantz
3d4c8b55e8
zink: move create_pipeline_lib to zink_program.c
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18868 >
2022-09-28 23:13:44 +00:00
Mike Blumenkrantz
2136047624
zink: rework ZINK_PIPELINE_LIBRARY_FORCE into ZINK_DEBUG flag
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18868 >
2022-09-28 23:13:44 +00:00
Mike Blumenkrantz
e1314e682e
zink: move zink_screen_get_pipeline_cache() calls out to callers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18868 >
2022-09-28 23:13:44 +00:00
Jason Ekstrand
2044f2910c
vulkan/wsi: Add a supports_scanout flag
...
This flag indicates whether or not the legacy scanout flag is supported.
It defaults to true since that has been the default assumption for the
WSI code up until now.
On NVIDIA hardware, we can't render to linear so, if we don't have
modifiers, we want to automatically fall back to the blit path. In
theory, we could do this inside the driver but it's a giant pain and
much harder to ensure that the blit only happens as part of
vkQueuePresent().
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
15fca5ca7e
vulkan/wsi: Add a typedef for memory type select callbacks
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
39f81564ab
vulkan/wsi: Don't expose as many image configure helpers
...
Now that everything is going through the params-based ones, we don't
need to expose the individual ones.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
43c1c2b888
vulkan/wsi: Always configure images in wsi_swapchain_init()
...
Now that all the back-ends are converted, we can drop all the extra code
we had for supporting both paths.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
5424049e66
vulkan/wsi/win32: Configure images via params passed to wsi_swapchain_init()
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
76d15717e3
vulkan/wsi/display: Configure images via params passed to wsi_swapchain_init()
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
c315e20d61
vulkan/wsi/wayland: Configure images via params passed to wsi_swapchain_init()
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
8775f08bf1
vulkan/wsi/x11: Configure images via params passed to wsi_swapchain_init()
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Jason Ekstrand
29e3fc8eb1
vulkan/wsi: Support configuring swapchain images as part of swapchain init
...
The eventual goal here is to move as much of the prime and blit logic
out of the individual window-system back-ends as possible.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18826 >
2022-09-28 21:35:12 +00:00
Dave Airlie
bfa08a1681
llvmpipe/cs: move compute code to explicit pointer types
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:08:10 +10:00
Dave Airlie
1d6819bf5b
llvmpipe/setup: move setup code to explicit pointers.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:08:07 +10:00
Dave Airlie
977476bb05
llvmpipe/fs: fix invocations access for opaque ptrs.
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:08:03 +10:00
Dave Airlie
98efdc449d
llvmpipe/cs: convert cs thread data to opaque friendly api
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:07:59 +10:00
Dave Airlie
dd60813657
llvmpipe/cs: convert cs context to opaque friendly api
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:07:56 +10:00
Dave Airlie
a8bd993809
llvmpipe/fs: convert linear context to opaque pointers friendly
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:07:51 +10:00
Dave Airlie
f0e9d3e497
llvmpipe/fs: convert thread data ptr to opaque ptr friendly apis
...
this converts the thread data code.
The cache code still isn't fixed but needs future API changes
to sampling code.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:07:47 +10:00
Dave Airlie
1a7250ad96
llvmpipe/fs: start passing explicit context pointer type.
...
In order to support opaque pointers in the future, we need to be
more explicit with the pointer types here.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18837 >
2022-09-29 07:06:38 +10:00
nyanmisaka
ae201bcd42
gallium: Do not include offscreen winsys if glx is disabled
...
Offscreen winsys introduced in Mesa 22.2 depends on glx(dri) and libswkmsdri.
The error message is:
/usr/bin/ld: src/gallium/auxiliary/libgalliumvlwinsys.a.p/vl_vl_winsys_dri_vgem.c.o: in function `vl_vgem_drm_screen_create':
vl_winsys_dri_vgem.c:(.text.vl_vgem_drm_screen_create+0x28): undefined reference to `kms_dri_create_winsys'
Fixes: 31dcb396 (gallium/vl: Add software winsys and offscreen winsys)
Cc: mesa-stable
Signed-off-by: nyanmisaka <nst799610810@gmail.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18843 >
2022-09-28 19:39:11 +00:00
LingMan
521da0360a
docs/rusticl: Document minimum required bindgen version
...
rusticl requires at least bindgen 0.58.0 to build.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18834 >
2022-09-28 18:34:27 +00:00
LingMan
13016d22c5
rusticl/bindgen: Use allowlist-* instead of whitelist-* switches
...
bindgen 0.58.0 deprecated the `whitelist-*` switches in favor of the new `allowlist-*` switches.
Currently rusticl uses a mixture of both.
Consistently move to the newer versions.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18834 >
2022-09-28 18:34:27 +00:00
Corentin Noël
5537f778a0
gallivm: avoid the use of an uninitialized value
...
When need_derivs is false, lp_build_cube_lookup does not set the value of
derivs_out which means that the stack is not initialized but its pointer
is then used.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18635 >
2022-09-28 18:09:55 +00:00
Mike Blumenkrantz
3ed712f748
zink: set layouts before possibly reordering image copies
...
layout-setting may change which cmdbuf can be used
Fixes: 731d7be375 ("zink: make get_cmdbuf() public")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18727 >
2022-09-28 15:37:20 +00:00
Mike Blumenkrantz
440c1e3702
zink: always unflag unordered_write when binding image descriptors
...
image descriptors have to maintain their layout, which means it's no
longer possible to reorder any operations once they use a non-transfer
layout
Fixes: ca03e35821 ("zink: expand unordered_exec")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18727 >
2022-09-28 15:37:20 +00:00
Mike Blumenkrantz
4c58b92e44
aux/trace: dump depth_clamp for rasterizer state
...
cc: mesa-stable
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18783 >
2022-09-28 14:30:10 +00:00
Mike Blumenkrantz
0de63e9774
aux/trace: dump line_rectangular member of rasterizer state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18783 >
2022-09-28 14:30:10 +00:00
Konstantin Seurer
7c6f407d4c
radv: Add and use AS and scratch layout structs
...
The memory layout logic is duplicated between
radv_GetAccelerationStructureBuildSizesKHR and
radv_CmdBuildAccelerationStructuresKHR. This patch adds a helper that
computes the scratch and acceleration structure memory layout for a
given build configuration.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18842 >
2022-09-28 12:28:01 +00:00
Samuel Pitoiset
bad75ed3f1
radv: fix emitting RBPLUS state when MRTs are compacted
...
The RBPLUS state needs the non-compacted SPI_SHADER_COL_FORMAT value,
otherwise the state is wrongly emitted if there is holes.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7348
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7319
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7365
Fixes: 8fcb4aa0eb ("radv: compact MRTs to save PS export memory space")
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/18818 >
2022-09-28 11:48:16 +00:00
Bas Nieuwenhuizen
1dd5d94f65
radv: Do an early check of distance in triangle culling.
...
Culls like 99% of the triangles that are culled at all.
Reduces VALU usage in Q2RTX traversal by ~8%, though doesn't look
like VALU is a bottleneck at this point ...
For Control we get a ~5% reduction in VALU usage, but similarly it
doesn't look like a bottleneck.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18830 >
2022-09-28 11:08:28 +00:00
Pierre-Eric Pelloux-Prayer
e06c332bf7
tc: don't use CPU storage for glBufferData
...
This fixes a performance regression with yquake2 cause by
the enablement of cpu_storage by default for radeonsi in
a5a8e19741 .
Fixes: a5a8e19741 ("radeonsi: enable tc cpu_storage by default")
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18774 >
2022-09-28 10:20:10 +00:00
Pierre-Eric Pelloux-Prayer
8af8dc97bc
tc: do a GPU->CPU copy to initialize cpu_storage
...
If the GPU-side storage has been written to without using cpu_storage,
then we have to initialize the CPU-side storage correctly.
This requires a sync + copy but it's a one time operation so it shouldn't
affect performance much.
I don't think it fixes any existing bug, but the next commit will need
this to behave correctly.
cc: mesa-stable
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18774 >
2022-09-28 10:20:10 +00:00
Lionel Landwerlin
582bf4d9f7
anv: flag BO for write combine when CPU visible and potentially in lmem
...
This should fix a performance regression with the internal kernel
branch which does not support the upstream I915_MMAP_OFFSET_FIXED.
With I915_MMAP_OFFSET_FIXED we defer the mapping flags to the kernel
since it knows better where buffers are going to end up (lmem or smem).
The internal kernel doesn´t have that and there we should use write
combined for anything that can be in lmem.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Mark Janes
c8f563b633
anv: Allocate buffers with write-combined local memory
...
Marginally improves DG1 performance (< 1%)
v2: Only on local mem (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Mark Janes
5c62ad34b6
anv: Use WC mapped local memory for block pool BO
...
Improve DG1 performance:
Fallout: +7%
Talos: +15%
v2: Don't drop SNOOP (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Mark Janes
755b413ffa
anv: Track BOs that need a write-combined mapping
...
v2: simplify logic a bit (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Daniel Schürmann
97850c0bf0
aco/opt_value_numbering: use monotonic_allocator for unordered_map
...
This patch also changes the rename map to unordered.
Roughly halves the time spent on CSE in ACO.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18112 >
2022-09-28 09:25:20 +00:00
Daniel Schürmann
b39d2168a7
aco: implement allocator_traits for monotonic_allocator<T>
...
For easier usage, this patch also adds aliases for std::map
and std::unordered_map using this allocator.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18112 >
2022-09-28 09:25:20 +00:00
Daniel Schürmann
a128d444cb
aco: use monotonic_buffer_resource for instructions
...
As monotonic_buffer_resource is not thread-safe,
we use a thread_local instance which gets allocated once.
This change reduces the compile time spent in ACO by
approximately 10%.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18112 >
2022-09-28 09:25:20 +00:00
Daniel Schürmann
15b3cc73bf
aco: implement custom memory resource
...
This basic allocator implements an arena allocation strategy
and cannot free individual allocations.
It is intended for very fast memory allocations in situations
where memory is used to build up a few objects and then is
released all at once.
This class mimics std::pmr::monotonic_buffer_resource.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18112 >
2022-09-28 09:25:20 +00:00
Daniel Schürmann
0b76e22a96
aco: simplify operands_offset calculation in create_instruction()
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18112 >
2022-09-28 09:25:20 +00:00
Kenneth Graunke
a778f3edd3
blorp: Fix typo in blorp_xy_block_copy_blt
...
suppotred -> supported (Thanks to Tapani for catching this.)
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Kenneth Graunke
759d51c367
blorp: Implement blitter clears via XY_FAST_COLOR_BLT
...
Vulkan transfer queues need this functionality. A lot of the code is
pretty similar to what we have for XY_BLOCK_COPY_BLT.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Kenneth Graunke
5f4ad65daf
blorp: Make blitter_supports_aux accessible from multiple files.
...
We'll want it in blorp_clear.c shortly.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Kenneth Graunke
98bd984977
intel/genxml: Add XY_FAST_COLOR_BLT
...
We'll need to use this for VkCmdFillBuffer on transfer queues.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Eric Engestrom
7a33997434
ci: bump mold to 1.5
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18838 >
2022-09-28 07:56:47 +00:00
Eric Engestrom
bcc5cb4a1b
ci: unexport local variable (and fix formatting)
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18838 >
2022-09-28 07:56:47 +00:00
Jason Ekstrand
647773a094
intel/devinfo: DG2 supports ray-tracing
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
4c0dbe6420
anv: Advertise ray-tracing on DG2
...
Also disable ray-tracing support if with_intel_vk_rt is not set.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jordan Justen
9c6ed40925
meson: Define with_intel_vk_rt based on with_intel_clc
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jordan Justen
f7c82c72c4
meson: Deprecate vulkan-rt-drivers intel
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jordan Justen
e565d1e4ea
anv/meson: Use anv_flags and anv_cpp_flags in genX compiles
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Lionel Landwerlin
64e8b0d255
anv: use the right dispatch size for tracing shaders
...
We assumed the trampoline shader would always be SIMD8.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Zhang, Jianxun <jianxun.zhang@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Lionel Landwerlin
044cf4e75d
anv: bump client visible address heap to 32GiB
...
Some raytracing tests are allocating lots of buffer and because of our
2Mb alignment restriction on local memory, we're running our of VMA...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Zhang, Jianxun <jianxun.zhang@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Lionel Landwerlin
5ad803840d
anv: setup scratch space correctly for RT shaders
...
Things are a bit confusing because we use the term "scratch" for 2
different things :
* the buffer for register allocation spilling
* the buffer for storing live values between splitted shaders around shader calls
Here we're fixing the missing register allocation spilling buffer.
v2: update comments (Caio)
fix scratch bo size computation with pipeline libraries (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
f3ddfd81b4
anv: Build BVHs on the GPU with GRL
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
dc1aedef2b
intel/grl: Parse GRL files and generate C
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
20f291c5f9
anv/grl: Add a helper for dispatching our pre-built kernels
...
v2: Use the default pipeline cache (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
639665053f
anv/grl: Build OpenCL kernels
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Iván Briano
37663438f7
anv/grl: Add a GRL file parser
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
5f948503e4
anv: Import GRL
...
GRL, or Graphics Library for Ray-tracing is a library we share with the
Windows drivers for doing BVH builds on the GPU. It consists of a few
headers shared between CL and C code, a bunch of CL kernels, and some
GRL meta-kernels in their own format.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Lionel Landwerlin
49976b23e9
anv: add new command buffer space allocation
...
To be used for acceleration structure building.
v2: fix missing u_vector_finish
Free all BOs
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jianxun Zhang <jianxun.zhang@linux.intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
6c76ceb613
anv: Add support for OpenCL-style kernel dispatch
...
v2: Use brw_cs_get_dispatch_info() (Lionel)
Merge barrier fixes (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
eb249f125d
anv: Add support for compiling OpenCL-style kernels
...
v2: remove unused definitions
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
6ad1a5b57a
anv: Add extern "C" guards
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Lionel Landwerlin
23c7142cd6
anv: disable SIMD16 for RT shaders
...
Since divergence is a lot more likely in RT than compute, it makes
sense to limit ourselves to SIMD8.
The trampoline shader defaults to SIMD16 since this one is uniform.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
5814436159
anv: Set up the memory-backed FIFO buffer
...
v2: Fix incorrect goto (Caio)
Comment 3DSTATE_BTD programming (Caio)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Jason Ekstrand
93526c89c5
anv: Implement VK_KHR_pipeline_library
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Jason Ekstrand
4388b8b253
anv: Add an anv_address_map helper
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Jason Ekstrand
191fab68b0
anv/formats: Advertise ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT
...
v2: Only expose the bit when ray tracing is supported.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
3beb088490
intel/mi_builder: allow half GP registers for dereferencing
...
Some of the GRL metakernels will generate 64bit value in a register,
then use only half of that as the last operation on that value.
v2: Add comment (Caio)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Jason Ekstrand
24a4a3bbbb
intel/mi_builder: Add a helper for incrementing reference counts
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Jason Ekstrand
b7296e11ae
intel/mi_builder: add a way to reserve a register
...
Will be useful for GRL metakernels.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
a5e5e6aa0f
genxml: add missing no duplicate anyhit flag
...
This mirrors the VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
enum of VkGeometryFlagBitsKHR. Purely here for documentation.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
8fc7a98e31
intel/fs: disable split_array_vars on opencl kernels
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
57593c5395
intel/nir: disable assert on async stack id
...
This can be accessed from :
- RT shaders
- CS trampoline shader
We missed the second part here.
Fixes: 0465714790 ("intel/nir/rt: add more helpers for ray queries")
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
8d580de4a9
intel/nir: fix potential invalid function impl ptr usage
...
We keep the nir_builder::impl value around, but we've run some passes
that might have change the main function.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 96fde5518b ("intel/rt: Add a helper to create the raygen trampoline shader")
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
1ffd28149f
intel/nir: fixup preserved metadata in rayquery lowering
...
Another case of not clearing the metadata correctly.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c78be5da30 ("intel/fs: lower ray query intrinsics")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
9dba8d8aa1
intel/fs: take a builder arg for resolve_source_modifiers()
...
There will be situations where we will want to use a local builder
rather than the one associated with NIR->backend translation.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
649cdc617f
intel/nir: reuse rt helper
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
57f1e95102
intel/rt: fix procedural primitive ID access
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Jason Ekstrand
aea88f16df
intel/fs: SEL_EXEC uses the integer pipe for 64-bit stuff
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Jason Ekstrand
c80c0ed943
intel/fs: Always use integer types for indirect MOVs
...
There's a new Gen12.5 restriction which forbids using the VxH or Vx1 on
the floating-point pipe.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
c6a7f4b34e
intel/devinfo: Rename & implement num_dual_subslices
...
v2: Use the upper bound of dual subslices as the ID is not remapped
with fused off parts and this is what we'll use for a bunch of
computation in RT.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
262719e963
meson: bump required llvm-spirv version with intel-clc
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Lionel Landwerlin
0926ac42cb
anv: remove HDC flush from invalidate bits
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: a49b145e8d ("anv: Replace DC Flush with HDC Pipeline Flush")
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:36 +00:00
Kenneth Graunke
abba55382f
intel/compiler: Vectorize gl_TessLevelInner/Outer[] writes
...
Setting the NIR options takes care of iris thanks to the common st/mesa
linking code, and updating brw_nir_link_shaders should handle anv.
The main effort here is updating remap_tess_levels, which needs to
handle vector stores, writemasking, and swizzling. Unfortunately,
we also need to continue handling the existing single-component
access because it's used for TES inputs, which we don't vectorize.
We could try to vectorize TES inputs too, but they're all pushed
anyway, so it wouldn't buy us much other than deleting this code.
Also, we do have opt_combine_stores, but not one for loads.
One limitation of using nir_vectorize_tess_levels is that it works
on variables, and so isn't able to combine outer/inner writes that
happen to live in the same vec4 slot (for triangle domains). That
said, it's still better than before.
For writes, we allow the intrinsics to supply up to the full size
of the variable (vec4 for outer, vec2 for inner) even if the domain
only requires a subset of those components (i.e. triangles needs 3).
shader-db results on Icelake:
total instructions in shared programs: 19605070 -> 19602284 (-0.01%)
instructions in affected programs: 65338 -> 62552 (-4.26%)
helped: 271 / HURT: 0
helped stats (abs) min: 6 max: 24 x̄: 10.28 x̃: 12
helped stats (rel) min: 1.30% max: 18.18% x̄: 5.80% x̃: 7.59%
95% mean confidence interval for instructions value: -10.71 -9.85
95% mean confidence interval for instructions %-change: -6.17% -5.43%
Instructions are helped.
total cycles in shared programs: 851854659 -> 851820320 (<.01%)
cycles in affected programs: 618749 -> 584410 (-5.55%)
helped: 271 / HURT: 0
helped stats (abs) min: 69 max: 540 x̄: 126.71 x̃: 108
helped stats (rel) min: 2.57% max: 37.97% x̄: 6.17% x̃: 5.06%
95% mean confidence interval for cycles value: -135.89 -117.54
95% mean confidence interval for cycles %-change: -6.72% -5.63%
Cycles are helped.
total sends in shared programs: 1025285 -> 1024355 (-0.09%)
sends in affected programs: 6454 -> 5524 (-14.41%)
helped: 271 / HURT: 0
helped stats (abs) min: 2 max: 8 x̄: 3.43 x̃: 4
helped stats (rel) min: 5.71% max: 25.00% x̄: 14.98% x̃: 17.39%
95% mean confidence interval for sends value: -3.57 -3.29
95% mean confidence interval for sends %-change: -15.42% -14.54%
Sends are helped.
According to Felix DeGrood, this results in a 10% improvement in
the draw call time for certain draw calls from Strange Brigade.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17944 >
2022-09-27 18:17:56 -07:00
Kenneth Graunke
c9d399604e
st/mesa: Optionally call nir_vectorize_tess_levels()
...
This lets us vectorize gl_TessLevel{Inner,Outer} writes, using a pass
developed for RADV. Not all backends are prepared to handle this, so
we make it optional.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17944 >
2022-09-27 18:17:47 -07:00
Kenneth Graunke
be21d54aca
intel/compiler: Use an existing URB write to end TCS threads when viable
...
VS, TCS, TES, and GS threads must end with a URB write message with the
EOT (end of thread) bit set. For VS and TES, we shadow output variables
with temporaries and perform all stores at the end of the shader, giving
us an existing message to do the EOT.
In tessellation control shaders, we don't defer output stores until the
end of the thread like we do for vertex or evaluation shaders. We just
process store_output and store_per_vertex_output intrinsics where they
occur, which may be in control flow. So we can't guarantee that there's
a URB write being at the end of the shader.
Traditionally, we've just emitted a separate URB write to finish TCS
threads, doing a writemasked write to an single patch header DWord.
On Broadwell, we need to set a "TR DS Cache Disable" bit, so this is
a convenient spot to do so. But on other platforms, there's no such
field, and this write is purely wasteful.
Insetad of emitting a separate write, we can just look for an existing
URB write at the end of the program and tag that with EOT, if possible.
We already had code to do this for geometry shaders, so just lift it
into a helper function and reuse it.
No changes in shader-db.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17944 >
2022-09-27 18:17:42 -07:00
Lionel Landwerlin
19c40e0730
ci: disable intel-clc on debian-vulkan
...
We're getting a number of UBSan error while running intel-clc in that
image. It seems that we're the first ones to run into a number of code
paths with intel-clc and it shows a number of undefined behavior
operations like signed extension stuff in NIR/IntelBackend, unaligned
pointer accesses in embedded list iterators, etc...
Preparing some patches in a different MR to fix this.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18788 >
2022-09-27 20:53:11 +00:00
Lionel Landwerlin
38b5521be2
ci: bump llvm to 13 for some builders
...
Namely :
- debian-clang
- debian-cl
- debian-vulkan
Seems to trigger/fix failures on llvmpipe, filed
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7336
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18788 >
2022-09-27 20:53:11 +00:00
Lionel Landwerlin
64645d1f14
ci/debian: don't use libclc from the system
...
Debian (unlike Ubuntu) has a broken libclc package missing files we
would very much like to have in our image, so that intel_clc doesn't
fail. Namely :
/usr/lib/clc/spirv-mesa3d-.spv
/usr/lib/clc/spirv64-mesa3d-.spv
Dropping libclc from the distribution and build int the build & base
test image.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18788 >
2022-09-27 20:53:11 +00:00
Lionel Landwerlin
78b1e0340e
ci: build our own version of the LLVM SPIRV translator
...
Debian stable and Fedora do not package the required version for
intel-clc.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18788 >
2022-09-27 20:53:11 +00:00
Lionel Landwerlin
05b1f3fd97
ci: disable intel-clc on fedora
...
Would require Fedora 35.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18788 >
2022-09-27 20:53:11 +00:00
Lionel Landwerlin
f0c516c331
ci: add python3-ply to debian/fedora images
...
This is needed by Anv to parse GRL (meta opencl kernels).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18788 >
2022-09-27 20:53:11 +00:00
Dave Airlie
f292212615
gallivm/nir: bitcast when non-float ptr type.
...
This matters more when opaque pointers are used.
Fixes: 203920d4c6 ("gallivm: add atomic 32-bit float support")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18835 >
2022-09-27 19:20:32 +00:00
Dave Airlie
c642fa122c
gallivm/nir: fix fmin/fmax translation
...
Fixes: 203920d4c6 ("gallivm: add atomic 32-bit float support")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18835 >
2022-09-27 19:20:32 +00:00
Dave Airlie
d132625eed
lavapipe: add fmin/fmax to image lowering.
...
Fixes: 31695f81c9 ("lavapipe: export VK_KHR_shader_atomic_float")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18835 >
2022-09-27 19:20:32 +00:00
Mike Blumenkrantz
549f0b956e
zink: also lower 64bit function temps
...
now that these aren't always lowered from indirects,
64bit function temp arrays may exist in shaders, and they need to use
all the same rewrite machinery
fixes #7310
SoroushIMG <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18728 >
2022-09-27 18:38:25 +00:00
Mike Blumenkrantz
b3a44cfbb9
zink: split up lower_64bit_vars pass
...
the component functions will be reused; no functional changes
SoroushIMG <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18728 >
2022-09-27 18:38:25 +00:00
Mike Blumenkrantz
0f053f0f07
zink: always run optimize_nir after lower_64bit_vars
...
it's otherwise possible (and likely) that optimizations won't
happen since there's no shader key data active
Fixes: 5b2f850425 ("zink: rewrite 64bit shader i/o as 32bit")
SoroushIMG <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18728 >
2022-09-27 18:38:25 +00:00
Mike Blumenkrantz
17e3df4cd2
zink: don't flatten 64bit arrays during rewrite
...
dunno what I was thinking here
Fixes: 5b2f850425 ("zink: rewrite 64bit shader i/o as 32bit")
SoroushIMG <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18728 >
2022-09-27 18:38:25 +00:00
Mike Blumenkrantz
52edd8f764
nir/opt_undef: add a pass to clean up 64bit undefs
...
somehow 64bit lowering creates patterns like
vec1 64 ssa_1 = undefined
ssa_2 = unpack_64_2x32_split_x ssa_1
and then the 64bit value is never otherwise used. for this case, rewriting
the unpack to just be a 32bit undef allows the 64bit undef to be optimized
out, avoiding spec violations
fixes #6945
SoroushIMG <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18728 >
2022-09-27 18:38:25 +00:00
Karol Herbst
38543af8f7
rusticl/device: fix custom device detection
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18809 >
2022-09-27 17:54:57 +00:00
Mike Blumenkrantz
645f2da3fa
zink: always set VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT sometimes
...
some drivers (mostly desktop) are known to ignore this pipeline flag,
thus it can be set unconditionally in pipeline state to deduplicate
pipeline variants without affecting performance
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18787 >
2022-09-27 17:32:57 +00:00
Mike Blumenkrantz
97c7eaf17f
zink: use feedback loop layout to correctly handle implicit feedback loops
...
an implicit feedback loop occurs when an app happens to bind the same image
as both a framebuffer attachment and a sampler for the same draw
an explicit feedback loop occurs when an app uses fbfetch to read data back
from the framebuffer using input attachments
fbfetch is already handled, but implicit feedback loops require more work:
* detecting them happens on-the-fly
* pipeline variants are required
this handles implicit feedback loops by detecting them at draw time during
barrier updates and then flagging pipeline state change to trigger variant creation.
the bits are then unset when the framebuffer/sampler binds are removed
fixes #7309
fixes (tu):
KHR-GL46.texture_barrier.disjoint-texels
KHR-GL46.texture_barrier.overlapping-texels
KHR-GL46.texture_barrier.same-texel-rw-multipass
KHR-GL46.texture_barrier_ARB.disjoint-texels
KHR-GL46.texture_barrier_ARB.overlapping-texels
KHR-GL46.texture_barrier_ARB.same-texel-rw-multipass
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18787 >
2022-09-27 17:32:56 +00:00
Mike Blumenkrantz
902f64f906
zink: add a mask of fb attachment idx for resources
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18787 >
2022-09-27 17:32:56 +00:00
Mike Blumenkrantz
dbf2186a28
zink: reorder zink_resource a little
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18787 >
2022-09-27 17:32:56 +00:00
Mike Blumenkrantz
630967b252
zink: rename fb_binds -> fb_bind_count
...
this is more accurate
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18787 >
2022-09-27 17:32:56 +00:00
Mike Blumenkrantz
bc5ed17844
zink: remove zink_context::new_swapchain
...
this was my (feeble) attempt at tracking validity for swapchain images,
but it doesn't actually work right, and zink_resource::valid is better
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18787 >
2022-09-27 17:32:56 +00:00
Mike Blumenkrantz
a6cfb72010
zink: enable VK_ATTACHMENT_LOAD_OP_DONT_CARE for zs in renderpasses
...
dynamic render path already handled this
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18787 >
2022-09-27 17:32:56 +00:00
Mike Blumenkrantz
7829fb9adf
mesa: set normalized_coords for bindless texture buffer samplers
...
this isn't "used", but it's the default
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18845 >
2022-09-27 17:04:14 +00:00
Adam Jackson
c268ae9efe
egl: Remove a bogus restriction from eglMakeCurrent
...
The comment here is from the EGL_MESA_configless_context era, and maybe
that was true, but EGL_KHR_no_config_context has no such restriction.
The only restriction is that both surfaces be compatible with the
context, but a no-config context is defined to be compatible with any
surface.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18824 >
2022-09-27 16:00:45 +00:00
Adam Jackson
71224789cf
egl/dri2: Fix a weird conditional in dri2_make_current
...
It's not valid to get here with no context but with real surfaces.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18824 >
2022-09-27 16:00:45 +00:00
Adam Jackson
04826cd9fc
egl: Factor some common terminate cleanup up to common code
...
It's a little difficult to see from the diff, but this is effectively
the same calling sequence as before, and more importantly it means the
backend only cleans up backend state rather than needing to call up to
the core.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18824 >
2022-09-27 16:00:45 +00:00
Adam Jackson
a942068fdb
egl: Formatting fix
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18824 >
2022-09-27 16:00:45 +00:00
Adam Jackson
a436fdd560
mesa/fbo: Don't force both read/draw bindings to zero
...
... when we're only changing one of the two to zero. I could maybe
understand the old behavior here if we really did need both read/draw to
either be both from winsys or both user, but we don't. You can still
get to that half-and-half state even with the old code, you just need to
set whichever of read/draw to 0 that you want first, and then set the
other to the user fbo.
The first code to introduce a read fb to this path was dbfb375805 ,
which was trying to make sure we restored both values passed to
glXMakeCurrentRead when going back to fb 0. The commit message suggests
that "the API" doesn't allow split read/draw, but that seems to have
ignored the #ifdef EXT_framebuffer_object code immediately nearby which
did exactly that.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18824 >
2022-09-27 16:00:45 +00:00
Ruijing Dong
27dff086ec
radeonsi/vce: using fixed value for vce 52
...
VCE 52 needs some hard-coded values.
Fixed: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7290
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18823 >
2022-09-27 13:17:26 +00:00
LingMan
b23fe77cf4
rusticl: Fix compilation if stdout and/or stderr aren't symbols
...
ISO C only guarantees that `stdout` and `stderr` are expressions of type `FILE*`. It does not
guarantee that they are symbols which can be bound to. In particular, they are macros on the BSDs,
which bindgen cannot deal with (yet?).
Add our own symbol-defining wrapper.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7269
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18810 >
2022-09-27 12:36:22 +00:00
David Heidelberg
a1d34d8c95
ci/amd: move radeonsi in amd directory
...
Deduplicate jobs, make easier to use GL+VK scenarios.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17938 >
2022-09-27 11:59:28 +00:00
David Heidelberg
f66420c692
ci/radeonsi: add traces for radeonsi Zork
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17938 >
2022-09-27 11:59:28 +00:00
David Heidelberg
7d7e1c620b
ci/traces: prevent showing wine instalation dialog
...
Causing piglit timeouts because of an open window instead of running apitrace.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17938 >
2022-09-27 11:59:27 +00:00
David Heidelberg
e76a755044
ci: also handle default wine rootfs (for testing)
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17938 >
2022-09-27 11:59:27 +00:00
David Heidelberg
1e27a72c81
ci/dxvk: fix DXVK 64-bit only wine setup
...
Reported: https://github.com/doitsujin/dxvk/issues/2921
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17938 >
2022-09-27 11:59:27 +00:00
David Heidelberg
dd79695b3b
ci/lava: prepare wineprefix for GL and DXVK
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17938 >
2022-09-27 11:59:27 +00:00
David Heidelberg
7901fec52e
ci/lava: add wine and apitrace into amd64 rootfs container
...
Wine is from WineHQ, with stripped i386 part, which we don't use.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17938 >
2022-09-27 11:59:27 +00:00
Samuel Pitoiset
29305a89b0
radv: fix handling multiview with GPL
...
When multiview is used, the last pre-rasterization stage should export
the layer to the fragment shader. With GPL, the next stage is
implicitly FS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18699 >
2022-09-27 11:38:07 +00:00
Samuel Pitoiset
0c6f52a999
radv: fix handling primitive ID and clip/cull distances with GPL
...
When compiling the pre-rasterization stages with GPL, we can't know if
the fragment shader reads the primitive ID or the clip/cull distances
as inputs and we have to export them unconditionally.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18699 >
2022-09-27 11:38:06 +00:00
Samuel Pitoiset
630bb53e68
radv: fix handling ViewportIndex with GPL
...
When the fragment shader reads the viewport index as input and the last
pre-rasterization stage doesn't export it, it should be implicitly
zero (ie. first viewport). When the next stage is known, it's already
lowered in NIR, but with GPL we can't because we don't know if the FS
reads it. To fix this use AC_EXP_PARAM_DEFAULT_VAL_000.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18699 >
2022-09-27 11:38:06 +00:00
Samuel Pitoiset
515847b2a7
radv: rework multiview lowering in NIR slightly
...
This will be used to export multiview unconditionally with GPL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18699 >
2022-09-27 11:38:06 +00:00
Iago Toral Quiroga
b6093ffbe7
v3dv: expose VK_EXT_image_robustness
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18820 >
2022-09-27 09:08:29 +00:00
Iago Toral Quiroga
c7e022abfd
broadcom/compiler: add a lowering for robust image access
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18820 >
2022-09-27 09:08:29 +00:00
Iago Toral Quiroga
adcfd9bc2f
broadcom/compiler: rename static helpers involved with robust buffer access
...
To make it explicit that they involve buffers, since we will be adding
robust image access shortly.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18820 >
2022-09-27 09:08:29 +00:00
Iago Toral Quiroga
5e5eaa3f1a
broadcom/compiler: rename v3d_nir_lower_robust_buffer_access.c
...
We are going to add code to handle image robustness shortly, so
better rename this to v3d_nir_lower_robust_access.c
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18820 >
2022-09-27 09:08:29 +00:00
Erik Faye-Lund
c816081eea
docs: fixup broken rst syntax
...
Seems I messed this up when converting things, and nobody noticed until
now!
Fixes: d4397c0048 ("docs: use envvar role for envvars")
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18641 >
2022-09-27 08:59:23 +00:00
Yonggang Luo
9cbfe9a8ba
ci/docs: Stick to specific version of python packages
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18833 >
2022-09-27 08:22:23 +00:00
Erik Faye-Lund
21107a244a
mesa/main: don't copy signed rgtc via float
...
There's no good reason to copy via float instead of snorm, so let's take
that shortcut.
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18565 >
2022-09-27 07:10:02 +00:00
Erik Faye-Lund
163e7496a9
mesa/main: fix broken indent
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18565 >
2022-09-27 07:10:02 +00:00
Timothy Arceri
40c32dfbb1
nir/loop_analyze: remove cost of redundant selects
...
If we know that a select will be eliminated once the loop is
unrolled than we don't need to count the instruction towards the
cost of the loop.
This change helps 2 loops unroll in an xcom enemy unknown shader
that is loaded full of these redundant selects.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18587 >
2022-09-27 00:31:47 +00:00
Timothy Arceri
13d0ae593b
nir/loop_analyze: delay instruction cost calculation
...
Here we move the calculation of the instruction cost of the loop
after we have processed other information such as finding the
induction variables. This is useful because we can use this further
information to find instructions that will be eliminated if the
loop was to unroll and therefore give them a cost of 0.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18587 >
2022-09-27 00:31:47 +00:00
Karol Herbst
8b9a5adf8b
rusticl/mem: return errors for OOB accesses
...
There is a little bit more to do, but this at least resolves crashes due
to OOB accesses and/or assertions.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7346
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18806 >
2022-09-26 23:59:13 +00:00
Marek Olšák
e6ecd22140
mesa: make glPopMatrix a no-op if the matrix hasn't changed
...
This happens a lot with viewperf because glMultMatrixf contains identity
matrices.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
0b00a158ad
mesa: use memcmp instead of floating-point comparisons in glMultMatrixf
...
This is faster.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
01c481335a
glthread: skip glMultMatrixf if it's identity
...
This is common with viewperf and it helps.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
2fa864b38a
glthread,hud: draw per-frame values and expose the number of batches per frame
...
This is better because we see the statistics for 1 frame instead of 1 second.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
62501fbf7b
glthread: use 8-bit GLenum for prim modes where it results in better packing
...
This is OK because all modes > 14 are invalid.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
cd30f044ae
glthread: use GLenum16 for enums, but clamp it to 0xffff to get correct errors
...
0xffff is an invalid enum.
This was initially implemented without clamping and then reverted because
of the concern that we would randomly get correct enums and not report
errors if we just dropped the high bits.
This packs calls better in glthread_batch.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
b7ba29cbf6
mesa: rename GL dispatch initialization functions to make the intent clear
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
f44ada0eb6
mesa: remove deprecated comments
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
34356c009c
api_hw_select_init_h.py: simplify the code
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
3c621f8a2a
glapi: rename 'vtxfmt' to 'beginend' to make it clear
...
These are really just the functions that execute between Begin/End.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
684dae9e64
mesa: initialize OutsideBeginEnd directly instead of through Exec
...
Exec is just a mutable pointer to one of the dispatch tables.
OutsideBeginEnd is what we are actually initializing here. This makes
the original intention clear.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
1c803b7080
mesa: remove unused function _mesa_get_dispatch
...
just use CurrentClientDispatch directly
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
4425236a20
mesa: don't restore the dispatch at the end of glCallList
...
No places use the glapi dispatch. All places use ctx directly.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
c75b152f08
vbo: don't call _glapi_set_dispatch for GL_COMPILE_AND_EXECUTE loopback
...
It uses Exec directly, so this didn't do anything.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
b4de8c834e
mesa: reorder and pack gl_buffer_object
...
The frequently-accessed fields are at the beginning, hoping
we only need to load 1 cache line to get them all.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
26a2502a3b
mesa: remove unused gl_buffer_object::Data and Written
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
37421a24ad
mesa: restructure bind_buffer_object for better performance
...
The CPU time spent in _mesa_BindBuffer_no_error decresed from 11.4% to 9.2%.
I explain in the code what is happening here because it's not obvious.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
6a1ede73f5
mesa: inline _mesa_handle_bind_buffer_gen and correct things
...
Changes:
- the function is inlined, which will help the next commit to improve perf
- use no_error inside the function
- if the function returns true, the buffer is non-NULL, so remove NULL
checking in callers
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
93c9be2b97
mesa: inline _mesa_reference_buffer_object
...
The last parameter is always a constant expression, so this simplifies it.
This is also required by later commits.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
1885608184
mesa: trivial simplifications in _mesa_reference_buffer_object_
...
The else statement conditions were tautological.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
17b7212930
mesa: clean up st_indirect_draw_vbo interface and callers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
303f867e32
mesa: remove unused code using _mesa_prim
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
59af6be199
mesa: remove _mesa_draw_gallium_fallback by adapting st_feedback_draw_vbo
...
This makes st_feedback_draw_vbo implement the DrawGallium.
That's the last users of the fallback functions.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Marek Olšák
c056affa25
mesa: replace ALLOC_PRIMS with persistently-allocated context arrays
...
This is cleaner.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18828 >
2022-09-26 22:58:16 +00:00
Friedrich Vock
8666b1ffbf
radv: Build acceleration structures using BVH IR
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18769 >
2022-09-26 22:25:22 +00:00
Friedrich Vock
1c0ab3ba67
radv: Create pipelines for conversion meta shaders
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18769 >
2022-09-26 22:25:22 +00:00
Friedrich Vock
45a66ab30b
radv: Add conversion shader for leaf nodes
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18769 >
2022-09-26 22:25:22 +00:00
Friedrich Vock
682dc5c28e
radv: Add conversion shader for internal nodes
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18769 >
2022-09-26 22:25:22 +00:00
Friedrich Vock
3e6033394e
radv: Add BVH IR types
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18769 >
2022-09-26 22:25:22 +00:00
Friedrich Vock
ca8061c2a7
radv: Split CmdBuildAccelerationStructuresKHR into different functions
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18769 >
2022-09-26 22:25:22 +00:00
Friedrich Vock
c039a132d6
radv: Rename internal node shader to lbvh_internal
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18769 >
2022-09-26 22:25:22 +00:00
Mike Blumenkrantz
41eed5b463
zink: only emit runtime array for ssbos if present
...
it's impossible to accurately determine whether an op will use the base,
sized array or the unsized array due to dynamic indexing, and thus it's
impossible to not violate spec by emitting both arrays at offset=0 so they
can overlap
so instead, just emit the runtime array and blast all bounds checking in
vk drivers into the void
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
93696693b2
zink: remove color_write_missing driver workaround
...
this is no longer used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
ceb34a2145
zink: allow reordered clear_buffer calls
...
rare to hit, but no point in not promoting them when possible
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
084f3b6664
zink: avoid overflow when clamping bufferviews
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
55d6847d22
zink: name bo variables using bitsize
...
debugging++
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
697078c9f4
zink: fix handling for ssbos that are just runtime arrays
...
this used to correctly calculate runtime array size as zero, but since the
switch to glsl_get_explicit_size(), zero can no longer be returned
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
60db522ed8
zink: fix sparse queue creation
...
to use an explicit sparse queue, it has to actually be created along with
the device
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
53004e57d6
zink: always unset var->data.explicit_xfb_buffer
...
ensure that this isn't accidentally triggering for non-xfb shaders
Fixes: 6d40db84c9 ("zink: handle direct xfb output from output variables")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
903aba413d
zink: free vertex_state_cache on shutdown
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
1bd0d30a53
zink: fix some batch tracking leaks
...
not leaking over time, just leaking on shutdown
Fixes: 83c76b8efb ("zink: rework batch tracking for resources")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
5f618d84c6
zink: add asserts to verify optimal key state
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Mike Blumenkrantz
c338f7ae78
zink: copy optimal key always
...
this is going away in the future, but for now it's annoying
Fixes: 7336580408 ("zink: unspaghettify some program update code")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18784 >
2022-09-26 21:58:58 +00:00
Kenneth Graunke
95d61c5c75
iris: Ignore aux for copy_region source if there's no unresolved color
...
This mirrors the behavior of iris_resource_texture_aux_usage(), which
bypasses the aux metadata when there's no advantage to using it.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18790 >
2022-09-26 20:37:09 +00:00
Mike Blumenkrantz
6db172436a
lavapipe: propagate shader access info across libraries
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18827 >
2022-09-26 20:16:18 +00:00
Mike Blumenkrantz
6c935f3f3d
lavapipe: set writemask for compute shader buffers
...
I don't know how this wasn't being set?
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18827 >
2022-09-26 20:16:18 +00:00
Sil Vilerino
e884902b21
d3d12: Replace size_t with uint64_t in d3d12_video_encoder definitions for cross-plat compatibility
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18821 >
2022-09-26 19:02:30 +00:00
Mike Blumenkrantz
7336580408
zink: unspaghettify some program update code
...
the initial implementation of optimal_keys was added inline, but really
it's an entirely different codepath. by separating these out, it makes the
code more readable, and it also allows for slightly better optimization of
of the optimal_keys codepath
~4-5% improvement for drawoverhead -test 7
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
809e9462ce
zink: be even more granular with optimal_key program updates
...
since the bits of each key are easily and efficiently comparable,
the draw-time updating here can be made extremely granular to
update exactly the stages that have changed since the last
time the program was used, further reducing overhead instead of
updating every possible key value
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
e4e9461403
zink: simplify bit tracking in zink_gfx_program_update()
...
much nicer now that gfx dirty bits are isolated
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
76ae28e69c
zink: split dirty_shader_stages for gfx and compute
...
this simplifies/clarifies a lot of related code
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
49866c4f77
zink: use optimal_keys to massively reduce size of pipeline cache comparisons
...
since the entire pipeline module key is a uint32_t, this value can be used
for comparisons instead of comparing every shader module
ideally in the future more drivers will support the required features for
optimal_keys, allowing the other variant functions to be deleted
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
325c703624
zink: add 'optimal_keys' handling for shader keys
...
if it's known on init that there are no variants for nonseamless cubes,
or inlined values, or decomposed vertex attrs, then shader keys can be
compressed more optimally to reduce the work needed on program updates
more importantly, this reduces the total hash value for all the shader
modules to a single uint32_t (technically 24 bits), which is much better
than having to manage and incrementally add all the separte module hashes
...but for now using this is incompatible with gpl, so disable that
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
1198568e32
zink: add some padding to small shader keys for byte-alignment
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
06e8acbc47
zink: ALWAYS_INLINE bind_gfx_stage
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
32f50630d6
zink: move to AoS for gfx program shader modules
...
this matches up better with the actual usage; the zink_shader_module
is still stored in the shader cache
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
745efa1231
zink: copy the non-dirty shader stages when updating gfx program
...
typo during refactoring
Fixes: d8455e5ebf ("zink: change u_foreach_bit to regular for loop in zink_gfx_program_update")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
6df9bcaa10
zink: handle inline uniforms during first-time shader generation
...
this is unlikely but possible
Fixes: a0e69e7601 ("zink: split out first-time shader module creation")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
7a489593d0
zink: remove a bunch of casts from shader key inlines
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
f2591d09d7
zink: wrap zink_shader_key_base access for nonseamless cubemap use
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
3513bddcbf
zink: check on init whether decomposed attrs are needed
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Mike Blumenkrantz
f933ede78e
zink: add a bool flag for decomposed vertex elements
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18786 >
2022-09-26 17:12:31 +00:00
Erik Faye-Lund
cd81f2d08a
ci/crocus: update ci results
...
Seems we haven't been running the Crocus CI much lately, and some things
has changed. The new failures needs to be investegated and fixed, but
let's update the results for now.
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18822 >
2022-09-26 16:52:48 +00:00
Rhys Perry
3730be9873
aco: mostly implement FS input loads on GFX11
...
Quad-divergent CF and vertex selection doesn't work, but should at least
prevent crashes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:57 +00:00
Rhys Perry
826ed52174
aco/tests: add GFX11 assembly tests
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:57 +00:00
Rhys Perry
48c8c25e68
aco: omit read-only memory_sync_info when printing
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:57 +00:00
Rhys Perry
aadb7aef01
aco: add VINTERP instruction format
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
55cd74d468
aco: add LDSDIR instruction format
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
a7a9aad14d
aco: limit GFX11 to 128 VGPRs for now
...
See https://reviews.llvm.org/D128054
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
4e55b5b851
aco: update assembler for GFX11
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
077dd12ac6
aco/gfx11: don't use more than 1 NSA dword
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
d8d99c3c4f
aco: add GFX11 opcode numbers
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
2f74df7117
aco: fix assembly of MUBUF-to-LDS loads
...
These have an implicit m0 read and don't write VGPRs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
78779fd63d
aco: add reg() helper to assembler
...
SGPR encoding is slightly different on GFX11.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Rhys Perry
7a1b522148
aco: rename Interp_instruction to VINTRP_instruction
...
These is clearer since GFX11 adds another interpolation format.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17333 >
2022-09-26 14:49:56 +00:00
Ruijing Dong
51bd75e28c
radeonsi/vcn: support async
...
enable async for vcn
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18781 >
2022-09-26 13:59:19 +00:00
Yonggang Luo
091249dff4
aco: Fixes compiling error about char8_t with c++20
...
The error is:
../mesa/src/amd/compiler/aco_register_allocation.cpp:382:7: error: no matching function for call to 'printf'
printf(u8"☐");
Fixes: 209a89e51d ("aco: Convert to use u8 literal for Unicode character to fixes msvc warning")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7318
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Marcus Seyfarth <m.seyfarth@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18796 >
2022-09-26 13:28:33 +00:00
Daniel Schürmann
8ace685432
radv/rt: inline radv_rt_pipeline_create_() helper into radv_rt_pipeline_create()
...
This saves some re-allocation and will help in future with RT shader functions.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18755 >
2022-09-26 13:03:44 +00:00
Daniel Schürmann
40366a3aaf
radv/rt: create separate radv_rt_pipeline struct
...
inherited from radv_compute_pipeline to contain all RT-related information.
This will make it easier to transition to RT shader functions.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18755 >
2022-09-26 13:03:44 +00:00
Matt Coster
b93b696356
pvr: Fix assignment to ISP back_a.sref
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Karmjit Mahil <karmjit.mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18778 >
2022-09-26 12:25:02 +00:00
Mike Blumenkrantz
007c6b1dd2
radv: use direct access to last_vgt_api_stage_locs for sgpr emission
...
radv_lookup_user_sgpr is heavy, stop using it
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18808 >
2022-09-26 11:40:26 +00:00
Mike Blumenkrantz
351c4ed6d1
radv: store pointer to sgprs for last vertex stage
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18808 >
2022-09-26 11:40:26 +00:00
Marcin Ślusarz
2a723f7a8d
nir: use nir_shader_instructions_pass in nir_split_per_member_structs
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
67fe9ae5c3
nir: use nir_shader_instructions_pass in nir_split_var_copies
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
9dcff3ea53
nir: use nir_shader_instructions_pass in nir_lower_samplers
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
865d959090
nir: use nir_shader_instructions_pass in nir_lower_interpolation
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
6e0bcc1c4d
nir: use nir_metadata_none instead of its value
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
dd51dedefd
nir: use nir_shader_instructions_pass in nir_lower_frexp
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
a87070937d
nir: use nir_shader_instructions_pass in nir_lower_fb_read
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
2e410c4c05
nir: use nir_shader_instructions_pass in nir_lower_drawpixels
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
00b0de5c83
nir: use nir_shader_instructions_pass in nir_lower_clip_halfz
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
c6e4641a21
nir: use nir_shader_instructions_pass in nir_lower_clip_disable
...
Changes:
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
a1efa18dfe
nir: use nir_shader_instructions_pass in nir_lower_clamp_color_outputs
...
Changes:
- removal of lower_state (not needed anymore)
- nir_metadata_preserve(..., nir_metadata_block_index | nir_metadata_dominance)
is called only when pass makes progress
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
c7078fe4e0
nir: use nir_shader_instructions_pass in nir_lower_64bit_phis
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
ea39efe9b8
nir: use nir_shader_instructions_pass in nir_lower_bool_to_int32
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
d28833d60f
nir: use nir_shader_instructions_pass in nir_lower_bool_to_float
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
4a9e2dc1e9
nir: use nir_shader_instructions_pass in nir_lower_bool_to_bitsize
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
5beeb3c1db
nir: use nir_shader_instructions_pass in nir_lower_alu
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
- only metadata of the current function is invalidated (invalidation on
one function was leaking to successive functions because "progress"
was not reset)
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
cb201e92ac
glsl: use nir_shader_instructions_pass in gl_nir_lower_samplers_as_deref
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
d3708d6cf5
glsl: use nir_shader_instructions_pass in gl_nir_lower_images
...
No functional changes.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
1829fde212
glsl: use nir_shader_instructions_pass in gl_nir_lower_atomics
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
e9dc98ed87
crocus: remove invalid nir_metadata_preserve from crocus_fix_edge_flags
...
nir_metadata_preserve(NULL, ...) doesn't make any sense.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
a1c042fb5a
iris: remove invalid nir_metadata_preserve from iris_fix_edge_flags
...
nir_metadata_preserve(NULL, ...) doesn't make any sense.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Marcin Ślusarz
0337f449a6
radv: use nir_shader_instructions_pass in radv_nir_lower_ycbcr_textures
...
Changes:
- nir_metadata_preserve(..., nir_metadata_all) is called when pass doesn't
make progress
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12282 >
2022-09-26 11:13:03 +00:00
Mike Blumenkrantz
a54d996463
radv: ALWAYS_INLINE radv_is_streamout_enabled()
...
v2 by Timur Kristóf:
- Use ALWAYS_INLINE instead of just inline.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18807 >
2022-09-26 10:51:25 +00:00
Mike Blumenkrantz
051594fb7f
radv: ALWAYS_INLINE radv_flush_descriptors
...
B I G P E R F
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18807 >
2022-09-26 10:51:25 +00:00
Mike Blumenkrantz
876f7f60ac
radv: ALWAYS_INLINE radv_after_draw
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18807 >
2022-09-26 10:51:25 +00:00
Samuel Pitoiset
7985a9df9a
radv: enable NGG culling unconditionally for GPL but disable it dynamically
...
When compiling the pre-rasterization stages we don't know the primitive
topology, but we still want to enable NGG culling for performance. To
achieve that, NGG culling is enabled unconditionally when the topology
is unknown and disabled dynamically for points or lines.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18776 >
2022-09-26 09:28:14 +02:00
Samuel Pitoiset
e7f6786d59
radv: use the maximum number of vertices per primitives for NGG with GPL
...
The hw will ignore the extra bits when points/lines are drawn, so this
just works as-is.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18776 >
2022-09-26 09:28:14 +02:00
Samuel Pitoiset
e364670e83
radv: determine the last VGT api stage also for GPL
...
When compiling the pre-rasterization stages, we need to know this.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18776 >
2022-09-26 09:28:14 +02:00
Samuel Pitoiset
e053f6feb3
radv: remove useless gfx10_ngg_info::enable_vertex_grouping
...
It's always TRUE and this will simplify future changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18776 >
2022-09-26 09:28:14 +02:00
Samuel Pitoiset
efd83e9627
radv: allow to build the pre-rasterization stages in a library
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18672 >
2022-09-26 07:25:50 +00:00
Samuel Pitoiset
456543e6d8
radv: determine the last VGT api stage from the active_stages bitfield
...
With GPL, we can get binaries from libs directly, so this would fail.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18672 >
2022-09-26 07:25:50 +00:00
Samuel Pitoiset
c08ba6a76c
radv: import the GS copy shader from a library if present
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18672 >
2022-09-26 07:25:50 +00:00
Samuel Pitoiset
2fd3b0bceb
radv: do not free the GS copy shader binary if created from a library
...
Similar to other shader stages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18672 >
2022-09-26 07:25:50 +00:00
Dave Airlie
25ead8ec5c
gallivm: fix buffer_type for LLVM 15
...
Fixes
deqp-vk: /home/airlied/devel/llvm-project/llvm/include/llvm/IR/Instructions.h:961: static llvm::GetElementPtrInst* llvm::GetElementPtrInst::Create(llvm::Type*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, const llvm::Twine&, llvm::Instruction*): Assertion `cast<PointerType>(Ptr->getType()->getScalarType()) ->isOpaqueOrPointeeTypeMatches(PointeeType)' failed.
Fixes: 1b8c4931df ("gallivm: fixes for LLVM-15 opaque pointers in lp_bld_jit_types.c")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18816 >
2022-09-26 13:22:12 +10:00
Dave Airlie
bcb136d548
gallivm: handle llvm coroutines for llvm > 15
...
LLVM 15 changed the coroutine presplit function attribute in
735e6c40b5e9 [Coroutines] Convert coroutine.presplit to enum attr
This needed to be updated in mesa.
Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18815 >
2022-09-26 01:50:49 +00:00
Dave Airlie
16fd0c11c6
llvmpipe: bind sampler views/images properly.
...
There is some code that relies on TGSI here, and it has limits.
For now always just bind resources > 31.
Fixes
dEQP-VK.pipeline.pipeline_library.descriptor_limits*
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18812 >
2022-09-26 10:28:34 +10:00
Dave Airlie
b144d3e6a7
llvmpipe: memset empty images in the key
...
This fixes a bunch of valgrind warnings in
dEQP-VK.pipeline.pipeline_library.descriptor_limits.fragment_shader.storage_images_63
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18812 >
2022-09-26 10:19:24 +10:00
Dave Airlie
fe5636af6e
lavapipe: handle view mask layer count properly for begin rendering.
...
If the view mask is set the layer count should be taken from it,
not from the layerCount.
Fixes: 8a6160a354 ("lavapipe: VK_KHR_dynamic_rendering")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18811 >
2022-09-26 09:40:34 +10:00
Dave Airlie
21d39dd1de
lavapipe: take layers into account around render surface creation.
...
This makes the code more consistent with handling layers, but also
makes sure a new surface is created when the w/h/layers changes.
Fixes: 8a6160a354 ("lavapipe: VK_KHR_dynamic_rendering")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18811 >
2022-09-26 09:40:27 +10:00
Dave Airlie
d724e95682
llvmpipe: handle different blocksizes for sampler/image views
...
In the cases where the sampler/image view format has a
different blocksize to the underlying resource, the width
/height need to be scaled.
Previous code to do this, did the rescaling before minification,
apparently scaling needs to happen after minification, this means
it has to happen in the llvm side.
This fixes a bunch of new VK CTS tests
dEQP-VK.image.texel_view_compatible.*
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18767 >
2022-09-25 23:04:20 +00:00
Konstantin Seurer
bf4a2b374f
radv: Use scalar layout for BDA references
...
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18794 >
2022-09-25 19:44:45 +00:00
Timur Kristóf
25e1c3d5b3
radv: Use a fallback for marketing name when libdrm doesn't know it.
...
Currently for GPUs which don't have a marketing name in libdrm,
RADV just prints "(null) (RADV ...)", which looks bad.
This commit replaces the "(null)" with "AMD Unknown".
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18775 >
2022-09-25 16:32:58 +00:00
Yonggang Luo
26d1b0ca02
r600/sfn: Fixes 'numeric_limits' is not a member of 'std' error in sfn/sfn_instr.cpp
...
The error message is:
../src/gallium/drivers/r600/sfn/sfn_instr.cpp:46:20: error: 'numeric_limits' is not a member of 'std'
46 | m_block_id(std::numeric_limits<int>::max()),
| ^~~~~~~~~~~~~~
../src/gallium/drivers/r600/sfn/sfn_instr.cpp:46:35: error: expected primary-expression before 'int'
46 | m_block_id(std::numeric_limits<int>::max()),
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7337
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18801 >
2022-09-25 07:44:06 +00:00
Yiwei Zhang
e0b7430eae
meson: libelf is optional
...
..otherwise seeing ERROR: C shared or static library 'elf' not found
Fixes: c74595ead3 ("radv/r600/clover: Getting libelf to be optional")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18805 >
2022-09-25 05:49:39 +00:00
Yiwei Zhang
37900ee2dd
mesa/st: emit string marker based on PIPE_CAP_STRING_MARKER
...
Fixes: 10ac88b72f ("mesa/st: drop emit string marker device table entry.")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18803 >
2022-09-25 04:21:06 +00:00
Yonggang Luo
0fba2e0d1e
ci: debian-clang: drop -Wno-error=unused-function
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18800 >
2022-09-25 03:53:15 +00:00
Thomas H.P. Andersen
48889fc68d
vulkan: avoid warning about unused function
...
VK_DEFINE_NONDISP_HANDLE_CASTS defines two functions.
In some cases only one or the other is used. Marking
them both unused here to avoid warnings.
Fixes a clang warning about unused static inlined functions.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18800 >
2022-09-25 03:53:15 +00:00
Thomas H.P. Andersen
0dd58bd115
panfrost: avoid warning about unused function
...
This function is only used if PAN_ARCH >= 5
Fixes a clang warning about unused static inlined functions.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18800 >
2022-09-25 03:53:15 +00:00
Thomas H.P. Andersen
486381c489
llvmpipe: drop unused function
...
Fixes a clang warning about unused static inlined functions.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18800 >
2022-09-25 03:53:15 +00:00
Thomas H.P. Andersen
1cbfc80f0f
llvmpipe: mark function unused
...
build_masks is only used if neither PIPE_ARCH_SSE or
_ARCH_PWR8 && UTIL_ARCH_LITTLE_ENDIAN.
Adding a #if around build_masks feels a bit fragile so
I opted for just marking it unused.
Fixes a clang warning about unused static inlined functions.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18800 >
2022-09-25 03:53:15 +00:00
Thomas H.P. Andersen
ec5af409a5
spirv: mark function unused
...
It is unused, but seems relevant to keep around.
Fixes a clang warning about unused static inlined functions.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18800 >
2022-09-25 03:53:15 +00:00
Chia-I Wu
ee2e01c0ef
venus: fix VkImageFormatListCreateInfo for AHB
...
In vn_physical_device_fix_image_format_info,
local_info->list.viewFormatCount is unintialized when has_format_list is
false. We need to check has_format_list first.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18792 >
2022-09-24 21:40:39 +00:00
Konstantin Seurer
0d66ed49b4
radv/rtpso: Use the common traversal helper
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18650 >
2022-09-24 13:23:41 +00:00
Konstantin Seurer
3f72061be9
radv/rq: Use the common traversal helper
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18650 >
2022-09-24 13:23:40 +00:00
Konstantin Seurer
ac45935345
radv: Add a common traversal build helper
...
Adds a helper for building the ray traversal loop to radv_rt_common.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18650 >
2022-09-24 13:23:40 +00:00
Vinson Lee
e24a816818
radv: Fix file descriptor leak.
...
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable file going out of scope leaks the storage it points to.
Fixes: 5749806754 ("radv: Add Radeon Raytracing Analyzer trace dumping utilities")
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18660 >
2022-09-23 22:55:14 -07:00
Bas Nieuwenhuizen
5a3411567a
radv: Properly initialize all memory in RRA dumps.
...
Helps debugging when making RADV BVH format changes.
changes:
1. Change bool to uint32_t because padding was uninitialized
2. Named bitfields, because unnamed bitfields were never initialized.
3. Use calloc where possible.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18734 >
2022-09-24 02:01:35 +02:00
Bas Nieuwenhuizen
19aae06692
radv: Use deterministic order for dumping acceleration stuctures.
...
To provide deterministic RRA dumps.
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18734 >
2022-09-24 02:00:42 +02:00
Bas Nieuwenhuizen
50bb0d6427
radv: Use GLSL matrices for instance transforms in BVH.
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18692 >
2022-09-23 22:52:23 +00:00
Bas Nieuwenhuizen
3c09681edd
radv: Use proper matrices for instance nodes.
...
Converts both wto and otw matrices to be full row-major 4x3 matrices.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18692 >
2022-09-23 22:52:23 +00:00
Bas Nieuwenhuizen
0f9fb8e15f
radv: Remove aabb bounds from instance nodes.
...
I need space ...
Furthermore, this only gets used during the build, and we can eat
the cost of generating the AABB a second time there.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18692 >
2022-09-23 22:52:23 +00:00
Bas Nieuwenhuizen
b1ddb35040
radv: Translate the BVH copy shader to glsl from nir_builder.
...
Much easier to change.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18692 >
2022-09-23 22:52:23 +00:00
Bas Nieuwenhuizen
ffc5f52724
radv: Hardcode root node id.
...
Optimizes code a tiny bit, and avoid the hack of encoding the root
node id in the low bits of the BLAS address in an instance node.
This is needed to adjust serialization/deserialization as the
instance address there has to be the base address, so this avoids
some wrapping/unwrapping.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18692 >
2022-09-23 22:52:23 +00:00
Georg Lehmann
513d074d39
radv: Fix GLSL BDA struct alignment and use pointer arithmetic SIZEOF.
...
Use pointer arithmetic from GL_EXT_buffer_reference2 to replace explicit
struct sizes. For that to work we also need to fix BDA alignment by setting
it to the smallest possible value (default is 16).
We could also replace the INDEX macro with a[b] operators, but that's actually
a change in behavior because a[b] always uses 64bit arithmetic.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18765 >
2022-09-23 21:07:00 +00:00
Jordan Justen
f446f7a769
intel/l3: Use L3 full-way allocation setting for gfx12.5 (DG2, MTL)
...
For now we use an empty set of L3 config settings on DG2 & MTL, which
will cause the L3 programming to set L3FullWayAllocationEnable.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18770 >
2022-09-23 12:49:37 -07:00
Sil Vilerino
02d858ef0d
d3d12: Fix usage of %ld with PRIu64 instead for cross-platform build
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18777 >
2022-09-23 17:57:54 +00:00
Mike Blumenkrantz
b3be2ace59
zink: PIPE_CAP_SHAREABLE_SHADERS
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Mike Blumenkrantz
10ed67867e
zink: use screen param for zink_shader_free()
...
the context is no longer used
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Mike Blumenkrantz
ac1b343477
zink: use program's context for cache deletion
...
this forces deletion of the program from its owner context under lock
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Mike Blumenkrantz
275e4a9c89
zink: add locking for program caches
...
these are context-based, so destroying them from another context needs locks
locks are not currently able to be contended
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Mike Blumenkrantz
a10cad018b
zink: don't try to delete programs from the cache if stages have been modified
...
this is guaranteed to fail anyway
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Mike Blumenkrantz
eab18cb7a2
zink: use screen params for program reference functions
...
these never used the context anyway
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Mike Blumenkrantz
697eb99d69
zink: track the owner context for gfx programs
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Mike Blumenkrantz
2fa7091263
zink: track a mask of gfx stages remaining in gfx programs
...
this provides a hint to improve program deletion
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18689 >
2022-09-23 17:02:11 +00:00
Joshua Ashton
0f770caa23
freedreno: Disable 8bpp_ubwc on a6xx gen2
...
Fixes text corruption in VSCode on a680.
Signed-off-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18779 >
2022-09-23 16:08:33 +00:00
Ruijing Dong
7bf8af2c8d
radeon/vcn: process invalid frame rate in encoding
...
Just in case app sending zeros in frame rate,
which could cause zero division, it will be treated
as fixed value, 30fps.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18737 >
2022-09-23 13:52:46 +00:00
Pierre-Eric Pelloux-Prayer
4fdf10fdaf
radeonsi/gfx11: don't set VERTS_PER_SUBGRP to 0
...
It seems slower.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Fixes: 25a66477d0 ("radeonsi/gfx11: register changes")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18758 >
2022-09-23 13:29:18 +00:00
Pierre-Eric Pelloux-Prayer
7483e50404
winsys/amdgpu: init 'r' before using it
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Fixes: 471c82d21e ("winsys/amdgpu: flatten huge if and reorder code in amdgpu_cs_submit_ib")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18758 >
2022-09-23 13:29:18 +00:00
Tapani Pälli
58829d9f11
iris: implement Wa_14016118574
...
After each 3DPRIMITIVE, we need to send a dummy post sync op if point or
line list was used or if had only 1 or 2 vertices per primitive.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18746 >
2022-09-23 12:27:05 +00:00
Tapani Pälli
f2645229c2
anv: implement Wa_14016118574
...
After each 3DPRIMITIVE, we need to send a dummy post sync op if point or
line list was used or if had only 1 or 2 vertices per primitive.
v2: add missing _3DPRIM_POINTLIST_BF (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18746 >
2022-09-23 12:27:05 +00:00
Erik Faye-Lund
c7ff9876d6
zink: correct emulation of luminance-alpha formats
...
util_format_luminance_to_red returns a red-alpha format, not a red-green
format, which is what we need in Vulkan. So let's also call
emulate_red_alpha so we can finish up with a valid format.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18596 >
2022-09-23 10:55:15 +00:00
Erik Faye-Lund
e7f192030c
zink: fix luminance/luminance-alpha emulation
...
We need to check the pipe_resource's format, not the texture-view
format. We're trying to overcome differences in the physical memory
layout, not the interpretation of the view.
But since we're now looking at the resource-format, we also need to take
the view-swizzle into account, because the state tracker likes to do
blits between LA and RA formats.
This had little effect in practice for luminance formats, but for
luminance-alpha formats things went kinda sideways. But luckily,
we don't actually use those formats yet, triggering state-tracker
emulation instead.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18596 >
2022-09-23 10:55:15 +00:00
Erik Faye-Lund
09afab4c29
zink: refactor swizzle-clamping code
...
It's going to be a lot easier to work on this if we can use loops
instead of open-coding. So let's move the swizzles into arrays, process
them, and then stick it back into their place at the end.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18596 >
2022-09-23 10:55:15 +00:00
Erik Faye-Lund
51c7691108
zink: fixup indent
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18596 >
2022-09-23 10:55:15 +00:00
Erik Faye-Lund
37b66f7874
zink: fix luminance clears
...
We should clear the red and green channels for luminance alpha formats,
and leave the other channels alone.
It doesn't really matter much what we're filling them in with, and the
rest of the code is kinda confused, and either does 0 or 1 a bit
randomly. Randonly pick 1.0 for the alpha and 0 for the rest.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18596 >
2022-09-23 10:55:15 +00:00
Erik Faye-Lund
21ec469a2f
zink: emulate latc formats with rgtc
...
util_format_luminance_to_red returns PIPE_FORMAT_NONE for LATC formats,
because there's no red-alpha variant of it, only red-green.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18596 >
2022-09-23 10:55:15 +00:00
Erik Faye-Lund
88ed8245a8
docs: add an amber article
...
This gives a brief introduction to the Amber branch, and where to
find documentation for it.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18648 >
2022-09-23 10:49:08 +00:00
Samuel Pitoiset
eded5bda4e
radv/ci: add piglit testing with Zink on NAVI10
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18315 >
2022-09-23 11:15:16 +02:00
Samuel Pitoiset
940246b058
zink/ci: update list of flakes for Piglit with RADV on NAVI10
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18315 >
2022-09-23 11:14:22 +02:00
Samuel Pitoiset
e133f0f9ca
zink/ci: update list of expected failures with RADV on NAVI10
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18315 >
2022-09-23 11:13:53 +02:00
Samuel Pitoiset
74cc2a20cd
zink/ci: skip GLX tests with RADV
...
Can't work with GBM.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18315 >
2022-09-23 11:13:51 +02:00
Samuel Pitoiset
7ced2ed740
zink/ci: skip arb_shader_clock with RADV
...
They are too random.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18315 >
2022-09-23 11:13:49 +02:00
Samuel Pitoiset
32b0c82ba8
zink/ci: skip ext_external_objects from Piglit with RADV
...
This subset randomly hangs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18315 >
2022-09-23 11:13:48 +02:00
Lionel Landwerlin
e76e3d9cea
intel/nir/rt: fixup alignment of memcpy iterations
...
Not sure if fixes anything because it's always 16 at least, but this
is more correct.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Lionel Landwerlin
139e8f4635
intel/fs: fixup a64 messages
...
And run algebraic when either int64 for float64 are not supported so
those don't end up in the generated code.
Cc: mesa-stable
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Lionel Landwerlin
838bbdcf2e
intel/nir/rt: store ray query state in scratch
...
Initially I tried to store ray query state in the RT scratch space but
got the offset wrong. In the end putting this in the scratch surface
makes more sense, especially for non RT stages.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c78be5da30 ("intel/fs: lower ray query intrinsics")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Lionel Landwerlin
f7fab09a07
intel/nir/rt: change scratch check validation
...
It's very unfortunate that we have the RT scratch being conflated with
the usual scratch. In our implementation those are 2 different buffers.
The usual scratch access are done through the scratch surface state
(delivered through thread payload), while RT scratch (which outlives
thread dispatch with shader calls) is its own buffer.
So checking the NIR scratch size makes no sense as we can have normal
scratch accesses completely unrelated to RT scratch accesses.
This change switches the validation by looking at whether the scratch
base pointer intrinsic is being used (which is what we use/abuse to
implement RT scratch).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c78be5da30 ("intel/fs: lower ray query intrinsics")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Lionel Landwerlin
259b1647e6
intel/nir/rt: fix ray query proceed level
...
Initially the level is world (top level), then it's whatever level the
potential hit is.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c78be5da30 ("intel/fs: lower ray query intrinsics")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Lionel Landwerlin
3f01071c79
intel/nir/rt: remove ray query mem hit writes at initialization
...
This will not even be read by HW.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Lionel Landwerlin
f843bec7de
intel/nir/rt: spill/fill the entire ray query data
...
We need the traversal stack to saved/restored along with mem hits.
Total spill/fill is 256bytes.
We can potentially optimize this but we have to be very careful about
what state the query is in.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c78be5da30 ("intel/fs: lower ray query intrinsics")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Lionel Landwerlin
a88f725eea
intel/nir/rt: fixup generate hit
...
This function copies the potential hit from its memory location to the
committed hit location. A couple of fields got their bit offset wrong.
Fixes some CTS tests in dEQP-VK.ray_query.*
v2: Copy primitive/instance leaf pointers
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 0465714790 ("intel/nir/rt: add more helpers for ray queries")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17396 >
2022-09-23 08:29:17 +00:00
Xin LI
2905dd7951
meson: Improve detection of qsort_r().
...
Instead of trying to guess the interface style by solely checking
the OS name, check if a fake test program can be built and linked.
This will give more accurate result when FreeBSD and other systems
moved to the interface based on GNU qsort_r().
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18527 >
2022-09-23 07:45:01 +00:00
Gert Wollny
6be7c2ef51
r600: Make NIR the default shader IR
...
By default sb is disabled, to enable it one can
set
R600_DEBUG=nirsb
TGSI can be enabled by using
R600_DEBUG=use_tgsi
In this case "sb" will be enabled, but one can use
the TGSI backend without sb by setting
R600_DEBUG=use_tgsi,sb
Closes : #6858
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18753 >
2022-09-23 07:34:31 +00:00
Gert Wollny
ad74cd3c3f
r600: Add slot to ALU disassambly
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18753 >
2022-09-23 07:34:31 +00:00
Dave Airlie
0995c6827a
lavapipe: use slow clear path if conditional rendering.
...
the ->clear path checks render condition which isn't necessary.
Fixes dEQP-VK.conditional_rendering.draw.condition_host_memory_expect_noop_rp_clear.draw*
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18686 >
2022-09-23 07:20:18 +00:00
Samuel Pitoiset
31dc15b977
radv: rework and rename radv_make_buffer_descriptor()
...
Pass the VA directly and rename to radv_make_texel_buffer_descriptor().
This helper will be re-used for future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18750 >
2022-09-23 06:55:21 +00:00
Samuel Pitoiset
81d7a6bdff
radv: remove unnecessary radv_buffer_view::vk_format
...
It's not really useful.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18750 >
2022-09-23 06:55:21 +00:00
Samuel Pitoiset
a5ca3c1638
radv: pass a VkSampler to write_sampler_descriptor()
...
For future work, and remove useless radv_device parameter.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18750 >
2022-09-23 06:55:21 +00:00
Iago Toral Quiroga
4ea916f704
broadcom/compiler: don't apply robust buffer access to shared variables
...
This feature is only concerned with buffers bound through a descriptor
set. We are still keeping the code for this (disabled by default) since
it may be useful for debugging some scenarios.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18744 >
2022-09-23 06:27:54 +00:00
Iago Toral Quiroga
44b02b5cb1
broadcom/compiler: handle shared stores with robust buffer access
...
For some reason we supported all shared intrinsics but this one.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18744 >
2022-09-23 06:27:54 +00:00
Iago Toral Quiroga
b2bce9c98a
broadcom/compiler: fix robust buffer access
...
Our implemention was bogus, it was only putting a cap on the offset
based on the aligned buffer size and this doesn't ensure the access
to the buffer happens within its valid range.
I think the only reason we have been passing the tests is that we
align all buffers sizes to 256B and the tests create buffers with a
size that is smaller than that (like 64B). When get the size of the
buffer from the shader, we get the actual bound range (so 64B in this
case) and by capping to that we don't ensure the access will stay
within that range, but we ensure it will stay within the underlying
memory bound to the buffer (256B), and this is fine by the spec,
however, I think if the actual buffer range was the same as the
underlying allocation we would fail the tests.
A valid behavior for robust buffer access on an out-of-bounds access
is to return any valid bytes within the buffer, so we can just
make that offset 0.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18744 >
2022-09-23 06:27:54 +00:00
Paul Gofman
e7e989f62e
vbo/dlist: keep buffers used in loopback_vertex_list() mapped.
...
When display list loopback path is hit the major performance
drop during glCallList() happens due to constantly mapping and
unmapping the buffer.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17285 >
2022-09-23 04:41:50 +00:00
Marek Olšák
4d44399c2e
gallium/u_threaded: add an option for unsychronized create_fence_fd
...
And enable it for radeonsi. This may be needed by Android.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18731 >
2022-09-23 03:47:50 +00:00
Mike Blumenkrantz
21ba47c821
zink: handle culldistance xfb outputs like clipdistance
...
fixes:
spec@ext_transform_feedback@builtin-varyings gl_culldistance
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18724 >
2022-09-23 02:49:08 +00:00
Mike Blumenkrantz
1146793881
glsl: fix gl_CullDistance xfb linking
...
this matches the behavior for gl_ClipDistance
ref #7152
Fixes: 0c8492cd3b ("glsl: fix location for array subscript")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18724 >
2022-09-23 02:49:08 +00:00
Caio Oliveira
eb6aa25d16
spirv: Make a helper function to check glslang/shaderc
...
When deciding on workarounds that apply to GLSLang we should also check
for ShaderC (when using glslang). Add a helper to do that and reuse in
the three places we check for it.
This patch will now consider shaderc for wa_glslang_cs_barrier workaround.
Suggested by Timur Kristóf.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18442 >
2022-09-23 01:25:48 +00:00
Caio Oliveira
30b6d6b30f
spirv: Call vtn_emit_ret_store() only when handling return branch
...
No need to call it at the end of every block, since we already
know and identified the blocks terminating with returns.
Suggested by Jason Ekstrand.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18442 >
2022-09-23 01:25:48 +00:00
Caio Oliveira
b89a36fc01
spirv: Add workaround to ignore OpReturn after OpEmitMeshTasksEXT
...
Fixes: 7d1bcf1f55 ("spirv, nir: Handle EmitMeshTasksEXT opcode.")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18442 >
2022-09-23 01:25:48 +00:00
Timur Kristóf
89f1727654
spirv: Treat EmitMeshTasksEXT as a terminating instruction.
...
glslang had a bug and didn't actually emit it as a terminating
instruction, therefore this went unnoticed thus far. See
https://github.com/KhronosGroup/glslang/issues/3020 .
Modified by Caio Oliveira to emit the corresponding NIR intrinsic
right before the halt.
Fixes: 7d1bcf1f55 ("spirv, nir: Handle EmitMeshTasksEXT opcode.")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18442 >
2022-09-23 01:25:48 +00:00
Caio Oliveira
b9919b9980
spirv: Pass vtn_block into vtn_emit_branch()
...
This will be used later to handle branches instructions that have
parameters in them, e.g. SpvOpEmitMeshTasksEXT. No behavior change in
this commit.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18442 >
2022-09-23 01:25:48 +00:00
Caio Oliveira
3f4343c7cd
nir/lower_task_shader: Don't fail adding a launch when last instruction is a jump
...
Fixes: 8aff8d3dd4 ("nir: Add common task shader lowering to make the backend's job easier.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18442 >
2022-09-23 01:25:48 +00:00
Mihai Preda
15e78caf8d
gallivm: LLVM opaque pointers: use lp_build_array_get_ptr2() in lp_bld_nir_soa.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18721 >
2022-09-23 00:44:28 +00:00
Mihai Preda
cdd7e8f5ce
gallivm: LLVM opaque pointers: add lp_build_array_get[_ptr]2 in lp_bld_struct.c
...
i.e. variants taking an explicit LLVM type
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18721 >
2022-09-23 00:44:28 +00:00
Mihai Preda
1d741f4c62
gallivm: LLVM opaque pointer fixes in lp_bld_sample.c
...
load_mip()
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18721 >
2022-09-23 00:44:28 +00:00
Mihai Preda
966a395f02
gallium/draw: fix LLVM opaque pointer warnings in store_aos()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
cb33367449
gallium/draw: fix LLVM opaque pointer warnings in draw_tcs_llvm_emit_store_output()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
620c6e14bd
gallium/draw: fix LLVM opaque pointer warnings in draw_tcs_llvm_emit_fetch_output()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
3e6dd65acb
gallium/draw: fix LLVM opaque pointer warnings in draw_tcs_llvm_emit_fetch_input()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
a9d37f8bc9
gallium/draw: fix LLVM opaque pointer warnings in draw_gs_llvm_epilogue()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
6ad8b95f4d
gallium/draw: fix LLVM opaque pointer warnings in draw_gs_llvm_end_primitive()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
4a6e34ec3d
gallium/draw: fix LLVM opaque pointer warnings in draw_gs_llvm_fetch_input()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
be03a354b8
gallium/draw: fix LLVM opaque pointer warnings in generate_clipmask()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:47 +00:00
Mihai Preda
8766e30eda
gallium/draw: fix LLVM opaque pointer warnings in store_clip()
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18720 >
2022-09-23 00:09:46 +00:00
Lionel Landwerlin
f9dbb65e7f
anv: add missing wokraround for texture cache invalidate
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18743 >
2022-09-22 23:45:16 +00:00
Connor Abbott
8cb1deded6
ir3/analyze_ubo_ranges: Account for reserved consts
...
We weren't accounting for the reserved consts when calculating how much
we can upload. This led to assertion failures later if we pushed too
much.
Fixes: d3b7681df2 ("tu: ir3: Emit push constants directly")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18757 >
2022-09-22 22:16:22 +00:00
Connor Abbott
750ecb0aa9
tu: Set textures_used for input attachments correctly
...
We were accidentally multiplying by 2 twice. Noticed by inspection.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18757 >
2022-09-22 22:16:22 +00:00
Connor Abbott
f483419c23
tu: Fix maxPerStageDescriptorUpdateAfterBindInputAttachments
...
We need this to be the same as maxPerStageDescriptorInputAttachments.
Fixes: d9fcf5de55 ("turnip: Enable nonuniform descriptor indexing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18757 >
2022-09-22 22:16:21 +00:00
Sil Vilerino
0fd23e8696
d3d12: Fix texture array DPB encode path
...
Mark D3D12_VIDEO_ENCODER_PICTURE_CONTROL_FLAG_USED_AS_REFERENCE_PICTURE when applicable
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763 >
2022-09-22 22:03:44 +00:00
Sil Vilerino
8711b53d59
d3d12: Add debug verbosity for output reconstructed picture
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763 >
2022-09-22 22:03:44 +00:00
Sil Vilerino
93e0309b13
d3d12: Fix out of bounds index check for texture array DPB
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763 >
2022-09-22 22:03:44 +00:00
Sil Vilerino
dc523fabef
d3d12: Relax slice caps requirements for video encode
...
The check in d3d12_has_video_encode_support was returning no encode support unless
the driver supported D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_UNIFORM_PARTITIONING_SUBREGIONS_PER_FRAME
when it should also return support when the driver reports only full frame support
(ie. D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE_FULL_FRAME)
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18763 >
2022-09-22 22:03:44 +00:00
Mike Blumenkrantz
f8b4d40a1e
zink: delete some descriptor caching cruft
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
b889b48466
zink: delete more sw conditional render handling
...
I forgot to delete this when I deleted the draw path handling
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
fc52f82c09
zink: remove batch usage from sampler states
...
this was useless
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
f6bbd7875a
zink: remove batch tracking/usage from view types
...
instead of incurring all the overhead of tracking lifetimes for these,
it makes more sense to just let them delete whenever and then store
the vk object onto its parent image/buffer to be deleted when that gets
freed, as the parent object's lifetime will always be >= the view's lifetime
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
9f9dd4f2ac
zink: split out bind_sampler_states hook for drivers without EXT_non_seamless_cube_map
...
this incurs some overhead and is seldom used, so avoid having it in the codepath
at all if it won't be used
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
7172fb56d9
zink bump batch state limit a bit
...
this should yield better throughput
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
83c76b8efb
zink: rework batch tracking for resources
...
this uses a revised version of radeonsi's buffer list array to track
resources for lifetime/usage management, massively improving performance
by avoiding hash table lookups
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
1896111d25
zink: defer more semaphore destruction
...
these have noticeable overhead, so handle them in the submit thread
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18664 >
2022-09-22 21:38:47 +00:00
Mike Blumenkrantz
babf9474c4
zink: rework flush_frontbuffer to always flush
...
previously this would no-op unacquired swapchains and then try to
execute a copy from the last-presented swapchain image to the current
image to avoid presenting garbage data
instead, just present garbage like the app requested
fixes #7165
Tested-By: Matti Hamalainen <ccr@tnsp.org >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18730 >
2022-09-22 21:14:03 +00:00
Mike Blumenkrantz
758c559bc4
zink: check format compatibility up front when creating framebuffer surface
...
this avoids an assert in create_ivci while enforcing correct behavior
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18446 >
2022-09-22 20:42:04 +00:00
Adam Jackson
4c5dee6c22
egl: Rewrite eglSetBlobCacheFuncsANDROID to use the standard macros
...
As the deleted comment hints, you just need the macro to expand to
return /* void */;
for things to work.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713 >
2022-09-22 20:13:58 +00:00
Adam Jackson
eb39198fe2
egl: Factor out the eglTerminate write-lock pattern
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713 >
2022-09-22 20:13:58 +00:00
Adam Jackson
b2ee2de1fb
egl: Untangle some spaghetti around _eglLookupDisplay
...
Only eglapi needs any of this.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713 >
2022-09-22 20:13:58 +00:00
Adam Jackson
1f94f28e8c
egl: Promote _eglLock/UnlockDisplay to internal API
...
This reads a bit more cleanly than egl_lock/egl_unlock I think.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713 >
2022-09-22 20:13:58 +00:00
Adam Jackson
5e407ec524
egl: Fix a bunch of maybe-uninitialized warnings
...
Fedora's gcc 12 is apparently not smart enough to deduce that these are
always initialized, so set some clear default values.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18713 >
2022-09-22 20:13:57 +00:00
Yonggang Luo
51af3f30c6
Update 22.2.0.rst
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726 >
2022-09-22 20:08:20 +00:00
Dylan Baker
7f6ec0f0e3
docs: Add calendar entries for 22.2 release.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726 >
2022-09-22 20:08:20 +00:00
Dylan Baker
b91cf1df5a
docs: update calendar and link releases notes for 22.2.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726 >
2022-09-22 20:08:20 +00:00
Dylan Baker
149a7f272c
docs: Add sha256 sum for 22.2.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726 >
2022-09-22 20:08:20 +00:00
Dylan Baker
fe61d5cfe1
docs: add release notes for 22.2.0
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18726 >
2022-09-22 20:08:20 +00:00
Yiwei Zhang
373bc6f1d5
venus: ensure to clear VkPipelineCreationFeedback::flags if needed
...
Fixes: d0cb99e96a ("venus: Enable VK_EXT_pipeline_creation_feedback")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18741 >
2022-09-22 19:54:26 +00:00
Emma Anholt
5e39b52e6a
turnip: Fix busy-waiting on syncobjs with OS_TIMEOUT_INFINITE.
...
I noticed that glmark2's glFinish()es in its offscreen rendering tests
under zink were spinning. When we passed -1 as the timeout for
drmSyncobjWait(), the kernel would immediately return ETIME.
Fixes: 0a82a26a18 ("turnip: Porting to common implementation for timeline semaphore")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18739 >
2022-09-22 19:24:00 +00:00
Leo Liu
e2c0eac5bf
frontends/va: fix build error for vaSyncBuffer with older VA
...
return VA_STATUS_ERROR_TIMEDOUT;
| ^~~~~~~~~~~~~~~~~~~~~~~~
| VA_STATUS_ERROR_UNKNOWN
../src/gallium/frontends/va/buffer.c:434:14: note: each undeclared identifier is reported only once for each function it appears in
../src/gallium/frontends/va/buffer.c:436:22: error: ‘VA_TIMEOUT_INFINITE’ undeclared (first use in this function); did you mean ‘PIPE_TIMEOUT_INFINITE’?
436 | if (timeout_ns != VA_TIMEOUT_INFINITE)
| ^~~~~~~~~~~~~~~~~~~
| PIPE_TIMEOUT_INFINITE
Fixes: 229c6f79a ("frontends/va: Implement vaSyncBuffer")
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18760 >
2022-09-22 19:13:31 +00:00
Rob Clark
8300554ba1
freedreno: Handle xfb invalidation
...
So using the same buffer for CPU writes and GPU writes might be kinda
unusual. But I noticed we were missing handling for the case while
debugging something unrelated.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18732 >
2022-09-22 18:24:42 +00:00
Yonggang Luo
3449b2187e
lavapipe/meson: rename module_dir to icd_lib_path and swap two lines for consistence
...
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/18747 >
2022-09-22 17:54:24 +00:00
Yonggang Luo
c8e14d5d47
dzn: rename module_dir to icd_lib_path for consistence
...
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/18747 >
2022-09-22 17:54:24 +00:00
Yonggang Luo
a144f3f80c
radv: Getting radeon_icd to be generated properly on win32
...
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/18747 >
2022-09-22 17:54:24 +00:00
Tapani Pälli
d68e74955c
mesa/st: fix a set_sampler_views call parameter order
...
Fixes: e7b9561959 ("gallium: implement compute pbo download")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18745 >
2022-09-22 17:25:30 +00:00
Rajnesh Kanwal
672a1a9021
pvr: Implement vkCmdNextSubpass API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:54:18 +01:00
Rajnesh Kanwal
154ffdbd45
pvr: Pass load-op struct instead of idx to support subpass load-ops.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:54:15 +01:00
Rajnesh Kanwal
f1d61d8161
pvr: Add support to create subpass load ops.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:54:10 +01:00
Rajnesh Kanwal
0756a28f2d
pvr: Add attachment resolve support.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:54:07 +01:00
Rajnesh Kanwal
ce5a34aadb
pvr: Add const to structs that are not supposed to be modified.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:54:04 +01:00
Rajnesh Kanwal
2fc20cff4c
pvr: Rename userpass_spawn to isp_userpass.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:54:01 +01:00
Rajnesh Kanwal
f19697de5a
pvr: Add missing output register write in pvr_CreateRenderPass2.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:53:58 +01:00
Rajnesh Kanwal
7eff950215
pvr: Use ~0 for masks instead of ~0U.
...
This makes code future proof in case someone changes the type
and also avoids half masks (0x00000000FFFFFFFF) in case of
64bit variables.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reported-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:53:54 +01:00
Rajnesh Kanwal
10b6a0d567
pvr: Add support for generating render pass hw setup data.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:53:52 +01:00
Rajnesh Kanwal
b57cd62698
pvr: Replace pvr_renderpass_surface_initop with VkAttachmentLoadOp.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:53:48 +01:00
Rajnesh Kanwal
9f9a1ab118
pvr: General reformatting and renaming some fields.
...
Mainly renaming driver_id and similar fields to index to
better represent what they contain.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18707 >
2022-09-22 16:53:44 +01:00
Eric Engestrom
88eeece662
docs: update calendar and link releases notes for 22.1.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752 >
2022-09-22 13:11:08 +00:00
Eric Engestrom
40bfaa7354
docs: add release notes for 22.1.7
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752 >
2022-09-22 13:11:08 +00:00
Eric Engestrom
c3df3baf8b
docs: update calendar and link releases notes for 22.1.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752 >
2022-09-22 13:11:08 +00:00
Eric Engestrom
2b4a819e60
docs: add release notes for 22.1.6
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18752 >
2022-09-22 13:11:08 +00:00
Daniel Schürmann
cd36a29759
aco/optimizer: change inverse_comparison in-place
...
This avoids creating a second comparison which is more expensive
than just using the existing s_not.
Totals from 1089 (0.81% of 134913) affected shaders: (GFX10.3)
VGPRs: 50472 -> 50184 (-0.57%)
CodeSize: 4724692 -> 4760824 (+0.76%); split: -0.03%, +0.79%
MaxWaves: 23964 -> 24012 (+0.20%)
Instrs: 859588 -> 859687 (+0.01%); split: -0.11%, +0.12%
Latency: 10674653 -> 10650353 (-0.23%); split: -0.41%, +0.18%
InvThroughput: 1752987 -> 1750238 (-0.16%); split: -0.20%, +0.04%
VClause: 20921 -> 20872 (-0.23%); split: -0.68%, +0.45%
SClause: 31417 -> 31550 (+0.42%)
Copies: 69428 -> 68738 (-0.99%); split: -1.52%, +0.53%
PreSGPRs: 48033 -> 49649 (+3.36%)
PreVGPRs: 44490 -> 43699 (-1.78%)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253 >
2022-09-22 12:35:11 +00:00
Timur Kristóf
c8445c1691
aco: Change inverse-comparison optimization to work with s_not
...
Some time ago we stopped using s_andn2 with exec for boolean NOT.
The reasoning behind that change was that those booleans will be
always ANDed with exec when necessary.
This inhibited the inverse-comparison optimization in most cases
which is fixed by this patch.
Fossil DB stats on Navi 21:
Totals from 12251 (9.08% of 134913) affected shaders:
VGPRs: 801744 -> 802016 (+0.03%); split: -0.00%, +0.04%
SpillSGPRs: 8863 -> 8893 (+0.34%)
CodeSize: 100593244 -> 100370684 (-0.22%); split: -0.22%, +0.00%
MaxWaves: 204994 -> 204948 (-0.02%); split: +0.00%, -0.02%
Instrs: 18717001 -> 18668965 (-0.26%); split: -0.26%, +0.00%
Latency: 263255046 -> 262874896 (-0.14%); split: -0.16%, +0.02%
InvThroughput: 52760249 -> 52721736 (-0.07%); split: -0.08%, +0.01%
VClause: 329631 -> 329680 (+0.01%); split: -0.03%, +0.04%
SClause: 681563 -> 681435 (-0.02%); split: -0.02%, +0.00%
Copies: 1331612 -> 1372446 (+3.07%); split: -0.03%, +3.10%
Branches: 548325 -> 548301 (-0.00%)
PreSGPRs: 911317 -> 909700 (-0.18%)
PreVGPRs: 766279 -> 767070 (+0.10%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253 >
2022-09-22 12:35:11 +00:00
Daniel Schürmann
cf5f9854bc
aco/optimizer: optimize s_and(exec, s_and(x, y)) more aggressively
...
It is enough if either of the two operands is respecting the
current exec mask.
Totals from 1680 (1.25% of 134913) affected shaders: (GFX10.3)
CodeSize: 3929436 -> 3922372 (-0.18%); split: -0.18%, +0.00%
Instrs: 730305 -> 728536 (-0.24%); split: -0.24%, +0.00%
Latency: 6839314 -> 6835154 (-0.06%); split: -0.07%, +0.01%
InvThroughput: 1371351 -> 1371267 (-0.01%); split: -0.01%, +0.00%
SClause: 32819 -> 32802 (-0.05%); split: -0.09%, +0.04%
Copies: 33264 -> 33271 (+0.02%); split: -0.01%, +0.03%
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253 >
2022-09-22 12:35:11 +00:00
Daniel Schürmann
79a8e8b5b2
aco/optimizer: do can_eliminate_and_exec() optimization later
...
This will allow to optimize s_not(v_cmp()) safely.
Totals from 1024 (0.76% of 134913) affected shaders: (GFX10.3)
CodeSize: 5695424 -> 5701860 (+0.11%); split: -0.00%, +0.11%
Scratch: 242688 -> 241664 (-0.42%)
Instrs: 1040656 -> 1041635 (+0.09%); split: -0.00%, +0.09%
Latency: 16842282 -> 16922790 (+0.48%); split: -0.06%, +0.54%
InvThroughput: 4772728 -> 4810868 (+0.80%); split: -0.10%, +0.90%
VClause: 20013 -> 20000 (-0.06%); split: -0.12%, +0.05%
Copies: 115057 -> 114384 (-0.58%); split: -1.22%, +0.63%
Branches: 34531 -> 34532 (+0.00%); split: -0.00%, +0.01%
PreSGPRs: 46263 -> 46267 (+0.01%)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18253 >
2022-09-22 12:35:11 +00:00
Erik Faye-Lund
14b15b4038
zink: assert on unnormalized texcoords
...
We do not support PIPE_CAP_TEXRECT, so let's assert in case something
tries to use it behind our back.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708 >
2022-09-22 11:37:10 +00:00
Erik Faye-Lund
37733c100d
mesa/st: always use normalized coords for samplers
...
Normalized samplers is the norm, and non-normalized samplers might cause
some drivers and hardware to have to bend over backwards a bit.
We're using TXF here anyway, so it doesn't really matter what we set
this state to. So let's always use normalized samplers instead of
always using non-normalized samplers. That makes things easier for
everyone.
Fixes: e7b9561959 ("gallium: implement compute pbo download")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708 >
2022-09-22 11:37:10 +00:00
Erik Faye-Lund
1a135bdd6c
mesa/st: always use normalized coords for samplers
...
Normalized samplers is the norm, and non-normalized samplers might cause
some drivers and hardware to have to bend over backwards a bit.
We're using TXF here anyway, so it doesn't really matter what we set
this state to. So let's always use normalized samplers instead of
always using non-normalized samplers. That makes things easier for
everyone.
Fixes: 41e093fc98 ("st/pbo: add a fast pbo download code-path")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708 >
2022-09-22 11:37:10 +00:00
Erik Faye-Lund
484205b7eb
mesa/st: always use normalized coords for samplers
...
Normalized samplers is the norm, and non-normalized samplers might cause
some drivers and hardware to have to bend over backwards a bit.
We're using TXF here anyway, so it doesn't really matter what we set
this state to. So let's always use normalized samplers instead of
always using non-normalized samplers. That makes things easier for
everyone.
Fixes: ed0e9862c5 ("st/mesa: implement PBO downloads for ReadPixels")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17708 >
2022-09-22 11:37:10 +00:00
Iago Toral Quiroga
7eeb0fec8d
broadcom/compiler: increase V3D_MAX_BUFFE_RANGE to 2^30 bytes
...
This is the minimum required by KHR_maintenance4 and there is no
reason we can't support this.
The only restriction we have is that the texture state base
address (which comes into play with texel buffers) must be aligned
to 4-bits, but this doesn't restrict the size of the buffer, only
its base address, and we already have requirements for buffer
alignment that ensure this.
Fixes: dEQP-VK.api.info.vulkan1p3_limits_validation.khr_maintenance4
Fixes: 2c388c1d ('v3dv: set maxBufferSize property')
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18748 >
2022-09-22 11:07:26 +00:00
Jason Ekstrand
3417a0c4a2
iris: Support up to 128 textures
...
This is required for OpenCL. I kind-of hate this patch. I really don't
like GROUP_TEXTURE_LOW64 and GROUP_TEXTURE_HIGH64 but it was either that
or I had to make all the used bitsets 128 which would have mean making
them BITSET and that would have been a lot more churn.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442 >
2022-09-22 09:50:23 +00:00
Jason Ekstrand
06a0de492a
iris: Support up to 64 images
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442 >
2022-09-22 09:50:23 +00:00
Jason Ekstrand
c4ff82d958
iris: Split max #defines for textures/samplers/images
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442 >
2022-09-22 09:50:23 +00:00
Jason Ekstrand
c9c8134d76
iris: Stop looking at textures_used for samplers
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16442 >
2022-09-22 09:50:23 +00:00
Laurent Bigonville
0edf63de76
Try to fix FTBFS on kfreebsd architecture
...
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4081
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15058 >
2022-09-22 10:30:36 +02:00
Iván Briano
14810f3498
intel/utrace: create the callback events for xfb trace points
...
Fixes: 79c2f9e7cb ("anv: trace xfb queries")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7322
Tested-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18738 >
2022-09-22 06:59:06 +00:00
Iván Briano
ad89992ee1
anv: Set meshShaderQueries for mesh shader ext features
...
v2 (Jordan): More descriptive commit message and fixes tag
Fixes: 9701b9098f ("anv: enable EXT_mesh_shader")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18735 >
2022-09-22 06:26:30 +00:00
Vinson Lee
5553846240
d3d12: Initialize d3d12_video_encoder_references_manager_hevc::m_current_frame_idx.
...
Fix defect reported by Coverity Scan.
Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member m_current_frame_idx is not
initialized in this constructor nor in any functions that it calls.
Fixes: da11684e9d ("d3d12: Add HEVC Decode/Encode")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18654 >
2022-09-22 05:45:21 +00:00
Yonggang Luo
c74595ead3
radv/r600/clover: Getting libelf to be optional
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18503 >
2022-09-22 05:07:35 +00:00
Yonggang Luo
3f18709f1f
util: Remove the macro DEBUG_GET_ONCE_FILE_OPTION
...
DEBUG_GET_ONCE_FILE_OPTION is not a truly once function, it's return a new
FILE* object when calling to it when the conditions are satisfied. And it's
functional can be replaced with DEBUG_GET_ONCE_OPTION properly.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18323 >
2022-09-22 04:16:29 +00:00
Yonggang Luo
5229a147c1
util: getting get_tracefile in u_trace.c to be thread safe
...
Remove the usage of DEBUG_GET_ONCE_FILE_OPTION because it's not a truly
once function, it's return a new FILE* object when calling to it when
the conditions are satisfied.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7151
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18323 >
2022-09-22 04:16:29 +00:00
Yonggang Luo
7dfd54cf4a
util: Add util_call_once for optimize call to util_call_once_with_context out for hot path
...
For hot path, there is only need to a load instruction to load if initialized are true now,
So the extra cost is minimal.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18323 >
2022-09-22 04:16:29 +00:00
Mike Blumenkrantz
3a6984bbc0
zink: add stencil border color clamping
...
fixes (tu):
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_uint_stencil
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_float_depth_uint_stencil_sample_stencil
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_unorm_depth_uint_stencil_sample_stencil
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598 >
2022-09-22 03:53:11 +00:00
Mike Blumenkrantz
95d4faea49
zink: add srgb border color clamping
...
fixes (tu):
dEQP-GLES31.functional.texture.border_clamp.range_clamp.linear_srgb_color
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_srgb_color
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598 >
2022-09-22 03:53:11 +00:00
Mike Blumenkrantz
61d60bb746
zink: add border color clamping when customBorderColorWithoutFormat isn't supported
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598 >
2022-09-22 03:53:11 +00:00
Mike Blumenkrantz
0f98f4882c
zink: move color channel clamping to zink_format.c
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598 >
2022-09-22 03:53:11 +00:00
Mike Blumenkrantz
ec0611e9e4
zink: clamp z/s formats to aspected format for border colors
...
a z/s sampler with int border color is stencil and vice versa
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18598 >
2022-09-22 03:53:11 +00:00
Jason Ekstrand
ea185aef03
iris: Handle resource offsets in buffer copies
...
Fixes: c5b22441f1 ("iris: Fix buffer -> buffer copy_region")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15811 >
2022-09-22 03:33:00 +00:00
Jason Ekstrand
f4c05f319e
iris: Fix more BO alignments
...
Fixes: 32c5d6d1dc ("iris: Add an alignment parameter to iris_bo_alloc()")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15811 >
2022-09-22 03:33:00 +00:00
Jason Ekstrand
2984134395
iris: Use a larger alignment for buffer allocations
...
This is likely required for OpenGL buffer texture allocations. It'll
also make buffer copies faster if things are generally nicely aligned.
It's definitely required for OpenCL.
Fixes: 32c5d6d1dc ("iris: Add an alignment parameter to iris_bo_alloc()")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15811 >
2022-09-22 03:33:00 +00:00
Alyssa Rosenzweig
c17fcbaa2f
agx: Account for mask when writing registers
...
To use fewer registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
Alyssa Rosenzweig
5cd2371318
agx: Pass mask into ld/st_tile instructions
...
Properly handle render target formats with <4 components.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
Alyssa Rosenzweig
640fd089a2
agx: Ensure that the optimizer sees legitimate SSA
...
Expecting it to keep around unused definitions around is wishful. Add an
"anchoring" unit_test instruction to consume the results so they don't
have to be precoloured registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
Alyssa Rosenzweig
52467c2d1e
agx: Test fsat+f2f16 together
...
Something I hit when mucking with this pass.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
Alyssa Rosenzweig
3e86522cf2
agx: Validate immediates
...
In particular the new sizing rules.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
Alyssa Rosenzweig
14f2be1f33
agx: Use 16-bit immediates
...
This is slightly more accurate in the IR, and means we instruction
select the current 16-bit size floating point instructions when all
non-immediate operands are 16-bit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
Alyssa Rosenzweig
e302e5d527
agx: Emit fewer combines for intrinsics
...
A bunch of the emitted combines were unnecessary, or unnecessarily
large. Fix the accounting now that combines are variable size.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
Alyssa Rosenzweig
e887a11b06
agx: Fix bfi_mask packing
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18687 >
2022-09-22 03:23:36 +00:00
José Roberto de Souza
89d2cdad37
intel/dev: Adjust prefetch_size values for MTL engines
...
MTL has different CS prefetch sizes for each CS type.
So here replacing the cs_prefetch_size in intel_device_info struct
by a function that takes as argument the i915 engine class.
Fixes:
- func.cmd-buffer.small-secondaries.q0
- dEQP-VK.multiview.secondary_cmd_buffer.*
- Several other VK CTS tests that uses secondary_cmd_buffer
v2:
- renamed to intel_device_info_get_engine_prefetch() (Jordan)
v3:
- renamed to intel_device_info_calc_engine_prefetch()
- store each engine class prefetch in intel_device_info
BSpec: 45718
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18597 >
2022-09-22 02:14:47 +00:00
Simon Zeni
029522f67d
mesa/st: check egl image and texture target match before binding
...
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673 >
2022-09-22 01:44:32 +00:00
Simon Zeni
6a3f5c6512
mesa: simplify st_egl_image binding process for texture storage
...
The dmabuf imported edge case is now properly handled.
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673 >
2022-09-22 01:44:32 +00:00
Simon Zeni
25f569f58a
gallium: track if st_egl_image was created by a dmabuf
...
This is required by GL_EXT_EGL_image_storage to verify if the image is valid
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673 >
2022-09-22 01:44:32 +00:00
Simon Zeni
70e2a1faad
mesa: fix EXT_EGL_image_storage target validation
...
EXT_EGL_image_storage requires OpenGL 4.2, OpenGL ES 3.0, or
ARB_texture_storage, and EXT_direct_state_access or equivalent for
`EGLImageTargetTextureStorageEXT`.
`target` can be one of GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D,
GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY. On non-ES GL it can also be
GL_TEXTURE_1D or GL_TEXTURE_1D_ARRAY. If OES_EGL_image_external is supported,
it can also be GL_TEXTURE_EXTERNAL_OES.
Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18673 >
2022-09-22 01:44:32 +00:00
Mike Blumenkrantz
5b1137043c
zink: don't always set VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT with gpl
...
this is illegal
Fixes: 86e4fcd9a9 ("zink: add a graphics pipeline library implementation")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18729 >
2022-09-22 01:12:01 +00:00
Mike Blumenkrantz
5c6d61635d
zink: don't call CmdBindVertexBuffers2EXT with no attributes
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18729 >
2022-09-22 01:12:01 +00:00
Sil Vilerino
a70bac6252
d3d12: Make get_feedback return correctly on error when writing *size=0
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
ef8bd5ca9e
d3d12: Extract into common variable for metadata slot calculation
...
Removes duplicated code using X modulo D3D12_VIDEO_ENC_METADATA_BUFFERS_COUNT
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
4e3d93212a
d3d12: Enhance get_feedback not enough buffers message
...
Indicate to increase if the env var D3D12_VIDEO_ENC_METADATA_BUFFERS_COUNT
if not enough buffers in the get_feedback function
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
e8474bca5a
d3d12: Fix redundant/inconsistent initializations for d3d12_video_encoder
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
5b5b5a7ed8
d3d12: Add output buffer to inflight resourceset
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
ec16c95e75
d3d12: Make d3d12 encode operations async and do not block waiting
...
Separate d3d12_video_encode flush on end_frame (ie. vaEndPicture) from fence sync in get_feedback (ie. vaSyncSurface/Buffer)
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
5269d660af
d3d12: Have d3d12_video_encoder keep separate references for enc, heap and dpb allocations for in flight resources
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
24433f3a29
d3d12: d3d12_video_encoder add reset() to prevent leaks on re-allocation
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
8e50d5cc0d
d3d12: Encoder to use independent command allocators per in flight resource set
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
f9b850cd55
d3d12: Move encode configuration and capabilities into separate structs
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
29f2c5afbf
d3d12: Change d3d12_video_encoder to not automatically flush
...
With PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME reported as 1, the frontend will call flush()
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
59f2c71773
d3d12: Keep track of feedbacks from previous encode executions
...
Keep track of previous executed encodes with their metadata as vaSyncSurface
which queries this can be called with latency of several frames.
Fixes gstreamer encoding tearing issues
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
45e9e2693d
d3d12: Export some util functions from d3d12_fence for d3d12 video
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
ed329865ba
d3d12: Change type of m_FenceValue to uint64_t in d3d12_video_encoder
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
9fb3b2ab12
d3d12: Add support for PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION
...
Add support for PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION based on D3D12_VIDEO_ENC_ASYNC env variable defaulted to true
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
fe2b28192f
d3d12: Report PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
a92cfd5c88
d3d12: Add initialization values for d3d12_video_encoder
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
020c0af732
d3d12: Video process - Remove unnecessary batches flush
...
Make resident and sync in flush() method instead of before to avoid extra batch flushes
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
b47b9d96fd
d3d12: Update HEVC Encode GOP on I frames too
...
Update GOP also on I HEVC frames in d3d12_video_encoder_update_hevc_gop_configuration
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Sil Vilerino
229c6f79a6
frontends/va: Implement vaSyncBuffer
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18715 >
2022-09-21 23:31:15 +00:00
Georg Lehmann
84c0529258
aco: Unswizzle v_pk_fma_f16 literals to produce more v_pk_fmac_f16.
...
No Foz-DB difference, but it reduces code size in some angle shaders.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18676 >
2022-09-21 23:04:06 +00:00
Jonathan Gray
ed5d16cec1
iris: check i915 features after hw gen
...
when running recent Mesa on i855 (gen 2) without amber drivers:
error: Kernel is too old for Iris. Consider upgrading to kernel v4.16.
libGL error: glx: failed to create dri3 screen
libGL error: failed to load driver: iris
error: Kernel is too old for Iris. Consider upgrading to kernel v4.16.
libGL error: glx: failed to create dri2 screen
libGL error: failed to load driver: iris
move the i915 feature check to after the hardware generation check
which results in:
MESA: warning: Driver does not support the 0x3582 PCI ID.
libGL error: glx: failed to create dri3 screen
libGL error: failed to load driver: iris
MESA: warning: Driver does not support the 0x3582 PCI ID.
libGL error: glx: failed to create dri2 screen
libGL error: failed to load driver: iris
Cc: mesa-stable
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18563 >
2022-09-21 22:38:33 +00:00
Brian Paul
4e2d88781d
gallivm: fix nir AOS swizzling issues
...
The nir code for AOS (aka linear) mode had a number of issues.
In some cases, the RGB->BGR swizzling wasn't happening, leading to
incorrect colors. In other cases, bad swizzling caused the first
pixel's color to be written to four adjacent pixels.
Writemasks must also be swizzled. For example, if an instruction's
writemask indicates the X component but the AOS component order is
BGRA we need to change the writemask to Z.
Another issue was with constant buffer values not getting consistently
convert to BGRA order. Fixing this involves removing the
lp_nir_aos_conv_const() function and immediately converting immediate
values from 4 x f32 in [0,1] to 16 x u8 when we translate nir's
load_const so that we know the value is in the right linear/AOS layout
right away.
Finally, the llvmpipe_nir_fn_is_linear_compat() function was not
checking that nir_instr_type_load_const values are in [0,1] for AOS
execution. The info.unclamped_immediates field is not needed for
the NIR path (but still used for the old TGSI path).
This fixes quite a few tests in our VMware suite.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
d82abf448d
gallivm: asst. clean-ups in lp_bld_sample_soa.c
...
Wrap lines to 78 chars. Move var decls to where they're first used.
Etc.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
a4ce5d74d7
llvmpipe: asst. formatting, clean-ups in lp_state_fs.c
...
Wrap lines to 78 chars. Move var decls to where they're first used.
Etc.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
bd7ed4c6a2
gallivm: change texture/sampler_index params to unsigned
...
To match other functions taking those params.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
9b86745d69
gallivm: move lp_build_nir_aos_context declaration, etc
...
Move the lp_build_nir_aos_context struct declaration and
lp_nir_aos_context() cast wrapper from lp_bld_nir.h to
lp_bld_nir_aos.c and use the cast wrapper in more places.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
2967cc25ea
util: allow GALLIUM_LOG_FILE=stdout
...
To log gallium info to stdout instead of a file.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
69f7c91fe9
llvmpipe: always pass non-zero writemask to assign_reg()
...
Removes an uneeded conditional expression.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
9fbb77445c
llvmpipe: further bump LP_MAX_TGSI_SHADER_IMAGES to 64
...
I previously bumped this to 32, but we need at least 64 to pass
a few other VMware tests (e.g. dx11-slots-uav-write-vs-gs-all-64).
Also update/generalize a comment.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Brian Paul
ce65c7f0e9
lavapipe: s/u_foreach_bit/u_foreach_bit64/ in handle_pipeline_access()
...
Since the lvp_access_info fields are uint64_t.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18213 >
2022-09-21 21:55:11 +00:00
Chia-I Wu
79208d8bf3
turnip: advertise VkExternalFenceProperties correctly
...
Remove tu_GetPhysicalDeviceExternalFenceProperties and let the common
entrypoint does the work.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18711 >
2022-09-21 20:55:41 +00:00
Mike Blumenkrantz
2569215f43
egl/glx: add fallback for zink loading
...
if the driver attemping to load is not zink and not software, then
attempt a zink fallback on failure
this conservatively handles the case of "only zink is built", though it
is going to be noticeably slower at startup than loading zink directly
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16168 >
2022-09-21 20:29:06 +00:00
Emma Anholt
112b8d7c4d
ci/zink+turnip: Add a manual full run of the dEQP CTS.
...
We don't have enough spare boards to run this by default, but it's
catching interesting bugs and we want to be able to look at its status for
evaluating zink usage.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18717 >
2022-09-21 19:57:07 +00:00
Samuel Pitoiset
578e30f3e6
radv: make sure to initialize wd_switch_on_eop before checking its value
...
This is technically not a bug because it might just trigger
SWITCH_ON_EOI when streamout is used and I think it was fine.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7303
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18700 >
2022-09-21 18:20:58 +00:00
Emma Anholt
64d0e94d2c
turnip: Use the simplified stencil write flags for the LRZ-allowed check.
...
Traces of GLES games that ANGLE has taken frequently have no-op stencil
writes, which ANGLE and Zink both pass straight through. Given that we
support dynamic stencil state updates via tu_CmdSetStencil*(), draw time
really is the time for deciding this state unfortunately.
Reuse the fancier stencil write enables check from "can we do early z?" in
"can we do LRZ?". This gets one set of draws in among_us to have LRZ, but
I don't see a detectable performance difference.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18691 >
2022-09-21 17:18:07 +00:00
Emma Anholt
b9f9bfa556
turnip: Fix the "written stencil is unmodified" check.
...
We want to know if anything writes stencil, not if all of them do.
Fixes: b2a60c157e ("turnip: add LRZ early-z support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18691 >
2022-09-21 17:18:07 +00:00
Timur Kristóf
ed76471d08
aco/optimizer_postRA: Clarify terminology.
...
Change the terminology around the post-RA optimizer, primarily this
changes the use of "clobbered" to "overwritten" to avoid confusion,
and it removes some redundant states.
Proposed for backporting to stable, to make sure it is easy to
backport further fixes (if any) on top of this.
Fossil DB stats unaffected on Navi 21.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18488 >
2022-09-21 16:56:57 +00:00
Timur Kristóf
a8dd07518c
aco/optimizer_postRA: Fix logical control flow handling.
...
Change reset_block() so it only considers the logical
predecessors for VGPRs. Relevant for some optimizations
across loops.
This commit fixes an assertion failure which was triggered
by Zink in a piglit test.
Fossil DB stats unaffected on Navi 21.
Fixes: 2e56e23420
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18488 >
2022-09-21 16:56:57 +00:00
Timur Kristóf
2eab413cf7
aco/optimizer_postRA: Don't assume all operand registers were written by same instr.
...
This assumption is no longer true since the post-RA optimizer
can work across blocks. It is now possible that some control
flow paths overwrite some but not all registers of an operand.
This commit may prevent invalid optimizations and/or assertion
failures (on debug builds).
Fossil DB stats unaffected on Navi 21.
Fixes: 0e4747d3fb
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18488 >
2022-09-21 16:56:57 +00:00
Timur Kristóf
63063dd5ce
aco/optimizer_postRA: Mark a register overwritten when predecessors disagree.
...
Affects blocks whose some (but not all) predecessors overwrite a register.
This commit fixes glitches in some games which regressed because of the
improved SCC no-compare optimization.
Fossil DB stats on Navi 21:
Totals from 2816 (2.09% of 134906) affected shaders:
CodeSize: 24224276 -> 24241580 (+0.07%)
Instrs: 4570595 -> 4574921 (+0.09%)
Latency: 53680256 -> 53693655 (+0.02%); split: -0.00%, +0.02%
InvThroughput: 9829289 -> 9830573 (+0.01%)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7257
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7305
Fixes: 2e56e23420
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18488 >
2022-09-21 16:56:57 +00:00
Timur Kristóf
5e80edfa78
aco/tests: Add post-RA SCC no-compare tests cases with control flow.
...
- scc_nocmp_across_cf: passes
- scc_nocmp_across_cf_partially_overwritten: fails (fixed later)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18488 >
2022-09-21 16:56:56 +00:00
Timur Kristóf
d4b3f81d94
aco/tests: Add post-RA DPP test cases with control flow.
...
These are intended to make sure that the post-RA optimizer works
correctly across control flow. The new tests emit a divergent
if-else branch (with full logical+linear CFG).
- dpp_across_cf:
Simple case of DPP optimizable across control flow. Should pass.
- dpp_across_cf_overwritten:
Similar case but the DPP source register is overwritten in CF.
This shows a bug so the test fails now (will be fixed).
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18488 >
2022-09-21 16:56:56 +00:00
Timur Kristóf
d7cd49d54b
aco/tests: Add post-RA optimizer testcase for partially overwritten VCC.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18488 >
2022-09-21 16:56:56 +00:00
Karmjit Mahil
c4fa00f751
pvr: Add EMIT_MASK in pvr_emit_ppp_state().
...
This commit adds an extra check on the emitted ppp state by
adding an EMIT_MASK.
The mask is just a copy of the header at the beginning of the emit.
Each time a word is emitted the appropriate bit in the mask is
cleared and at the end we make sure that the mask is 0. If not,
we forgot the either clear a bit somewhere or emit some words.
This is intended to make it easier to find such errors.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18631 >
2022-09-21 16:47:06 +00:00
Karmjit Mahil
1cfcf86da4
pvr: Add assert for texturestate being 0 in when emitting ppp state.
...
We assume that the texturestate size is 0 so we don't emit a state
update for pds_state_ptr2 since the hw wouldn't use it based on
the 0 size. This commit adds an assert to make sure of that.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18631 >
2022-09-21 16:47:06 +00:00
Matt Coster
38a846ab5f
pvr: Add pvr_csb_unpack().
...
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Co-Authored-By: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18631 >
2022-09-21 16:47:06 +00:00
Karmjit Mahil
a1c66ed5c1
pvr: Complete pvr_emit_ppp_state().
...
This commit appends dbsc commands to be executed in secondary
command buffers on vkCmdExecuteCommands().
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18631 >
2022-09-21 16:47:06 +00:00
Karmjit Mahil
ad4886cea9
pvr: Make control stream word writing stricter.
...
Use pvr_csb_write_value() and pvr_csb_write_struct() to have some
extra checks when writing pre-packed command/state words in
pvr_emit_ppp_state().
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18631 >
2022-09-21 16:47:06 +00:00
Karmjit Mahil
b5cbbdba29
pvr: Add csb helpers macros to write into raw buffer.
...
This commit adds two helper macros to write control stream words
into raw buffers with some extra checks.
The new macros are renamed versions of the previous CS_WRITE() and
CS_PACK_WRITE() macros.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18631 >
2022-09-21 16:47:06 +00:00
Karmjit Mahil
091a117e38
pvr: Remove struct pvr_emit_state and emit header directly.
...
Previously `struct pvr_emit_state` was used to keep track of which
state update required emitting and the header was setup based on that.
This commit removes it so that we're instead setting up the header as
we go and we can emit it directly instead of decoding it based on the
emit_state (which is almost identical but with a few missing fields).
This commit also changes pvr_emit_ppp_state() so that each control
stream word is packed/emitted on its own instead of everything
being nested within the header pack. Making the code a bit easier
to follow.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18631 >
2022-09-21 16:47:06 +00:00
Rajnesh Kanwal
75b57f44c1
pvr: Implement vkResetEvent API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18708 >
2022-09-21 16:36:18 +00:00
Rajnesh Kanwal
96f5892f62
pvr: Implement vkSetEvent API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18708 >
2022-09-21 16:36:18 +00:00
Timur Kristóf
2274b26dfb
ac/nir/ngg: Don't initialize same-invocation mesh shader outputs.
...
This is actually not necessary and generates a lot of superfluous
instructions at every phi (setting the value to zero).
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18566 >
2022-09-21 16:14:59 +00:00
Timur Kristóf
697ea02202
ac/nir/ngg: Don't use LDS for same-invocation indices and cull outputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18566 >
2022-09-21 16:14:59 +00:00
Timur Kristóf
bb4bdba17e
radv: Remove dead shader temps after linking.
...
Prevent nir_lower_scratch accidentally turning these dead variables
into scratch. This can especially happen to arrayed outputs of
eg. tess control or mesh shaders, which become large shader temps.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18566 >
2022-09-21 16:14:59 +00:00
Timur Kristóf
3e6ad428b6
radv: Change max preferred task workgroup invocations to 64.
...
This was accidentally left at the maximum possible value.
However I now tested this with the cadscene demo app and there is
hardly any benefit from going above 64. Set it to 64 for now.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18566 >
2022-09-21 16:14:59 +00:00
Daniel Schürmann
98e3c446d8
aco/optimizer: disallow can_eliminate_and_exec() with s_not
...
Totals from 295 (0.22% of 134913) affected shaders: (GFX10.3)
CodeSize: 1016564 -> 1016896 (+0.03%); split: -0.05%, +0.09%
Instrs: 187659 -> 187724 (+0.03%); split: -0.08%, +0.11%
Latency: 2839516 -> 2839541 (+0.00%); split: -0.01%, +0.01%
Copies: 12301 -> 12305 (+0.03%); split: -0.01%, +0.04%
PreSGPRs: 10266 -> 10268 (+0.02%)
Closes : #7024
Cc: mesa-stable
Tested-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18722 >
2022-09-21 15:33:43 +00:00
Marek Olšák
d6fabe49cd
radeonsi: enable glthread by default
...
Let's enable it and see what happens. This should mostly be a win.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
4ff207b47b
glthread: execute glSignalSemaphoreEXT synchronously
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
da68678171
radeonsi: don't flush asynchronously for fence_server_signal
...
See the comment.
Fixes: 21b3a234 - mesa: fix SignalSemaphoreEXT behavior
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
000dfb1bc9
radeonsi/ci: add glx@glx-swap-event_async to CI failures for glthread
...
The test can't pass because glXSwapBuffers now executes GL functions,
which the test doesn't expect. It's a test defect IMO.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
8a44d32e2c
driconf: disable glthread for DeusEx:MD and F1 2015 due to a perf drop
...
glthread decreases performance for DeusEx:MD by 7.8% and F1 2015 by 5.7%.
I think that other Feral games are affected similarly.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
fa059811c5
radeonsi: simplify radeonsi_zerovram implementation
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Pierre-Eric Pelloux-Prayer
58f90fd03f
egl/wayland: fix glthread crashes
...
glthread unmarshalling thread cannot run concurrently with code that alloc
the back bo or the code that perform the swaps.
Ensure this by running dri2_flush_drawable_for_swapbuffers early.
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
eafe72a6cc
frontend/dri: sync glthread when calling from the app side
...
The comments explain the reasons.
This is a prerequisite for glthread to be used by native drivers, swrast,
and zink.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
c0a05b604a
frontend/dri: make the backgroundCallable extension optional
...
It's only needed by X11/DRI2. This allows glthread to be used by android,
drm, wayland, and device (EGL backend).
This is the only solution to allow the egl/drm backend to work with glthread
without ugly hacks between libgbm and libEGL.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
7c1f8b63ad
glthread: work around GL_INVALID_OPERATION with OpenGL ES 1.x draws
...
GLES1 only has (Multi)Draw{Array,Elements}, but glthread converts them
to the more complicated versions and then calls them through the dispatch,
which generated GL_INVALID_OPERATION.
Luckily, we can export them with the Internal prefix, so they are unlikely
to be used by apps by accident.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:50 +00:00
Marek Olšák
907bd11ca8
glthread: fix glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE)
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:49 +00:00
Marek Olšák
97891087b5
glthread: always sync for glShaderSource because invalid params can crash
...
If an invalid parameter is received along with an invalid pointer and we
ignore the invalid parameter and dereference the pointer, we crash.
Since we can't fully validate all parameters (such as whether "shader"
is a valid object ID), remove the custom code.
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:49 +00:00
Marek Olšák
6b6f862170
glthread: generate errors for glGet functions between glBegin/End
...
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:49 +00:00
Marek Olšák
c716827f69
glthread: fix draws not compiled into a display list should generate an error
...
Before it just crashed if indices were invalid.
Cc: stable
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:49 +00:00
Marek Olšák
355d575820
mesa: fix glDrawRangeElementsBaseVertex should be compiled into display list
...
It's defined in terms of glDrawRangeElements, which is compiled into display
lists.
Cc: stable
Acked-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18223 >
2022-09-21 14:54:49 +00:00
Lionel Landwerlin
7556ee1fe4
anv: add support for EXT_mutable_descriptor_type
...
v2: Update docs/features.txt (Tapani)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18688 >
2022-09-21 13:34:20 +00:00
Lionel Landwerlin
369c12e5be
anv: clear descriptorsets if AllocateDescriptorSets fails
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7285
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18719 >
2022-09-21 13:04:20 +00:00
Lionel Landwerlin
79c2f9e7cb
anv: trace xfb queries
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17467 >
2022-09-21 12:38:34 +00:00
Lionel Landwerlin
d53682e1a9
intel/utrace: make blorp tracepoints more readable
...
With the operation name and some formats.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17467 >
2022-09-21 12:38:34 +00:00
Lionel Landwerlin
eac5e938c0
blorp: defined operations for debug purposes
...
We add a mapping for blorp_op -> intel_snapshot
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17467 >
2022-09-21 12:38:34 +00:00
Lionel Landwerlin
b12d95f513
anv: add missing tracepoint
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 3501a3f9ed ("anv: Convert to 100% dynamic rendering")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17467 >
2022-09-21 12:38:34 +00:00
Georg Lehmann
94b5225c9b
aco: Use v_fmaak/v_fmamk if two operands are the same literal.
...
Foz-DB Navi21:
Totals from 5744 (4.26% of 134913) affected shaders:
VGPRs: 237128 -> 237056 (-0.03%); split: -0.04%, +0.01%
CodeSize: 16654484 -> 16620668 (-0.20%); split: -0.23%, +0.03%
MaxWaves: 152838 -> 152846 (+0.01%)
Instrs: 3063214 -> 3058572 (-0.15%); split: -0.17%, +0.02%
Latency: 23935195 -> 23934827 (-0.00%); split: -0.03%, +0.03%
InvThroughput: 5478562 -> 5478160 (-0.01%); split: -0.01%, +0.01%
VClause: 60432 -> 60435 (+0.00%); split: -0.02%, +0.03%
SClause: 121032 -> 120896 (-0.11%); split: -0.20%, +0.09%
Copies: 147865 -> 143144 (-3.19%); split: -3.59%, +0.40%
PreSGPRs: 195722 -> 195661 (-0.03%); split: -0.06%, +0.03%
PreVGPRs: 182849 -> 182787 (-0.03%)
Foz-DB Vega10:
Totals from 5290 (3.92% of 135041) affected shaders:
SGPRs: 357952 -> 359616 (+0.46%); split: -0.11%, +0.57%
VGPRs: 204048 -> 203928 (-0.06%); split: -0.08%, +0.02%
CodeSize: 14043176 -> 14003100 (-0.29%); split: -0.29%, +0.00%
MaxWaves: 39401 -> 39398 (-0.01%); split: +0.01%, -0.02%
Instrs: 2636739 -> 2631246 (-0.21%); split: -0.21%, +0.00%
Latency: 25264088 -> 25256482 (-0.03%); split: -0.05%, +0.02%
InvThroughput: 12039643 -> 12039346 (-0.00%); split: -0.00%, +0.00%
VClause: 55603 -> 55584 (-0.03%); split: -0.04%, +0.00%
SClause: 101577 -> 101342 (-0.23%); split: -0.30%, +0.07%
Copies: 213344 -> 207929 (-2.54%); split: -2.58%, +0.05%
Branches: 34053 -> 34054 (+0.00%)
PreSGPRs: 172405 -> 172260 (-0.08%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18645 >
2022-09-21 12:16:47 +00:00
Danylo Piliaiev
075cd3ca94
tu: Expose Vulkan 1.3
...
We have all required functionality implemented, and DXVK now requires
Vulkan 1.3.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18709 >
2022-09-21 11:56:26 +00:00
Connor Abbott
e9f5de11d4
tu: Initial implementation of VK_EXT_graphics_pipeline_library
...
Now that the state for each pipeline is split into pieces, we can mostly
implement it by stitching together the pieces. One TODO is that we could
do more to split up the pre-rast and FS commands into separate draw
states so that we have to emit less commands when fast linking,
currently we compile the variants but delay emitting the commands until
link time, but note that even the Gallium driver doesn't currently do
this. Given the strict SSO model (e.g. with separate VPC registers for
each stage) it may even be possible to do most of the linking ahead of
time with only a few fixups for corner cases.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
0a47002a65
tu: Abstract driver-specific const state
...
Right now, we pass around the push constant state in a lot of places,
but we'll want to add other driver-managed constants. Add a struct which
we can add to, and separate out the total driver-reserved constants from
the size of push constants.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
29262f3337
tu: Use vk_pipeline_shader_stage_to_nir
...
This will be necessary for graphics pipeline libraries where pipeline
stages can have the SPIR-V inline.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
46b2c62947
tu: Split up prim order computation
...
With pipeline libraries, computing this might have to be delayed because
it depends on multiple pieces of state and there's no way to disentangle
them. Therefore we have to store the requisite state in the pipeline and
combine it later.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
9eca3b12f6
tu: Move no_earlyz computation to blend/msaa state
...
This removes the last dependency of FS outputs on blend/MSAA state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
d6bf8efcdf
tu: Emit *_OUTPUT_CNTL1 as part of blend state
...
This further decouples the fragment shader from the blend state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
bd6f6308ae
tu, ir3: Determine dual-src blend from shader for FS outputs
...
The other state in this register comes from the FS, so determine whether
dual-source blending is enabled from the FS too, in order to avoid
entangling FS state and output state that with graphics pipeline library
can be in different pipelines.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
6c7da1b632
tu: Don't use output state to compute render components
...
If there are disabled attachments that are nevertheless written to, they
should already be disabled in the blend state, via the same mechanism as
color_write_enable, so there should be no reason to mix the FS state and
blend state like this. This helps unentangle state that in graphics
pipeline library can be provided in different pipelines.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
3fa0c55a08
tu, ir3: Move multi_pos_output to ir3_shader_variant
...
This means it has to be rederived rather than passed from the place
where we actually do the optimization, but it eliminates the clutter of
having to pass it around in turnip, which will only get worse with
graphics pipeline libraries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
fa1925256e
tu: Don't use layer_zero/view_zero in shader key
...
Instead force gl_Layer and gl_Viewport to 0 by setting registers.
Using the shader key would be against the spirit of GPL if it lead to
linking needing a recompile.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
9c0de5372f
tu: Nuke tu_pipeline_cache
...
This is just a leftover from the never-finished pipeline cache copied
from another driver, we use vk_pipeline_cache now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
bbb934e8c0
ir3: Don't use msaa key for a6xx+
...
In the compiler, this was only used to replace some inputs in the
non-MSAA case which apparently no longer need to be replaced anymore,
probably because we clarified some registers related to them and started
setting them better. In the pipeline libraries case we may not have
access to the sample locations state when compiling the FS (although we
do know whether sample shading is enabled), so this removes a
problematic state dependency in turnip.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
c90c77924a
tu: Split out primtype calculation for tess
...
With pipeline libraries, we may not know the HW primtype if the user
passes a primtype of PATCHES because the tess shaders and input assembly
state may be in different pipelines. We need to split out the patch
control points and only determine the final primtype once everything has
been merged. In preparation for this, and for dynamic patch control
points, calculate the final primtype dynamically. We already had a
draw-time workaround for dynamic primtype we can now remove, so this
actually reduces the amount of draw-time work we have to do anyway.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
1c6c8ce54b
tu: Make MSAA emission always dynamic
...
This wasn't taking into account the dynamic primitive topology, and it
was suboptimal with dynamic rendering, because we don't know when
compiling the pipeline whether variable multisample rate is being used.
It's going to be even more difficult to support the current approach
with graphics pipeline library because the MSAA state is derived from
mulisample state, rasterization state, input assembly state, and
tessellation state, which may be in different pipelines. Just set it
dynamically based on the pipeline and re-emit it when the pipeline's
MSAA or rectangular/bresenham state differs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
362569872a
tu: Always set RB_BLIT_GMEM_MSAA_CNTL when clearing GMEM
...
We weren't setting it in the CmdClearAttachments case. With this, we can
stop setting it in tu6_emit_msaa(), which only happened to work and
would break things in the next commit when we move it to a draw state.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
b6ef9e1f99
tu: Rename RB_MSAA_CNTL to RB_BLIT_GMEM_MSAA_CNTL
...
Based on experiments and what the blob does, this actually controls the
number of samples in GMEM for CP_EVENT_WRITE::BLIT. Rename it
accordingly.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
8c07e34f7b
tu: Group pipeline state based on VkPipeline*StateCreateInfo
...
This will help us to merge state when combining pipelines.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
85dfebb722
tu: Remove unused need_indirect_descriptor_sets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
7f40b5d0ca
tu: Fix case where vertex input is set but not vertex buffers
...
Some CTS tests, in particular,
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.independent_pipeline_layout_sets.*,
do the following:
1. Create a pipeline with a vertex input struct that defines a single
attribute pointing to vertex buffer #0 , but a vertex shader that
doesn't use any attributes.
2. Bind the pipeline, but don't call vkCmdBindVertexBuffers(), then
draw.
Other drivers handle this just fine because the vertex input registers
are never used. However we have an optimization in turnip where we
pre-calculate the size of the vertex buffer draw state when the vertex
input draw state is bound, which results in a vertex buffer draw state
with non-zero size but zero iova, resulting in hangs. While it's
questionable whether this is allowed, it's easy enough to just disable
the draw state in that case.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Connor Abbott
382757bb45
tu: Also set SP_FS_MRT_REG for unused attachments
...
This fixes some flakes with
dEQP-VK.pipeline.monolithic.multisample.alpha_to_coverage_unused_attachment.samples_2.alpha_opaque
on a650 with some other patches on top. I believe this is also the
source of the flakes on a630.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18554 >
2022-09-21 11:20:15 +00:00
Samuel Pitoiset
f4ec8e1ad5
radv: emit the rasterization samples through an user SGPR if needed
...
When the main FS needs sample positions and the number of samples
isn't known at compile time with GPL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
deb2dccc75
radv: add barycentric_at_sample lowering when the number of samples is dynamic
...
Use two different paths (static vs dynamic) to avoid running more NIR
pass to remove dead CF code when static is used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
68bb58a46e
nir,radv: pass the number of samples to load_sample_positions_amd
...
This will be used to lower it when it's dynamic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
c20d5ee3c2
radv: lower nir_load_rasterization_samples_amd in ABI
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
dd30e7bfa0
nir: add nir_load_rasterization_samples_amd
...
This will be used to load the number of rasterization samples when a
fragment shader is compiled inside a library without the MSAA state.
RADV needs to know the number of samples for loading sample positions
with interpolateAtSample().
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
2a0e4b5ef7
radv: declare shader arguments for the number of samples for FS
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
f85b7e294b
radv: add radv_pipeline_key::dynamic_rasterization_samples
...
With GPL, it's possible to build the main FS without the multisample
state, but the number of rasterization samples is required for
lowering interpolateAtSample(). In this rare situation, the number of
samples will be passed through a new user SGPR.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
45d4ee91e0
radv: constify radv_lookup_user_sgpr()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677 >
2022-09-21 10:30:33 +00:00
Samuel Pitoiset
923a864d94
radv: acquire pstate on-demand when capturing with RGP
...
AMDGPU pstate is per-device, not per Vulkan logical devices. The same
AMDGPU device is shared accross logical devices because the driver
creates only one winsys per fd. The kernel only allows one context
at a time per AMDGPU device, otherwise it returns -EBUSY.
Fixes this by acquiring pstate on-demand to avoid this multiple
logical device problem.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17712 >
2022-09-21 09:50:18 +00:00
Samuel Pitoiset
f1566ad500
radv: rename radv_thread_trace_set_pstate() to radv_device_set_pstate()
...
Setting pstate is used for RGP captures and performance counters, so
this name is more generic. Also make it non static.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17712 >
2022-09-21 09:50:18 +00:00
Marcin Ślusarz
ac8020ebfd
intel/compiler: add support for 8/16 bits task payload loads
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18501 >
2022-09-21 09:16:20 +00:00
Marcin Ślusarz
ac581b30ec
intel/compiler: refactor brw_nir_lower_mem_access_bit_sizes
...
Change dup_mem_intrinsic return type.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18501 >
2022-09-21 09:16:20 +00:00
Marcin Ślusarz
a31b8fa38b
intel/compiler/task: use shared memory for small task payload loads & stores
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18501 >
2022-09-21 09:16:20 +00:00
Marcin Ślusarz
1f0c39f23c
nir/lower_task_shader: lower small stores & loads to shared when requested
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18501 >
2022-09-21 09:16:20 +00:00
Danylo Piliaiev
9cc9b595f1
turnip: Implement VK_EXT_mutable_descriptor_type
...
Trivial promotion from VALVE, just rename enums and types.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18710 >
2022-09-21 11:30:31 +03:00
Tapani Pälli
85fc1decf0
anv: remove primitive_topology from 3DPRIMITIVE calls
...
Field is ignored on BDW+, 3DSTATE_VF_TOPOLOGY is used to set topology.
We still want to preserve topology information in state because
of other upcoming changes that require it.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18698 >
2022-09-21 04:42:42 +00:00
Tapani Pälli
8d66c45290
intel/common: clamp sample location coordinate range
...
Applications may use out-of-range values, driver is responsible for
clamping to implementation-dependent sample location coordinate
range.
Without clamp we hit assert when packing 3DSTATE_SAMPLE_PATTERN if
application attempts to use bigger value than 0.9375.
util_bitpack_ufixed: Assertion `min <= v && v <= max' failed.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18696 >
2022-09-21 04:05:45 +00:00
Jason Ekstrand
3ce1db339d
vulkan: Add a helper for gathering pipeline robustness
...
This is useful for implementing VK_EXT_pipeline_robustness because it
automatically gathers all the bits from everywhere for you.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18690 >
2022-09-20 23:53:51 +00:00
Jason Ekstrand
10485ee415
vulkan: Record more enabled robustness features
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18690 >
2022-09-20 23:53:51 +00:00
Emma Anholt
e5cd28cb37
turnip: Add TU_DEBUG=bos to print stats of BOs live at submit time.
...
I keep needing to hack this in to debug BO leaks, so let's just add it as
an option to use in general.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18679 >
2022-09-20 23:16:55 +00:00
Emma Anholt
c25662988f
turnip: Fix leak of autotune fence BOs.
...
If we're reusing the submission data, then reinitializing its CS would
leak its old BO.
Fixes : #7281 . glmark2 -b texture goes from 277fps to 1268.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18679 >
2022-09-20 23:16:55 +00:00
José Roberto de Souza
7d399a2e78
anv: Nuke cmd_parser_version
...
This was only necessary for gen7 platforms that no longer support by
anv.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18601 >
2022-09-20 22:29:44 +00:00
José Roberto de Souza
6b36d20bb2
vulkan_hasvk: Nuke dead code around I915_ENGINE_CLASS_COMPUTE
...
GPUs supported by this driver don't have I915_ENGINE_CLASS_COMPUTE,
so we can drop all this code.
v2:
- keeping anv_override_engine_counts()
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18601 >
2022-09-20 22:29:44 +00:00
Mike Blumenkrantz
e0ba5fa38e
ci: add nouveau flakes
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/28669371
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18712 >
2022-09-20 22:14:03 +00:00
Mike Blumenkrantz
03d7273292
ci: add a panfrost flake
...
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/28669388
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18714 >
2022-09-20 21:18:39 +00:00
Mike Blumenkrantz
0bf18cc483
anv: force inline more pipe flush functions
...
yields increased ~33% draw throughput
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18637 >
2022-09-20 20:53:22 +00:00
Lionel Landwerlin
39c6e4db25
anv: combine flushes in Draw/DrawIndexed/DrawIndirectByteCountEXT
...
Based off a patch from zmike
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18637 >
2022-09-20 20:53:22 +00:00
Lionel Landwerlin
1be09ae81a
anv: don't export gfx state flushing helper
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18637 >
2022-09-20 20:53:22 +00:00
Lionel Landwerlin
6aa2ddb9b6
anv: don't export flush_compute_state
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18637 >
2022-09-20 20:53:22 +00:00
Iván Briano
f81c9badcc
anv: populate rt shader groups if they were found in the cache
...
If the pipeline does not use libraries and the shaders are all found in
the cache, we end up with empty groups and crash at pipeline emit time.
Fixes a bunch of tests under
dEQP-VK.pipeline.monolithic.shader_module_identifier.\*.ray_tracing\*
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18582 >
2022-09-20 20:03:49 +00:00
Yonggang Luo
209a89e51d
aco: Convert to use u8 literal for Unicode character to fixes msvc warning
...
Warning:
aco_register_allocation.cpp(383): warning C4819: The file contains a character that cannot be represented in the current code page (0). Save the file in Unicode format to prevent data loss
This warning was treated as error with compiling with msvc
u8 is belongs to c11 standard so it's safe to use it
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18682 >
2022-09-20 18:40:50 +00:00
Yonggang Luo
b70e92fe04
radv: Remove the redundant #include <gelf.h> and #include <libelf.h> in ac_binary.c
...
It's not access these two header in the source code
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18682 >
2022-09-20 18:40:50 +00:00
Marcin Ślusarz
37e78803d7
intel/compiler: use nir_lower_task_shader pass
...
This implements task payload atomics in ANV.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16852 >
2022-09-20 18:04:29 +00:00
Marcin Ślusarz
3c96959bbc
intel/compiler: print shader after successful brw_nir_lower_shading_rate_output
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18702 >
2022-09-20 17:23:45 +00:00
Marcin Ślusarz
cfd1e5a91e
intel/compiler: remove second shading rate lowering for mesh
...
It's already called in brw_postprocess_nir and calling it the second time
actually breaks shading rate.
Initially, when I added this call here in 9acb30c8c4 , I was testing it
on an internal tree, which didn't have brw_nir_lower_shading_rate_output call
in brw_postprocess_nir.
Fixes: 9acb30c8c4 ("intel/compiler: implement primitive shading rate for mesh")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18702 >
2022-09-20 17:23:45 +00:00
Emma Anholt
6f9b9b01c1
ci: Update kernel to drm-next-2022-08-12-1
...
This brings in new msm UAPI that we'd like to be testing in turnip.
Unfortunately, a530 became flaky across dEQP and piglit. It seems that a
GPU hang from a test that we expect to hang will cause a followup
hangcheck affecting innocent tests. For example:
22-09-19 18:53:22 R SERIAL> [ 348.839188] msm_mdp 901000.mdp: [drm:a5xx_irq] *ERROR* gpu fault ring 0 fence ff55 status C10001C3 rb 084a/084a ib1 000000000105A000/0000 ib2 000000000105B000/0000
22-09-19 18:53:22 R SERIAL> [ 348.839272] msm_mdp 901000.mdp: [drm:recover_worker] *ERROR* A530: hangcheck recover!
22-09-19 18:53:22 R SERIAL> [ 348.852698] msm_mdp 901000.mdp: [drm:recover_worker] *ERROR* A530: offending task: shader_run:sq0 (/piglit/bin/shader_runner tests/spec/glsl-1.30/execution/clipping/vs-clip-distance-enables.shader_test -auto -fbo)
22-09-19 18:53:22 R SERIAL> [ 348.868680] msm_mdp 901000.mdp: [drm:a5xx_irq] *ERROR* gpu fault ring 0 fence ff55 status C10001C3 rb 084a/084a ib1 000000000105A000/0000 ib2 000000000105B000/0000
22-09-19 18:53:22 R SERIAL> [ 348.879586] msm_mdp 901000.mdp: [drm:recover_worker] *ERROR* A530: hangcheck recover!
[...]
22-09-19 18:53:23 R SERIAL> ERROR - Test spec@glsl-1.10 @execution@algebraic@glsl-algebraic-logicand-false: Fail: See "//results/piglit.spec@glsl-1.10 @execution@algebraic@glsl-algebraic-logicand-false.log "
As a result, I've moved a530 to test-manual-mr until it can be stabilized
again. This updated kernel also brings in a couple of regression fixes
for nouveau gk20a and gm20b.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18624 >
2022-09-20 16:52:10 +00:00
Michel Dänzer
c65e1ae016
lavapipe: Fix float32_atomic_min_max spelling
...
Fixes build with LLVM >= 15.
Fixes: 31695f81c9 ("lavapipe: export VK_KHR_shader_atomic_float")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18701 >
2022-09-20 16:26:37 +00:00
Michel Dänzer
43c8064b1e
gallivm: Fix LLVMAtomicRMWBinOpFMax spelling
...
Fixes build with LLVM >= 15.
Fixes: 203920d4c6 ("gallivm: add atomic 32-bit float support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18701 >
2022-09-20 16:26:37 +00:00
Emma Anholt
2a1a8ce472
ci/nouveau: Update gm20b xfails.
...
Similar set of skips as gk20a, so we can find any remaining flakes given
the firehose of SSBOs and geom/tess flakes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18674 >
2022-09-20 16:15:16 +00:00
Emma Anholt
c8207158b5
ci/nouveau: fix up Jetson Nano
...
The updated board has a stabilized GPU and now I just need to decide if
I'm building a farm of them or not. The new firmware flash needs a
reminder to the kernel of how to do NFS (no v2, thanks). Also, the full
run is long and we need the TEST_PHASE_TIMEOUT variable to go past 20
minutes now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18674 >
2022-09-20 16:15:16 +00:00
Emma Anholt
0fa857de28
ci/nouveau: Rearrange job setup variables.
...
Now there's "generic stuff for nouveau with bare metal", "the two board
types and how to use them", and "the specific jobs for those boards."
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18674 >
2022-09-20 16:15:16 +00:00
Emma Anholt
e8f708dbba
ci/nouveau: Drop BM_POE_TIMEOUT.
...
Unused since 5f09b1ebe9 ("ci/bare-metal: Add test phase timeouts to all
boards.").
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18674 >
2022-09-20 16:15:16 +00:00
Michael Skorokhodov
5e76850cff
egl: Return EGL_BAD_MATCH for invalid share_list
...
From the eglspec.1.5: "An EGL_BAD_MATCH is generated if [...]
share context was created on a different display than
the one referenced by config."
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6414
Signed-off-by: Mykhailo Skorokhodov<mykhailo.skorokhodov@globallogic.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16368 >
2022-09-20 15:47:22 +00:00
Friedrich Vock
a418ab6654
radv: Correct accel struct header size
...
The size was changed when adding metadata but not updated here.
Fixes: 07eceb4f ("radv: Add metadata to acceleration structures")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18680 >
2022-09-20 14:20:00 +00:00
Pavel Ondračka
c0074b22cd
r300: reduce CPU overhead in IF transformation pass
...
Right now there is a call to rc_get_variables, which performs a global
analysis of the whole shader, for every IF encountered. As a result,
shaders with a lot of IFs are compiled very slowly. The patological
cases are shaders using relative adressing, where the lowered array
access can result in tens of IFs.
This patch restructures the pass to call the rc_get_variables just once
at the beginning and later reuse the gathered info. We can do this,
because even though we transform the shader in the meantime (like for
example adding extra MOVs) the transformations are not siginificant
enough to influence the relevant variable info we are using.
This reduces CPU time for my shader-db by more than a half. I also
checked that the generated code for all shaders in shader-db is
identical.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18678 >
2022-09-20 13:43:00 +00:00
Samuel Pitoiset
19eec024d2
radv,aco: do not compact MRTs if the pipeline uses a PS epilog
...
We can't detect color attachment without exports when compiling a PS
epilog, so we can't compact MRTs.
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/18514 >
2022-09-20 13:12:49 +00:00
Iago Toral Quiroga
09a0fd6925
v3dv: fix VK_EXT_texel_buffer_alignment
...
This extension was promoted to Vulkan 1.3 so we should be setting its
properties directly in the VkPhysicalDeviceVulkan13Properties struct
which the common mesa code will use to populate outgoing properties.
Apparently, only the properties struct was promoted and not the features
struct.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Fixes: ee62a4c751 ('v3dv: implement VK_EXT_texel_buffer_alignment')
Fixes: dEQP-VK.api.info.get_physical_device_properties2.properties.basic
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18697 >
2022-09-20 12:52:31 +00:00
Rhys Perry
6df5ff7f19
aco: DCE ra_ctx::defs_done
...
This was used to distinguish definitions fixed before and during RA, but
it seems it isn't used anymore.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18547 >
2022-09-20 12:24:03 +00:00
Samuel Pitoiset
0f88f57223
radv: allow to build the main FS in a graphics pipeline library
...
Corner cases like implicit gl_PrimitiveID are currently broken and
will be fixed later, but the general case should work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18516 >
2022-09-20 11:53:38 +00:00
Samuel Pitoiset
e529745be3
radv: do not link shaders when the next stage is unknown
...
With GPL, it's possible to build the pre-rasterization stages separately
from the fragment stage. Implicit IO (like gl_PrimitiveID) between the
last pre-rast stage and the FS will be addressed later.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18516 >
2022-09-20 11:53:38 +00:00
Marcin Ślusarz
037404b441
nir, anv, hasvk, radv: pull uses_wide_subgroup_intrinsics into shader_info
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18504 >
2022-09-20 10:19:21 +00:00
Marcin Ślusarz
de5b137a2d
anv: small cleanup of anv_graphics_pipeline_compile
...
Extract variables for things that are computed multiple times.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18504 >
2022-09-20 10:19:21 +00:00
Marcin Ślusarz
06e0342a0d
anv: add support for anv_assume_full_subgroups to task & mesh stages
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18504 >
2022-09-20 10:19:21 +00:00
Marcin Ślusarz
fa437f87ca
nir: add uses_wide_subgroup_intrinsics to task/mesh shader_info
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18504 >
2022-09-20 10:19:21 +00:00
Samuel Pitoiset
704ef1fd3b
radv,aco: lower barycentric_at_sample in NIR
...
fossils-db (NAVI21):
Totals from 158 (0.12% of 134913) affected shaders:
CodeSize: 569456 -> 568824 (-0.11%)
Only Control seems affected.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18615 >
2022-09-20 09:52:37 +00:00
Samuel Pitoiset
9f0b4da875
radv: run nir_opt_cse before lowering FS intrinsics
...
Otherwise, there might be redundant barycentric_at_sample intrinsics
that will be lowered and this will increase code size.
No fossils-db changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18615 >
2022-09-20 09:52:37 +00:00
Samuel Pitoiset
7e433e25c8
radv: add nir_intrinsic_load_sample_positions_amd in the ABI
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18615 >
2022-09-20 09:52:37 +00:00
Samuel Pitoiset
7f444fc72c
nir: add nir_intrinsic_load_sample_positions_amd
...
This will be used to lower barycentric_at_sample in NIR for RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18615 >
2022-09-20 09:52:37 +00:00
Bas Nieuwenhuizen
266fe31666
ac/surface: Fix some warnings.
...
../mesa/src/amd/common/ac_surface.c:2324:48: warning: implicit conversion from enumeration type 'AddrResourceType' (aka 'enum _AddrResourceType') to different enumeration type 'enum gfx9_resource_type' [-Wenum-conversion]
surf->u.gfx9.resource_type = AddrSurfInfoIn.resourceType;
~ ~~~~~~~~~~~~~~~^~~~~~~~~~~~
../mesa/src/amd/common/ac_surface.c:3046:38: warning: implicit conversion from enumeration type 'const enum gfx9_resource_type' to different enumeration type 'AddrResourceType' (aka 'enum _AddrResourceType') [-Wenum-conversion]
input.resourceType = surf->u.gfx9.resource_type;
~ ~~~~~~~~~~~~~^~~~~~~~~~~~~
../mesa/src/amd/common/ac_surface.c:3069:38: warning: implicit conversion from enumeration type 'const enum gfx9_resource_type' to different enumeration type 'AddrResourceType' (aka 'enum _AddrResourceType') [-Wenum-conversion]
input.resourceType = surf->u.gfx9.resource_type;
The enums are compatible so lets just add some casts.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18694 >
2022-09-20 09:25:09 +00:00
Yonggang Luo
196d29a506
clover: Fixes use of designated initializers requires in c++ that doesn't support by MSVC
...
../src/gallium/frontends/clover/nir/invocation.cpp(400): error C7555: use of designated initializers requires at least '/std:c++20'
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18683 >
2022-09-20 07:19:21 +00:00
Iago Toral Quiroga
15cdf5bb48
v3dv: optimize ldunif load into unifa write
...
If we emit a ldunif to load the ubo/ssbo base address and
then we are immediately moving it to the unifa register we
can have the ldunif write directly to unifa and avoid the mov
in between, which won't be done by copy propagation because that
only works with temp registers.
Also, since we can't read from unifa we must be careful to disallow
reuse of the ldunif result for a future ldunif of the same base address.
We do that by only reusing ldunif results from temp registers.
total instructions in shared programs: 12468943 -> 12455139 (-0.11%)
instructions in affected programs: 1661233 -> 1647429 (-0.83%)
helped: 8307
HURT: 3994
total uniforms in shared programs: 3704532 -> 3704522 (<.01%)
uniforms in affected programs: 339 -> 329 (-2.95%)
helped: 7
HURT: 0
total max-temps in shared programs: 2148158 -> 2148290 (<.01%)
max-temps in affected programs: 9320 -> 9452 (1.42%)
helped: 175
HURT: 295
total spills in shared programs: 2202 -> 2202 (0.00%)
spills in affected programs: 0 -> 0
helped: 0
HURT: 0
total fills in shared programs: 3059 -> 3057 (-0.07%)
fills in affected programs: 27 -> 25 (-7.41%)
helped: 1
HURT: 0
total sfu-stalls in shared programs: 21167 -> 21056 (-0.52%)
sfu-stalls in affected programs: 497 -> 386 (-22.33%)
helped: 209
HURT: 127
total inst-and-stalls in shared programs: 12490110 -> 12476195 (-0.11%)
inst-and-stalls in affected programs: 1662875 -> 1648960 (-0.84%)
helped: 8312
HURT: 3987
total nops in shared programs: 316563 -> 313553 (-0.95%)
nops in affected programs: 24269 -> 21259 (-12.40%)
helped: 2158
HURT: 1006
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18667 >
2022-09-20 06:56:28 +00:00
Iago Toral Quiroga
cbc5169ef9
broadcom/compiler: check signal writes to magic regs when updating scoreboard
...
We have only been checking magic writes from ADD and MUL ports, but signals
can potentially write to magic registers too.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18667 >
2022-09-20 06:56:28 +00:00
Iago Toral Quiroga
90857262da
broadcom/compiler: detect unifa write from signal
...
It is possible for some signals to write to unifa directly. We will
enable this from ldunif shortly so we should check for it here.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18667 >
2022-09-20 06:56:28 +00:00
Vinson Lee
97d307406b
radv: Use count_tes_user_sgprs return value.
...
Fix defect reported by Coverity Scan.
Useless call (USELESS_CALL)
side_effect_free: Calling count_tes_user_sgprs(key) is only useful for
its return value, which is ignored.
Fixes: 8253ec3855 ("radv: add shader arguments for dynamic patch control points")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18659 >
2022-09-20 06:14:47 +00:00
Qiang Yu
f4179f203d
radeonsi: print out remove_streamout shader key
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17456 >
2022-09-20 05:41:50 +00:00
Qiang Yu
4d15a06dee
radeonsi: implement nir_intrinsic_load_streamout_buffer_amd
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17456 >
2022-09-20 05:41:50 +00:00
Qiang Yu
8049edb653
radeonsi: implement nir_intrinsic_load_num_vertices_per_primitive_amd
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17456 >
2022-09-20 05:41:50 +00:00
Marek Olšák
540e695b29
radeonsi: set VS_OUT_MISC_SIDE_BUS_ENA=1 for clip distance exports on gfx10.3
...
This should improve performance of clip distances.
Reviewed-by: Pierre-eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18639 >
2022-09-20 04:26:46 +00:00
Tapani Pälli
c184b49cf3
anv: remove vk_sample_locations_state from emit_multisample
...
State for sample locations is not used within this function.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18669 >
2022-09-20 03:59:04 +00:00
Ruijing Dong
7829403809
frontends/va: enable sao in hevc encoding
...
enable sao feature from config attribute. by default
from vcn2, hevc encoding enables sao.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18626 >
2022-09-20 02:54:48 +00:00
Rob Clark
0bf25a5313
freedreno/a6xx: Simplify fd6_build_user_consts()
...
Get rid of the table indirects. Cuts in half the time spent in this fxn
in drawoverhead test 31 ("many uniforms / 1 changemany uniforms / 1
change")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
2f3b980caa
freedreno/a6xx: Move user const upload to bind
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
f8204018fd
freedreno: Drop unused arg
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
075218f756
freedreno/a6xx: Pre-calculate user const state size
...
We can do this when we construct the program state object, rather than
at draw time.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
a81c6d7439
freedreno/a6xx: Skip IBO state when unused
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
e960431621
freedreno/drm: Simplify emit_reloc_common
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
8609d62e4d
freedreno/a6xx: Drop "hardpin" support
...
The upstream kernel supported everything needed to stop doing
kernel-side relocs before the first things with a6xx were fully
supported in upstream kernel. Take advantage to drop some extra
overhead in OUT_RELOC() and equiv in the pack macros.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
3fb60e9cef
freedreno/drm: Add fd_ringbuffer_attach_bo()
...
Which does only the bo bookkeeping and skips all the extra legacy reloc
related overhead.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
07d9df0ce2
freedreno/drm: Inline fd_bo_get_iova()
...
The struct body was originally hidden to avoid it being part of the ABI
between libdrm_freedreno and mesa. But that is no longer a problem.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
76953ca4bb
freedreno/ir3: GC unused macro
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Rob Clark
c00491d4ab
freedreno: Update github wiki links
...
The github wiki isn't really maintained anymore. Update references to
point to the gitlab wiki instead.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18646 >
2022-09-20 02:22:19 +00:00
Bas Nieuwenhuizen
b2972cf410
radv: Add scratch stack to reduce LDS stack in RT traversal.
...
The current stack size is a significant limiter for occupancy, and
hence we need smaller stacks in LDS.
Rhys earlier had a patch that just put the N entries closest to the
root in LDS and the rest in scratch. However, this is not ideal for
performance as most of the activity is happening away from the root,
near the leaves. Of course we can't just switch it around, as the
leaf activity likely isn't happening all the way at the end of the
stack.
So what we do is make the LDS stack kinda a ringbuffer by always
accessing it using the stack index modulo the buffer size (always
a power of two so we can efficiently mask). If we then do not have
free space in this buffer we evict the entries closest to the root
to scratch and if we hit the "bottom" of the LDS space we load from
scratch.
Some rough perf numbers for indication with Q2RTX:
| evicting | LDS entries | perf |
|----------|-------------|------|
| no | 76 | 55% |
| no | 32 | 100% |
| no | 24 | 105% |
| yes | 32 | 95% |
| yes | 16 | 100% |
| yes | 8 | 90% |
| yes | 4 | 75% |
(For the case with 4 entries we need to do some extra accounting as
a full batch may not be available to evict)
So an obvious choice is to use a stack of 16 entries.
One might wonder if Q2RTX perf is mainly good due to BVHs with very
little geometry and hence low depth, so I also did some profiling
with control. This is done with RGP instruction timing, so this is
instructions executed not weighted for enabled masks, i.e. divergence
effects included.
| game | LDS entries | scratch action | fraction of iterations |
|---------|-------------|----------------|------------------------|
| Control | 8 | store | 10.3% |
| Control | 8 | load | 34.8% |
| Control | 16 | store | 0.58% |
| Control | 16 | load | 2.62% |
| Q2RTX | 16 | store | 1.00% |
| Q2RTX | 16 | load | 3.07% |
So Q2RTX doesn't seem like an unreasonably good case for this
algorithm.
On the implementation side, we can always place the scratch stack at
address 0 by just reserving the scratch space, and in the case of fixed
callstack size moving that up. In the dynamic case the dynamic stack
base already takes any reserved scratch space into account.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18541 >
2022-09-20 01:39:20 +00:00
Rhys Perry
7d26fafacf
radv: fix dynamic RT stack size with VGPR spilling
...
VGPR spilling might cause VGPRs to be spilled at scratch offset 0, so we
can't use that.
fossil-db (Sienna Cichlid, Q2RTX and Control):
Totals from 4 (0.26% of 1524) affected shaders:
Instrs: 8734 -> 8737 (+0.03%)
CodeSize: 48492 -> 48504 (+0.02%)
Latency: 384375 -> 384369 (-0.00%)
InvThroughput: 256250 -> 256246 (-0.00%)
Copies: 1312 -> 1313 (+0.08%)
Branches: 256 -> 258 (+0.78%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18541 >
2022-09-20 01:39:20 +00:00
Dave Airlie
b983fcb585
docs: add new llvmpipe/lavapipe atomic float extensions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18636 >
2022-09-20 01:10:36 +00:00
Dave Airlie
31695f81c9
lavapipe: export VK_KHR_shader_atomic_float
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18636 >
2022-09-20 01:10:36 +00:00
Dave Airlie
64845cdfed
llvmpipe: export GL_NV_shader_atomic_float
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18636 >
2022-09-20 01:10:36 +00:00
Dave Airlie
203920d4c6
gallivm: add atomic 32-bit float support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18636 >
2022-09-20 01:10:36 +00:00
Mike Blumenkrantz
96a3136ddd
zink: disable GPL when sample shading is in use
...
this seems impossible to handle as near as I can tell
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18671 >
2022-09-20 00:39:24 +00:00
Bas Nieuwenhuizen
ca04f968d9
radv: Use nested ifs for pushing child nodes in traversal loop.
...
Avoids a bunch of overhead costs if the previous child was empty
already.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18538 >
2022-09-20 01:29:05 +02:00
Bas Nieuwenhuizen
91a4cd26b3
radv: Use constant for ray traversal exit condition.
...
Make the stack base ssa def dead in the loop, can save a register.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18538 >
2022-09-20 01:29:04 +02:00
Bas Nieuwenhuizen
40a235c9a8
Revert "radv/rt: use derefs for the traversal stack"
...
This reverts commit 3750663c72 .
Doing things with derefs adds extra instructions for multiplying the
index with the element size, e.g.
BBF0_13:
s_waitcnt vmcnt(0)
v_mov_b32_e32 v27, v55
s_mov_b32 s23, exec_lo
v_cmpx_ne_i32_e32 -1, v27
s_cbranch_execz _L14
BBF0_14:
v_lshlrev_b32_e32 v48, 2, v46 <--
ds_write_b32 v48, v27
v_add_nc_u32_e32 v46, 32, v46
_L14:
s_mov_b32 exec_lo, s23
v_mov_b32_e32 v27, v54
s_mov_b32 s23, exec_lo
v_cmpx_ne_i32_e32 -1, v27
s_cbranch_execz _L15
BBF0_15:
v_lshlrev_b32_e32 v48, 2, v46 <--
ds_write_b32 v48, v27
v_add_nc_u32_e32 v46, 32, v46
On Q2RTC indirect lighting this saves about 2.3 VALU instructions
per loop iteration, which is ~4% of VALU instructions (we're at
58 per iteration now according to RGP).
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18538 >
2022-09-20 01:29:04 +02:00
Bas Nieuwenhuizen
85ca0b12a2
radv: Store top of stack in a register.
...
Saves a bunch of processing and a lot of LDS traffic.
Improves perf of the indirect lighting RT pass in Q2RTX by ~3%. This
is mostly due to the -5% VALU instructions and -25% LDS instructions.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18538 >
2022-09-20 01:29:04 +02:00
Bas Nieuwenhuizen
f7f48251b0
radv: Don't flatten bottom AS exit if statement.
...
The flattening by ACO is more efficient than the nir condmask.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18538 >
2022-09-20 01:29:04 +02:00
Kai Wasserbäch
c26f83649c
fix: frontends/va: unused variable ‘max_pipe_hevc_slices’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
a8ffe41d8c
fix: zink: unused variable ‘intr’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
1d41d31ad6
fix: iris: unused variable ‘devinfo’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
6aba6a57cc
fix: r600/sfn: unused variable ‘spi_sid’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
2997f6957e
fix: r600/sfn: variable ‘fail’ set but not used [-Wunused-but-set-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
a50d8e62dc
fix: r600/sfn: unused variable ‘{splitpos,param}’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
dbf48d346c
fix: r600/sfn: unused variable ‘splitpos’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
5efce78fd9
fix: r600/sb: warning: unused variable ‘{b,nl}’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
5224ee2d8f
fix: r600/sfn: variable ‘opinfo’ set but not used [-Wunused-but-set-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
564fef23db
fix: r600/sb: unused variable ‘r’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
1c2df5b051
fix: r600/sb: unused variable ‘fop’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
078569ae8c
fix: r600/sb: unused variable ‘repdep2’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
0746feaac0
fix: gallivm: variable ‘type_kind’ set but not used [-Wunused-but-set-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
0d46e6803c
fix: mesa/st: unused variable ‘src’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
6771b89075
fix: mesa/st: variable ‘texobj’ set but not used [-Wunused-but-set-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
a3c9c42549
fix: mesa: unused variable ‘ret’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
06504254ce
fix: ac/llvm: unused variable ‘offset’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
452e5973de
fix: nir: unused variable ‘else_block’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Kai Wasserbäch
e52d3d5f1c
fix: util/format: unused variable ‘desc’ [-Wunused-variable]
...
Only used in debug builds.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18643 >
2022-09-19 22:02:16 +00:00
Mike Blumenkrantz
a96151f645
st/drawpixels: use normalized coords in samplers with lowered rects
...
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18614 >
2022-09-19 20:52:35 +00:00
Mike Blumenkrantz
25c36c5caf
st/bitmap: use normalized coords in samplers with lowered rects
...
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18614 >
2022-09-19 20:52:35 +00:00
Mike Blumenkrantz
e13e139bcb
zink: fix atomic ssbo fadd offsets
...
Fixes: 99a4a9c6ff ("zink: fix atomic ssbo indexing with non-32bit values")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18684 >
2022-09-19 20:23:37 +00:00
Mike Blumenkrantz
00a4dc57ce
zink: defer acquire semaphore destruction
...
these have noticeable overhead, so handle them in the submit thread
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18364 >
2022-09-19 19:49:11 +00:00
Mike Blumenkrantz
513fcb7936
zink: fix/relax resolve geometry check
...
there's no requirement in the spec that the geometry for resolves must match,
only that the geometry must be positive (i.e., no flipped extents)
this avoids major perf issues for scaled resolves
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18364 >
2022-09-19 19:49:11 +00:00
Kuixi Ren
9c5edda3ca
radeonsi/vcn: Add ability to encode with ltr
...
reads flags field from CurrPic struct in pps for VA_PICTURE_H264_LONG_TERM_REFERENCE. If found, Curr_pic.frame_idx wil be used for the long term reference index
In get_picture_storage, check if current frame is ltr, and whether its ref frame is ltr.
In radeon_enc_slice_header, adds the ref_pic_list_modification_flag_l0 and long_term_reference_flag for ltr
v2: fix code formatting issues
Reviewed-by: Ruijing Dong ruijing.dong@amd.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18219 >
2022-09-19 18:22:38 +00:00
Alyssa Rosenzweig
bf8c08a0df
pan/bi: Implement unpack_64_2x32
...
This duplicates the lowering from nir_lower_packing. However, nir_lower_packing
also lowers a pile of other instructions that we do implement natively, and this
is easier than adding a bunch of knobs to nir_lower_packing to get just what we
need.
Fixes test-printf address_space_4.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
e9b69c2f79
pan/bi: Stub out scoped_barrier
...
Implement like other workgroup barriers. No subgroup barriers yet, but that
doesn't seem needed yet.
Fixes test_basic.async_copy_global_to_local and a pile of other OpenCL tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
bd8c9442f9
pan/bi: Fix 1D array indexing on Valhall
...
Array index always goes in the fourth 16-bit component on Valhall. I'm unsure
whether that should also apply to Bifrost. f256ec2a88 ("pan/bi: Fix 1DArray
image coordinate retrieval") says that it should be in the third component on
Bifrost, but I can't remember why that would be the case.
Fixes OpenCL test image_streams.write.1darray on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
76d6bb4822
pan/bi: Use .auto for image stores
...
Works around LLVM/SPIR-V stupidity. In effect this means we always use typeless
image stores, which is good enough for both CL and GL.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
8b6611f4bf
pan/bi: Call nir_lower_64bit_phis
...
Fixes test_basic.local_kernel_scope
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
1b03a04239
pan/bi: Scalarize phis before the opt loop
...
Scalarizing phis results in vector constructions (nir_op_vec) of the same size
as the phi, so a wide phi (>128-bit) will result in a wide vector op that the
backend can't handle. These wide vector ops can always be copypropped away, but
that relies on running NIR copy/prop after scalarizing phis, which was not
always happening before. By scalarizing phis before the opt loop instead of
after, we guarantee that copyprop and DCE run to completion and we get
appropriately lowered code in the backend.
Fixes parts of integer_ops.integer_divideAssign with longs.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
55837efe14
pan/bi: Lower fisnormal
...
Fixes test_bruteforce.isnormal. We don't implement fisnormal in the backend, but
actually lower_bool_to_bitsize was failing earlier since there's no fisnormal32
to lower to either.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
ddcf4b1c7e
pan/bi: Lower <32-bit bit_count
...
While we have a POPCOUNT.i32 instruction, we do not have v2i16/v4i8 variants.
The code generated by lower_to_bitsize doesn't seem any better than what we
could do ourselves, so let's use that.
While we're at it, give bitfield_reverse the same treatment as we have only
BITREV.i32. I don't think we can get <32-bit bitfield_reverse in either GL or
CL, but that seems likely to change in the future. (It looks to be valid SPIR-V,
at least.)
Fixes integer_ops.popcount.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
bb0606f0ba
pan/bi: Handle swizzles in unpack_64_2x32_split_{x,y}
...
No known fixes but this would still be wrong for OpenCL.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
f9a01af4f3
pan/bi: Allow selecting from an 8-bit vec8
...
The word offset is already handled by the above code, there's no need to
restrict the further restrict the swizzle. This pattern can come up with OpenCL.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
65961848b1
pan/bi: Remove bogus assert for pack_32_2x16
...
The following IR is valid NIR:
vec1 16 ssa_0 = ...
vec1 32 ssa_1 = pack_32_2x16 ssa_0.xx
In this case, pack_32_2x16 takes in a two component vector, but the source
itself ssa_0 has only a single component. This is fine due to the shuffle, but
will fail the assert. Remove the assert and all is well.
Fixes test_relational.shuffle_copy.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
5689a932e8
pan/bi: Lower f2i8, f2u8
...
These need a simple two-instruction lowering regardless of the size of float
involved. Fixes integer_ops.integer_divideAssign
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
82b912f844
pan/bi: Lower 8-bit min/max to bcsel+comparison
...
We don't have an 8-bit CSEL, so this is the best we can do. It's easier to write
the lowering as an algebraic rule since we don't need to do anything clever.
Fixes integer_ops.integer_clamp.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
4ee56ecd9c
pan/va: Add 8-bit integer max assembler case
...
This needs to be lowered to a two instruction sequence because there is no
CSEL.v4s8.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
31a5eb6165
pan/bi: Add HADD.v4s8.rhadd packing test cases
...
To confirm the XML is right.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
decc24b18b
pan/va: Pack .rhadd bit
...
Fixes integer_ops.integer_rhadd.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
42a474daac
pan/bi: Handle uhadd, urhadd opcodes
...
Fixes integer_ops.integer_hadd.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
c717c28d87
pan/va: Fix v4s8 form of R2 opcodes
...
The XML had a typo which was copypasted (incorrectly) into various instructions.
Fixes a pile of integer_ops subtests.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
48ba7f8627
pan/va: Pack IADD.sat bit
...
Fixes 32-bit portion of integer_ops integer_add_sat.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
77fcb4b291
pan/bi: Strip negate when lowering swizzles
...
When we lower swizzles, we move source modifiers (except for the swizzle) after
the swizzle operation. In particular, we change the order of composition for
negates and abs. However, copying the source will copy the modifiers unless we
specifically strip the extra modifiers. That's harmless in practice on Bifrost,
which doesn't check for extraneous modifiers, but is incorrect IR and trips an
assertion in the Valhall packing code.
Fixes test_relations.relational_bitselect.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
377bf3a5a4
pan/bi: Lower swizzles for 8-bit shifts
...
Fixes integers_ops.integer_ctz
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
2e1b02e6a3
pan/bi: Test some 8-bit swizzle lowering
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
d76c48103f
pan/bi: Lower some 8-bit swizzles
...
Fixes the 8-bit portion of OpenCL's integer_ops.integer_clz test case.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
d471b386c1
pan/bi: Unit test swizzle lowering
...
We're about to extend this pass to support 8-bit swizzles. That will be a
nontrivial change, so let's get some testing for what's already in the pass.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
1370c27728
pan/va: Fix missing swizzle on CLZ.v2u16
...
Fixes 16-bit portion of integer_clz.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
bdab1f9ce9
panfrost: Assume launch_grid parameters always change
...
This is only a theoretical bug fix because, for now, we always reemit
everything. But this aligns launch_grid with draw_vbo and makes the intention
explicit, both seem like good things to me.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
b261a18550
panfrost: Honour flush-to-zero controls on Valhall
...
Fixes math_bruteforce.atan2 and contractions tests.
For OpenCL, we want to flush fp32 and preserve fp16, applying to both inputs and
outputs so F16_TO_F32 acts as preserve, which implements CL spec text:
> Denormalized numbers for the half data type which may be generated when
converting a float to a half using vstore_half and converting a half to a float
using vload_half cannot be flushed to zero
Note that our libclc builds flush denorms and rusticl does not advertise denorms
so we're expected to flush to zero. rusticl correctly sets the desired float
controls, we just have to match to the hardware requirements.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
9333428ca2
panfrost: Advertise PIPE_CAP_INT64
...
nir_lower_int64 should be able to chew through everything anyway. Fixes
compilers.feature_macro (with LLVM 15).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
b27589b5d4
panfrost: Bump PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS
...
Bump to 2048, the minimum maximum for image support in the full profile of
OpenCL. The relevant hardware limit is 65536 so we have plenty of clearance.
Fixes api.get_image1d_array_info.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
ff29ff5fad
panfrost: Upload default sampler for txf
...
In NIR, txf does not take a sampler. However, in the hardware it does take a
sampler. If there is no sampler bound and we use txf, the hardware will read
back all-0's due to bounds checking. As a workaround, bind a trivial sampler and
use that.
As-is this workaround is Valhall specific, making use of an extra resource
table. I'm punting on generalizing back to Bifrost until I can discuss the issue
in more depth with Jason and Karol and figure out the right fix.
Fixes api.image_properties_query.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
6d180c84fb
panfrost: Allow compiling MESA_SHADER_KERNEL
...
Required for Rusticl.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Alyssa Rosenzweig
185b3e2d7e
panfrost: Default pipe->clear_texture impl
...
For rusticl.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18656 >
2022-09-19 17:22:58 +00:00
Jason Ekstrand
8f4af4d700
nir/load_libclc: Don't add generic variants that already exist
...
At some point in the future, adding generic variants to libclc will
hopefully no longer be needed. At that point, we don't want the NIR
code adding duplicates. Check if the generic version already exists
and, if it does, don't re-add it.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18675 >
2022-09-19 16:52:17 +00:00
Jason Ekstrand
2aa9eb497d
nir: Add a helper for finding a function by name
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18675 >
2022-09-19 16:52:17 +00:00
Jason Ekstrand
0a06abbb91
spirv: Don't use libclc for wait_group_events
...
v2: Drop old code (Karol)
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18675 >
2022-09-19 16:52:17 +00:00
Vinson Lee
093b19b09a
egl/dri2: Fix missing return with dri2_egl_error_unlock.
...
Fix defect reported by Coverity Scan.
Double unlock (LOCK)
double_unlock: dri2_egl_error_unlock unlocks dri2_dpy->lock while it is unlocked.
Fixes: f1efe037df ("egl/dri2: Add display lock")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Rob Clark <robclark@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18655 >
2022-09-19 16:24:08 +00:00
Alyssa Rosenzweig
a1faab0b90
agx: Convert and clamp array indices in NIR
...
..Rather than at backend IR translation time. This is considerably
simpler because we can use the txs lowering instead of special casing
array sizes. Unfortunately it generates worse code, but that gap should
close once nir_opt_preamble is wired in.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18652 >
2022-09-19 16:14:24 +00:00
Alyssa Rosenzweig
1304f4578d
panfrost: Adapt emit_shared_memory for indirect dispatch
...
Indirect dispatch does not actually require any dynamic memory allocation, even
with shared memory. We just need to set wls_instances to some (mostly arbitrary)
value, statically allocate memory based on that, and let the hardware throttle
workgroups to fit if needed.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18661 >
2022-09-19 15:18:40 +00:00
Alyssa Rosenzweig
79b66a28cd
rusticl: Build Panfrost
...
We want OpenCL, too!
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18663 >
2022-09-19 14:50:09 +00:00
James Park
b7d4897df9
meson,amd: Remove Windows libelf wrap
...
Functionality isn't worth the maintenance cost.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18478 >
2022-09-19 12:51:12 +00:00
Illia Polishchuk
74658b01d2
driconf/Intel: Add lower_depth_range_rate option workaround for Homerun Clash misrendering issue
...
Intel has different Z interpolation float point rounding
than other mesa gpus
For example gl_Position.z = 0.0 will be interpolated to
gl_FragCoord.z = 0.5 for all gpus
gl_FragCoord = -0.00000001 will be interpolated to
gl_FragCoord.z = 0.4999999702 for Intel
and rounded to gl_FragCoord.z = 0.5 for other gpus
Games with LEQUAL depth func will fail depth test on Intel
and will pass it on other gpus in such case
This workaround lowers translated depth range
and several gl_FragCoord.z coords with extra small difference
will be translated to the same UINT16\UINT24\UINT32
value of an integer depth buffer
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7199
Signed-off-by: Illia Polishchuk <illia.a.polishchuk@globallogic.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18412 >
2022-09-19 10:08:48 +00:00
Marcin Ślusarz
dedd8affd8
anv: fix emission of primitive replication packet for mesh stage
...
anv_pipeline_get_last_vue_prog_data (used by emit_3dstate_primitive_replication)
doesn't work for mesh stage.
Fixes: ae57628dd5 ("anv: Drop anv_pipeline::use_primitive_replication")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18495 >
2022-09-19 09:44:00 +00:00
Dave Airlie
9452e5e03a
lavapipe: fix 3d depth stencil image clearing.
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18665 >
2022-09-19 17:26:57 +10:00
Mike Blumenkrantz
73797c2f46
zink: use screen interfaces for pipeline barriers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18628 >
2022-09-19 01:42:28 +00:00
Mike Blumenkrantz
8c4aaa154a
zink: add screen interfaces for pipeline barriers
...
this will enable direct calling of the right function without the overhead
of having conditionals in the barrier functions themselves
eventually, the '2' variants will be widely enough deployed that
this can be deleted
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18628 >
2022-09-19 01:42:28 +00:00
Mike Blumenkrantz
5a78fe4445
zink: add functions for using '2' variants of pipeline barriers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18628 >
2022-09-19 01:42:28 +00:00
Mike Blumenkrantz
9b0b8cad60
zink: add have_vulkan13 to device info
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18628 >
2022-09-19 01:42:28 +00:00
Mike Blumenkrantz
95ea41dff9
zink: rewrite clears on fb bind if only the format has changed
...
in some apps (hl2), there's a weird sequence like:
* bind attachment with srgb view
* clear
* bind attachment with base format
* draw
rewriting the clear color like this avoids unnecessarily triggering
a renderpass
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18627 >
2022-09-19 01:00:43 +00:00
Mike Blumenkrantz
13a19ad90c
zink: make void clears more robust
...
void clears are intended to be the first clear applied to a surface,
so ensure that these don't clobber any scissored clears
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18627 >
2022-09-19 01:00:43 +00:00
Mike Blumenkrantz
d7c64ffcb8
zink: split up get_clear_data()
...
make the array extension part reusable
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18627 >
2022-09-19 01:00:43 +00:00
Mike Blumenkrantz
11a5297ef5
zink: don't add void clears if a full clear already exists
...
this otherwise may clobber other clears or add unnecessary duplicates
Fixes: 7ea7d0687b ("zink: inject a 0,0,0,1 clear for RGBX formats")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18627 >
2022-09-19 01:00:43 +00:00
David Heidelberg
f380a2d63e
ci/intel: drop glmark2 terrain trace
...
See: https://gitlab.freedesktop.org/gfx-ci/tracie/traces-db/-/merge_requests/50
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18633 >
2022-09-18 18:51:14 +00:00
David Heidelberg
ce05ed1866
ci/panfrost: drop glmark2 terrain trace
...
See: https://gitlab.freedesktop.org/gfx-ci/tracie/traces-db/-/merge_requests/50
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18633 >
2022-09-18 18:51:14 +00:00
David Heidelberg
f4eea9ebc2
ci/radeonsi: drop glmark2 terrain trace
...
See: https://gitlab.freedesktop.org/gfx-ci/tracie/traces-db/-/merge_requests/50
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18633 >
2022-09-18 18:51:14 +00:00
Alyssa Rosenzweig
f06809cdca
panfrost: Evict the BO cache when allocation fails
...
If memory allocation fails, we look for a suitable sized BO in the BO cache and
wait until we can use its memory. That usually works, but there's a case when it
can fail despite sufficient memory in the system: BOs in the BO cache
contributing to memory pressure but none of them being of sufficient size. This
case is not just theoretical: it's seen in the OpenCL
test_non_uniform_work_group, which puts the system under considerable memory
pressure with an unusual allocation pattern.
To handle this case, try evicting *everything* from the BO cache and stalling
in order to allocate, if the above attempts failed. Fixes the following error:
DRM_IOCTL_PANFROST_CREATE_BO failed: No space left on device
on the aforementioned OpenCL test.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18579 >
2022-09-18 18:34:21 +00:00
Pavel Ondračka
a1b55fde93
r300: fix register rewrite when converting rbg instructions to alpha
...
Example from dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_loop_read_fragment
Fragment Program: after 'pair translate'
0: src0.xyz = input[0], src1.xyz = const[5]
MAD temp[0].xyz, src0.xxx, src1.Hyz, src0.000
1: src0.xyz = const[1], src1.xyz = const[6]
MAD temp[1].xyz, src0.xxx, src0.111, -src1.x1z
2: src0.xyz = temp[1]
CMP temp[1].xyz, src0.000, src0.111, src0.xyz
3: src0.xyz = temp[0], src1.xyz = input[0], src2.xyz = temp[1]
CMP temp[2].x, src0.x__, src1.x__, -src2.y__
4: src0.xyz = input[0], src1.xyz = temp[0], src2.xyz = temp[1]
CMP temp[3].x, src0.x__, src1.x__, -src2.z__
5: src0.xyz = temp[1]
MAX temp[4].x, src0.x__, src0.z__
6: src0.xyz = temp[0], src1.xyz = input[0], src2.xyz = temp[4]
CMP temp[4].x, src0.x__, src1.x__, -src2.x__
7: src0.xyz = temp[3], src1.xyz = input[0], src2.xyz = temp[1]
CMP temp[3].x, src0.x__, src1.x__, -src2.x__
8: src0.xyz = input[0], src1.xyz = temp[2], src2.xyz = temp[1]
CMP temp[2].x, src0.x__, src1.x__, -src2.x__
9: src0.xyz = temp[1]
MAD temp[1].x, src0.x__, src0.y__, src0.000
10: src0.xyz = input[0], src1.xyz = temp[0], src2.xyz = temp[1]
CMP temp[1].x, src0.x__, src1.x__, -src2.x__
11: src0.xyz = const[2], src1.xyz = const[6]
MAD temp[5].xyz, src0.xxx, src0.111, -src1.x1z
12: src0.xyz = temp[5]
CMP temp[5].xyz, src0.000, src0.111, src0.xyz
13: src0.xyz = temp[0], src1.xyz = temp[2], src2.xyz = temp[5]
CMP temp[6].x, src0.y__, src1.x__, -src2.y__
14: src0.xyz = temp[3], src1.xyz = temp[0], src2.xyz = temp[5]
CMP temp[7].x, src0.x__, src1.y__, -src2.z__
15: src0.xyz = temp[5]
MAX temp[8].x, src0.x__, src0.z__
16: src0.xyz = temp[0], src1.xyz = temp[4], src2.xyz = temp[8]
CMP temp[4].x, src0.y__, src1.x__, -src2.x__
17: src0.xyz = temp[7], src1.xyz = temp[3], src2.xyz = temp[5]
CMP temp[3].x, src0.x__, src1.x__, -src2.x__
18: src0.xyz = temp[2], src1.xyz = temp[6], src2.xyz = temp[5]
CMP temp[2].x, src0.x__, src1.x__, -src2.x__
....
This will be pair scheduled to:
Fragment Program: after 'pair scheduling'
0: src0.xyz = input[0], src1.xyz = const[5] // original inst 0
MAD temp[0].xyz, src0.xxx, src1.Hyz, src0.000
1: src0.xyz = const[1], src1.xyz = const[6] // original inst 1
MAD temp[1].xyz, src0.xxx, src0.111, -src1.x1z
2: src0.xyz = const[2], src1.xyz = const[6] // original inst 11
MAD temp[5].xyz, src0.xxx, src0.111, -src1.x1
3: src0.xyz = temp[1] // original inst 2
CMP temp[1].xyz, src0.000, src0.111, src0.xyz
4: src0.xyz = temp[1], src1.xyz = temp[0], src2.xyz = input[0]
MAX temp[4].x, src0.x__, src0.z__ // original inst 5
CMP temp[2].w, src1.x, src2.x, -src0.y // original inst 3
5: src0.xyz = input[0], src1.xyz = temp[0], src2.xyz = temp[1]
CMP temp[3].w, src0.x, src1.x, -src2.z // original inst 4
6: src0.xyz = temp[5], src0.w = temp[2], src1.xyz = input[0], src2.xyz = temp[1]
CMP temp[5].xyz, src0.000, src0.111, src0.xyz // original inst 12
CMP temp[5].w, src1.x, src0.w, -src2.x // original inst 8
7: src0.xyz = temp[0], src0.w = temp[5], src1.xyz = temp[2], src2.xyz = temp[5]
CMP temp[6].x, src0.y__, src0.w__, -src2.y__ // original inst 13
8: src0.xyz = temp[5], src0.w = temp[3], src1.xyz = input[0], src2.xyz = temp[1]
MAX temp[8].x, src0.x__, src0.z__ // original inst 15
CMP temp[5].w, src0.w, src1.x, -src2.x // original inst 7
9: src0.xyz = temp[3], src0.w = temp[5], src1.xyz = temp[0], src2.xyz = temp[5]
CMP temp[7].x, src0.w__, src1.y__, -src2.z__ // original inst 14
10: src0.xyz = temp[2], src0.w = temp[5], src1.xyz = temp[6], src2.xyz = temp[5]
CMP temp[2].x, src0.w__, src1.x__, -src2.x__ // original inst 18
11: src0.xyz = temp[7], src0.w = temp[5], src1.xyz = temp[3], src2.xyz = temp[5]
CMP temp[3].x, src0.x__, src0.w__, -src2.x__ // original inst 17
....
The problem is that instruction 11 (which was instruction 17 before the scheduling) now reads
a wrong source for src0. It initially used the result of instruction 8 (now scheduled as 6),
but now it reads from instruction 8 (corresponding to instruction 7 before the scheduling).
The bug is quite subtle and needs few conditions to reproduce:
- there is a loop, therefore we skip the the register rename
pass and hence don't have the ssa-like form,
- there are at least two rgb instructions writing the same register
and both are convertible to alpha instruction,
- there is excess of rgb instructions, so that the conversion actually
happens.
So what happens, while scheduling instructions, the scheduler will
recognize there are no alpha instruction to pair the rgb ones with
and convert some to alpha. It primarily tries to use the same register,
just reuse the alpha channel.
Why it happens? We are tracking the usage of registers in the block
being scheduled and when we rewrite something we move the users tracked
by the reg_value structures to the new register. The problem is that when
we do this, the current code expects that the code is in the ssa-like
form. Here it is not (because of the loop) and when we convert the
original instruction 2, we move the dependency information about the
temp[2].x to temp[2].w. When we later convert instruction 8, which also
writes temp[2].x, the original dependency info is gone, and when we copy
that to the new reg (temp[5].w), we just set it to NULL and it means we
don't mark it as used effectively, and later wrongly use it again when
we look for a next empty register.
Fix this by not deleting the original dependency info. We can't reuse the
reg now, but it doesn't matter, because the regalloc later can sort it out.
There are no changes in the shader-db.
Fixes: dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_loop_read_fragment
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6508
Reviewed-by: Filip Gawin <filip@gawin.net >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18621 >
2022-09-18 18:25:08 +00:00
Vinson Lee
bbd549205c
pan/bi: Fix memory leaks.
...
Fix defects reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable used going out of scope leaks the storage it points to.
leaked_storage: Variable multiple_uses going out of scope leaks the storage it points to.
Fixes: 8fb415fee2 ("pan/bi: Reduce some moves when going out-of-SSA")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18653 >
2022-09-18 10:18:04 -07:00
Alyssa Rosenzweig
bcd75a13e0
asahi: Identify shared memory layouts
...
Somehow maps to the tile size. Not sure about the details yet.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
b8b3c9fa2a
asahi: Identify pixel stride
...
Number of bytes in a pixel in the tilebuffer, does not depend on the
tile size.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
933a9e350e
asahi: Overhaul USC control packing
...
Break up the monolithic SET_SHADER_EXTENDED packet into the separate
underlying commands (some only 2-byte sized and aligned), and add a
builder for USC control streams like we did for PPP updates to make that
change manageable.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
35d5558fa5
asahi/genxml: Overflow up to words when packing
...
So we can pack things that aren't 4-byte sized. Note this doesn't help
with alignment.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
22d3756207
asahi: Consolidate magic numbers for USC controls
...
Aka "pipeline" states. It's another command/control stream.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
09cc736c42
asahi: Identify shared memory fields
...
For compute kernels, this encodes how much workgroup-local memory is
used ("shared memory" or "threadgroup memory" or "local memory"). This
memory is partitioned by the hardware.
For fragment shaders, this... encodes exactly the same thing. There is
no traditional tilebuffer in AGX, instead local memory is interpreted as
an imageblock, where each workgroup is a tile. This is a nifty design.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
43ed48d169
asahi: Simplify IOGPU attachment packing
...
Give bigger ranges, it's simpler and less broken for layered
framebuffers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
2fbe1ae09c
asahi: Identify spill buffer histogram
...
Histogram of sizes of the spill buffer, with logarithmic bucket sizes
(relative to the amount spilled from the perspective of a single thread).
Pretty funny.
Also mark a few unknowns that are nonzero when spilling is used.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:37 -04:00
Alyssa Rosenzweig
22de011675
asahi: Use the internal format internally
...
Confusingly, after creation rsrc->base.format will contain the external
format due to u_transfer_helper quirks. For our internal use, we need to
look at the internal format, rsrc->layout.format. With the new layout
code, the rsrc->internal_format property is redundant, so we delete
that to reduce confusion.
Fixes dEQP-GLES3.functional.texture.format.sized.2d.depth32f_stencil8_*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:29 -04:00
Alyssa Rosenzweig
dc05b042ab
asahi: Assert that u_transfer_helper is well-behaved
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:29 -04:00
Alyssa Rosenzweig
adfd213241
asahi: Decode IOGPU compute header
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:25 -04:00
Alyssa Rosenzweig
a9c26df462
asahi: Identify IOGPU compute header
...
Much simpler than the graphics one.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:25 -04:00
Alyssa Rosenzweig
58d138334d
asahi: Shuffle IOGPU structs
...
We need the header to be common between gfx and compute, but everything
else seems to be different. Shuffle so we can decode compute without any
terrible hacks.
I don't know the exact layout and don't care: the layout of the fields
here is all software defined in macOS, even though the *values* are
defined by hardware (or firmware in a few cases).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:25 -04:00
Alyssa Rosenzweig
287a0d4f40
asahi: Decode CDM commands separate from VDM
...
This gets correct handling of CDM stream link/terminate, which are
encoded in a slightly different way from VDM.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:25 -04:00
Alyssa Rosenzweig
4e8a586fd3
asahi: Identify CDM block types
...
Same enum as PowerVR CDM, annoyingly different from the VDM block types.
Split out the stream link / terminate structs (both observed with Metal
for copious amounts of compute), in preparation for decoding "properly".
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:25 -04:00
Alyssa Rosenzweig
1400733320
asahi: Identify ZLS Control word from PowerVR
...
We're into the cr.xml file now, which is the blob that gets passed
through the kernel.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:25 -04:00
Alyssa Rosenzweig
b0f8639382
asahi: Assert cache line alignment on Z/S buffers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18623 >
2022-09-18 10:34:25 -04:00
Erik Faye-Lund
8a8fe0594c
u_transfer_helper: rip out fake_rgtc code
...
This is no longer in use, so let's get rid of it!
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:46:25 +02:00
Erik Faye-Lund
719294ea51
freedreno: do not fake rgtc-support
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:46:25 +02:00
Erik Faye-Lund
84a30f0372
mesa/st: enable latc extensions with fallback
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:46:23 +02:00
Erik Faye-Lund
559d68d25c
mesa/st: do not fall back to uncompressed for latc
...
This logic doesn't really do what it pretends to; we don't expose the
RGTC features unless we actually have LATC support. This is about to
change, but for that logic to work, we need to be able to tell if we're
using a fallback-format or not, and we can't do that unless we keep the
format as LATC.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:45:56 +02:00
Erik Faye-Lund
1b72045393
mesa/st: implement fallback for latc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:45:56 +02:00
Erik Faye-Lund
6553e02a0b
mesa/main: add support for latc in _mesa_unpack_rgtc
...
RGTC and LATC unpacks in the same way, just to different formats. So
let's add support for unpacking that in this helper.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:45:56 +02:00
Erik Faye-Lund
e92a1308d5
mesa: add format-helper for latc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:45:56 +02:00
Erik Faye-Lund
b511671d03
mesa/st: add context-flag for latc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564 >
2022-09-18 13:45:56 +02:00
Erik Faye-Lund
a8e35ee904
lima: do not align width/height for non-shared resources
...
Otherwise we end up computing the wrong pitch for miplevels on NPOT
textures.
This fixes a bunch of piglit.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18618 >
2022-09-18 12:47:39 +02:00
Erik Faye-Lund
1e19e99ea7
lima: don't store width in resource-level
...
We only write to it, we never read from it. Just drop it.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18618 >
2022-09-18 12:47:39 +02:00
Dmitry Baryshkov
9d3a5c916c
freedreno/registers: update hdmi registers to add more 8x74 regs
...
Define more HDMI PHY/PLL registers used on msm8x74/apq8084 platforms.
Register names are defined in clock-mdss-8974.c (msm-3.10).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18629 >
2022-09-17 17:12:13 +00:00
Kai Wasserbäch
e4c7cf1568
chore(docs): rusticl: improve list of build dependencies
...
v2:
- added more requirements for LLVM (thanks Mike Lothian (@FireBurn)).
v3:
- note the optional cases for rustfmt (thanks @LingMan)
- remove the part about the SPIR-V target for LLVM (thanks Karol Herbst
(@karolherbst))
v4:
- added minimum version requirements (thanks Karol Herbst
(@karolherbst))
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18640 >
2022-09-17 15:20:37 +02:00
Erik Faye-Lund
345f52661c
docs: update staus of mark GL_ARB_texture_compression_bptc
...
This is now done for all drivers that supports half-float and sRGB
textures. Update features.txt to reflect this.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18574 >
2022-09-17 10:03:12 +00:00
Thomas H.P. Andersen
569ade73b4
panvk: Implement VK_KHR_descriptor_update_template
...
Based on original patch by Jason Ekstrand
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14780 >
2022-09-17 03:32:29 +00:00
Jason Ekstrand
42d60aa0bc
panvk: Fix buffer views
...
Instead of overwriting the BO map pointer, write into the BO map
pointer. Drp... Also, drop an unnecessary & accessing
panvk_buffer_view::tex.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14780 >
2022-09-17 03:32:29 +00:00
Jason Ekstrand
c63cb7f4d2
vulkan/runtime: Compact descriptor update templates
...
Get rid of any zero-sized entries so drivers never even have to think
about this case when using templates.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14780 >
2022-09-17 03:32:29 +00:00
Thomas H.P. Andersen
74cebc5d5d
hasvk: Switch to the common descriptor update template struct
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14780 >
2022-09-17 03:32:29 +00:00
Jason Ekstrand
94f8222dde
anv: Switch to the common descriptor update template struct
...
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14780 >
2022-09-17 03:32:29 +00:00
Jason Ekstrand
3c24f19fa5
vulkan/runtime: Add a comon vk_descriptor_update_template
...
We can't actually make the template-based update common efficiently but
we can save everyone a bit of typing by having a common struct. This is
mostly a direct copy+paste from ANV with a type field added and a couple
comments tweaked.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14780 >
2022-09-17 03:32:29 +00:00
Adam Jackson
571309be31
glx: Remove some excess work from the GLX_FBCONFIG_ID fallback
...
The config matched by visual ID will have the right fbconfig ID set, you
don't need to go looking for it, so long as you look in the list of
fbconfigs as opposed to the list of visuals (which do not have
GLX_FBCONFIG_ID filled in).
It's sort of broken that we have two lists here, when the only real
distinction is that glXChooseVisuals needs to filter out non-window-
capable configs from its view. That's a bigger cleanup for another day.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18473 >
2022-09-17 03:06:10 +00:00
Adam Jackson
fed3643eb9
glx/dri: Avoid a weird indirection in driFetchDrawable
...
The gc already has ->psc set, just use it rather than walking all the
way back to the display private to find it.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18473 >
2022-09-17 03:06:10 +00:00
Adam Jackson
333895bebc
glx/dri*: Unify glx_context subclassing
...
The AppleGLX way reads a little nicer than the DRI wrapping way, I
think. First time for everything.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18473 >
2022-09-17 03:06:10 +00:00
Chia-I Wu
b13d4362b6
turnip: fix kgsl tu_enumerate_devices return code
...
VK_ERROR_INCOMPATIBLE_DRIVER is not a valid return code in this
function. Return VK_SUCCESS when /dev/kgsl-3d0 does not exist.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18622 >
2022-09-17 00:22:31 +00:00
Ella Stanforth
3c57d05b47
util: fix missing fcntl.h on musl
...
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18617 >
2022-09-16 23:43:13 +00:00
Emma Anholt
546c40cd66
ci/turnip: Move some 15-second-ish test skips to pre-merge skips.
...
We run with a longer timeout for the full runs, so let's enable the
coverage there.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18620 >
2022-09-16 20:16:10 +00:00
Emma Anholt
5694fe2a44
ci/turnip: Drop a couple of spillall skips.
...
These were fixed in the CTS in 3cc56764adac ("Shrink the framebuffer in 2
graphicsfuzz tests").
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18620 >
2022-09-16 20:16:10 +00:00
Emma Anholt
1bef39c50f
ci/turnip: Allow running spirv_ids_abuse in full VK runs.
...
We have a long enough timeout (5 minutes) during full runs to definitely
run these. Also, they haven't crashed for quite some time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18620 >
2022-09-16 20:16:10 +00:00
Emma Anholt
3503d5fbda
ci/turnip: Re-enable the compressed cubemap tests.
...
Our CTS now has the linked bug fixed, and it executes quickly locally.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18620 >
2022-09-16 20:16:10 +00:00
Emma Anholt
17c27e68ed
ci/turnip: Bump the full-run a618 runner count to 3.
...
That's 1/3 of the farm locked up per manual full run someone starts. But,
right now, we've bumped the runtime of a full run up to the point that we
were hitting the 2 hour timeout.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18620 >
2022-09-16 20:16:10 +00:00
Emma Anholt
4319e89666
ci/turnip: Use all 9 a618 runners at once for VK testing.
...
There are more boards in the collabora lab now, let's use them. We were
spending just over 10 minutes inside of deqp-runner, so a bit more than
our target for the whole job. Plus, we expect to be running more coverage
once VK_EXT_graphics_pipeline_library runs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18620 >
2022-09-16 20:16:10 +00:00
Gert Wollny
10ddbf50bb
r600/sfn: lower tg4 to backend in NIR
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
1dca2b8ae9
r600/sfn: Make sure texture lowering is done in the right order
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
ed6204eb06
r600/sfn: only use 3 channels on Cayman for trans ops
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
260cddf9ec
r600/sfn: Handle shifts on Cayman
...
Fixes: 00599f6e71
r600/sfn: Schedule shift instruction on R600 in t-slot
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
2fbcd3d4a9
r600/sfn: fix some channel pinning
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
56ded410af
r600/sfn: Add a free-channel mask when testing whether a register can switch channel
...
This should avoid making 4 slot ops out of 3-slot ops on Cayman
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
668167aac1
r600/sfn: VS inputs are effectively SSA
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
f3415cb26a
r600/sfn: copy propagate register load chains
...
NIR sometimes produces load chains like
r0 mov value
r1 mov r0
r2 mov r1
Add copy propagation for these cases
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
1852f1e328
r600/sfn: drop some unused code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
c0b6c59e08
r600/sfn: Copy propagate into TEX source
...
This is possible if all register values are actually from the same
register ID.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
5416d1bc4b
r600/sfn: Don't assert when setting one value
...
Instead add a method to validate the vec4 registers
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
4a505609e4
r600/sfn: Add an easy access to get an instruction as ALU
...
This is used often and makes sense not to be implemented as
a visitor.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
a7c6a7e345
r600/sfn: Don't allocate un-used components in texture ops
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
5241568641
r600/sfn: print tex prepare instructions
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
c23604324b
r600/sfn: copy-propagate single source texture values
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
1fc76aae10
r600/sfn: lower txf_ms in nir
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:09 +00:00
Gert Wollny
173d62fc16
r600/sfn: lower txd to backend in nir
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:08 +00:00
Gert Wollny
02bb506c54
r600/sfn: Lower tex,txl,txb and txf to backend
...
This cleans up the texture code a bit and also gives
more opportunities for optimization in NIR.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18619 >
2022-09-16 15:43:08 +00:00
Adam Jackson
a6483f0434
egl/dri2: Fix some thinkos in old context release
...
All of the objects here should be relative to the old context / display
/ surfaces. Calling disp->unbindContext() on a context that disp did not
create is likely to go poorly.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18586 >
2022-09-16 14:23:47 +00:00
Adam Jackson
7a744aa318
egl/dri2: Fix a typo in a comment
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18586 >
2022-09-16 14:23:47 +00:00
Adam Jackson
6c6a37ef94
egl/dri2: Respect the arguments to dri2_set_blob_cache_funcs
...
This is no functional change, since this is effectively what the caller
is passing in, but it's still a layering violation.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18586 >
2022-09-16 14:23:47 +00:00
Adam Jackson
14c6f716b4
nouveau: const cleanup
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18586 >
2022-09-16 14:23:47 +00:00
Mike Blumenkrantz
3ac0706aa8
zink: export PIPE_CAP_SHADER_ATOMIC_INT64
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
c32f046ab6
zink: export PIPE_CAP_IMAGE_ATOMIC_FLOAT_ADD
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
c212a00ebf
zink: handle 64bit float atomics
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
99a4a9c6ff
zink: fix atomic ssbo indexing with non-32bit values
...
this has to adjust using dest size, not hardcoded as uint32
Fixes: 5a95c6b328 ("zink: rewrite atomic ssbo intrinsics as atomic derefs")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
9016943185
zink: emit Aliased decoration for aliased bo descriptors
...
this is required any time two variables point to the same descriptor,
as is needed when multiple bitsizes are used
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
e32afce507
zink: simplify ntv shader descriptor emission
...
these can be emitted directly
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
99ef2c9a1b
zink: always set var used by get_ssbo_size to the 32bit var
...
avoid depending on iteration ordering
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
86e635d6de
zink: remove special-casing for 64bit runtime array emission
...
this should be fine normally
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Mike Blumenkrantz
96be036a6b
zink: uncap ssbo size
...
since the transition to UINT pipe cap, this no longer needs to be
restricted to appease gallium
fixes #7103
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144 >
2022-09-16 13:53:10 +00:00
Rhys Perry
e122d95d73
radv: remove unnecessary .align_mul=4
...
The builders can pick a default using the component size.
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/18465 >
2022-09-16 13:19:55 +00:00
Rhys Perry
ee1a75bd74
radv: use nir_ubfe_imm
...
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/18465 >
2022-09-16 13:19:55 +00:00
Rhys Perry
272d37fa72
radv: shrink zero-initialization in vkCmdSetVertexInputEXT
...
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/18465 >
2022-09-16 13:19:55 +00:00
Rhys Perry
891cb799aa
radv: disable EXT_vertex_input_dynamic_state when using DGC
...
This simplifies the DGC path and removes some untested code. The only user
of the partial DGC implementation (vkd3d-proton) doesn't use
EXT_vertex_input_dynamic_state.
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/18465 >
2022-09-16 13:19:55 +00:00
Rajnesh Kanwal
04dc963cd6
pvr: Implement vkCmdWaitEvents2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18612 >
2022-09-16 13:02:30 +00:00
Rajnesh Kanwal
1c68620782
pvr: Implement vkCmdResetEvent2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18612 >
2022-09-16 13:02:30 +00:00
Rajnesh Kanwal
de1da8fa76
pvr: Implement vkCmdSetEvent2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18612 >
2022-09-16 13:02:30 +00:00
Rajnesh Kanwal
1b94dfd4b2
pvr: Implement vkCreateEvent and vkDestroyEvent APIs.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18612 >
2022-09-16 13:02:30 +00:00
Karmjit Mahil
def3b88da5
pvr: Add basic skeleton for event sub cmd.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Sarah Walker <Sarah.Walker@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18612 >
2022-09-16 13:02:30 +00:00
Samuel Pitoiset
299d294304
Revert "radv: upload the PS epilog in the existing pipeline BO"
...
This is completely broken because the PS epilog has refcount and
radv_upload_shaders() updates its VA.
This reverts commit 7c34b31db2 .
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/18632 >
2022-09-16 11:38:28 +00:00
Iago Toral Quiroga
0fc38b358b
v3dv: fix program id for binning shaders
...
We had a comment stating that we were using different program ids for render
and binning but this isn't true. We were only assigning ids to the render
stages and then we would create the binning stages and not assign a program id
to them at all, so they would remain with a program id of 0.
This change removes the comment and makes sure we assign the same program
id to the binning and render stages of the pipeline, which makes it a lot
easier to match render and binning shaders when debugging.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18630 >
2022-09-16 10:11:06 +00:00
Qiang Yu
074f3216f2
ac/nir/ngg: support gs streamout
...
Port from radeonsi.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
3fe8f88124
ac/nir/ngg: support multi stream per output slot for gs
...
radeonsi may pack multi stream output to same slot.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
c25564b552
ac/nir/ngg: ngg_gs_load_out_vtx_primflag support stream
...
Streamout need primflag for any stream.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
5ec79f9899
ac/nir/ngg: nogs support streamout
...
Port from radeonsi.
Works on both GFX11 and GFX10. Although GFX10 can do atomic
GDS add on all threads, now we just disable the NGG streamout
for GFX10, so it's OK.
There's a difference for the GFX11 implementation with radeonsi
that we do all 4 buffer/stream info calc on a single thread.
It's just because this is simple, we need to update GDS on a
single thread anyway, and streamout is not that performance
critical to loss a small amount of instruction. We may change
to a better implementation when using register based streamout.
When streamout enabled, ES threads need to save all vertex
attributes to LDS besides position. This is because we don't
know where in the streamout buffer to export the attributes to
and wheter there are space in the streamout buffer.
Streamout is done in primitives, so we need to check if there
is space and where the current primitive should be written to
by GDS atomic add, then in GS threads do the streamout.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
30c7608516
ac/nir/ngg: cleanup prim id to prepare for streamout
...
Streamout also need barrier after culling, so move the
prim id barrier up to after culling.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
6762bc8bd6
ac/llvm: implement nir_intrinsic_ordered_xfb_counter_add_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
4e06a8f15e
nir: add nir_intrinsic_ordered_xfb_counter_add_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
1119e06a45
nir,ac/llvm: add nir_intrinsic_load_ordered_id_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
5c2d710064
nir: add nir_intrinsic_load_streamout_buffer_amd
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
2ae357aa23
nir: add nir_intrinsic_load_num_vertices_per_primitive_amd
...
This is used in streamout as radeonsi pass this value for VS
by arg.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Qiang Yu
417cf031a0
nir: fix nir_xfb_info buffer_to_stream length
...
Fixes: 19064b8c3a ("nir: Add a pass for gathering transform feedback info")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17654 >
2022-09-16 08:51:28 +00:00
Samuel Pitoiset
f5ba4e855e
radv: do not remove PSIZ for VS when the topology is unknown
...
When compiling only the pre-rast stages in a library, the input
assembly state might not be present and the topology would be 0.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18519 >
2022-09-16 08:22:16 +00:00
Samuel Pitoiset
7f91555d4c
radv: enable the VS prologs cache if graphicsPipelineLibrary is enabled
...
GPL will re-use most of the VS prologs code.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18519 >
2022-09-16 08:22:16 +00:00
Samuel Pitoiset
c199a5160a
radv: bind the VS input state for prologs created with GPL
...
If we have a VS that needs a prolog without using the dynamic state,
that means that it comes from a library, so we can overwrite the
cmdbuf VS input state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18519 >
2022-09-16 08:22:16 +00:00
Samuel Pitoiset
0feab7b9cf
radv: prepare the VS input state for prologs created with GPL
...
This state will be bound at pipeline bind time.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18519 >
2022-09-16 08:22:16 +00:00
Samuel Pitoiset
fdfa59d7bf
radv: rename radv_pipeline_key::vs::dynamic_vs_input to has_prolog
...
With GPL it's possible to create VS prologs without this dynamic state,
so it seems better to rename.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18519 >
2022-09-16 08:22:16 +00:00
Samuel Pitoiset
57b3bff41a
radv: disable VK_EXT_graphics_pipeline_library with LLVM
...
Epilogs/prologs aren't supported at all.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18609 >
2022-09-16 07:12:40 +00:00
Iago Toral Quiroga
591103d04d
v3dv: don't return incompatible driver if GPU is not present
...
Instead, we should just return VK_SUCCESS. The physical device
won't be initialized and vkEnumeratePhysicalDevices will not
list it as available, which is the expected behavior here.
Also, VK_ERROR_INCOMPATIBLE_DRIVER is not a valid return code
from vkEnumeratePhysicalDevices, so never return that, instead
we return VK_ERROR_INITIALIZATION_FAILED if a valid device was
found but we failed to create the physical device for it.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Tested-By: Ryan Houdek <Sonicadvance1@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18591 >
2022-09-16 05:42:26 +00:00
Emma Anholt
03294e1dd1
turnip: Keep a host copy of push descriptor sets.
...
Otherwise, the back-copy on same-layout push descriptor updates would read
from WC memory, which is absurdly slow. Improves performance of
vkoverhead's descriptor_template_12ubo_push from 760k/sec to 2876k/sec.
Improves submit-disabled gfxbench gl_driver2 performance on zink from 79.6
fps to 103.6.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18561 >
2022-09-16 02:43:44 +00:00
Emma Anholt
e313098427
turnip: Ignore pDescriptorCounts[] for non-variable-count layouts.
...
The spec says "If VkDescriptorSetAllocateInfo::pSetLayouts[i] does not
include a variable-sized descriptor binding, then pDescriptorCounts[i] is
ignored." So, make sure that we ignore it unless there is a
variable-sized binding. And, we can keep it simple just taking the
variable-sized path for variable-sized bindings with the 0 variable_count
value to handle "If descriptorSetCount is zero or this structure is not
included in the pNext chain, then the variable lengths are considered to
be zero."
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18561 >
2022-09-16 02:43:44 +00:00
Yonggang Luo
a9f3e011e5
drm-shim: drop gnu99 override
...
If we override with gnu99 here, we effectively down-grade from C11,
meaning we can no longer assume static_assert support.
Fixes: 45fb815a75 ("util: implement STATIC_ASSERT using c++11 / c11 primitives")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Suggested-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18611 >
2022-09-16 02:06:38 +00:00
Emma Anholt
7b2bdb31f2
turnip: Skip rather than invalidate LRZ on gl_FragDepth writes.
...
As long as the direction is still compatible, if we skip the LRZ use and
updates for this draw, then we can keep using LRZ later in the scene, as
whatever gl_FragDepth will get written by the shader later will still have
to move the depth in the right direction.
Similarly, the no_earlyz flag that contributes to DISABLE_LRZ just wants
to make sure we don't kill fragments before dispatch, not change what Z
eventually lands.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18606 >
2022-09-15 21:45:05 +00:00
Emma Anholt
62d8124522
turnip: Don't look at RB.Z_READ_ENABLE for setting LRZ.Z_TEST_ENABLE.
...
It will always be set in HW when RB.Z_WRITE_ENABLE is set (since that
implies RB.Z_TEST_ENABLE), but in the case of dynamic Z the flag gets
computed at emit time and not stored to cmd->state.rb_depth_cntl. This
bug effectively disabled LRZ for zink.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18606 >
2022-09-15 21:45:05 +00:00
Emma Anholt
52d35cc82a
turnip: Ignore dynamic color write enables past our number of attachments.
...
We were always disabling LRZ writes on zink+turnip because it sets all the
color write enables (translating directly from GL turning them all on).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18606 >
2022-09-15 21:45:05 +00:00
Emma Anholt
f6d15818ca
turnip: Add some missing LRZ disable debug.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18606 >
2022-09-15 21:45:05 +00:00
Alyssa Rosenzweig
6938c9f9cd
u_transfer_helper: Pack Z24S8 to Z24-in-Z32F and S8
...
On Asahi needed to pass
dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth24_stencil8
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18136 >
2022-09-15 21:19:39 +00:00
Alyssa Rosenzweig
45a37ace28
u_transfer_helper: Handle Z24X8 for drivers that don't use the
...
interleaved transfer_map
Fixes
dEQP-GLES3.functional.texture.format.sized.2d.depth_component24_pot on
Asahi.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18136 >
2022-09-15 21:19:39 +00:00
Konstantin Seurer
b12cc5c4fe
radv: Cleanup radv_GetInstanceProcAddr
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18600 >
2022-09-15 20:50:17 +00:00
Juston Li
fc1ff335d9
venus: use buffer cache for vkGetDeviceBufferMemoryRequirements
...
Align with vkGetBufferMemoryRequirements2 and utilize the cache for
retrieving memory requirements before trying the host call.
Fixes
dEQP-VK.api.invariance.memory_requirements_matching
dEQP-VK.memory.requirements.create_info.buffer.regular
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18603 >
2022-09-15 20:35:18 +00:00
Chia-I Wu
fe36f763d6
vulkan: update comments to device enumeration callbacks
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18607 >
2022-09-15 20:01:29 +00:00
Hans-Kristian Arntzen
f5b46a643f
radv: Implement VK_EXT_mutable_descriptor_type.
...
Trivial promotion from VALVE, just rename enums and types.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18610 >
2022-09-15 16:55:25 +00:00
Hans-Kristian Arntzen
3bfda5cc0e
vulkan: Update to 1.3.228 headers.
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18610 >
2022-09-15 16:55:25 +00:00
Sil Vilerino
3d4c36a3bc
d3d12: d3d12_video_buffer_create_impl make resident after checking for resource creation
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
2003d2d928
d3d12: Add VPBlit processor check for D3D12_FEATURE_VIDEO_PROCESS_MAX_INPUT_STREAMS
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
0325a2a1a3
d3d12: Allow video processing for formats other than NV12
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
07bb5951fc
d3d12: Allow formats other than NV12 in d3d12_video_buffer
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
fd84575809
d3d12: Add support for importing d3d12_video_buffer from handle
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
59c45e1ed7
d3d12: Fix leak in d3d12_resource_from_resource and usage in d3d12 video dec, enc
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
cdd83c6110
d3d12: Fix winsys displaytarget leak in d3d12_resource
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
cd03643309
d3d12: Fix leak in d3d12_video_proc when re-creating ID3D12VideoProcessor
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
c0e1548844
d3d12: Fill feedback in d3d12_video_encoder_encode_bitstream so vaSyncSurface properly populates buf->coded_size
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
d672cc39ba
d3d12: Avoid heap allocations on hot path d3d12_video_decoder_dxva_picparams_from_pipe_picparams_hevc
...
Using pre-allocated storage now.
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
d3f0733d1d
d3d12: Avoid local allocations for D3D12_RESOURCE_BARRIER on hot paths
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
5c2ec8efc8
d3d12: Avoid extra allocation, copies when generating DXVA_Slice_Hxxx_Short arrays
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
da11684e9d
d3d12: Add HEVC Decode/Encode
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
f2d172a8be
gallium/vl: Rename s_addr variable in vl_idct.c as it conflicts with windows existing inaddr.h keyword definition
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:39 -04:00
Sil Vilerino
e0b732e506
gallium/vl: Allow vl_zscan.h to be included from C++
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:34 -04:00
Sil Vilerino
8e92c76c34
d3d12/va: Name convention rename PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP to PIPE_VIDEO_CAP_SUPPORTS_CONTIGUOUS_PLANES_MAP
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:34 -04:00
Sil Vilerino
427135ea6d
frontends/va: Support HEVC caps regarding features, block sizes, prediction direction
...
Add new pipe structures: PIPE_VIDEO_CAP_ENC_HEVC_BLOCK_SIZES, PIPE_VIDEO_CAP_ENC_HEVC_FEATURE_FLAGS, PIPE_VIDEO_CAP_ENC_HEVC_PREDICTION_DIRECTION
Implement new VA caps VAConfigAttribEncHEVCFeatures, VAConfigAttribEncHEVCBlockSizes, VAConfigAttribPredictionDirection
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:34 -04:00
Sil Vilerino
2670756965
frontends/va: Extend single to multiple L0-L1 references for HEVC Encode
...
Also fixing refactored variable name for L0/L1 lists in drivers/radeonsi to avoid build break.
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:28 -04:00
Sil Vilerino
56684b85e9
frontends/va: Add HEVC Encode support multi slice and extend pipe args
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:23 -04:00
Sil Vilerino
52f23f923e
frontends/va: Mark IsLongTerm in HEVC decode args
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:18 -04:00
Sil Vilerino
ee62f4d614
frontends/omx: Fill HEVC Decode param IntraPicFlag
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:09 -04:00
Sil Vilerino
5efd4bbf7f
frontends/vdpau: Fill HEVC Decode param IntraPicFlag
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:19:00 -04:00
Sil Vilerino
c7acd6788e
frontends/va: Add HEVC decode args: IntraPicFlag, no_pic_reordering_flag, no_bipred_flag
...
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:18:44 -04:00
Sil Vilerino
a6e32bf15b
frontends/va: Add HEVC decode slice descriptors
...
Adds HEVC decoded slice descriptors to the pipe interface and also to the VA frontend
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18328 >
2022-09-15 11:18:43 -04:00
Martin Roukala (né Peres)
2aa4ed16e2
radv/ci: move some tests from the renoir fail to its flake list
...
This mirrors the change we made for vega10 (6bbe3c6d3 ) in August...
Seems like the chances of a PASS are indeed slim, but possible.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18590 >
2022-09-15 14:12:07 +00:00
Erik Faye-Lund
ba7e87a03d
panfrost: do not fake rgtc-support
...
Panfrost doesn't expose LATC format support at all, so RGTC
state-tracker level RGTC support is sufficient to drop the fake RGTC
flag on Panfrost.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
df58342f61
mesa/st: enable rgtc extension with fallback
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
f25875ce18
mesa/st: do not fall back to uncompressed for rgtc
...
This logic doesn't really do what it pretends to; we don't expose the
RGTC features unless we actually have RGTC support. This is about to
change, but for that logic to work, we need to be able to tell if we're
using a fallback-format or not, and we can't do that unless we keep the
format as RGTC.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
1735053de5
mesa/st: implement fallback for rgtc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
091e6e37c2
mesa/main: add _mesa_unpack_rgtc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
a6ed406d9f
util/format: implement rgtc -> r8 / r8g8 unpack
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
dfbcd94041
util/format: allow unpacking less than a block from rgtc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
6e1c3e98cd
util/format: fix broken indentation
...
This file had a mixture of tabs and spaces for indent.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
bb7d193ab2
mesa: add format-helper for rgtc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Erik Faye-Lund
d33696a31c
mesa/st: add context-flag for rgtc
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18248 >
2022-09-15 08:16:01 +00:00
Samuel Pitoiset
efd8d0f6e7
radv/ci: cleanup lists of failures/flakes
...
When tests are already in the flakes list, it's useless to mark them
as expected failures.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18592 >
2022-09-15 07:49:33 +02:00
Chia-I Wu
65f1baf6c6
turnip: use vk_descriptor_set_layout
...
Mainly for vk_descriptor_set_layout_{ref,unref}.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18588 >
2022-09-14 23:57:03 +00:00
Chia-I Wu
43430fe240
turnip: use vk_buffer
...
Mainly for vk_buffer_range.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18588 >
2022-09-14 23:57:03 +00:00
Rob Clark
2664d59aee
freedreno: We really don't need aligned vbo's
...
The logic was inverted, we don't need aligned for later gens.
Fixes: 60912f1ebd ("freedreno: we don't need aligned vbo's")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18605 >
2022-09-14 23:32:26 +00:00
Rob Clark
76fbc8be6d
freedreno/drm/virtio: Handle read after upload
...
If we get CPU access (such as a read) after an upload transfer, we need
to ensure that the host has handled the upload. Do this by stalling
when the buffer is mapped. (The previous commit ensures we don't try to
do a pointless upload for an already mapped buffer.)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18604 >
2022-09-14 22:46:18 +00:00
Rob Clark
8c8e13e3b5
freedreno/drm/virtio: Don't prefer upload for mapped buffers
...
The upload path is intended to avoid stalling on host in order to mmap
recently allocated buffers. But if we already had to mmap it, no point
in taking the upload path.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18604 >
2022-09-14 22:46:18 +00:00
Rob Clark
e71b0d31aa
freedreno/virtio: Don't upload if we have valid range
...
A transfer that only partially writes the staging buffer could overwrite
valid buffer contents, unless we are told that it is ok to discard the
entire range.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18604 >
2022-09-14 22:46:18 +00:00
Emma Anholt
696747c96b
mesa: Lower mediump temps and CS shared when the driver supports FP16+INT16.
...
Typically GLSL mediump lowering will have lowered all the ALU ops
generating the values to 16-bit, and once vars_to_ssa happens the mediump
temps disappear. However, if they don't disappear (for example, the var
gets indirected and eventually gets lowered to scratch or indirect
lowering), then you don't want the storage upconverted to 32-bit.
Also, if a CS shared var is declared mediump, then storing it as 16 bit
prevents conversions around the load store assuming the ALU ops related to
them are 16 bit. For gfxbench aztec ruins, the CS shared var sizes are
cut in half, improving overall perf by 0.805549% +/- 0.0953482% (n=6) on
gl-5-normal.
freedreno shader-db:
total instructions in shared programs: 2917577 -> 2917743 (<.01%)
instructions in affected programs: 46141 -> 46307 (0.36%)
total last-baryf in shared programs: 109712 -> 109492 (-0.20%)
last-baryf in affected programs: 638 -> 418 (-34.48%)
total full in shared programs: 190275 -> 190218 (-0.03%)
full in affected programs: 156 -> 99 (-36.54%)
total constlen in shared programs: 492596 -> 492600 (<.01%)
constlen in affected programs: 8 -> 12 (50.00%)
total cat6 in shared programs: 33019 -> 33107 (0.27%)
cat6 in affected programs: 3604 -> 3692 (2.44%)
total stp in shared programs: 3626 -> 3670 (1.21%)
stp in affected programs: 3336 -> 3380 (1.32%)
total ldp in shared programs: 1718 -> 1762 (2.56%)
ldp in affected programs: 1680 -> 1724 (2.62%)
(this is all in aztec ruins)
total sstall in shared programs: 195656 -> 195182 (-0.24%)
sstall in affected programs: 3249 -> 2775 (-14.59%)
total (ss) in shared programs: 52823 -> 52966 (0.27%)
(ss) in affected programs: 1733 -> 1876 (8.25%)
total systall in shared programs: 507928 -> 508687 (0.15%)
systall in affected programs: 103010 -> 103769 (0.74%)
total (sy) in shared programs: 23185 -> 23196 (0.05%)
(sy) in affected programs: 1276 -> 1287 (0.86%)
total waves in shared programs: 435290 -> 435302 (<.01%)
waves in affected programs: 12 -> 24 (100.00%)
total loops in shared programs: 407 -> 405 (-0.49%)
loops in affected programs: 9 -> 7 (-22.22%)
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18452 >
2022-09-14 14:56:26 -07:00
Emma Anholt
7e986e5f04
nir/lower_mediump_vars: Don't lower mediump shared vars with atomic access.
...
I don't know of any GPUs doing 16-bit atomic accesses, nor do I know of
anybody wanting that in shaders. But deqp has GLES CTS cases that set
mediump on shared variables, so just skip lowering for those vars.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18452 >
2022-09-14 14:56:22 -07:00
Emma Anholt
a1c765a44c
freedreno/ir3: Consistently lower mediump inputs to 16-bit (when we can).
...
If every use was a conversion to 16, then ir3_cf would fold it into the
bary instruction. But if something had generated a highp comparison of
the mediump input with a mediump op result, it would get stuck as highp,
even though we could have used 16-bit values without upconverting.
This fixes dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_fragment on
ANGLE on turnip, closing #7043 . fossil-db results are mixed:
fossil-db:
Totals from 697 (4.65% of 14988) affected shaders:
MaxWaves: 10712 -> 10736 (+0.22%)
Instrs: 82394 -> 83572 (+1.43%); split: -1.31%, +2.74%
CodeSize: 178280 -> 180118 (+1.03%); split: -0.46%, +1.49%
NOPs: 15887 -> 16067 (+1.13%); split: -7.48%, +8.61%
MOVs: 1297 -> 1328 (+2.39%); split: -6.86%, +9.25%
Full: 3730 -> 3842 (+3.00%); split: -1.80%, +4.80%
(ss): 1877 -> 1849 (-1.49%); split: -5.59%, +4.10%
(sy): 1249 -> 1255 (+0.48%); split: -1.04%, +1.52%
(ss)-stall: 6809 -> 6364 (-6.54%); split: -13.85%, +7.31%
(sy)-stall: 17059 -> 17257 (+1.16%); split: -6.51%, +7.67%
Cat0: 17220 -> 17400 (+1.05%); split: -6.90%, +7.94%
Cat1: 5307 -> 6366 (+19.95%); split: -6.93%, +26.89%
Cat2: 39138 -> 39101 (-0.09%); split: -0.31%, +0.22%
Cat3: 16772 -> 16741 (-0.18%)
Cat5: 1269 -> 1276 (+0.55%)
I tried to pick some apps to test that looked the most impacted, and
indeed the results are mixed:
cookie_run_kingdom: +0.275514% +/- 0.0883816% (n=68)
trex_200: +0.0943847% +/- 0.0297073% (n=1463)
command_and_conquer_rivals: no difference (n=131)
war_planet_online: no difference (n=120)
lego_legacy: -0.192131% +/- 0.152083% (n=99)
among_us: -0.625227% +/- 0.385419% (n=60)
Given that the perf results are small and go both ways, and apparently
we're an outlier in not always lowering mediump inputs to 16-bit, just do
it for consistency with other drivers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18506 >
2022-09-14 20:42:34 +00:00
José Roberto de Souza
f4857591e1
intel/compiler/fs: Use DF to load constants when has_64bit_int is not supported
...
This was already been done to gen7 platforms, so now extending to all
platforms without has_64bit_int.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18577 >
2022-09-14 19:32:43 +00:00
José Roberto de Souza
daf0b67bc2
intel/compiler/fs: Fix compilation of shaders with SHADER_OPCODE_SHUFFLE of float64 type
...
During the lower_regioning() optimization, required_exec_type() is
returning BRW_REGISTER_TYPE_UQ type when processing
SHADER_OPCODE_SHUFFLE instructions of type BRW_REGISTER_TYPE_DF but
MTL has float64 support but lacks int64 support causing shader
compilation to fail.
To fix that we could make required_exec_type() return
BRW_REGISTER_TYPE_DF in such case but SHADER_OPCODE_SHUFFLE virtual
instruction runs in the integer pipeline(inferred_exec_pipe()).
So here replacing the has_64bit check by has_64bit_int, this will
properly handle older and newer cases making this function return
BRW_REGISTER_TYPE_UD.
Then lower_exec_type() will take care to generate 2 32bits operations
to accomplish the same.
While at it also dropping the 'devinfo->verx10 == 70' check as
GFX7_FEATURES fall into the same category as MTL, has float64 but no
int64 support.
Fixes at least this crucible tests:
func.uniform-subgroup.exclusive.fadd64.q0
func.uniform-subgroup.exclusive.fmin64.q0
func.uniform-subgroup.exclusive.fmax64.q0
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18577 >
2022-09-14 19:32:43 +00:00
Samuel Pitoiset
731116da1a
radv: stop checking for NULL pipelines in radv_CmdBindPipeline()
...
This should never happen now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18567 >
2022-09-14 19:13:43 +00:00
Samuel Pitoiset
949d76d174
radv: stop dirtying the graphics pipeline when restoring it
...
radv_CmdBindPipeline() does it already.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18567 >
2022-09-14 19:13:42 +00:00
Samuel Pitoiset
73f1155193
radv: reset the compute pipeline when the saved one was NULL
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18567 >
2022-09-14 19:13:42 +00:00
Samuel Pitoiset
3cceaaf5cd
radv: do not bind NULL graphics pipeline when restoring the meta state
...
It's invalid to bind NULL pipelines, but make sure to reset it to
its previous NULL state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18567 >
2022-09-14 19:13:42 +00:00
Samuel Pitoiset
9ebaa62a34
radv: stop setting redundant viewport/scissor for internal operations
...
Only emit them when it's needed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18567 >
2022-09-14 19:13:42 +00:00
David Riley
4031c9428f
drm-shim: Allow drm-shim to work with glibc fortify.
...
Signed-off-by: David Riley <davidriley@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18558 >
2022-09-14 18:15:44 +00:00
Boris Brezillon
e2eb1d083c
ci/panvk: Skip dEQP-VK.api.object_management.max_concurrent.query_pool
...
This test times out occasionally. Let's disable it for now.
Reported-by: David Heidelberg <david.heidelberg@collabora.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18578 >
2022-09-14 18:01:06 +00:00
David Heidelberg
baf24dea94
ci/traces: remove first line with YAML version to prevent failure
...
Older libyaml (0.2.2) fail with YAML 1.2, just drop it.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18595 >
2022-09-14 15:44:24 +00:00
David Heidelberg
dd12b04cf8
ci: add jq utility
...
Needed as a dependency for the yq utility.
Also bump x86-build-base image.
Fixes: f2649b93e2 ("ci: performance traces: make use of no-perf label")
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18595 >
2022-09-14 15:44:24 +00:00
David Heidelberg
cbaedd3e50
ci: use xargs instead of find -exec
...
This allows us to see failure when yamllint return non-zero.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18595 >
2022-09-14 15:44:24 +00:00
Chad Versace
0ca7f923c5
venus: Use VkPhysicalDeviceVulkan13{Features,Properties}
...
Add the structs to vn_physical_device, just like we do for the 1.1 and
1.2 structs.
Prepares for Vulkan 1.3 enablement. No intended change in behavior.
Tested with gpu Intel Tigerlake on CrOS device volteer.
I tested only a small subset of dEQP because this branch only touches
the code for VkPhysicalDevice{Features2,Properties2}.
vulkan-cts-1.3.3.0
dEQP-VK.api.info.*
dEQP-VK.api.smoke.*
pass/skip/fail = 3796/9/0
I tested Dota 2 on borealis on volteer, with non-Proton Vulkan. The
game launches and reaches the main menu. Same with Hades with DX on
Proton 7.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18158 >
2022-09-14 15:32:22 +00:00
Chad Versace
3a366f1055
venus: Fix features/properties for unavailable extensions
...
In vn_physical_device_init_features() and
vn_physical_device_init_properties(), we queried many extension structs
even if the extension was unavailable. Afterwards we copied the
undefined values from the extension structs into the core structs.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18158 >
2022-09-14 15:32:22 +00:00
Chad Versace
ca687bc263
venus: Add macros VN_SET_CORE_*
...
Used to refactor vn_physical_device.c. The new code easier to read and
has less duplication.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18158 >
2022-09-14 15:32:22 +00:00
Chad Versace
5932358447
venus: Refactor VN_ADD_TO_PNEXT
...
Motivation is easier sorting and readability.
- In VN_ADD_TO_PNEXT_OF, re-arrange params to allow sorting. Param1 is
invariant in each block. Param2 is sType.
- In VN_ADD_EXT_TO_PNEXT_OF, make its initial params match those of
VN_ADD_TO_PNEXT_OF.
- Then sort the macro calls.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18158 >
2022-09-14 15:32:22 +00:00
Chad Versace
7c02730ed3
venus: Rename some feature/property structs
...
Make the variable name more closely match the type name.
This also allows them to sort correctly.
argb_4444_formats -> _4444_formats
eight_bit_storage -> _8bit_storage
sixteen_bit_storage -> _16bit_storage
While touching vn_physical_device.[ch], also run clang-format.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18158 >
2022-09-14 15:32:22 +00:00
Mike Blumenkrantz
db192c0883
zink: handle split acquire/present
...
if the swapchain image is acquired in a different cmdbuf than it gets
presented with, the acquire semaphore will have already been submitted
by this point, and the swapchain should be flagged as such
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18557 >
2022-09-14 15:09:44 +00:00
Mike Blumenkrantz
5505811f64
radv: avoid bottlenecking on sequential sparse buffer binds
...
it's more costly to submit individual sparse buffer binds than to
merge them and submit bigger binds, so try to pre-compare and flatten
out the bind array as much as possible to reduce ioctl counts
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18507 >
2022-09-14 14:40:02 +00:00
Mike Blumenkrantz
4e4d91a79d
docs: add more features
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17956 >
2022-09-14 14:19:05 +00:00
Mike Blumenkrantz
054c9e708a
lavapipe: ARM/EXT_rasterization_order_attachment_access
...
another no-op
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17956 >
2022-09-14 14:19:05 +00:00
Mike Blumenkrantz
bb3f3c6502
lavapipe: VK_EXT_attachment_feedback_loop_layout
...
no-op
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17956 >
2022-09-14 14:19:05 +00:00
Iago Toral Quiroga
ab378b9ce5
v3dv: expose VK_EXT_load_store_op_none
...
This extension adds new NONE attachment load / store operations,
which are identical to the DONT_CARE variants with the difference
that DONT_CARE doesn't ensure that the original contents of the
memory within the render area are preserved and these new versions
do (with some caveats).
Our implementation was not destroying data with DONT_CARE anyway
so we already support the new semantics. Our implementation is
such that we don't need to do anything specific with the new
operations and the current behavior will do what is expected.
We pass all the tests under:
dEQP-VK.renderpass*.load_store_op_none.*
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18570 >
2022-09-14 13:48:46 +00:00
Iago Toral Quiroga
5e8196e756
v3dv: don't load an attachment for unaligned render area if we are not storing
...
If the render area is not aligned to tile boundaries it means we have partially
covered tiles in the framebuffer. In this case, we always need to load the tile
buffer from memory in order to preserve the contents outside the render area
on the tile buffer store. However, if in this scenario we know we won't be
storing the tile buffer we can skip the load safely.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18570 >
2022-09-14 13:48:45 +00:00
Danylo Piliaiev
34109c8c10
turnip: implement VK_EXT_multi_draw
...
vkoverhead running:
* draw numbers are reported as thousands of operations per second
* percentages for draw cases are relative to 'draw'
0, draw, 29151, 100.0%
1, draw_multi, 35449, 121.6%
2, draw_vertex, 28907, 99.2%
3, draw_multi_vertex, 56658, 194.4%
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11502 >
2022-09-14 13:18:02 +00:00
Rajnesh Kanwal
2e93833224
pvr: Fix multiple file descriptor leaks.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reported-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18594 >
2022-09-14 13:08:29 +00:00
Connor Abbott
201851a3d1
tu: Initial implementation of VK_EXT_inline_uniform_block
...
This is a trivial implementation where we just insert a UBO descriptor
pointing to the actual data and then treat it as a normal UBO everywhere
else. In theory an indirect CP_LOAD_STATE would be more efficient than
ldc.k to preload inline uniform blocks to constants. However we will
always need the UBO descriptor anyway, even if we lower the limits
enough to always be able to preload them, because with variable pointers
we may have a pointer that could be to either an inline uniform block or
regular uniform block. So, using an indirect CP_LOAD_STATE should be an
optimization on top of this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17960 >
2022-09-14 12:46:01 +00:00
Connor Abbott
15f3274ea6
tu: Don't preload variable-count descriptors
...
We don't know how many descriptors will actually be valid, which could
lead to preloading descriptors out-of-bounds of the descriptor size.
This was leading to GPU hangs on some tests once we enabled inline
uniforms.
Fixes: d9fcf5de55 ("turnip: Enable nonuniform descriptor indexing")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17960 >
2022-09-14 12:46:01 +00:00
Connor Abbott
05266333a0
tu: Fix descriptor set size bounds
...
This old code looks like it was left around from anv. Make it use the
limits the rest of the code uses.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17960 >
2022-09-14 12:46:00 +00:00
Rhys Perry
b301c33f65
nir/algebraic: optimize fabs(bcsel(b, fneg(a), a))
...
fossil-db (Sienna Cichlid):
Totals from 207 (0.15% of 134913) affected shaders:
VGPRs: 7152 -> 6928 (-3.13%)
CodeSize: 762404 -> 752888 (-1.25%)
MaxWaves: 6138 -> 6146 (+0.13%)
Instrs: 144031 -> 142184 (-1.28%)
Latency: 817783 -> 807286 (-1.28%)
InvThroughput: 151031 -> 147497 (-2.34%)
VClause: 1490 -> 1453 (-2.48%)
SClause: 3357 -> 3331 (-0.77%); split: -0.92%, +0.15%
Copies: 9632 -> 9555 (-0.80%); split: -0.81%, +0.01%
Branches: 4306 -> 4270 (-0.84%)
PreSGPRs: 11232 -> 11218 (-0.12%); split: -0.15%, +0.03%
PreVGPRs: 6307 -> 6121 (-2.95%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14772 >
2022-09-14 12:16:07 +00:00
Danylo Piliaiev
33e60798e1
ir3: Prevent reordering movmsk with kill
...
`kill` changes which fibers are active, thus reodering instructions
which depend on which fibers are active - is wrong.
The issue was hidden because only `ballot(true)` is translated to movmsk
immidiately, while others are passed as MACRO and don't properly
take part in ir3_sched (which does the reordering).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7162
Fixes CTS test (on gen3+):
dEQP-VK.spirv_assembly.instruction.terminate_invocation.terminate.subgroup_ballot
Fixes: b1b80c06a7
("ir3: Implement nir subgroup intrinsics")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18413 >
2022-09-14 11:56:28 +00:00
Frank Binns
b97b15d762
pvr: add required pixel formats
...
As per section 33.3 ("Required Format Support") of the Vulkan 1.0 spec - see
tables 42 to 52.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18572 >
2022-09-14 11:13:42 +00:00
Tapani Pälli
27c5b93d37
iris: disable preemption on VFG, Wa_14015207028 for DG2
...
This workaround disables batch level preemption for Polygon,
Trifan and Lineloop primitive topologies.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18456 >
2022-09-14 10:01:23 +00:00
Tapani Pälli
ddcd6b3834
anv: disable preemption on VFG, Wa_14015207028 for DG2
...
This workaround disables batch level preemption for Polygon,
Trifan and Lineloop primitive topologies.
v2: cleanups (José)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18456 >
2022-09-14 10:01:23 +00:00
Tapani Pälli
d5d4604aa6
intel/genxml: add VFG_PREEMPTION_CHICKEN_BITS register
...
This can be used to disable batch preemption on DG2+ either
completely or with selected primitive topologies.
Commit adds bit explicitly for Polygon, Trifan and LineLoop
topologies for Wa_14015207028.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18456 >
2022-09-14 10:01:23 +00:00
Eric Engestrom
5bfca00d31
broadcom: fix dependencies in static_library() calls
...
The first argument is the name of the library, and the second argument
is the list of files; those two got a bit mixed up.
Fixes: 1ae8018a6a ("meson: Add support for the vc4 driver.")
Fixes: 4f3e380fa0 ("meson: Add support for the vc5 driver.")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18593 >
2022-09-14 09:38:28 +00:00
Pavel Ondračka
0deca8bef8
r300: add some synchronization for KIL
...
Set texture semaphore wait at the first control flow instruction
after the KIL.
Fixes: dEQP-GLES2.functional.shaders.discard.dynamic_loop_always
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18576 >
2022-09-14 09:27:54 +00:00
Konstantin Seurer
6a19950b61
radv: Explicitly store the VA of accel structs
...
Gets rid of a bit of code and fixes the RRA accel_struct_vas table if
the BO is freed before vkDestroyAccelerationStructureKHR is called.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18530 >
2022-09-14 09:05:25 +00:00
Konstantin Seurer
7da66f8f25
radv/rra: Replace aliasing assert with a warning
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18530 >
2022-09-14 09:05:25 +00:00
Konstantin Seurer
916621e5a5
radv: Make the radv_buffer_get_va parameter const
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18530 >
2022-09-14 09:05:25 +00:00
Konstantin Seurer
d94cb8b595
radv/rra: Remove redundant bounds validation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18530 >
2022-09-14 09:05:25 +00:00
Konstantin Seurer
97d8bb9bc6
radv/rra: Map accel struct VAs to handles
...
When validating a BVH, rra_validate_node uses _mesa_hash_table_u64_search to lookup, whether a BLAS pointer is valid. Since _mesa_hash_table_u64_search returns the data field of the found entry, we need to populate it. Otherwise, the NULL-check won't work.
Fixes: 5749806 ("radv: Add Radeon Raytracing Analyzer trace dumping utilities")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18530 >
2022-09-14 09:05:25 +00:00
Corentin Noël
ba9c73f9d4
virgl/ci: Update virglrenderer
...
Update virglrenderer past to version 0.10.1
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18418 >
2022-09-14 06:39:29 +00:00
Yonggang Luo
eec1e728c5
c11: Update the values of enum mtx_plain, mtx_recursive, mtx_timed to make sure mtx_recursive != mtx_plain | mtx_recursive
...
According to c11 standards, there is 4 variant of mtx_init parameter,
mtx_plain
mtx_timed
mtx_plain|mtx_recursive
mtx_timed|mtx_recursive
Directly use mtx_recursive is not a thing, so we need make sure mtx_plain and mtx_plain|mtx_recursive are not equal,
So now we choose the values from Android c11 threads.h for enum mtx_plain, mtx_recursive, mtx_timed, to make sure
c11/threads.h be more c11 conformance, and can raise error when the type parameter of mtx_init are not one of
mtx_plain
mtx_timed
mtx_plain|mtx_recursive
mtx_timed|mtx_recursive
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18445 >
2022-09-14 02:46:51 +00:00
Yonggang Luo
0894762cb8
svga: direct use of mtx_recursive is not c11 conformance
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18445 >
2022-09-14 02:46:51 +00:00
Yonggang Luo
e1139a3fc3
radeonsi: direct use of mtx_recursive is not c11 conformance
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18445 >
2022-09-14 02:46:51 +00:00
Yonggang Luo
77e8b5bbb0
mesa: direct use of mtx_recursive is not c11 conformance
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18445 >
2022-09-14 02:46:51 +00:00
Rob Clark
8192772c0a
freedreno: Remap high/norm/low priorities
...
At the gallium level, we only have three priorities. But if kernel
supports preemption we'll have 3*nr_rings priority levels. We'd prefer
to have the priorities that userspace picks be distributed over the
entire range of priorities so that preemption can work.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18584 >
2022-09-14 02:06:27 +00:00
Rob Clark
2451c30c11
freedreno: nr_rings -> nr_priorities
...
This was renamed in the UABI header over a year ago, see
fc40e5e10c3b ("drm/msm: Utilize gpu scheduler priorities")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18584 >
2022-09-14 02:06:27 +00:00
Rob Clark
8e890a8b58
freedreno: Misc indent fix
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18584 >
2022-09-14 02:06:27 +00:00
Chia-I Wu
43c53e3225
turnip: add support for VK_KHR_global_priority
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18510 >
2022-09-14 01:38:54 +00:00
Chia-I Wu
6aa06b1b9f
turnip: add tu_physical_device::submitqueue_priority_count
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18510 >
2022-09-14 01:38:54 +00:00
Chia-I Wu
79c75a3e97
turnip: fix error handling for tu_queue_init
...
tu_queue_finish can only be called on initialized queues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18510 >
2022-09-14 01:38:54 +00:00
Ruijing Dong
0308abbe46
frontends/va: add HRD, filler data enable and etc
...
HRD parameters and filler data enable and skip frame
enable data are needed even though some application
doesn't use them.
Also for per picture rate control, max_qp and min_qp
are added.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18534 >
2022-09-14 00:16:20 +00:00
Ruijing Dong
3c8937d363
frontends/va: add max_frame_size into rate control
...
why:
max au size and per picture rate control data structure
need to follow the input
how:
have max_frame_size as the input to rate control
also re-calculate other rate control related params
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18534 >
2022-09-14 00:16:20 +00:00
Ruijing Dong
6646ae2576
frontends/va: change getEncParamPreset location
...
why:
getEncParamPreset functions overwrite the incoming
messages.
how:
To change a location after the decoder is created,
so that if no incoming message the default ones
will be used otherwise the new messages will
overwrite the default values.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18534 >
2022-09-14 00:16:20 +00:00
Ruijing Dong
72fffa62d5
frontend/va: remove some unnecessary code
...
clean up some code related to h264 encoding.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-By: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18534 >
2022-09-14 00:16:19 +00:00
Chia-I Wu
2f4532e2d1
subprojects: uprev perfetto to v29.0
...
This is mainly to get perfetto's commit 3e7228376 ("tracing: Clean up
platform TLS state on shutdown").
Acked-by: Rob Clark <robdclark@chromium.org >
Acked-by: Sami Kyöstilä <skyostil@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18502 >
2022-09-14 00:07:54 +00:00
Chia-I Wu
3c76091801
vulkan: update ALLOWED_ANDROID_VERSION for api level 33
...
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18476 >
2022-09-13 23:34:58 +00:00
Yiwei Zhang
e9b995ecf4
venus: ignore pInheritanceInfo if not secondary command buffer
...
TEST: no segfault in dEQP-VK.api.command_buffers.bad_inheritance_info_random
Fixes: 6f5289df53 ("venus: refactor VkCommandBufferBeginInfo fixups to function")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18583 >
2022-09-13 23:19:54 +00:00
Emma Anholt
d862a2ebcb
turnip: Only emit descriptor loads for active stages in the pipeline.
...
zink has a push descriptor template layout that has every possible stage,
which gets used regardless of what stages are in the pipeline. By
skipping over the unused stages, we cut the CP overhead.
Improves TU_DEBUG=sysmem gfxbench gl_driver2 on zink by 6.57% +/-
0.331143% (n=5).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18562 >
2022-09-13 22:19:43 +00:00
Emma Anholt
f51bbcc8ae
ci/turnip: Add missing a618 full-run bypass fails.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18562 >
2022-09-13 22:19:43 +00:00
Adam Jackson
ed2e3f5871
wsi/x11: Fix the is-visual-supported check
...
This was sort of well intentioned, but wrong. bits_per_rgb_value is the
number of significant bits in the color (channel) specification, not the
number of bits used to name that color within the pixel. If you have a
depth 24 visual but the colormap is 11 bits deep then each of those
channels selects one of 256 11-bit color values in the output ramp.
The open source drivers mostly don't expose anything like that, but
nvidia does, and we refuse to work. That's silly. Practically speaking
we can probably render to any TrueColor or DirectColor visual that your
X server exposes, since it is probably not going to have visuals for
non-color-renderable formats. Just check the visual class instead.
Likewise when matching formats to visuals, count the bits in the rgb
masks in the visual.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6995
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18381 >
2022-09-13 21:52:55 +00:00
Rhys Perry
c23411a970
nir/algebraic: optimize bits=umin(bits, 32-(offset&0x1f))
...
Optimizes patterns which are created by recent versions of vkd3d-proton,
when constant folding doesn't eliminate it entirely:
- ubitfield_extract(value, offset, umin(bits, 32-(offset&0x1f)))
- ibitfield_extract(value, offset, umin(bits, 32-(offset&0x1f)))
- bitfield_insert(base, insert, offset, umin(bits, 32-(offset&0x1f)))
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13225 >
2022-09-13 20:36:06 +00:00
Pierre-Eric Pelloux-Prayer
07a520f731
radeonsi: invalidate L2 when using dcc stores
...
This is only needed on chips with tcc_rb_non_coherent=1.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7084
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18494 >
2022-09-13 20:03:14 +00:00
Pierre-Eric Pelloux-Prayer
4da147a02b
mesa: remove fallback for GL_DEPTH_STENCIL
...
st_TexSubImage has this "default to fallback for depth-stencil" since
2013. I think it's time to remove this limitation - hopefully all
drivers will be happy with the change to avoid adding yet another CAP.
This helps CS:GO startup a lot, because the fallback path is very very
slow.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18484 >
2022-09-13 19:37:28 +00:00
Pierre-Eric Pelloux-Prayer
2baa40b041
mesa: simplify _mesa_texstore_z24_s8 and s8_z24
...
The spec says:
If the base internal format is DEPTH_STENCIL and format
is not DEPTH_STENCIL, then the values of the stencil
index texture components are undefined.
Which can be translated as: we don't need to bother preserving
the original stencil values.
Suggested by Emma Anholt.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18484 >
2022-09-13 19:37:28 +00:00
Pierre-Eric Pelloux-Prayer
a5b1a81105
mesa: avoid reading back textures from VRAM
...
This can be very slow on dGPU.
I tried a different version that would allocate a full row
and then do a single memcpy per row but the performance
was similar so I kept the simple version.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18484 >
2022-09-13 19:37:28 +00:00
Juston Li
a6e6ffb703
venus: add support for VK_EXT_multi_draw
...
Test:
./deqp-vk -n dEQP-VK.draw.*multi_draw*
Test run totals:
Passed: 11520/11520 (100.0%)
Failed: 0/11520 (0.0%)
Not supported: 0/11520 (0.0%)
Warnings: 0/11520 (0.0%)
Waived: 0/11520 (0.0%)
Signed-off-by: Juston Li <justonli@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18304 >
2022-09-13 19:20:55 +00:00
Juston Li
99378c8873
venus: sync to latest venus protocol headers
...
- v1.3.227 update
- added VK_EXT_multi_draw
Signed-off-by: Juston Li <justonli@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18304 >
2022-09-13 19:20:55 +00:00
Emma Anholt
873365caee
nouveau: Fix compiler warnings about silly address checks in ir_print.
...
in/out/sv are arrays, so &array[i] is a non-null pointer. Presumably
numSysVals/Inputs/Outputs are only incremented when there's data in the
arrays, anyway.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18536 >
2022-09-13 18:39:07 +00:00
Chia-I Wu
210807a1a4
turnip: reduce MAX_STORAGE_BUFFER_RANGE
...
Reduce MAX_STORAGE_BUFFER_RANGE from (1<<29) to (1<<27). While (1<<28)
is fine based on my tests, let's match what the latest version of the
blob does.
Tested on a618 and a635.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18322 >
2022-09-13 17:46:15 +00:00
Karol Herbst
89dcc52b78
rusticl/device: print error when libclc fails to load
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18580 >
2022-09-13 17:38:05 +00:00
Alyssa Rosenzweig
cf7069469c
asahi: Handle blending with MRT
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
e1715c6a4f
asahi: Don't crash on <4 channel render targets
...
It doesn't matter what we put in the swizzle for the unused components,
but if we try to stuff out-of-bounds PIPE_SWIZZLE_0/1/NONE values,
we'll crash in GenXML. Fixes failing tests in
dEQP-GLES3.functional.fragment_out.basic.fixed.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
89e0f54422
agx: Don't use nir_find_variable_with_driver_location
...
io_semantics is the preferred alternative.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
0883f0b302
agx: Lower txs to a descriptor crawl
...
There's no native txs instruction... but we can emulate one :-) This is
heavy on shader ALU, but in the production driver, it'll all be hoisted
up to the preamble shader and so it shouldn't matter much. This
keeps the driver itself simple and low overhead, with a completely
obvious generalization to bindless.
Passes dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
bc4f418cb4
agx: Implement load_global(_constant)
...
Found in compute shaders, maps to a subset of device_load, and will be
used for some lowerings soon.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
965cc62bdd
agx: Implement txd
...
Handles all cases except for cube maps, which don't seem to work
properly, so those are lowered.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
7a4e0a4d35
agx: Implement texture offsets and comparators
...
Texture offsets and shadow comparison values get grouped into a vector
passed by register. Comparison values are provided as-is (fp32). Texture
offsets are packed into nibbles, but we can do this on the CPU, as
nonconstant offsets are forbidden in GLSL at least. They're also
forbidden in Vulkan/SPIR-V without ImageGatherExtended/
shaderImageGatherExtended. I'm happy kicking the NIR lowering can down
the line, this commit is complicated enough already.
Passes dEQP-GLES3.functional.shaders.texture_functions.texture.* and
dEQP-GLES3.functional.shaders.texture_functions.textureoffset.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:29 +00:00
Alyssa Rosenzweig
4f85a7be8c
agx: Make p_combine take a dynamic src count
...
For larger vectors.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:28 +00:00
Alyssa Rosenzweig
ef31dceee8
agx,asahi: Implement nir_intrinsic_load_texture_base_agx
...
Save off what we pass to BIND_TEXTURE.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:28 +00:00
Alyssa Rosenzweig
7371803f14
nir: Add nir_intrinsic_texture_base_agx sysval
...
For non-bindless textures, get the base address of the texture
descriptor array, so we can crawl descriptors in the shader. For
bindless, this isn't needed (since the bindless handle will be the
address itself).
jekstrand suggested the idea of the descriptor crawl. It worked out
pretty well, all considered.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18525 >
2022-09-13 16:04:28 +00:00
Alyssa Rosenzweig
ef75dbfddd
panfrost: Honour cso->req_local_mem
...
Fixes api.min_max_local_mem_size.
nir->info.shared_size can't be trusted in OpenCL.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18559 >
2022-09-13 15:36:08 +00:00
Alyssa Rosenzweig
b4dd1b8916
panfrost: Respect buffer offset for OpenCL
...
This is so dumb. Panfrost port of d98b82a103 ("iris/cs: take buffer offsets
into account for CL")
Fixes buffer.sub_buffers_read_write
Fixes: 80b90a0f2b ("panfrost: Implement panfrost_set_global_binding")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Suggested-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18560 >
2022-09-13 15:16:44 +00:00
Sarah Walker
4be56e5e3f
pvr: Update FWIF 3d and compute register structures
...
This matches changes made in FW 1.17.OS@6285007.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18440 >
2022-09-13 13:59:30 +00:00
Karmjit Mahil
24e24e9a28
pvr: Emit cs words for load op on vkCmdBeginRenderPass().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18569 >
2022-09-13 12:49:52 +00:00
Sarah Walker
ad56b9644d
pvr: Remove STRIP_RENDERING members from FWIF
...
This matches changes made in FW 1.17.OS@6256262.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18490 >
2022-09-13 12:41:39 +00:00
Rajnesh Kanwal
222f3c8a6d
pvr: Implement vkCmdDrawIndexedIndirect API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18486 >
2022-09-13 12:33:13 +00:00
Rajnesh Kanwal
cdf986a3e6
pvr: Implement vkCmdDrawIndirect API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18486 >
2022-09-13 12:33:13 +00:00
Eric Engestrom
e14c418862
docs: move rusticl readme into docs/
...
And convert it from Markdown to rST.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18568 >
2022-09-13 12:24:35 +00:00
Rajnesh Kanwal
0265a23172
pvr: Implement vkGetPhysicalDeviceImageFormatProperties2 API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18487 >
2022-09-13 11:47:37 +00:00
Georg Lehmann
1e7a930e10
radv: Enable VK_EXT_load_store_op_none.
...
VK_ATTACHMENT_STORE_OP_NONE_EXT is already supported through
VK_KHR_dynamic_rendering.
It doesn't seem like we need to do anything special for
VK_ATTACHMENT_LOAD_OP_NONE_EXT.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7246
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18545 >
2022-09-13 09:56:11 +00:00
David Heidelberg
cf0e065dcc
ci: uprev piglit 2022-09-08
...
Main change is new traces YAML format!
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
45eda06953
ci: introduce update_traces_checksum.py
...
Invoking this script takes checksums from all failed jobs and update
them in $driver-traces.yml files.
```
.gitlab-ci/bin/update_traces_checksum.py --rev $(git rev-parse HEAD)
```
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
de08baade7
ci: split ci_run_n_monitor into script and shared parts
...
These parts will be shared with the update checksum script.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
c9a666c1a4
ci: export whole results/ directory for all traces jobs
...
We use `results/results.json.bz2` in `update_traces_checksum.py`.
Just few extra KiB.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
f2649b93e2
ci: performance traces: make use of no-perf label
...
Traces with label `no-perf` will be skipped in performance testing.
This commit adds the yq tool, which preprocesses the traces.yml file
before sending it to the piglit.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
2b8a14e076
ci: check traces.yml files with yamllint
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
3242972cac
ci/crocus: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
79aa9c62db
ci/i915: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
efc8eeaf7e
ci/intel: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
23070376ac
ci/radeonsi: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
1777510390
ci/panfrost: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
033050385d
ci/broadcom: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
99114f12e0
ci/lavapipe: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
f111b238b7
ci/llvmpipe: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
1928ff9da4
ci/virgl: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
David Heidelberg
5c388fbdeb
ci/freedreno: convert traces to new YAML format
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18329 >
2022-09-13 09:16:19 +00:00
Karmjit Mahil
460b19d393
pvr: Handle VK_CULL_MODE_FRONT_AND_BACK.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18550 >
2022-09-13 09:00:17 +00:00
Samuel Pitoiset
075d8aeb67
radv: advertise extendedDynamicState2PatchControlPoints
...
For less stuttering with Zink, also required by Zink for full GPL.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6584
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
eef1511437
radv: implement dynamic patch control points
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
76960e2d93
radv: move emitting GE_CNTL for non-NGG pipelines from the cmdbuf
...
GE_CNTL is the equivalent of IA_MULTI_VGT_PARAM on GFX9 and older.
Calling this function for every draw shouldn't really hurt in practice
because only non-NGG pipelines need this.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
0bf822144f
radv: move emitting PRIMGROUP_SIZE for <= GFX9 from the cmdbuf
...
The number of tessellation patches that is computed from the number
of patch control points might change dynamically too.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
556b297977
radv: pass the number of patch control points to si_get_ia_multi_vgt_param()
...
To prepare for dynamic patch control points.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
5bfac03c8a
radv: add ABI lowering support for dynamic patch control points
...
The number of patch control points (TCS) and the number of patches
(TCS/TES) is read from user SGPRs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
8253ec3855
radv: add shader arguments for dynamic patch control points
...
This introduces two new user SGPRS:
- tcs_offchip_layout: input patch size and number of patches in TCS
- tes_num_patches: number of patches in TES
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
9a6aa3e23a
aco: prevent a division by zero when patch control points is dynamic
...
tess_input_vertices is zero if the state is dynamic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
21d9390b0e
radv: set workgroup_size to 256 when patch control points is dynamic
...
It's the maximum possible value. This is to ensure that compilers
don't optimize away barriers, like in ACO when workgroup_size is less
than or equal to wave_size, s_barrier is considered a no-op.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
9373dbdfcc
radv: skip computing some tess info when patch control points is dynamic
...
We don't know the value.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
0cea8276bc
radv: add radv_pipeline_key::dynamic_patch_control_points
...
This will be used to compile different tessellation shaders when
patch control points is dynamic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
54bd5851ba
radv: emit the LDS size for TCS directly from the pipeline on GFX9+
...
To be consistent with the LDS shader config for LS, and this will
be emitted from the cmdbuf for dynamic patch control points.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Samuel Pitoiset
9a67edaa56
radv: reword a comment about dynamic states when rasterization is disabled
...
Make it more generic instead of listing all states.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18344 >
2022-09-13 08:24:14 +00:00
Erik Faye-Lund
3454ff21e5
docs/zink: document rgtc requirement
...
OpenGL 3.0 requires RGTC support, and until we have emulation in place,
we should document that requirement.
Fixes: d50e8554b9 ("zink: add feature-documentation")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18549 >
2022-09-13 08:15:40 +00:00
Samuel Pitoiset
7c34b31db2
radv: upload the PS epilog in the existing pipeline BO
...
This reduces the number of BOs needed.
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/18363 >
2022-09-13 07:03:14 +00:00
Samuel Pitoiset
36d9fc5b5f
radv: store the binary to radv_shader_part
...
This is currently always freed after the upload but this will allow
to upload the PS epilog 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/18363 >
2022-09-13 07:03:14 +00:00
Samuel Pitoiset
702bcffc89
radv: split upload_shader_part() in two parts
...
One that creates the radv_shader_part object and one that uploads it.
This will be used to upload the PS epilogs as part of the existing
pipeline BO.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18363 >
2022-09-13 07:03:14 +00:00
Samuel Pitoiset
c59d15c80c
radv: store the VS prologs/PS epilogs VA at upload time
...
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/18363 >
2022-09-13 07:03:14 +00:00
Samuel Pitoiset
0ee5217fdd
radv/ci: re-enable dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask
...
Since RADV switched to 100% dynamic rendering, image transitions for
attachments not used in a subpass are correctly performed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18542 >
2022-09-13 06:39:50 +00:00
Samuel Pitoiset
f8d887527a
radv: add a pointer to radv_shader_binary in radv_shader
...
With GPL, we will have to keep the shader binary in the library for
uploading it later, so it's easier to have a pointer in radv_shader.
The shader binary will be freed when the library is destroyed.
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/18515 >
2022-09-13 06:19:18 +00:00
Caio Oliveira
e612f32e1a
intel/compiler: Use brw_ud* helpers in thread payload code
...
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
f019687d23
intel/compiler: Add a few more brw_ud* helpers
...
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
3272868218
intel/compiler: Make thread_payload struct abstract
...
Each shader stage has its own struct and will instantiate it, so the
base class doesn't need to be instantiated anymore.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
0b6e613de8
intel/compiler: Create and use struct for CS thread payload
...
Move subgroup_id, that's only used by CS for verx10 < 125, as part of
the payload too -- even though is not, strictly speaking.
Note the thread execution of Task/Mesh is similar enough, so we make
their common struct inherit from cs_thread_payload.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
d8461e975a
intel/compiler: Export brw_get_subgroup_id_param_index()
...
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
9de790760e
intel/compiler: Create and use struct for Bindless thread payload
...
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
a70378f292
intel/compiler: Store start of ICP handles in GS thread payload struct
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
5b6987daee
intel/compiler: Create and use struct for GS thread payload
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
7664c85b1d
intel/compiler: Create and use struct for TASK and MESH thread payloads
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
0ca65b3c4c
intel/compiler: Create and use struct for VS thread payload
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
19c6e1b447
intel/compiler: Create and use struct for TES thread payload
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
eb837dd23b
intel/compiler: Store start of ICP handles in TCS thread payload struct
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
2622fc3af1
intel/compiler: Store Primitive ID in TCS thread payload struct
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
9a9b1119b4
intel/compiler: Store Patch URB output in TCS thread payload struct
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
e21359ed0e
intel/compiler: Create struct for TCS thread payload
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
73920b7e2f
intel/compiler: Use FS thread payload only for FS
...
Move the setup into the FS thread payload constructor. Consolidate
payload setup for that in brw_fs_thread_payload.cpp file.
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Caio Oliveira
dab66d20a7
intel/compiler: Make a type for Thread Payload and FS variant
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18176 >
2022-09-13 01:44:24 +00:00
Jordan Justen
582bad0256
intel/devinfo: Add MTL platforms enums and intel_device_info_is_mtl()
...
Ref: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/drm/i915_pciids.h?h=v6.0-rc4#n736
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18482 >
2022-09-13 00:30:22 +00:00
Alyssa Rosenzweig
6177c43bb9
nir/lower_blend: Avoid emitting unnecessary fsats
...
The option struct passed to nir_lower_blend doesn't have a "blending
disabled" flag. Unless blending is skipped due to logic ops or
framebuffer formats, nir_lower_blend always blends, even if the blend
mode is "replace" (corresponding to the API level blend disable).
That's mostly okay, since NIR can optimize out the code, at the expense
of a little compile time. However, there's a catch: nir_lower_blend
emits fsat at the start of the shader (for UNORM framebuffers, or
fsat_signed for SNORM). We can expect hardware to saturate the input to
store_output itself, so these operations are redundant, but it's tricky
to optimize these instructions out otherwise. Don't even try: detect the
replace blend mode and don't call nir_blend in that case. Colour masking
is still applied as usual.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18535 >
2022-09-12 23:44:54 +00:00
Timur Kristóf
5f68262de3
radv: Enable subgroup feature bits for mesh and task shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18520 >
2022-09-12 23:23:27 +00:00
Timur Kristóf
3335f9b19f
radv: Replace NV_mesh_shader macros with EXT.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18521 >
2022-09-12 22:59:56 +00:00
Yiwei Zhang
fb756d7949
venus: avoid fixing pipeline if not derivative
...
Fixes: 33e791bc02 ("venus/pipeline: Ignore basePipelineHandle")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18555 >
2022-09-12 22:10:45 +00:00
Yiwei Zhang
84a0056033
venus: zero out the pipeline handles
...
We only have to zero out the handles on failure, which is missed. For
pipelines, we can just do it at the beginning for simplicity.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18555 >
2022-09-12 22:10:45 +00:00
Yiwei Zhang
d8809b5edc
venus: vn_ResetDescriptorPool to reset mutable type states
...
Fixes: de5879447b ("Track bitset when create descriptor pool")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18555 >
2022-09-12 22:10:45 +00:00
Yiwei Zhang
a49f3069f4
venus: fix an oob in descriptor pool state restoration
...
Fixes: de5879447b ("Track bitset when create descriptor pool")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18555 >
2022-09-12 22:10:45 +00:00
Adam Jackson
4d8420dcb4
Revert "glx: Use XSaveContext, delete glxhash.c"
...
This reverts commit 057c58b39b .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7242
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18556 >
2022-09-12 21:18:15 +00:00
Pavel Ondračka
e90cafa435
r300: add special path for merging movs with the same source
...
This is quite rare but still helps few tesseract shaders and
is quite straightforward.
shader-db with RV530:
total instructions in shared programs: 135671 -> 135646 (-0.02%)
instructions in affected programs: 322 -> 297 (-7.76%)
helped: 13
HURT: 0
Reviewed-by: Filip Gawin <filip@gawin.net >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18288 >
2022-09-12 20:29:33 +00:00
Pavel Ondračka
9156a7aab5
r300: merge together MOV and MAD instructions
...
Assuming they write different channels of the same destination
and they share at least one source or one of the sources is
RC_FILE_NONE.
shader-db with RV530:
total instructions in shared programs: 136033 -> 135673 (-0.26%)
instructions in affected programs: 22987 -> 22627 (-1.57%)
total temps in shared programs: 18977 -> 18965 (-0.06%)
temps in affected programs: 74 -> 62 (-16.22%)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6188
Reviewed-by: Filip Gawin <filip@gawin.net >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18288 >
2022-09-12 20:29:33 +00:00
Pavel Ondračka
708b2b611a
r300: run copy propagate once more after merging channels
...
The previous pass can actually create some new movs that are eligible
for copy propagation. There is some minor inctruction and temps
improvement but the biggest win is a gained gnome-shell shader.
Nine more still fail with too many instructions though.
GAINED: shaders/gnome-shell-42/6-1.shader_test FS
shader-db with RV530:
total instructions in shared programs: 136382 -> 135538 (-0.62%)
instructions in affected programs: 31021 -> 30177 (-2.72%)
total temps in shared programs: 18939 -> 18937 (-0.01%)
temps in affected programs: 563 -> 561 (-0.36%)
Reviewed-by: Filip Gawin <filip@gawin.net >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18288 >
2022-09-12 20:29:33 +00:00
Tapani Pälli
40c2e0a317
intel/compiler: fix assert from ver to verx10
...
Fixes: 027b8b4249 ("intel/compiler: Add helper for barrier message payload setup for gfx >= 125")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18546 >
2022-09-12 19:03:17 +00:00
Jordan Justen
af8ab4a889
intel/compiler: Use builder to allocate fs regs for gs control data bits
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18537 >
2022-09-12 10:00:28 -07:00
Caio Oliveira
00b8f9a3a6
intel/compiler: Use builder to allocate fs regs for TCS store output
...
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18537 >
2022-09-12 10:00:18 -07:00
James Zhu
fe8e18c782
amd/common: some ASICs with gfx9 use compute rings for render
...
Some ASICs with gfx9 use compute rings for render.
Fixes: 983223de5d - ac/gpu_info: use the kernel-reported
GFX IP version to set gfx_level
-v2: update merge requests num
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18553 >
2022-09-12 16:24:37 +00:00
Illia Polishchuk
1d15dc04b5
mesa: skip extra state updates for clear calls
...
The glClear call updates draw state in the same way as other draw calls
with _mesa_update_state func
If currently used shader uses textures, _mesa_update_state will try to
update the shader texture state
But if the texture not set yet, before glClear call, it will detect
incompleted texture and will create dummy texture with default values
(see the update_single_program_texture func).
And this will be complete waste of time for glClear
Closes : #7128
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18459 >
2022-09-12 15:22:51 +00:00
Alyssa Rosenzweig
0971868b8b
pan/decode: Fix job cycle detection
...
We need to look at the job header pointers themselves, not the memory objects
that contain them, because there can be (and usually is) multiple jobs per BO.
Fixes: 3da8c9193c ("panfrost: Handle Job VA cycles when decoding a dump file")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18539 >
2022-09-12 15:12:15 +00:00
Iago Toral Quiroga
e2010e000b
v3dv: expose VK_EXT_primitive_topology_list_restart
...
The hw supports restarts of list primmitives and we pass
all the relevant CTS tests.
We don't advertise patch list restarts because we don't support
tessellation shaders yet.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18544 >
2022-09-12 12:45:10 +00:00
Oleksii Bozhenko
f350b78b73
anv: Allow aliasing with modifiers for WSI images
...
Ignore ALIAS_BIT when format comes from WSI because
we have the ability to bind the MEMORY_BINDING_PRIVATE
from the other WSI image.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7019
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18347 >
2022-09-12 10:44:38 +00:00
Oleksii Bozhenko
949edb7ffa
vulkan/wsi: Pass wsi_image_create_info into anv_GetPhysicalDeviceImageFormatProperties2
...
Signed-off-by: Oleksii Bozhenko <oleksii.bozhenko@globallogic.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18347 >
2022-09-12 10:44:38 +00:00
Karmjit Mahil
54876512a1
pvr: Add mid fragment pipeline barrier if needed.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:20 +01:00
Karmjit Mahil
4aedd2daa5
pvr: Implement clear ppp state emission from template.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:20 +01:00
Karmjit Mahil
7f39dbffd5
Revert "pvr: Make pvr_cmd_pack() macro clearly internal"
...
This reverts commit 27c57b8650 .
The driver doesn't always pack or emit words directly. In some
cases it might be desirable to store the struct equivalent for the
control word and emit/pack at a later stage. Thus reverting to
expose pvr_cmd_pack().
One such use case is in the following commit.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:20 +01:00
Karmjit Mahil
d8f41f8d55
pvr: Add graphics pipeline barrier handling.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:19 +01:00
Karmjit Mahil
e91a823d15
pvr: Add static clear VDM state in pvr_device.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:19 +01:00
Karmjit Mahil
bd02e21885
pvr: Add static clear control stream templates in pvr_device.
...
The templates will be used to flush fragment work at the
pipeline barrier. They will also be used in
vkCmdClearAttachments().
"pds_state" is a pointer to an array. This is done to prevent a
memcpy() patching the PDS state. Whenever the template requires
PDS state we will always be patching it so let's just pass a
pointer instead. Using a pointer here also allows to check (with a
NULL check) whether the pds state in the template was configured
prior to emitting.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:19 +01:00
Karmjit Mahil
4eb0991a6f
pvr: Add clear program in pvr_device.
...
It gets used to flush fragment work for a graphics pipeline
barrier.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18124 >
2022-09-12 10:32:19 +01:00
Roman Stratiienko
62ef714ce4
Android: Use libgbm_mesa name for SDK30+
...
libgbm.so name has been occupied in AOSP by minigbm starting from
Android-11 (SDKv30).
In AOSP's mesa3d fork, libgbm was renamed to libgbm_mesa.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18533 >
2022-09-12 07:37:27 +00:00
Samuel Pitoiset
28af93ace7
radv: fix pipelineStageCreationFeedbackCount when it's 0
...
From the Vulkan spec 1.3.227:
"If pipelineStageCreationFeedbackCount is not 0,
pPipelineStageCreationFeedbacks must be a valid pointer to an
array of pipelineStageCreationFeedbackCount
VkPipelineCreationFeedback structures."
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18513 >
2022-09-12 06:57:59 +00:00
Karol Herbst
767c401dea
rusticl: add README file
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
db34a7ca30
ci: rusticl with llvmpipe
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
10c379bdd4
rusticl/program: some more API validation
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
7a5817bf8c
rusticl: call glsl_type_singleton_init_or_ref
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
6d8d30660a
rusticl: proper PIPE_MAP flags for internal maps
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
9a56920398
rusticl/kernel: use real references for arguments
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
88613b9e4d
rusticl/icd: add some way of debugging CL function calls
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
8f957fe355
rusticl/icd: implement clGetExtensionFunctionAddressForPlatform
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
cad2b6c4bc
rusticl/device: report mesas version for CL_DRIVER_VERSION
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
a438533181
rusticl/kernel: fix local buffers
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
98188391a2
rusticl/program: parse quoted paths in args
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
82b477751e
rusticl/device: allow overwriting the device_type via env
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
90f0f91ce2
rusticl: disable fp64 support
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
f2ce79f8af
rusticl/memory: kernel read_write images prep work
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
734352ddfb
rusticl/program: some boilerplate code for SPIR-V support
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
1b00d4f22e
rusticl/kernel: implement CL_KERNEL_ATTRIBUTES
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
87bacf58ec
rusticl: the CTS is a piece of shit
...
seriously, this fixes some image test, becaues ... rounding modes on CPU
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
149602374c
rusticl/kernel: optimize local size
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
e867ae6bcc
rusticl: fix compiler features_macro
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
79b3c820cc
rusticl/kernel: cache the nir as well
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
ea7d5c1d4b
rusticl/kernel: prepare for nir caching
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
0da5e8704b
rusticl: kernel caching
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
7f80350d55
rusticl: port to Rust 2018
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
af4c897e32
rusticl/mem: only write pitch when required
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
de292ee3b8
rusticl/mem: fix IMAGE1D_BUFFER
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
798fb6b9c7
rusticl/kernel: implement image_format and image_order
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
17d09143f0
rusticl/mesa: make resource_from_user_memory an optinal feature
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
ecd71066a2
rusticl/mem: add user_ptr fallback shadow buffer
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
0f302cae63
rusticl/device: fix compiler features_macro
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
9caf753ab7
rusticl/queue: implement missing CL 3.0 bits
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
469329aa39
rusticl/device: fix api consistency_device_and_host_timer test
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
40215c8084
rusticl/memory: don't map more than necessary for copy operations
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
98cd1c4253
rusticl: get rid of a few clones
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Jason Ekstrand
334e4ca9ef
rusticl: Call nir_scale_fdiv
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
d747323a20
rusticl/kernel: run some more opt passes
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
2522fbf32d
rusticl/kernel: set CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
211c29003d
rusticl/device: implement cl_khr_3d_image_writes
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
6fb9d490cb
rusticl/device: add retain/release callbacks for luxmark v4
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
5570bdc889
rusticl/kernel: lower memcpy
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
25b8a34b48
rusticl/kernel: inline samplers
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
0423f0701e
rusticl/kernel: support for images
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
c0af2f5d76
rusticl/mem: implement clCreateSamplerWithProperties
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
ea0914f69a
rusticl/mesa/context: un Arc the PipeContext
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
29026053db
rusticl/mem: implement copies between buffers and images
...
v2: Use the pitches from the pipe_transfer_map (Jason)
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
431a23b212
rusticl/mem: implement clCreateImage2D and 3D
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
5160bff15d
rusticl/mem: implement copy image
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:13 +00:00
Karol Herbst
490938e7dd
rusticl/mem: implement fill image
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
ab24109eb5
rusticl/mem: implement maping images
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
0167cff815
rusticl/memory: rework mapping tracking
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
71a9af4910
rusticl/mem: support read/write/copy ops for images
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
d1e5f86e95
rusticl/mesa: support mapping textures
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
2639cff15c
rusticl/spirv: add print method
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
ea1250d0bf
rusticl: add support for printf
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
f5e6b3aae3
rusticl/event: timeout wait on condvar to abort on reaped worker threads
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
039c24a2ca
rusticl/kernel: add stub for clGetKernelSubGroupInfo
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
e646a30925
rusticl/program: add stubs for program ctors and dtors
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
ebce0770e3
rusticl/pipe: add clGetPipeInfo stub end return CL_INVALID_MEM_OBJECT
...
spec requires this for devices not supporting pipes
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
8e13e90b71
rusticl/mem implement the memory *WithProperties API
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
4780966bf9
rusticl/device: expose cles_khr_int64 for compatible embedded devices
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
a23af19f86
rusticl/kernel: sweep nir to reduce peak memory usage
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
7c7cbad1c3
rusticl/kernel: report SIMD width as work group sizes
...
for the prefered multiple it should be fine. For CL_KERNEL_WORK_GROUP_SIZE
we have to query the driver once we compile to the hardware earlier.
But using the SIMD width is better than reporting 1.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
80ce001374
rusticl/icd: add more func pointers
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
bed203bbef
rusticl: add svm func stubs
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
fb9882cb35
rusticl/program: add il stubs
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
e548b6f3c1
rusticl: claim support for generic pointers
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
113632ce3c
rusticl/device: advertize atomic caps
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
5c18f39b09
rusticl/device: set required double fp config values
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
a40d4c0346
rusticl/kernel: implement clCloneKernel
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
e1fefd5372
rusticl/context: implement clSetContextDestructorCallback
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
069c122b48
rusticl: advertize CL 1.1 and CL 1.2 extensions
...
That leads us stright to CL 3.0
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
fc30fe2c11
rusticl/kernel: add missing preprocessor definitions
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
2ac657d2d0
rusticl/kernel: add support for offsets
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
6f73397c4e
rusticl/kernel: run driver requested lowering passes
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
a502f61f28
rusticl/mem: finish clEnqueueMigrateMemObjects
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
f1bbf85678
rusticl/kernel: implement CL_KERNEL_COMPILE_WORK_GROUP_SIZE
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
43f3a4fc97
rusticl/event: add fake impl of clGetEventProfilingInfo
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
e028baa177
rusticl/program: implement clCreateProgramWithBinary
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
84d16045d0
rusticl/api: add param to query which contains application provided values
...
this is required for e.g. CL_PROGRAM_BINARIES
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
9dd56ff2e7
rusticl: implement clUnloadPlatformCompiler
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
6bc7ec1661
rusticl/program: support compiling libraries
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
b380e4f8b0
rusticl/mem: add clEnqueueMigrateMemObjects stub
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
2649508148
rusticl/event: implement marker and barrier
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
a7bf26c087
rusticl/mem: implement clFillBuffer
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
af115c915b
rusticl/mem: implement clCopyBuffer
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
883b218eff
rusticl/queue: fix clReleaseCommandQueue
...
we have to flush the queue on every call
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
a4c0f59b5f
rusticl/program: undefine __IMAGE_SUPPORT__ if images are unsupported
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
c5a535a5ef
rusticl/kernel: implement clEnqueueTask
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
cbbd1617cc
rusticl/kernel: implement clCreateKernelsInProgram
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
47a80d7ff4
rusticl/event: proper eventing support
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
50e981a050
rusticl/mesa: add fencing support
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
feb0689839
rusticl: hack for CL 3.0
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
ebfffa1dae
rusticl/event: wrong but non crashing impl of clWaitForEvents
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
3baf270316
rusticl/mem: use helper context for COPY_HOST_PTR buffers
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
fe8789e674
rusticl/kernel: clGetKernelWorkGroupInfo allows a NULL device
...
In which case we have to get the only device associated with the kernel.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
ea02dfce88
rusticl/kernel: more clGetKernelWorkGroupInfo props
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
5795ee0e08
rusticl: translate spirv to nir and first steps to kernel arg handling
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
46ee5988cd
rusticl: nir bindings
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
e8de580998
rusticl/kernel: basic implementation
...
still not able to run kernels, but most of the boilerplate code is there now
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
129b821638
rusticl/mem: support ops on subbuffers
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
c430459310
rusticl: implement clEnqueueReadBuffer
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
4ec5f7b822
rusticl: implement clFinish and clFlush
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
10413d1db5
rusticl/util: add static_assert macro
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
1a999e6379
rusticl: finish implementing clBuildProgram
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
Karol Herbst
20c90fed5a
rusticl: added
...
Initial code drop for Rusticl :)
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439 >
2022-09-12 05:58:12 +00:00
David Heidelberg
d431a01d9a
ci/lava: collapse printing env
...
Acked-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18529 >
2022-09-11 23:21:48 +00:00
David Heidelberg
9ba46289fa
ci/test: collapse printing env
...
Acked-by: Daniel Stone <daniels@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18529 >
2022-09-11 23:21:48 +00:00
David Heidelberg
8c956a859f
ci/traces: do not keep a cache, which will be wiped a few steps later
...
The desired state is to revert this patch at that moment,
when we'll be able to verify traces by checksums,
but for now, let's disable caching.
10s for restoring cache: https://gitlab.freedesktop.org/mesa/mesa/-/jobs/28137099#L17
?s for removing cache: https://gitlab.freedesktop.org/mesa/mesa/-/jobs/28137099#L813
1s for saving cache: https://gitlab.freedesktop.org/mesa/mesa/-/jobs/28137099#L1047
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18531 >
2022-09-11 22:49:26 +00:00
Thomas H.P. Andersen
6d19b34571
spirv: avoid allocating memory twice
...
ptr_type was allocated twice. This drops the second allocation.
It has been like this since the introduction of the code in
b778e7bd6c
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18450 >
2022-09-11 22:13:09 +00:00
Emma Anholt
c93b72d045
ci: Add support for Jetson TK1.
...
This is a farm of 5 (6, but one fails) TK1 boards for nouveau testing,
hosted and maintained by me. Currently it runs GLES dEQP.
I've been using ./.gitlab-ci/bin/ci_run_n_monitor.py --stress --target
gk20a to test it and am pretty confident of the skips/flakes list. Last
night it ran 318 jobs without fail, and prior to that there were two sets
of runs in the 100-200 range where only the one failing runner failed any
jobs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18497 >
2022-09-11 04:23:38 +00:00
Mike Blumenkrantz
dcc5261895
zink: implement async nir creation
...
this just punts to the compile threads directly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Mike Blumenkrantz
b8c82b50f7
mesa/st: add MESA_COMPUTE_PBO env var
...
this adds a variable which, when set, overrides the return of the
pipe_screen::is_compute_copy_faster hook to force using compute shader
downloads even on drivers that don't export the cap/hook, enabling easier
testing
it also adds MESA_COMPUTE_PBO=spec to force always using specialized pbo variants
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Mike Blumenkrantz
5dab7673e1
mesa/st: add specialized pbo download shaders
...
the goal of the pbo ubershaders was to have a very small number of
shaders that could handle lots of different readback operations
this is great for cases where an app is doing lots of different types
of readback, but it's not as optimal for apps which do only 1-2 types
of readback over and over
to handle this, track the usage for every readback which reaches compute pbo
and after the same readback is used N times, inline the constant data and
create a specialized version of the shader which will be more optimal
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Mike Blumenkrantz
c79fc40de5
st_pbo/compute: use new shader interface to perform async shader creation
...
this enables compatible drivers to initiate threaded creation of huge
compute shaders fully in a thread while falling back to software in
order to avoid blocking for several seconds, as slower progress is better
than no progress at all--especially in cases where the huge pbo shader
may only be used a single time
the mechanics are straightforward for thread-enabled drivers:
* check hash table for existing shader data
* if no shader exists, perform creation of nir shader fully in driver thread
and return immediately, enabling software fallback without blocking
* once fence for nir shader is signalled, pass the nir back to the driver
thread again to run common nir passes and execute normal shader creation
* continue to use software fallback until the shader is fully ready
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Mike Blumenkrantz
b36a741aa4
gallium: add pipe_screen::driver_thread_add_job
...
this allows a frontend to punt creation of a nir shader down to the
driver's compilation thread, which is useful in the event that the
shader being created is so big that it will cause immediate blocking
from running common nir passes
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Mike Blumenkrantz
6b8339fa54
mesa/st: move compute pbo shutdown to compute pbo file
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Mike Blumenkrantz
7f9dfcd2bf
st_pbo/compute: use split shader finish funcs
...
no functional changes
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Mike Blumenkrantz
e7f2f050c4
mesa/st: split out builtin shader finish
...
it's useful to be able to run the nir passes separately
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198 >
2022-09-10 19:01:56 +00:00
Gert Wollny
95cea62a9b
virgl: Report CONSTANT_BUFFER_SIZE according to GL_MAX_UNIFORM_BLOCK_SIZE
...
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS may not report a size that
is useful to calculate the supported UBO size. Use the value
GL_MAX_UNIFORM_BLOCK_SIZE instead when the host supports this.
Related: https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/286
Fixes: 5b683ba19a
virgl: Only progagate the uniform numbers if the numbers are actually right
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18512 >
2022-09-10 15:23:57 +00:00
Gert Wollny
d5394296be
r600: set nir option lower_cs_local_index_to_id
...
Fixes: 7662a5e9d3
mesa: Remove PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED/lower_cs_derived.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18518 >
2022-09-10 07:40:37 +00:00
Isaac Bosompem
36d050210e
virgl: Set use_staging in resource_from_handle
...
This flag controls virgl's behavior when buffers
are accessed on the guest through Mesa's GBM interface.
As such, this flag needs to be consistent in both the
resource creation and fd import case. Previously, the
fd import resource's flag value would be inconsistent
with the original resource's value.
This patch fixes this by inferring the value of this flag
based on the resource's size.
Signed-Off By: Isaac Bosompem <mrisaacb@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18477 >
2022-09-10 06:29:00 +00:00
Alyssa Rosenzweig
e6cdffa0fc
docs/envvars: Document Asahi variables
...
There aren't too many.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18508 >
2022-09-09 21:25:55 +00:00
Mike Blumenkrantz
43a8a92430
zink: add a ci skip for anv
...
taking too long
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18523 >
2022-09-09 18:42:56 +00:00
Roman Stratiienko
b8c026a365
lima: Ensure jobs initialized before calling lima_job_fini()
...
To avoid crash during cleanup if lima_context_create fails.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7196
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18407 >
2022-09-09 18:25:17 +00:00
Caio Oliveira
027b8b4249
intel/compiler: Add helper for barrier message payload setup for gfx >= 125
...
CS-like and TCS control barriers converged in gfx >= 125, so use a
common helper for the message payload setup.
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18362 >
2022-09-09 09:35:08 -07:00
Caio Oliveira
55db3aaa3a
intel/compiler: Create fs_visitor::emit_tcs_barrier()
...
Allow us to implement this in brw_fs_visitor.cpp, which then will
let us deduplicate code between the CS-like barrier and the TCS
barrier in a later patch.
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18362 >
2022-09-09 09:35:08 -07:00
Danilo Krummrich
b97590371a
nv50/ir: handle U8/U16 integers converting to U64
...
We can't directly convert from unsigned integers smaller than 64 bit to
unsigned 64 bit integers. Hence, converting from 32 bit to 64 bit is
handled by just merging with 0. To support U8/U16 integers handle them
just the same way.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:30 +02:00
Danilo Krummrich
caba679e56
nv50/ir: handle S8/S16 integers converting to S64
...
We can't convert directly from signed integers smaller 64 bit to signed
64 bit integers. For 32 bit integers this is handled with SHR and MERGE.
In order to also support 8/16 bit singed integers convert them to 32 bit
first.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:27 +02:00
Danilo Krummrich
2aaa315eee
nv50/ir: split and cvt 64bit integers for {i,u}2{i,u}{8,16}
...
We can't convert from a 64 bit integer to any integer smaller than
64 bit directly, hence split the value first and then cvt / mov to the
target type.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:24 +02:00
Danilo Krummrich
8ccba4ea5c
nv50/ir: add intermediate conversion for f2{i,u}{8,16}
...
Directly converting from a float to an 8 bit integer and from a 64 bit
float to an integer smaller than 32 bit is not supported, therefore add
an intermediate conversion to an 32 bit integer.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:22 +02:00
Danilo Krummrich
6a9825bc1b
nv50/ir/nir: always round towards zero for f2i/f2u
...
Conversions to integers must be rounded towards zero, hence, actually
do this for all integers including 8/16 bit sources.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:18 +02:00
Danilo Krummrich
109d56f612
nv50/ir/nir: convert 8/16 bit src to 32 bit for {i,u}2f64
...
Converting signed and unsigned integers from 8/16 bit sources to a 64 bit
floating point destination (i2f64 / u2f64) isn't possible, hence convert
the source to 32 bit first.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:16 +02:00
Danilo Krummrich
78fc5e3773
nv50/ir: add isUnsignedIntType() and isIntType() helpers
...
Add helper functions to check whether a DataType is an unsigned integer
type and whether a DataType is either an unsigned or signed integer
type.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:13 +02:00
Danilo Krummrich
ec60dcd870
nv50/ir/nir: avoid 8/16 bit dest regs for OP_MOV
...
Instructions like
mov u16 %r78s 0x00ff (0)
are dropped, since they're not supported by the HW, hence avoid using
8/16 bit destination registers for OP_MOV and use the full width of the
register instead.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:10 +02:00
Danilo Krummrich
6e2fda15f1
nv50/ir/nir: convert to 32 bit for all OP_SET opcodes
...
The 'set' instruction does distinguish between signed and unsigned, but
always treats values as 32 bit. For singed values < 0 with a bit width
smaller than 32 bit this falsely results in treating it as a positive
value.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:32:05 +02:00
Danilo Krummrich
cd53bcd325
nv50/ir/nir: add conversion ops for bit width < 32
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Danilo Krummrich <dakr@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18109 >
2022-09-09 17:31:57 +02:00
Tomeu Vizoso
79b92af9da
gallium: Add PIPE_CAP_QUERY_TIMESTAMP_BITS
...
For those drivers that don't make full use of the 64 bits in
pipe_query_result.u64.
Applications will make use of it via GL_QUERY_COUNTER_BITS to handle
when the value rolls over.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10770 >
2022-09-09 14:49:12 +02:00
Iago Toral Quiroga
ca330f7f04
v3dv: implement VK_EXT_memory_budget
...
This is mostly based on Turnip's implementation.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18483 >
2022-09-09 11:14:03 +00:00
Iago Toral Quiroga
a1e723cace
broadcom/simulator: add a helper to get the amount of free heap memory
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18483 >
2022-09-09 11:14:03 +00:00
Iago Toral Quiroga
861fff6339
v3dv: limit heap size to 4GB
...
GPU addresses are 32-bit, so we can't address more than 4GB.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18483 >
2022-09-09 11:14:03 +00:00
Iago Toral Quiroga
b5b3a1634f
v3dv: fix variable type
...
The heap size is a 64-bit value.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18483 >
2022-09-09 11:14:03 +00:00
Iago Toral Quiroga
f27d3a08c6
v3dv: expose VK_EXT_attachment_feeback_loop_layout
...
We don't have any special requirements for this, so we can just expose
the extension.
The tests in CTS have an issue where they only check if a format is
supported for sampling but don't check if an image with that format
can be created for sampling. In our case, since we can't sample
1D depth/stencil images, this causes affected tests to crash in the
simulator (they pass on the device though). There is an issue with
a fix here:
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3923
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18489 >
2022-09-09 12:31:02 +02:00
Iago Toral Quiroga
bcc37775f1
v3dv: implement VK_EXT_depth_clip_control
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18387 >
2022-09-09 10:03:58 +00:00
Karmjit Mahil
c6a9897b76
pvr: Add depth_bias_array handling on dbenable.
...
On dbenable depth bias is enabled so we need to write the depth
bias data into the depth_bias_array (which gets uploaded to the
device) and also setup the depth bias index (used in the control
stream).
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18438 >
2022-09-09 09:46:27 +00:00
Jason Ekstrand
441598eca6
radv: Switch to dynamic rendering only
...
Also, update list of expected failures.
dEQP-VK.image.sample_texture.*_bit_compressed_format_two_samplers_*
now reliably pass on Polaris10 (GFX8) and Pitcairn (GFX6).
Stoney has new failures but given there is already a lot of
depth/stencil resolve failures, we shouldn't worry about them.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15587 >
2022-09-09 09:24:59 +00:00
Jason Ekstrand
08e1af52ee
radv: Leave image layouts alone when doing HW MSAA resolves
...
If the current layout supports DCC, we initialize it. There's no reason
why we can't leave it in that layout and need to stomp it to
COLOR_ATTACHMENT_OPTIMAL. If the layout supports DCC, it's effectively
identical to COLOR_ATTACHMENT_OPTIMAL anyway.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15587 >
2022-09-09 09:24:59 +00:00
Jason Ekstrand
0461d59098
radv: Only copy the render area from VRS to HTILE
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15587 >
2022-09-09 09:24:59 +00:00
Jason Ekstrand
c7d0d328d5
radv: Set the window scissor to the render area, not framebuffer
...
With dynamic rendering, the concept of framebuffer dimensions goes away
so this won't make sense. Even with render passes, the render area is
guaranteed to be inside the framebuffer so we may as well clip to the
potentially smaller render area. This commit also moves window scissor
setup to CmdBeginRenderPass2() time. This should be fine, even for meta
ops, as the only meta ops which happen inside a render pass need the
same render area as the render pass itself.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15587 >
2022-09-09 09:24:59 +00:00
Martin Roukala (né Peres)
bbb3749077
radv/ci: document an unstable test
...
The test seem to fail when run in conjunction with other tests. This
got revealed after I introduced parrallelism in the VKCTS execution on
VanGogh.
This was caught by pre-merge CI, but idiot me thought this was a
flake... and did not try re-running the job to verify...</BrownBag>
Reference: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7220
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18480 >
2022-09-09 08:38:10 +00:00
Mark Collins
21aec585c1
tu: Retain allocated CSes in tu_autotune_on_submit
...
It was determined that a significant part of queue submission
overhead was from allocation/freeing of CSes constantly inside
`tu_autotune_on_submit`. This has been reduced by retaining
instances of `tu_submission_data` with their corresponding
CSes, this results in entirely eliminating that overhead as
resetting a CS is a very cheap operation compared to allocation
or even freeing it wholly.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18461 >
2022-09-09 07:57:54 +00:00
Gert Wollny
762d377292
mesa/glsl: Add support for NV_shader_noperspective_interpolation
...
With EXT_gpu_shader4 the support is already in place, we just
have to allow it in glsl and expose the extension name.
v2: Check whether the extension is enabled in the shader (Adam Jackson)
v3: Don't check GLES version in lexer (mareko)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18460 >
2022-09-09 07:22:20 +00:00
Samuel Pitoiset
c26e0e5070
radv: fix hw remapping of MRT holes with color attachments without export
...
If a color attachment is used in a render pass but not exported by the
FS, cb_shader_mask would be non-zero for this MRT. Though, to make sure
the hw remapping of SPI_SHADER_COL_FORMAT<->CB_SHADER_MASK works as
expected, we should also clear the unused color attachment in
CB_SHADER_MASK. Otherwise, the hw will remap to the wrong MRT.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7221
Fixes: 8fcb4aa0eb ("radv: compact MRTs to save PS export memory space")
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/18491 >
2022-09-09 07:03:00 +00:00
Samuel Pitoiset
f8209ddc5b
radv: import PS epilog from libraries if present
...
This enables using PS epilogs with GPL.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18255 >
2022-09-09 06:26:27 +00:00
Samuel Pitoiset
dcff89994c
radv: add support for emitting and prefetching PS epilogs
...
Long jumps seem to be slow and prefetching might help.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18255 >
2022-09-09 06:26:27 +00:00
Samuel Pitoiset
4ba84b4d64
radv: create a PS epilog from a library without the main FS
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18255 >
2022-09-09 06:26:27 +00:00
Samuel Pitoiset
3f5d31ae69
radv: keep track of the code size for VS prologs and PS epilogs
...
This will be used to prefetch PS epilogs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18255 >
2022-09-09 06:26:27 +00:00
Samuel Pitoiset
8c4e33cdab
radv: do not try to remove color exports for FS that need an epilog
...
The color format would be zero and all exports would be removed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18255 >
2022-09-09 06:26:27 +00:00
Samuel Pitoiset
b5e25e3a30
radv: add radv_remove_color_exports() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18255 >
2022-09-09 06:26:27 +00:00
Samuel Pitoiset
baf3924631
radv: do not lower color exports for FS that need an epilog
...
When building the main FS with GPL we don't know the color export
formats.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18255 >
2022-09-09 06:26:27 +00:00
Samuel Pitoiset
a14354cf21
radv: fix reporting RT shaders in RGP
...
RGP expects a compute bind point. This allows it to show ISA of RT
shaders and also enables instruction timing.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7213
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/18496 >
2022-09-09 05:51:23 +00:00
Samuel Pitoiset
2e04aeb1e5
radv: capture RT pipelines from the SQTT layer
...
They were just not recorded.
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/18496 >
2022-09-09 05:51:23 +00:00
Samuel Pitoiset
8866e6582d
radv: emit SQTT markers for RT related commands
...
This reports RT commands like vkCmdTraceRaysKHR and
vkCmdBuildAccelerationStructuresKHR in RGP.
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/18496 >
2022-09-09 05:51:23 +00:00
Adam Jackson
057c58b39b
glx: Use XSaveContext, delete glxhash.c
...
libX11 has a perfectly good XID-based hash table we can be using, let's.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18474 >
2022-09-08 23:43:42 +00:00
Yiwei Zhang
63703de443
venus: force synchronous submission for external signal semaphore
...
This is to ensure semaphore export under globalFencing represents the
correct submission.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18475 >
2022-09-08 21:46:40 +00:00
Yiwei Zhang
0a3647fb88
venus: clean up vn_QueueSubmit
...
and ensure all submissions are synchronous upon NO_ASYNC_QUEUE_SUBMIT
No other intended change in behavior.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18475 >
2022-09-08 21:46:40 +00:00
Emma Anholt
f46064d40f
Revert "ci: disable the freedreno farm."
...
It's been moved back to the lab network, which hopefully has been
stabilized. This reverts commit 13f36d66ad .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18505 >
2022-09-08 21:08:15 +00:00
Timur Kristóf
e58a5cca02
nir/gather_info: Clear cross-invocation output mask.
...
Similar to how other I/O info is cleared at the beginning
of gather_info we should also clear the cross-invocation
mesh shader output mask.
Fixes: 112a856813
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18464 >
2022-09-08 20:26:03 +00:00
Timur Kristóf
c80d811403
nir/lower_system_values: Add shortcut for 1D workgroups.
...
When the workgroup is 1 dimensional, simply use a vec3
filled with zeroes and the local invocation index.
This is is better than lower_id_to_index + constant folding,
because this way we don't leave behind extra ALU instrs.
Note, this is relevant to mesh shaders on RDNA2 because
it enables us to better detect cross-invocation output
access.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18464 >
2022-09-08 20:26:03 +00:00
Yiwei Zhang
9fdfe43240
zink: implement fence_get_fd required by EGL android platform
...
fence_get_fd is required for any kind of surface flush or native fence
sync export on Android. The typical scenarios are:
- eglDupNativeFenceFDANDROID
- eglSwapBuffers*
- eglMakeCurrent
- glFlush/glFinish for front buffer rendering
This change updates zink_flush to handle PIPE_FLUSH_FENCE_FD via a
forced submit to signal an external sync_fd semaphore. fence_get_fd is
implemented to export the sync file from that semaphore.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18453 >
2022-09-08 19:30:38 +00:00
Yiwei Zhang
6d1e214238
zink: fix in-fence lifecycle
...
For in-fence handling, dri2 has this below sequence in a row:
1. create_fence_fd: import external fence fd
2. fence_server_sync: import the pipe fence into the driver ctx
3. fence_reference: deref the created pipe fence
Before this change, zink pushed the wrapped external semaphore to the
wait semaphores of the next batch but the followed fence_reference will
destroy the imported semaphore immediately. Instead of extending the
lifecycle of the pipe fence throughout the batch state, we can simply
transfer the semaphore ownership to the batch and destroy it upon batch
reset.
Fixes: 32597e116d ("zink: implement GL semaphores")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18453 >
2022-09-08 19:30:38 +00:00
Yiwei Zhang
c1b827d6a2
zink: fix zink_create_fence_fd to properly import
...
This change fixes below:
1. Dup the fence fd, otherwise, since external semaphore import takes
the ownership of the fd, non-Vulkan part touches the fd leading to
undefined behavior. This can be hit on implementations that defer
the processing of the passed fd.
2. Use VK_SEMAPHORE_IMPORT_TEMPORARY_BIT for importing since that's
required for SYNC_FD handle type because of its copy transference.
Meanwhile, doing temporary import for opaque fd is fine in this path.
Fixes: 32597e116d ("zink: implement GL semaphores")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18453 >
2022-09-08 19:30:38 +00:00
Yiwei Zhang
76397d18ae
zink: fix core support on Android
...
- use legacy EGL driver interface
- use Android Vulkan loader
- avoid unrelated kopper source files
v2: update false #elif to #else
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18453 >
2022-09-08 19:30:38 +00:00
Yiwei Zhang
8fe667afbb
loader: use os_get_option for driver override
...
Android requires this to enable zink.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18453 >
2022-09-08 19:30:38 +00:00
Chad Versace
d0cb99e96a
venus: Enable VK_EXT_pipeline_creation_feedback
...
Implement natively by always returning invalid feedback. This is a legal
(but useless) implementation according to the spec.
In the future, I want to return the real feedback values from the host,
but that requires changes to the venus protocol. The protocol does not
know that the VkPipelineCreationFeedback structs in the
VkGraphicsPipelineCreateInfo pNext are output parameters. Before
VK_EXT_pipeline_creation_feedback, the pNext chain was input-only.
Tested with `dEQP-VK.pipeline.*.creation_feedback.*`.
The tests in vulkan-cts-1.3.3.0 are buggy. I submitted a fix to dEQP
upstream; see below.
Results with the bug:
Passed: 0/30 ( 0.0%)
Failed: 12/30 (40.0%)
Not supported: 18/30 (60.0%)
Warnings: 0/30 ( 0.0%)
Results with bugfix:
Passed: 12/30 (40.0%)
Failed: 0/30 ( 0.0%)
Not supported: 18/30 (60.0%)
Warnings: 0/30 ( 0.0%)
See: https://gerrit.khronos.org/c/vk-gl-cts/+/10086
See: https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/909
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Signed-off-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18035 >
2022-09-08 19:13:51 +00:00
David Heidelberg
86d6c60eab
ci/lava: print set-job-env-vars.sh as other setups do
...
Let's be consistent.
Also needed for parsing device and traces yml file from logs.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18422 >
2022-09-08 17:13:19 +00:00
David Heidelberg
96243ca6fa
ci: print env as other setups do
...
Let's be consistent.
Also needed for parsing device and traces yml file from logs.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18422 >
2022-09-08 17:13:19 +00:00
Emma Anholt
e1f032acc3
zink: Don't lower indirect derefs of temp arrays.
...
nir_to_spirv can handle it. Cuts instructions in a turnip CS shader on
Aztec Ruins from 36k to 3k.
Part of #6115
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18374 >
2022-09-08 16:44:28 +00:00
Emma Anholt
09f6acc4b7
zink: Don't upload shader immediate arrays through UBO 0.
...
Trust the host vulkan driver to load it through whatever way it finds to
be most efficient. Saves upload on the frontend when other uniforms
change.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18374 >
2022-09-08 16:44:28 +00:00
Mike Blumenkrantz
a0f6fecc6a
zink: flag all assigned output slots as mapped
...
this ensures types which consume more than 1 slot are effectively tagged
so that the next stage inputs are also assigned properly
fixes:
spec@arb_enhanced_layouts@execution@component-layout@vs-fs-array-dvec3
cc: mesa-stable
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18444 >
2022-09-08 16:10:42 +00:00
James Park
c48c53c21f
vulkan: Augment _WIN32 stub comparison
...
Make current check robust to incremental linking.
Compare JMP targets if the first byte is opcode 0xE9.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18400 >
2022-09-08 15:37:11 +00:00
Kenneth Graunke
19fc870ac6
intel/compiler: Use subgroup invocation for ICP handle loads
...
When loading a TCS or GS input, we generate some code to read the URB
handle for a particular input control point (ICP handle), which often
involves indirect addressing due to a non-constant vertex.
For example:
mov(8) vgrf148+0.0:UW, 76543210V
shl(8) vgrf149:UD, vgrf148+0.0:UW, 2u
shl(8) vgrf150:UD, vgrf145:UD, 5u
add(8) vgrf151:UD, vgrf150:UD, vgrf149:UD
mov_indirect(8) vgrf147:UD, g2:UD, vgrf151:UD, 96u
Unfortunately, the first load with 76543210V is considered a partial
write because the 8 channels of 16-bit UW data doesn't fill an entire
register, and we can't allocate VGRFs at sub-register granularity.
This causes none of the above math to be CSE'd, even though the first
two instructions are common to *all* input loads, and the rest may be
reused sometimes as well.
To work around this, we stop emitting 76543210V to a temporary, and
instead use nir_system_values[SYSTEM_VALUE_SUBGROUP_INVOCATION], which
already contains this value, and is unconditionally set up for us.
With all input loads using the same register for the sequence, our
CSE pass is able to eliminate the rest of the common math.
shader-db results on Tigerlake:
total instructions in shared programs: 20748243 -> 20744844 (-0.02%)
instructions in affected programs: 73410 -> 70011 (-4.63%)
helped: 242 / HURT: 21
helped stats (abs) min: 1 max: 37 x̄: 14.17 x̃: 15
helped stats (rel) min: 0.17% max: 19.58% x̄: 6.13% x̃: 6.32%
HURT stats (abs) min: 1 max: 4 x̄: 1.38 x̃: 1
HURT stats (rel) min: 0.18% max: 1.31% x̄: 0.58% x̃: 0.58%
95% mean confidence interval for instructions value: -13.73 -12.12
95% mean confidence interval for instructions %-change: -6.00% -5.19%
Instructions are helped.
total cycles in shared programs: 785828951 -> 785788480 (<.01%)
cycles in affected programs: 597593 -> 557122 (-6.77%)
helped: 227 / HURT: 13
helped stats (abs) min: 6 max: 624 x̄: 182.19 x̃: 185
helped stats (rel) min: 0.24% max: 18.22% x̄: 7.85% x̃: 7.80%
HURT stats (abs) min: 2 max: 153 x̄: 68.08 x̃: 36
HURT stats (rel) min: 0.03% max: 7.79% x̄: 2.97% x̃: 1.25%
95% mean confidence interval for cycles value: -182.55 -154.71
95% mean confidence interval for cycles %-change: -7.84% -6.69%
Cycles are helped.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18455 >
2022-09-08 15:12:41 +00:00
Georg Lehmann
4d7fe94f3a
nir/opt_algebraic: Optimize unpacking of upcasts to 64bit integers.
...
Foz-DB Navi21:
Totals from 7 (0.01% of 134913) affected shaders:
CodeSize: 213364 -> 213028 (-0.16%)
Instrs: 38347 -> 38319 (-0.07%)
Latency: 780148 -> 779776 (-0.05%)
InvThroughput: 520098 -> 519851 (-0.05%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18435 >
2022-09-08 14:37:56 +00:00
Tomeu Vizoso
3601c28690
ci: Stop explicitly passing env vars to FDO_DISTRIBUTION_EXEC command
...
ci-templates will now pass all env vars to the command.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18467 >
2022-09-08 12:07:19 +00:00
Tomeu Vizoso
7dc8a78001
ci: Install sysvinit-core without --no-remove
...
As it conflicts now with some packages already installed but not
necessary, such as:
libpam-systemd packagekit packagekit-tools policykit-1 systemd-sysv
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18467 >
2022-09-08 12:07:19 +00:00
Tomeu Vizoso
86e2078be7
ci: Use --no-install-recommends to avoid problems with --no-remove
...
Some packages that are being installed via recommends are conflicting
with already installed packages, causing this error:
E: Packages need to be removed but remove is disabled.
We dont need these packages, so don't install them.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18467 >
2022-09-08 12:07:19 +00:00
Tomeu Vizoso
55724c2a5e
ci: Uprev ci-templates
...
Uprev it to:
d5aa3941aa03 ("freebsd: Move from 13.0 to 13.1")
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18467 >
2022-09-08 12:07:19 +00:00
Karmjit Mahil
b36e9b6187
pvr: Remove unimplemented push descriptor code.
...
Push descriptors are part of VK_KHR_push_descriptor.
Not supporting it for now.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18430 >
2022-09-08 11:56:43 +00:00
Karol Herbst
54709efd5e
nv50: properly flush the TSC cache on 3D
...
The change didn't make any sense. `s` will always be
`NV50_SHADER_STAGE_COMPUTE`, because it's used to loop over all shader
stages. And the TSC cache on the compute side is already flushed in
`nv50_compute_validate_samplers`.
Fixes spurious `CACHE_ERROR` dmesg messages.
Fixes: ba6ba8c990 ("nv50: adapt texture and constbuf paths for compute shaders")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18382 >
2022-09-08 11:46:51 +00:00
Karol Herbst
b23b94fbc9
nv50/ir: fix OP_UNION resolving when used for vector values
...
When an OP_UNION def takes part in a vector source e.g. for a tex
instruction we failed to clean up the OP_UNION instruction as rep() points
towards the coalesced value instead.
This fixes a regression on nv50 moving to NIR, but also potentially issues
with nvc0.
The main reason this is common in nv50 is, that we lower OP_SLCT to a set,
predicated movs and a union.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6406
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7117
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18377 >
2022-09-08 11:35:35 +00:00
Frank Binns
cbc477d057
pvr: finish render job sample count setup
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18437 >
2022-09-08 11:25:02 +00:00
Thomas H.P. Andersen
1980827aeb
util: avoid deprecated builtin has_trivial_destructor
...
From clang 16 has_trivial_destructor is deprecated.
Use the replacement __is_trivially_destructible if it
is available.
Fixes new warnings with clang 16 like:
../src/compiler/glsl/list.h:58:4: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins]
../src/util/ralloc.h:551:4: note: expanded from macro 'DECLARE_RZALLOC_CXX_OPERATORS'
DECLARE_ALLOC_CXX_OPERATORS_TEMPLATE(type, rzalloc_size)
^
../src/util/ralloc.h:542:12: note: expanded from macro 'DECLARE_ALLOC_CXX_OPERATORS_TEMPLATE'
if (!HAS_TRIVIAL_DESTRUCTOR(TYPE)) \
^
../src/util/macros.h:233:44: note: expanded from macro 'HAS_TRIVIAL_DESTRUCTOR'
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18423 >
2022-09-08 10:53:32 +00:00
Karmjit Mahil
61d265cfce
pvr: Finish setting up job resolve info.
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18431 >
2022-09-08 10:44:57 +00:00
Karmjit Mahil
c6113def84
pvr: Set descriptor dirty flag based on other flags.
...
Set the flag if the descriptor set is updated.
Set the fragment descriptor dirty flag if blend consts are updated.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18429 >
2022-09-08 10:36:27 +00:00
Mark Collins
dd19da31f2
tu: Expose VK_EXT_tooling_info using common implementation
...
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18390 >
2022-09-08 08:14:40 +00:00
Mark Collins
c82249aa68
tu: Clamp priority in DRM submitqueue creation
...
The kernel driver has a range of valid priority values that can
be supplied to it, submitting any priority value outside these
bounds will result in `-EINVAL`. To avoid this, the priority
value is now clamped to the range that the kernel supports.
Fixes: 0c6fbfca0c
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18389 >
2022-09-08 08:04:10 +00:00
Pavel Ondračka
c3f51a5dcf
r300: allow presubtract when both ADD sources are negative
...
Current code doesn't handle this, however it is easy to make it work
by moving the negate to the presubtract source. Minor win in shader-db,
mostly with Unigine shaders.
Shader-db RV530:
total instructions in shared programs: 136382 -> 136236 (-0.11%)
instructions in affected programs: 9911 -> 9765 (-1.47%)
total temps in shared programs: 18939 -> 18942 (0.02%)
temps in affected programs: 37 -> 40 (8.11%)
Reviewed-by: Filip Gawin <filip@gawin.net >
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18289 >
2022-09-08 06:53:53 +00:00
Gert Wollny
1d8627deed
virgl: Add some formats that the CTS uses
...
Otherwise running the CTS emits lots of warnings about
these formats missing in the drivers format table.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18462 >
2022-09-08 06:38:48 +00:00
Rob Clark
bbef3cb9d3
egl: Relax locking
...
Now that we have the rwlock TerminateLock protecting us against
eglTerminate() yanking the rug from under us, drop the BDL across
calls to driver (or at least the main ones that can potentially
block).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7039
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050 >
2022-09-07 21:21:38 -07:00
Rob Clark
5d99e8cc03
egl: Introduce rwlock to protect eglTerminate()
...
eglTerminate() must be serialized against all other EGL calls. But in
most cases, other EGL calls do not need to be serialized against each
other. Which fits rather well with a rwlock.
One would be tempted to simply replace the existing BDL with a rwlock,
but several portability and debuggability limitations of the rwlock
implementation prevent that, as described in the TerminateLock comment
block.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050 >
2022-09-07 21:21:34 -07:00
Rob Clark
7ba2784b0a
egl: Make RefCount atomic
...
Once we relax the locking, we will be doing _eglPutFoo() outside of the
big display lock.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050 >
2022-09-07 21:21:29 -07:00
Rob Clark
f1efe037df
egl/dri2: Add display lock
...
In preperation of relaxing eglapi to not hold a lock across driver
calls, but instead only for protecting it's own state, add our own
lock to protect code paths that need locking or have not been audited
yet. The blocking calls (ClientWaitSyncKHR) or critical path and/or
blocking (MakeCurrent, SwapBuffers*) are lockless, as they have already
been audited for thread safety.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050 >
2022-09-07 21:21:25 -07:00
Rob Clark
fc5281286d
egl/dri2: Make ref_count atomic
...
In particular, MakeCurrent can be called on multiple threads in
parallel.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050 >
2022-09-07 21:21:21 -07:00
Rob Clark
a2d6dee4f0
egl/wgl: Make ref_count atomic
...
Looks like wgl doesn't have much display state to protect. But it's
ref_count should be atomic before we start removing locking from eglapi
to protect against MakeCurrent being called in parallel on multiple
threads.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050 >
2022-09-07 21:21:16 -07:00
Timothy Arceri
f182b1952a
glsl: remove GLSL IR inverse comparison optimisations
...
As per 7d85dc4f35 GLSL IR is not smart enough to handle this
correctly for NANs.
Shader-db radeonsi (RX 6800):
Totals from affected shaders:
SGPRS: 26848 -> 26848 (0.00 %)
VGPRS: 13552 -> 13552 (0.00 %)
Spilled SGPRs: 134 -> 134 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 635000 -> 630988 (-0.63 %) bytes
Max Waves: 5474 -> 5474 (0.00 %)
Shader-db iris (BDW):
total instructions in shared programs: 17538859 -> 17539018 (<.01%)
instructions in affected programs: 29369 -> 29528 (0.54%)
helped: 3
HURT: 126
helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.49% max: 0.49% x̄: 0.49% x̃: 0.49%
HURT stats (abs) min: 1 max: 2 x̄: 1.29 x̃: 1
HURT stats (rel) min: 0.27% max: 1.32% x̄: 0.61% x̃: 0.54%
95% mean confidence interval for instructions value: 1.13 1.33
95% mean confidence interval for instructions %-change: 0.54% 0.63%
Instructions are HURT.
total loops in shared programs: 4866 -> 4866 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0
total cycles in shared programs: 858548230 -> 858548915 (<.01%)
cycles in affected programs: 1331737 -> 1332422 (0.05%)
helped: 0
HURT: 92
HURT stats (abs) min: 2 max: 49 x̄: 7.45 x̃: 6
HURT stats (rel) min: 0.01% max: 1.90% x̄: 0.12% x̃: 0.05%
95% mean confidence interval for cycles value: 5.72 9.17
95% mean confidence interval for cycles %-change: 0.05% 0.19%
Cycles are HURT.
Note: With the addition of "nir/comparison_pre: See through an inot to
apply the optimization", idr's shader-db results are:
All Broadwell and newer Intel platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 19940805 -> 19940802 (<.01%)
instructions in affected programs: 582 -> 579 (-0.52%)
helped: 3 / HURT: 0
total cycles in shared programs: 858431633 -> 858431747 (<.01%)
cycles in affected programs: 4938 -> 5052 (2.31%)
helped: 0 / HURT: 3
All older Intel platforms had similar results. (Haswell shown)
total instructions in shared programs: 16715626 -> 16715670 (<.01%)
instructions in affected programs: 9496 -> 9540 (0.46%)
helped: 0 / HURT: 44
total cycles in shared programs: 881224396 -> 881232314 (<.01%)
cycles in affected programs: 600610 -> 608528 (1.32%)
helped: 6 / HURT: 44
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18006 >
2022-09-08 01:01:14 +00:00
Ian Romanick
5473536798
nir/comparison_pre: See through an inot to apply the optimization
...
This also prevents some small regressions in "glsl: remove GLSL IR
inverse comparison optimisations".
shader-db results:
All Sandy Bridge and newer Intel platforms had similar results. (Ice Lake shown)
total instructions in shared programs: 19941025 -> 19940805 (<.01%)
instructions in affected programs: 52431 -> 52211 (-0.42%)
helped: 188 / HURT: 6
total cycles in shared programs: 858451784 -> 858431633 (<.01%)
cycles in affected programs: 2119134 -> 2098983 (-0.95%)
helped: 183 / HURT: 12
LOST: 2
GAINED: 0
Iron Lake and GM45 had similar results. (Iron Lake shown)
total instructions in shared programs: 8364668 -> 8364670 (<.01%)
instructions in affected programs: 753 -> 755 (0.27%)
helped: 2 / HURT: 4
total cycles in shared programs: 248752572 -> 248752238 (<.01%)
cycles in affected programs: 87290 -> 86956 (-0.38%)
helped: 2 / HURT: 4
fossil-db results:
Skylake, Ice Lake, and Tiger Lake had similar results. (Ice Lake shown)
Instructions in all programs: 144909184 -> 144909130 (-0.0%)
Instructions helped: 6
Cycles in all programs: 9138641740 -> 9138640984 (-0.0%)
Cycles helped: 8
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18006 >
2022-09-08 01:01:14 +00:00
Timothy Arceri
61c3438b27
nir: support loop unrolling with inot conditions
...
Ever since 4246c2869c and 7d85dc4f35 loop unrolling can no
longer depend on inot being eliminated from the loop
terminator condition so we need to be able to handle it.
This change avoids 292 loop unrolling regressions with shader-db
once the following patch is applied.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18006 >
2022-09-08 01:01:14 +00:00
Timothy Arceri
96c19d23c9
nir: update nir_is_supported_terminator_condition()
...
Ever since 4246c2869c and 7d85dc4f35 loop unrolling can no
longer depend on inot being eliminated from the loop
terminator condition so we need to be able to handle it.
Here we simply check to see if the inot contains a simple
terminator condition we previously handled. We also update
the previous users of this function to use a newly name
copy of the previous behaviour
nir_is_terminator_condition_with_two_inputs().
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18006 >
2022-09-08 01:01:14 +00:00
Bas Nieuwenhuizen
ae7532e0cc
amd/common: Disable DCC retile modifiers on RDNA1
...
Some claims of corruption, modifier-less Mesa already doesn't do
it. Since these modifiers have no purpose besides being displayed
lets just disable in Mesa.
Cc: mesa-stable
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18140 >
2022-09-07 23:41:28 +00:00
Bas Nieuwenhuizen
af4b656817
amd/common: Don't rely on DCN support checks with modifiers.
...
Going to be a bad time if they disagree, which is bound to happen
sometimes. Not asserting and stuff tends to be a better experience
than crashing.
Cc: mesa-stable
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18140 >
2022-09-07 23:41:28 +00:00
Jordan Justen
b26980a4d4
intel/pci_ids: Drop non-upstream dg2 pci-ids
...
These pci-ids should be included in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14523 , since
these pci-ids will only be supported by kernels that support the
forked Linux uapi. (Note that !14523 will never be merged into
upstream Mesa.)
Ref: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/drm/i915_pciids.h?h=v6.0-rc3#n695
Fixes: 398a9be94b ("intel/dev: Enable remaining DG2 and ATS-M device IDs")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18386 >
2022-09-07 19:04:05 +00:00
Yiwei Zhang
4ae4e4362c
venus: double the abort timeout
...
To avoid bumping abort timeout too much. This change also doubles the
busy wait cycles, which would further reduce unnecessary sleeps for
synchronous calls. Ultimately, after we fix the fencing and push all
roundtrip waiting to the renderer side as well as we fixing the abort
logic, we can live with busy wait alone here.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18472 >
2022-09-07 18:48:07 +00:00
Iván Briano
92ee2e6b64
anv: pipelineStageCreationFeedbackCount is allowed to be 0
...
Fixes: 6601e5d6fc ("anv: implement VK_EXT_pipeline_creation_feedback")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18451 >
2022-09-07 10:49:29 -07:00
Georg Lehmann
28a69b72d8
aco: Use plain VOPC for vcmpx when possible.
...
Foz-DB Navi21:
Totals from 66947 (49.62% of 134913) affected shaders:
CodeSize: 210383024 -> 210033376 (-0.17%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18417 >
2022-09-07 16:08:36 +00:00
Konstantin Seurer
9cbc609db3
radv: Deduplicate push constant structs
...
This patch adds a header that is shared between the accel struct build
kernels and the dispatch code.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18376 >
2022-09-07 15:45:48 +00:00
Mike Blumenkrantz
69d123d88e
zink: fix sharedmem ops with bit_size!=32
...
* the rewrite_bo_access compiler pass already handles 64bit rewrites as-needed
* sharedmem access is not required to be 32bit
thus, this can use a similar methodology as ssbo/ubo vars to index based on bitsize
and handle operations through sized variables
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18449 >
2022-09-07 15:23:03 +00:00
Corentin Noël
13f36d66ad
ci: disable the freedreno farm.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18463 >
2022-09-07 13:26:31 +00:00
Eric Engestrom
28ed514c3c
v3dv: implement VK_EXT_shader_module_identifier
...
Passes `dEQP-VK.*.shader_module_identifier.*`
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18458 >
2022-09-07 12:51:16 +00:00
Tomeu Vizoso
0704926a9c
Revert "Revert "Revert "ci: set venus on lavapipe to manual due to flakes"""
...
Now the flakiness might have been fixed for good.
This reverts commit e51c5a18ad .
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18454 >
2022-09-07 09:18:49 +00:00
Tomeu Vizoso
9e19a40e56
ci: Crosvm won't remove the control socket file on stop
...
When sending the stop command to a lingering Crosvm instance, the socket
file will remain and the next instance will fail to start.
Make sure the file is deleted before starting Crosvm with the same path.
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18454 >
2022-09-07 09:18:49 +00:00
Samuel Pitoiset
d6321fee5f
radv: only expose sparseResidencyImage3D on GFX9+
...
It's currently broken on Polaris10 and breaks running VKCTS entirely.
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/18457 >
2022-09-07 08:57:13 +00:00
Martin Roukala (né Peres)
daafeb9893
radv/ci: run vkcts on the two steam decks in parallel
...
We just added a new Steam Deck to our CI, which should allow us to
halve the execution time of a full VKCTS run from 1h20 to a more
reasonable 40 minutes.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18432 >
2022-09-07 08:37:59 +00:00
Samuel Pitoiset
8fcb4aa0eb
radv: compact MRTs to save PS export memory space
...
If there are holes between color outputs (e.g. a shader exports MRT1,
but not MRT0), we can remove the holes by moving higher MRTs lower. The
hardware will remap the MRTs to their correct locations if we remove
holes in SPI_SHADER_COL_FORMAT but not CB_SHADER_MASK. This is good for
performance because the hardware will allocate less space for color
MRTs.
This also allows to remove even more unused color exports because we no
longer need to force previous targets to be non-zero. Only SotTR seems
affected from our fossils db.
fossils-db (NAVI21):
Totals from 859 (0.64% of 134913) affected shaders:
VGPRs: 24328 -> 24216 (-0.46%)
CodeSize: 1433276 -> 1422576 (-0.75%)
Instrs: 255275 -> 253728 (-0.61%)
Latency: 1666836 -> 1661544 (-0.32%)
InvThroughput: 346038 -> 343406 (-0.76%)
Copies: 16520 -> 16506 (-0.08%)
PreSGPRs: 25934 -> 25920 (-0.05%)
PreVGPRs: 19903 -> 19662 (-1.21%)
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/5786 >
2022-09-07 08:17:20 +00:00
Samuel Pitoiset
49c7d28b0b
radv: gather MRTs that are written by the fragment shader
...
This will be used to filter color attachments without exports.
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/5786 >
2022-09-07 08:17:20 +00:00
Erik Faye-Lund
6e990a2f73
docs/zink: remove bptc from required formats for gl4.2
...
We now have lowering-code in the mesa state-tracker, meaning we no
longer need this feature.
Fixes: e4ff42684b ("mesa/st: enable bptc extension with fallback")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18434 >
2022-09-07 08:11:31 +00:00
Erik Faye-Lund
00c4882bc9
vc4: do not attempt to do deep tiled blits
...
We only copy a single layer, so let's not even try to support deep
blits here.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18427 >
2022-09-07 07:50:44 +00:00
Erik Faye-Lund
eb2307ec69
vc4: respect z-offset in tiled blits
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Tested-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18427 >
2022-09-07 07:50:44 +00:00
Erik Faye-Lund
c3e1c16b96
v3d: do not pretend to fake rgtc-support
...
The is_format_support query doesn't pretent to have RGTC support, so
this doesn't seem like it ever did anything useful.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18439 >
2022-09-07 07:31:00 +00:00
Tapani Pälli
d276ad4520
intel/compiler: implement Wa_14014595444 for DG2
...
According to the workaround, we should setup MLOD as parameter
4 and 5 for the sample_b message.
v2: only SAMPLE_B, not SAMPLE_B_C (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18408 >
2022-09-07 05:44:56 +00:00
Tapani Pälli
f32ac1d30b
anv: implement Wa_14015946265 for DG2
...
SOL unit issues, wa is to send PC with CS stall after SO_DECL.
v2: emit also in genX_gpu_memcpy (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18409 >
2022-09-07 04:38:05 +00:00
Tapani Pälli
e37f534d7f
iris: implement Wa_14015946265 for DG2
...
SOL unit issues, wa is to send PC with CS stall after SO_DECL.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18409 >
2022-09-07 04:38:05 +00:00
Bas Nieuwenhuizen
6e020dff99
radv: Expose 3d sparse images.
...
Tested-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18165 >
2022-09-06 23:16:26 +00:00
Bas Nieuwenhuizen
c738c99a4a
radv: Add 3d tile shapes for sparse binding.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18165 >
2022-09-06 23:16:26 +00:00
Bas Nieuwenhuizen
5a2efa98d9
radv: Add binding code for 3d sparse images.
...
GFX7-8 code is kinda expected. For GFX9 and GFX10 the entire
mipchain is duplicated by "layer" even though smaller mips also
have less layers.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18165 >
2022-09-06 23:16:26 +00:00
Alyssa Rosenzweig
08c612b5ce
asahi: Allocate new cmdbufs if out of space
...
Instead of crashing when we run out of space in the command buffer,
allocate a new buffer, jump to it with the STREAM_LINK command, and
use it to write new commands.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:29 +00:00
Alyssa Rosenzweig
a7ddb8ebf7
asahi: Handle Stream Link VDM commands
...
Jumps in the command streams, allowing us to chain ("link") command
buffers. Naming is from PowerVR, which contains an identical command.
PowerVR's has conditional jumps and function call support, it's likely
that AGX inherited this too but I haven't tested that. (Those might be
useful for conditional rendering and secondary command buffers
respectively?)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
6f5c8d0e24
asahi: Express VDM commands according to PowerVR
...
Piles of unknown bits go away, as we find they're either "field present"
bits or block types. And yep, the block type enum lines up between AGX
and RGX.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
80d8273705
asahi: Annotate VDM/CDM commands as per PVR
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
1a460d1c7e
asahi: Make BO list growable
...
Back it by a simple dynamic array, ralloc'd off the batch (and make the
context/batch ralloc'd so stuff gets cleaned up).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
22f6efde02
asahi: Dirty track everything
...
Now that we have fine grained state emit code, let's use it to reduce
driver overhead. Dirty tracking is delicate: while this seems to work,
I've also added an ASAHI_MESA_DEBUG=dirty option in debug builds
to disable the optimizations here for future debug.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
44853b4d01
asahi: Hoist constant PPP state to start of batch
...
This reduces how much we emit per draw.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
942bda7f2d
asahi: Match PPP data structures with PowerVR
...
Looking at PowerVR's PPP definitions in tree in Mesa
(src/imagination/csbgen/), we find that AGX's "tagged" data structures
are actually sequences of state items prefixed by a header specifying
which state follows. Rather than hardcoding the sequences in which Apple's
driver chooses to bundle state, we need the XML to be flexible enough to
encode or decode any valid combination of state. That means reworking
the XML. While doing so, we find a number of fields that are identical
between RGX and AGX, and fix the names while at it (for example, the W
Clamp floating point).
Names are from the PowerVR code in Mesa where sensible.
Once we've reworked the XML, we need to rework the decoder. Instead of
reading tags and printing the combined state packets, the decoder now
must unpack the header and print the individual state items specified by
the header, with slightly more complicated bounds checking.
Finally, state emission in the driver becomes much more flexible. To
prove the flexibility actually works, we now emit all PPP state (except for
viewport and scissor state) as a single PPP update. This works. After
this we can move onto more interesting arrangements of state for lower
driver overhead.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
baadc1ec13
asahi: Don't use lower_wpos_pntc
...
Instead we can flip point coords with the object type. That means fewer
instructions without shader variants. Thanks, PowerVR ^_^
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
f7ef5eefdd
asahi: Identify object type field via PowerVR
...
src/imagination/csbgen/rogue_ppp.xml STATE_ISPA bits 28. Looks like that
got split into two structs in AGX (with info duplicated?) but yeah I
have a lot to work with here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Alyssa Rosenzweig
d93878f77a
asahi: Split RASTERIZER into constituent words
...
As done in the PowerVR driver.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18421 >
2022-09-06 21:01:28 +00:00
Kai Wasserbäch
f9057cea51
fix(FTBFS): meson: raise C++ standard to C++17
...
LLVM 16 requires this since [0] and instead of just going all over the
various directories and adding overrides it should be easier to just
raise this globally. GCC supports C++17 since GCC 8 (2018), Clang since
version 5 (2017). Debian Buster (oldstable) has GCC 8.3 and Clang 7.0,
so all major distributions should have this and there shouldn't be an
issue with bumping.
[0] <b4e9977fc1 >
Closes: <https://gitlab.freedesktop.org/mesa/mesa/-/issues/7031 >
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17966 >
2022-09-06 20:34:17 +00:00
Yiwei Zhang
d399685da5
venus: enable KHR_driver_properties on Android
...
Venus has a driver id now and Android cts has been patched.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18447 >
2022-09-06 19:52:26 +00:00
Yiwei Zhang
61e899a181
venus: enable zink required extensions on Android
...
Below extensions are enabled:
- VK_KHR_external_memory_fd
- VK_EXT_external_memory_dma_buf
- VK_EXT_image_drm_format_modifier
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18447 >
2022-09-06 19:52:26 +00:00
Yiwei Zhang
ac95ecd044
venus: some clang format fixes
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18447 >
2022-09-06 19:52:26 +00:00
Leo Liu
0b4d54360f
meson: add with_gallium_virgl to allow it as VA backend driver
...
So that no longer needs other driver such as radeonsi as backend
to enable VA.
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18424 >
2022-09-06 19:27:49 +00:00
Lionel Landwerlin
492761ab8d
anv: add a new NO_LOCAL_MEM allocation flag
...
We found a perf regression with 9027c5df4c ("anv: remove the
LOCAL_MEM allocation bit") which seems to be that we over subscribe
local memory, leading i915 to swap things in/out too much.
This change avoid putting buffers in local memory if they are not
allocated from a DEVICE_LOCAL heap.
Maybe we can revisit this later if i915 is better able to deal with
more buffers in local memory.
v2: Remove implicit_css from anv_bo when not in lmem (Ivan)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 9027c5df4c ("anv: remove the LOCAL_MEM allocation bit")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7188
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18395 >
2022-09-06 18:24:00 +00:00
Adam Jackson
f41a6504a1
egl/kopper: Don't add EGL_SWAP_BEHAVIOR_PRESERVED_BIT configs
...
It's strictly inferior to EGL_EXT_buffer_age so apps shouldn't bother to
begin with, and we don't communicate the surface preservation state to
the backend so we don't handle it correctly in any case.
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18214 >
2022-09-06 17:46:50 +00:00
Adam Jackson
f70df74e0a
wsi/x11: Defer clearing image busy flag for non-shm upload
...
The image is busy until xcb_put_image returns. This isn't a major worry
at the moment since we're doing the PutImage directly from
vkQueuePresent, but if we moved that to a worker thread the race window
would be a lot easier to hit.
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18214 >
2022-09-06 17:46:49 +00:00
Adam Jackson
168fdb5a91
egl: Move an error check earlier in EGL_BUFFER_AGE_EXT query
...
I can't think of any good reason to call down to the driver and _then_
check whether your calling context was already bad.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18214 >
2022-09-06 17:46:49 +00:00
Emma Anholt
7662a5e9d3
mesa: Remove PIPE_CAP_CS_DERIVED_SYSTEM_VALUES_SUPPORTED/lower_cs_derived.
...
We have fine NIR lowering for this (already called from mesa/st), no need
for a separate GLSL pass.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18361 >
2022-09-06 17:11:14 +00:00
Danylo Piliaiev
dda28a3e35
tu: Trivially expose VK_EXT_rasterization_order_attachment_access
...
It is just a renamed VK_ARM_rasterization_order_attachment_access.
Zink depends on it to expose KHR_blend_equation_advanced_coherent
Passes GL tests via Zink:
dEQP-GLES31.functional.blend_equation_advanced.*
KHR-GLES31.core.blend_equation_advanced.*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18420 >
2022-09-06 16:51:54 +00:00
Danylo Piliaiev
1dfc5929d1
tu: Use newly obtained magic reg values
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18229 >
2022-09-06 16:18:58 +00:00
Danylo Piliaiev
c22444ebcc
freedreno: Add all variable magic regs to device-info tables
...
There are more magic regs which have different values between GPU
subgenerations than we specified.
The updated list and values where obtained by using libwrapfake
with v631 blob and dEQP-VK.draw.renderpass.basic_draw.draw.triangle_list.1
vk cts test.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18229 >
2022-09-06 16:18:58 +00:00
Danylo Piliaiev
df51e96c33
freedreno: Name more *_DBG_ECO_CNTL regs
...
There is known pattern of *DBG_ECO_CNTL being right before
*_ADDR_MODE_CNTL, name such regs that we are sure about.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18229 >
2022-09-06 16:18:58 +00:00
Frank Binns
80bd9ce7ee
pvr: don't setup attachment tex state for images with input attachment bit unset
...
In this case the attachment tex state will be 0, which should make things easier
to debug.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18320 >
2022-09-06 15:46:13 +01:00
Frank Binns
fdf85f10a1
pvr: cube map tex state packing fixes
...
A VK_ERROR_FORMAT_NOT_SUPPORTED error was being returned when setting up the
image view tex state for images with the VK_IMAGE_USAGE_STORAGE_BIT and/or
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT bit(s) set due to missing handling in
pvr_pack_tex_state(). Resolve this by handling these cases, while taking the
opportunity to simplify how the tex type is determined when packing
TEXSTATE_IMAGE_WORD0.
It was also found that the depth field in TEXSTATE_IMAGE_WORD1 was being set up
incorrectly, as it was relying on the image depth being 0 for 1D and 2D images,
but the image depth will always be 1 in these cases.
Partial fix for dEQP-VK.image.qualifiers.volatile.cube.r32f. This now goes from
failing to seg faulting when VK_FORMAT_R32_SFLOAT is added to the format table,
as the test is now getting further.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18320 >
2022-09-06 15:46:09 +01:00
Frank Binns
3436438dd0
pvr: set samplerAnisotropy to false
...
This now matches up with the value being returned for maxSamplerAnisotropy,
which is the unsupported limit of 1.
Fixes dEQP-VK.info.device_properties.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18320 >
2022-09-06 15:46:05 +01:00
Rajnesh Kanwal
578361024c
pvr: Fix clang-format issue.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18436 >
2022-09-06 13:30:34 +00:00
Erik Faye-Lund
f4d6abc268
mesa/st: enable s3tc extensions with fallback
...
The VC4 and Lima Piglit failures seems to mostly fall in two camps:
1. The hardware lacks sRGB support, but the drivers decide to expose it
nevertheless, with some varying level of emulation. This leads to some
failures, probably because we're missing sRGB decoding somewhere.
2. The spec@ext_texture_compression_s3tc@compressedteximage fails,
mostly due to the test not setting the mipfilter to nearest. With
that fixed, the test passes on VC4, but still fails on Lima due to an
a bit dodgy miplod bias in the driver.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
be70018a23
mesa/st: implement fallback for s3tc
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
ac87b8a1eb
mesa/main: add _mesa_unpack_s3tc
...
We treat sRGB formats as RGB, because we're unpacking to another sRGB
format.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
5087ba3666
mesa: add format-helpers for s3tc
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
b02f1b0eba
mesa/st: add context-flags for s3tc
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
a321d157c6
util: allow unpacking less than a block from dxt
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
060596f1d8
mesa/st: do not fallback to srgba formats for dxt
...
We don't do this for the non-sRGB DXT formats, and it doesn't really
make any sense when we're about to add fallback elsewhere.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
b6f6b43c76
mesa/st: use _mesa_generate_mipmap for fallback-formats
...
For fallback formats, we need to update both the compressed and
uncompressed images. Let's fall back to _mesa_generate_mipmap that
already handles this.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Fixes: e4ff42684b ("mesa/st: enable bptc extension with fallback")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18180 >
2022-09-06 12:55:02 +00:00
Erik Faye-Lund
e51c5a18ad
Revert "Revert "ci: set venus on lavapipe to manual due to flakes""
...
This reverts commit 55e99a22f3 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18433 >
2022-09-06 13:47:39 +02:00
Iago Toral Quiroga
92b3ae6ed9
v3dv: ref pipeline layout earlier during pipeline init
...
If we fail to init the pipeline the callee will then destroy it
and if we had assigned the layout to the pipeline it will try to
unref it, so make sure we ref it right after assigning it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7206
Fixes: dEQP-VK.api.object_management.alloc_callback_fail_multiple.graphics_pipeline
Fixes: 14dab6b10c ('v3dv: ref/unref pipeline layout objects')
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18426 >
2022-09-06 09:58:15 +00:00
Danylo Piliaiev
699e3452d0
util/u_trace: Add locking for ctx_list
...
It could be modified from several threads, make it safe.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18391 >
2022-09-06 09:29:52 +00:00
Eric Engestrom
27ca22f3d6
vc4: drop dead qir_POW() helper
...
Dead code since 226bd92945 ("vc4: Use NIR lowering for sRGB decode.")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18419 >
2022-09-06 08:09:10 +00:00
Iago Toral Quiroga
898ce84707
v3dv: expose VK_EXT_border_color_swizzle
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18416 >
2022-09-06 06:33:38 +00:00
Iago Toral Quiroga
565b388acf
v3dv: fix swap_rb and channel_reverse flags in image views
...
We were computing these from the final swizzle resulting from
combining the format swizzle and the view swizzle, but here we
want to use the format swizzle alone, which is the one we
use to define these properties in the format table.
Fixes CTS test fails with EXT_border_color_swizzle.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18416 >
2022-09-06 06:33:38 +00:00
Iago Toral Quiroga
26024e9701
v3dv: expose VK_EXT_tooling_info
...
There is a stub for this implemented in the common code we can use
which reports 0 tools.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18410 >
2022-09-06 06:10:41 +00:00
Qiang Yu
4330313666
radeonsi: add and implement load_user_clip_plane abi
...
This is used by NGG culling for legacy user clip plane clip
which only happens in VS.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455 >
2022-09-06 00:35:36 +00:00
Qiang Yu
86832964cf
radeonsi: vs load input re-calculate vertex index after culling
...
After culling, vertices are repacked, we overwrite the original
vertex_id/instance_id, so vertex index for each thread need to
be re-calculated.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455 >
2022-09-06 00:35:36 +00:00
Qiang Yu
1d7e9203d0
radeonsi: use replaced values when present
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455 >
2022-09-06 00:35:36 +00:00
Qiang Yu
ca0b8ed9b3
ac/llvm: move culling replaced registers to abi
...
For RADV/Radeonsi llvm backend to use correct value after
culling.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455 >
2022-09-06 00:35:36 +00:00
Qiang Yu
463c4c55a7
radeonsi: implement cull nir intrinsics
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455 >
2022-09-06 00:35:36 +00:00
Qiang Yu
7a166ba3f2
radeonsi: implement nir_intrinsic_load_viewport_xy_scale_and_offset
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455 >
2022-09-06 00:35:36 +00:00
Qiang Yu
ec9d357b33
radeonsi: implement nir_intrinsic_load_half_line_width_amd
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17455 >
2022-09-06 00:35:36 +00:00
Erik Faye-Lund
0511713af7
zink: lower discard/demote depending on derivatives
...
This should fix rendering in some games that incorrectly expect discard
to have demote behavior.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272 >
2022-09-05 22:48:54 +00:00
Erik Faye-Lund
9909eff0c8
zink: expose demote when supported
...
This enables GL_EXT_demote_to_helper_invocation on Zink.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272 >
2022-09-05 22:48:54 +00:00
Mike Blumenkrantz
1a271948fc
zink: hook up demote extension
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272 >
2022-09-05 22:48:54 +00:00
Erik Faye-Lund
e2d7fa943d
zink: add ntv support for is_helper_invocation
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272 >
2022-09-05 22:48:54 +00:00
Erik Faye-Lund
7a48657a06
zink: add spirv_builder support for is_helper_invocation
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272 >
2022-09-05 22:48:54 +00:00
Erik Faye-Lund
332ff54425
zink: add ntv support for demote
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272 >
2022-09-05 22:48:54 +00:00
Mike Blumenkrantz
1bff203533
zink: add spirv builder function for demote
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272 >
2022-09-05 22:48:54 +00:00
Alejandro Piñeiro
944b08e597
v3dv/bo: reduce DEFAULT_MAX_BO_CACHE_SIZE to 64
...
The best way to tune this value is to test Vulkan
applications. Current somewhat big value (512), was obtained by
testing only vkQuake2. Additionally at that time the bo cache was the
first performance oriented improvement we implemented.
After more improvements were included, and retested with more
applications, the conclusion is that we can reduce the value. More
info on the issue that closes.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7090
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18398 >
2022-09-05 22:25:09 +00:00
Alessandro Astone
a68e2b810c
Android.mk: Provide a custom entry name to ensure meson checks succeed
...
When meson tests for the compability of some linker flags, not having
the default entry symbol "_start" defined makes the check fail for
a warning unrelated to the linker flag meson is testing.
Since these tests normally just try to compile a C program with a main,
use "main" as the ficticious entry point.
Specifically, this makes "-Wl,--build-id=sha1" recognised as valid
and allows its use for drivers that rely on it.
This is a temporary workaround that is required until Android.mk is
changed to support both shared libraries and executables.
Cc: "22.0" "22.1" "22.2" mesa-stable
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17715 >
2022-09-05 22:10:07 +00:00
Alessandro Astone
554b19b616
Android.mk: Filter out --build-id=md5 linker flag
...
To avoid conflicts with meson-generated --build-id linker option
Cc: "22.0" "22.1" "22.2" mesa-stable
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17715 >
2022-09-05 22:10:07 +00:00
Yonggang Luo
5017e805bb
util: Fixes comment about debug_get_option
...
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/18242 >
2022-09-05 13:34:17 +00:00
Timur Kristóf
4f11fba0c1
radv: Enable EXT_mesh_shader on RDNA2 with RADV_PERFTEST=ext_ms
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367 >
2022-09-05 13:09:29 +00:00
Timur Kristóf
be56649fc6
radv: Implement EXT_mesh_shader draw calls.
...
There is a new packet DISPATCH_MESH_INDIRECT_MULTI which we use
for indirect mesh shader only draws. This packet allows using
a 3D dispatch (however firstTask doesn't work with this packet).
Otherwise everything else works the same way as
the NV_mesh_shader draw calls.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367 >
2022-09-05 13:09:29 +00:00
Timur Kristóf
c7ff93a766
ac/nir/ngg: Add EXT_mesh_shader vertex/primitive count.
...
In EXT_mesh_shader the vertex and primitive counts are set using a
built-in SetMeshOutputsEXT function.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367 >
2022-09-05 13:09:29 +00:00
Timur Kristóf
448d09d44a
ac/nir/ngg: Add EXT_mesh_shader CullPrimitiveEXT output.
...
This is a per-primitive boolean output.
When set to 1, the primitive should be culled.
Implement this by using this boolean as the null primitive
flag for primitive exports.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367 >
2022-09-05 13:09:29 +00:00
Timur Kristóf
1f8f4570f0
ac/nir/ngg: Add EXT_mesh_shader primitive indices.
...
In EXT_mesh_shader the indices output is an array of vectors
which is indexed by the primitive index.
(They practically behave like a per-primitive output, although
technically the spec does not treat them as per-primitive.)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18367 >
2022-09-05 13:09:29 +00:00
SoroushIMG
359713d174
zink: track min_samples state for per sample shading
...
Vulkan pipeline state sampleShadingEnable and minSampleShading are directly related to GL_SAMPLE_SHADING_ARB.
Track min_samples provided by st and include it in pipeline state.
This was seen as failures in cts cases where per sample shading along with sample interpolation qualifiers are tested:
dEQP-GL45-ES31.functional.shaders.multisample_interpolation.sample_qualifier.*
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18314 >
2022-09-05 12:45:04 +00:00
Tomeu Vizoso
55e99a22f3
Revert "ci: set venus on lavapipe to manual due to flakes"
...
Issue should be fixed now.
This reverts commit a03ce740bb .
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18414 >
2022-09-05 14:13:03 +02:00
Tomeu Vizoso
0a2723e35d
ci: Make sure that the Crosvm control socket has been removed
...
To avoid Crosvm bailing out at startup like this:
ERROR - dEQP error: [ERROR:src/main.rs:2826] invalid value "crosvm-14.sock": this socket path already exists
Closes : #7093
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18414 >
2022-09-05 14:12:58 +02:00
Marek Olšák
a6050a43ca
ac/surface: disallow 256KB swizzle modes on gfx11 APUs
...
It doesn't work.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18340 >
2022-09-05 08:59:59 +00:00
Marek Olšák
aef7ea868f
ac/gpu_info: handle LPDDR4 and 5 in ac_memory_ops_per_clock
...
and update amdgpu_drm.h
Fixes: 50238f4958 - amd/common: Remove redundant code for determining memory ops per clock
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7163
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18340 >
2022-09-05 08:59:59 +00:00
Erik Faye-Lund
c551bb32d1
zink: clamp miplodbias when creating sampler
...
The Vulkan spec states that it's illegal to pass a mipLodBias larger
than maxSamplerLodBias, but the gallium value here hasn't been clamped.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7140
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18295 >
2022-09-05 07:39:32 +00:00
Lionel Landwerlin
9194952e70
hasvk: expose VK_EXT_depth_clamp_zero_one
...
Simple enough to expose on hasvk.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18372 >
2022-09-05 06:19:47 +00:00
Lionel Landwerlin
a6de9dabf6
anv: enable EXT_depth_clamp_zero_one
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18372 >
2022-09-05 06:19:47 +00:00
Iago Toral Quiroga
70ea65490c
v3dv: switch to common code for command buffer lifecycles
...
This gives us the capacity to recycle command buffers in the pool.
Based on a similar change done by Jason to Anvil.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18388 >
2022-09-05 07:52:46 +02:00
Max Kellermann
b830091cb6
gallium/u_threaded: fix offset calculation for draw_multi slots
...
This fixes a buffer corruption bug with glMultiDrawElementsEXT(): the
offset for the source index buffer is reset for each draw_multi slot,
copying only the first `dr` values to each slot's index buffer.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18189 >
2022-09-04 21:16:12 -04:00
Max Kellermann
0a0fb7cbc6
gallium/u_threaded: add missing reference counts for draw_multi slots
...
If a glMultiDrawElementsEXT() call doesn't fit into a single slot, the
same pipe_resource pointer is copied into all following slots, the
completion of each will decrement the reference counter; however, it
was never incremented for all but the first slot.
This fixes a use-after-free bug with glMultiDrawElementsEXT().
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18189 >
2022-09-04 21:15:57 -04:00
M Henning
f90f04d501
nv/nir: Set ssbo CacheMode from intrinsic access
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18354 >
2022-09-04 20:32:30 +00:00
Alyssa Rosenzweig
02babc834a
asahi: Identify stencil test enable
...
There are a pair of flags controlling the stencil test. One enables
stencil testing in general, the other enables two-sided stencil. Compare
the identical "twosided" flag in src/imagination/csbgen/rogue_ppp.xml's
STATE_ISPCTL structure, at the samebit offset even. Evidently this word of
the "Rasterizer" is, in fact, a derivative of STATE_ISPCTL.
Fixes
dEQP-GLES2.functional.fragment_ops.depth_stencil.*
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.*
dEQP-GLES2.functional.fragment_ops.random.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
b891d60efa
asahi: Fix depth/stencil buffers
...
There are a bunch of bits we need to set right to get depth/stencil
loads/stores working, including with independent settings for each. The
kernel "helps" us here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
7cb21eb595
asahi: Handle out-of-bounds clear_stencil
...
Just use the bottom 8-bits (we have only 8-bit stencil formats),
otherwise we fail an assertion in GenXML. In this case the wrapping
behaviour is ok.
Fixes:
dEQP-GLES2.functional.depth_stencil_clear.depth_stencil
dEQP-GLES2.functional.depth_stencil_clear.stencil
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
66f1164976
asahi: Add 1D and 1D Array enums
...
To finish out the enum.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
2bdb8ba3ce
asahi: Correct SET_SHADER_EXTENDED disambig bit
...
This is still a guess, but a considerably firmer one as it now corrects
handles the clear pipelines emitted by Metal as well as the regular
vertex/fragment shader, and gets rid of the preshader special cases
seen there. Fixes decode of clear pipeline's preshaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
210f4aff1e
asahi: Identify and use first level field of texture
...
As we recently discovered, the layout of level L of a mipmapped 2D image
of size WxH is /not/ the same as the layout of a non-mipmapped 2D image
of size minify(W, L) x minify(H, L). The difference occurs due to
subtleties of the "power of two" miptrees which can force a level to use
a larger tile size than it would have required at root level. To handle
this quirk correctly, the driver must not implement texture views with
address arithmetic -- it must supply instead the base width/height of a
texture and use first/last level fields on the texture descriptor to map
it. Similar issues occur when writing a particular level of a mipmapped
texture, which was handled correctly in the colour case but not the Z/S
case.
Fixes
dEQP-GLES2.functional.texture.mipmap.cube.generate.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
1d72d3feb6
asahi: Fix "stride" for tiled textures
...
It doesn't exist, but there's a count of mip levels for writeable image
descs. Setting that appropriately matters at high mip levels.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
4442be1155
asahi: Fix nonmipmapped array textures
...
pot_level can be greater than the number of levels actually included --
don't overallocate. Fix the issue and add a representative unit test.
Fixes:
dEQP-GLES2.functional.texture.size.cube.512x512_rgb888
Fixes: 6ff75da8aa ("ail: Introduce image layout module")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
a41d732784
asahi: Fix depth for cube maps
...
For cube maps, depth=1 in the hardware (but 6 in Gallium). Likewise for
cube map arrays, depth=n in the hardware (but 6n in Gallium). We need to
divide to compensate. This will be relevant for cube map arrays in the
future -- add the dimension XML for cube map arrays too.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
99a5b11af5
asahi: Label batch flush reasons
...
This was helpful in identifying the bottleneck in Inochi2D (the clears).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
e66a901bc8
asahi: Relax assert in decoder
...
Seen == 0x8 with >4 render targets.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
9542f95864
asahi: Trim garbage at end of set shader
...
Unfortunately the actual size of this data structure is unclear.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
279eaec278
asahi: Use util_blitter_clear
...
To avoid flush, use util_blitter_clear to clear with rectangles when
there is already content in the scene. This ~doubles the performance of
Inochi2D, which does frequent stencil clears in the middle of the screen
to implement masking.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
fb7860ed24
asahi: Handle empty fragment shaders
...
When an empty fragment shader is used with Metal, the stop command is
still included but this special bit is set, suppressing tilebuffer
access. Failing to do so but using empty shaders for u_blitter depth
clears causes Glitch Lina:
https://twitter.com/LinaAsahi/status/1537869064793575424
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
f8799c97b2
asahi: Export agx_blitter_save
...
So we can use it for clears.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
6b329b16f8
asahi: Make ctx->zs a pointer
...
When we save ZSA state with u_blitter, u_blitter just records the
pointer for the state. It doesn't copy it. That requires an extra
indirection on the context (as other drivers do) to fix restores of ZSA
state with u_blitter.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
968bbca578
asahi: Note some more unknowns in the XML
...
Lot of r/e waiting here...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
47831969c8
asahi: Split up unk 2b
...
Seems to be flags.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
5f57fe0bc9
asahi: Fix Indexed Draw command
...
Add the missing stub in the decoder for it, so we can decode indexed
draws instead of reading back garbage, and fill in some known unknowns
in the structure.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
10c9aceadf
agx: Plumb through nir_op_txf
...
nir_op_txf maps to AGX's texture_load, which is encoded like
texture_sample. The one outstanding question with this commit is the
rules for the sample required ... in NIR and APIs (including Metal), txf
is samplerless, but the AGX instruction consumes a sampler. Hopefully
any sampler will do, though?
Passes dEQP-GLES3.functional.shaders.texture_functions.texelfetch.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
44d79d39b6
agx: Defeature indirect vbufs
...
vb_mask can include garbage vbufs, we can't rely on it. This will
prevent a regression when switching to u_blitter based clears. This is
also simpler and shrinks the VS shader key so all in all a good thing.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
0fccd564b6
agx: Don't hardcode uniform enums
...
Let the compiler number them for us, the numbers are meaningless.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
18bb64fd3a
agx: Add more unit tests for float copyprop
...
Would have caught the bug fixed by the previous commit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
095415cdf7
agx: Fix float copyprop of neg(neg) case
...
They should cancel each other. Fixes:
dEQP-GLES2.functional.shaders.random.basic_expression.combined.0
Fixes: 28801b4849 ("agx: Add forward optimizing pass for fmov")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
Alyssa Rosenzweig
9645e46a53
agx: Fix tib access in internal shaders
...
The only case where tilebuffer access can be specially optimized is the
st_tile used in internal clear (or reload) shaders. However, other
shaders (like those used with u_blitter) may have nir->info.internal
set, so we can't key off that. Instead, add a special key for this
optimization to ensure correctness with other internal shaders.
Fixes flaky tests in dEQP-GLES2.functional.color_clear.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18380 >
2022-09-04 18:05:31 +00:00
David Heidelberg
a03ce740bb
ci: set venus on lavapipe to manual due to flakes
...
Flakes too often, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/7093
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18405 >
2022-09-03 22:27:51 +02:00
Christian Gmeiner
912d0383b4
isaspec: Move isa_decode(..) declaration
...
The implementation of isa_decode(..) is already part of isaspec. So lets
move the function declaration and some related structs to a src/isaspec.
Also make the header C++ safe.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18403 >
2022-09-03 19:26:04 +00:00
Matt Coster
c0b891ecca
util: Include stddef.h in util/macros.h
...
This is required for offsetof, used by the container_of macro.
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18368 >
2022-09-03 17:09:37 +00:00
Thomas H.P. Andersen
714ac455e2
ci: remove missing-braces from no-error
...
The last warnings for missing-braces were fixed in !18307
Remove it from the no-error list on the clang build to catch regressions
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18404 >
2022-09-03 13:58:19 +02:00
Jason Ekstrand
6ffbb1abdb
vulkan: Dirty VP_VIEWPORTS/SCISSORS when copying viewports/scissors
...
The only reason why we didn't notice before is because ANV always
re-emits all scissors and viewports if the count changes.
Fixes: fcedb1250b ("vulkan: Add a common data structure for dynamic states")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18160 >
2022-09-03 05:41:50 +00:00
Mihai Preda
136a26f271
gallivm: fixes for LLVM-15 opaque pointers in lp_bld_format_soa.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
4ff7e64e81
gallivm: fixes for LLVM-15 opaque pointers in lp_bld_struct.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
02b9a8ba12
gallivm: fixes for LLVM-15 opaque pointers in lp_bld_format_s3tc.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
1b8c4931df
gallivm: fixes for LLVM-15 opaque pointers in lp_bld_jit_types.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
f30251ef9b
gallivm: fixes for LLVM-15 opaque pointers in lp_bld_nir_soa.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
8289ac87a4
gallivm: fixes for LLVM-15 opaque pointers in lp_bld_nir_aos.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
49c6e2fd70
gallium: drop unused macros in draw_llvm.h
...
The reason is that these macros use lp_build_struct_get(), which is
being replaced by lp_build_structure_get2() which takes the explicit
pointer type. Rather than attempt to update these unused macros, simply drop
them.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
3668ebf8bd
gallivm: drop unused "emit_load" in lp_llvm_buffer_member()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Mihai Preda
adf2895516
gallivm: LLVM-15 opaque pointers: disable LLVMGetElementType(ptr_type)
...
with opaque pointers, we can't query the element type of a pointer type
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334 >
2022-09-03 03:31:34 +00:00
Roland Scheidegger
08615f2807
llvmpipe: fix front/back face system value in the fs
...
draw needs to inject the face information for tris in line/point fill
mode since llvmpipe only sees lines and points. But for the new style
face information (which is a system value and not an ordinary input
register) we forgot to tell draw.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18285 >
2022-09-03 03:36:25 +02:00
Lionel Landwerlin
723ae2368f
vulkan: fixup 1.3.226 update
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18397 >
2022-09-02 23:45:21 +00:00
Lionel Landwerlin
7e282694ed
anv: remove non present field in upstream spec
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18397 >
2022-09-02 23:45:21 +00:00
Dawn Han
2a2766ce18
Enable .VALVE_mutable_descriptor_type in physical_device
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17505 >
2022-09-02 21:15:43 +00:00
Dawn Han
de5879447b
Track bitset when create descriptor pool
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17505 >
2022-09-02 21:15:43 +00:00
Dawn Han
d5f116feb5
Update bitset when init descriptor layout.
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17505 >
2022-09-02 21:15:43 +00:00
Dawn Han
7039467522
Increase enum type in vn_descriptor_set.
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17505 >
2022-09-02 21:15:43 +00:00
David Heidelberg
250c684750
ci: uprev piglit 2022-08-30
...
Acked-by: Juan A. Suarez <jasuarez@igalia.com > # for broadcom
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com > # for zink
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18318 >
2022-09-02 20:15:28 +00:00
Chia-I Wu
c93173fcec
util/perf: use ALWAYS_INLINE for tracepoints
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18309 >
2022-09-02 19:46:50 +00:00
Chia-I Wu
4d747d5690
util/perf: simplify u_trace_instrument
...
When ut_perfetto_enabled changes, update _u_trace_instrument as well.
This allows u_trace_instrument to check just a single variable.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18309 >
2022-09-02 19:46:50 +00:00
Chia-I Wu
18d7cb4abb
util/perf: add u_trace_instrument
...
It is called from tracepoints. When it returns false, instrumentation
is disabled.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18309 >
2022-09-02 19:46:50 +00:00
Chia-I Wu
aeb2c5a8da
util/perf: remove u_trace::enabled
...
We can set ut_trace_instrument when either GPU_TRACE or
GPU_TRACE_INSTRUMENT is set. This results in one less variable to check
in tracepoints.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18309 >
2022-09-02 19:46:50 +00:00
Chia-I Wu
8d8d4347e3
util/perf: ignore ut->enabled for iterators
...
With perfetto, instrumentation can be enabled in the middle of cmd
buffer recording even when ut->enabled is false. It might be better to
be consistent and ignore ut->enabled for iterators.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18309 >
2022-09-02 19:46:50 +00:00
Mike Blumenkrantz
8b15025a2b
mesa: add GLSL_SOURCE
...
many times I just want to dump glsl and not a trillion lines of IR
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18280 >
2022-09-02 19:15:44 +00:00
Marcin Ślusarz
9701b9098f
anv: enable EXT_mesh_shader
...
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
d5dedecfe7
anv: implement draw calls for EXT_mesh_shader
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
637063ffc6
anv: implement EXT_mesh_shader
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
b3354afd89
anv: replace VK_SHADER_STAGE_[TASK|MESH]_BIT_NV with VK_SHADER_STAGE_[TASK|MESH]_BIT_EXT
...
They have the same numerical values, so nothing changes.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
9cefaa9b6d
anv: check EXT_mesh_shader whenever NV_mesh_shader is checked
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Marcin Ślusarz
2e1b96bb1b
intel/compiler: implement EXT_mesh_shader
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18371 >
2022-09-02 17:40:47 +00:00
Emma Anholt
3ef13ef234
turnip: Treating non-d/s-write pipelines as not having d/s feedback loops.
...
A subpass in gfxbench has the depth buffer present, but not written to,
for a render pass using the depth buffer as an input attachment. We can
skip single-prim-mode and the associated "oh no don't use sysmem" in that
case.
Improves gfxbench vk-5-normal perf by 1.56193% +/- 0.0743035% (n=14).
Part of #6327 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18241 >
2022-09-02 16:47:02 +00:00
Marcin Ślusarz
14911e8f83
spirv, compiler: add "bool nv" to shader_info.mesh
...
Not knowing whether we deal with the NV or EXT extension
makes implementation difficult for Intel HW.
NV support will be dropped at some point, so
this ugliness will go away eventually.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
7d1bcf1f55
spirv, nir: Handle EmitMeshTasksEXT opcode.
...
A task shader must use this instruction to specify the dimensions
of the launched mesh shader workgroups.
It is a terminating instruction.
When the task shader doesn't have the optional payload, use the
pre-existing launch_mesh_workgroups intrinsics.
When the task shader has a payload, use a new
launch_mesh_workgroups_with_payload_deref intrinsics which has
a deref that refers to the payload variable.
We also add this new intrinsic to nir_lower_io which lowers this
to the pre-existing explicit intrinsic.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
42e906485c
spirv: Support TaskPayloadWorkgroupEXT storage class.
...
Just use the task_payload NIR storage class for this.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
a03c30bd8d
spirv: Support the CullPrimitiveEXT mesh shader built-in.
...
This is a per-primitive builtin output which indicates that a
primitive should be culled (deleted) from the output.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
c5c6cef893
spirv: Support EXT_mesh_shader SetMeshOutputsEXT.
...
Use the set_vertex_and_primitive_count intrinsic to
express the number of vertices and primitives that the
mesh shader workgroup outputs.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
b3cc09cff3
spirv: Support EXT_mesh_shader mesh/task stages.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
bbebc1fb35
spirv: Add mesh_shading capability for EXT_mesh_shader.
...
Indicates support for the EXT_mesh_shader SPIR-V capabilities.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
f6925b8446
spirv: Support EXT_mesh_shader indices and mark them per-primitive.
...
They are not defined as per-primitive in the EXT, but they behave
like per-primitive outputs so it's easier to treat them like that.
They may still require special treatment in the backend in order to
control where and how they are stored.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Timur Kristóf
c315e2e718
vulkan, spirv: Update to Vulkan 1.3.226 and latest SPIR-V headers.
...
Done using the "khronos-update.py" script, leaving out parts that
are not relevant to Vulkan.
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366 >
2022-09-02 16:18:33 +00:00
Alyssa Rosenzweig
3bf3c45ae8
pan/bi: Add and use bi_num_successors helper
...
Makes a few patterns easier to read.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
875a34160a
pan/bi: Add and use bi_replace_src helper
...
This is a common pattern. Make it more ergonomic. With the help of Coccinelle:
@@
expression E;
expression R;
expression instruction;
@@
-instruction->src[E] = bi_replace_index(instruction->src[E], R);
+bi_replace_src(instruction, E, R);
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
f01ccdbf69
pan/bi: Remove assert(bi_is_ssa(dest))
...
Prior to register allocation, destinations must be in SSA form, except for the
"fake SSA" briefly used in the current RA (for which bi_is_ssa returns true
anyway). These asserts duplicate the asserts in the validator. If there's any
coverage lost here, that's just a sign the validator needs to run more often.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
3fbd1e97d3
pan/bi: Strengenth assert in the validator
...
We should only see SSA now.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
98c69de80d
pan/bi: Add and use bi_foreach_ssa_src macro
...
Frequently, we want to iterate over the SSA variables read by an instruction,
while skipping over constants and uniforms. Add and use a macro for this
pattern. A few redundant asserts are removed.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
d3acfd9be8
pan/bi: Simplify bi_get_index prototype
...
2/3 of its arguments are now unused.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
93cf569b4a
pan/bi: Remove bi_max_temp
...
This is no longer needed given the flat indexing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
a4eebb556a
pan/bi: Inline node_to_index
...
One user, now trivial.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
46e6e99f09
pan/bi: Get rid of bi_get_node
...
Now that variables have flat naming (no more SSA/reg distinction), we can just
use .value directly. This cleans up the RA a bit.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
1699d98e8e
pan/bi: Remove NIR registers from the IR
...
They are now unused, so normal == SSA at this point.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:24 +00:00
Alyssa Rosenzweig
f6abcf534a
pan/bi: Move non-SSA liveness into RA
...
Now that non-SSA nodes are an internal implementation detail of RA, the
entrypoints should be made private to make sure no other passes use the
RA-specific liveness analysis.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
30528bac5a
pan/bi: Assume SSA for helper invocation analysis
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
94511618be
pan/bi: Assume SSA when translating NIR
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
fad0837ee3
pan/bi: Assume SSA when scheduling for pressure
...
This is much simpler now: entire hazards become impossible when the program is
kept in SSA form.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
f02f657a31
pan/bi: Assume SSA in minor passes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
334ab03b9f
pan/bi: Assume non-null sources in constant folding
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
efee0ddd91
pan/bi: Assume SSA in CSE
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
0e456da750
pan/bi: Assume SSA in mod prop
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
e94e6c49f1
pan/bi: Assume SSA in copyprop
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
8244965868
pan/bi: Don't use bi_temp_reg
...
We've already broken SSA irreparably at this point. We can just change what
"normal" means and avoid the disjointed indexing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
cefec430a3
pan/bi: Clear reg in squeeze_index
...
SSA is broken at this point. Let's not pretend otherwise. The numbering produced
by squeeze_index already disambiguates what-used-to-be SSA variables and
registers. A few shader-db changes because this shuffles the register allocation
around because LCRA is stupid.
total instructions in shared programs: 2658849 -> 2650196 (-0.33%)
instructions in affected programs: 463733 -> 455080 (-1.87%)
helped: 1089
HURT: 135
helped stats (abs) min: 1.0 max: 43.0 x̄: 8.20 x̃: 5
helped stats (rel) min: 0.11% max: 17.05% x̄: 2.28% x̃: 1.52%
HURT stats (abs) min: 1.0 max: 7.0 x̄: 2.07 x̃: 2
HURT stats (rel) min: 0.10% max: 2.97% x̄: 1.03% x̃: 0.83%
95% mean confidence interval for instructions value: -7.52 -6.62
95% mean confidence interval for instructions %-change: -2.04% -1.78%
Instructions are helped.
total cycles in shared programs: 140617.52 -> 140613.14 (<.01%)
cycles in affected programs: 227.45 -> 223.08 (-1.92%)
helped: 45
HURT: 1
helped stats (abs) min: 0.015625 max: 0.4375 x̄: 0.10 x̃: 0
helped stats (rel) min: 0.43% max: 17.72% x̄: 2.79% x̃: 1.29%
HURT stats (abs) min: 0.015625 max: 0.015625 x̄: 0.02 x̃: 0
HURT stats (rel) min: 1.47% max: 1.47% x̄: 1.47% x̃: 1.47%
95% mean confidence interval for cycles value: -0.12 -0.07
95% mean confidence interval for cycles %-change: -3.76% -1.64%
Cycles are helped.
total cvt in shared programs: 13877.61 -> 13742.41 (-0.97%)
cvt in affected programs: 3432 -> 3296.80 (-3.94%)
helped: 1089
HURT: 135
helped stats (abs) min: 0.015625 max: 0.671875 x̄: 0.13 x̃: 0
helped stats (rel) min: 0.18% max: 28.36% x̄: 5.05% x̃: 3.38%
HURT stats (abs) min: 0.015625 max: 0.109375 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.15% max: 8.33% x̄: 2.87% x̃: 2.27%
95% mean confidence interval for cvt value: -0.12 -0.10
95% mean confidence interval for cvt %-change: -4.46% -3.88%
Cvt are helped.
total quadwords in shared programs: 1442328 -> 1437776 (-0.32%)
quadwords in affected programs: 106240 -> 101688 (-4.28%)
helped: 478
HURT: 17
helped stats (abs) min: 8.0 max: 24.0 x̄: 9.81 x̃: 8
helped stats (rel) min: 1.54% max: 20.00% x̄: 5.27% x̃: 3.70%
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 1.61% max: 14.29% x̄: 6.42% x̃: 6.25%
95% mean confidence interval for quadwords value: -9.61 -8.78
95% mean confidence interval for quadwords %-change: -5.20% -4.54%
Quadwords are helped.
total threads in shared programs: 53557 -> 53550 (-0.01%)
threads in affected programs: 14 -> 7 (-50.00%)
helped: 0
HURT: 7
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: -1.00 -1.00
95% mean confidence interval for threads %-change: -50.00% -50.00%
Threads are HURT.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
7a5c8b920a
pan/bi: Clean up after converting to SSA
...
nir_invalidate_divergence was introduced in aa765c54bd ("pan/bi: Add divergent
intrinsic lowering pass"), which needed divergence information for a late NIR
pass but not otherwise in the backend. Unfortunately, nir_convert_from_ssa is
less aggressive about coalescing when divergence information makes it look like
the coalescing would make the code worse -- even though that's not actually an
issue on Mali.
Now that we don't use nir_convert_from_ssa, we don't need the hack.
Likewise for the vec.reg hack, which was introduced because the split/collect
cache relies on SSA form.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
28a9486f3a
pan/bi: Preserve SSA form from NIR
...
Don't call nir_convert_from_ssa, preserve the SSA from NIR. This gets us real
SSA for all frontend passes. The RA becomes a black box that takes SSA in and
outputs register allocated code out. The "broken" SSA form never escapes RA,
which means we can clean up special cases in the rest of the compiler. It also
gets us ready for exploiting SSA form in the RA itself.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
8fb415fee2
pan/bi: Reduce some moves when going out-of-SSA
...
This is still pretty brainless.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
9c18873017
pan/bi: Add brainless out-of-SSA pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
6c5ab777ee
pan/bi: Add SSA-based liveness pass
...
Adapted from NIR's liveness analysis. This is different from our non-SSA
liveness pass for a few reasons:
1. It must handle phi nodes. This implies significant changes to the worklist
algorithm.
2. It only handles SSA. It doesn't need funny labelling schemes for
handling nir_registers in parallel with SSA defs.
3. It is scalar-only. The vector liveness information isn't interesting when
vectors are handled via COLLECT and SPLIT. This means it uses a bitset (uses
8x less memory to store livenss information, should be easier on the caches
too).
Eventually, this will become our only pre-RA liveness pass. For now, both passes
are maintained in parallel: the SSA pass used before out-of-SSA, the non-SSA
pass used after out-of-SSA and before RA, and the post-RA pass used after RA.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
0a83748c54
pan/bi: Translate phis from NIR
...
Code lifted from AGX, which in turn is based on ir3 and aco.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
2896b462c5
pan/bi: Inline DCE into bi_lower_vector
...
This needs on after going out-of-SSA, which is a separate DCE algorithm. Split
out.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
7631e5a514
pan/bi: Validate before&after pre-RA sched
...
Pre-RA scheduling can move instructions around in nontrivial ways, yet it must
maintain the IR's ordering invariants (for preloads, phis, etc.) Running
validation before and after makes scheduler bugs more obvious.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
563d98c5c6
pan/bi: Don't reorder phis in pre-RA scheduling
...
Treat them like preloads which are also required to be at the start of the
block.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
ebfc5b919f
pan/bi: Don't optimize if without else
...
We need to emit a jump over the else body when constructing the IR, even if the
else body appears empty in NIR, because instructions could be added when
going out-of-SSA. This optimization should instead happen post-RA, but doing so
is nontrivial and the cycle count regression is minimal, so punting on this for
now.
total instructions in shared programs: 2728364 -> 2731495 (0.11%)
instructions in affected programs: 580462 -> 583593 (0.54%)
helped: 0
HURT: 1272
HURT stats (abs) min: 1.0 max: 17.0 x̄: 2.46 x̃: 2
HURT stats (rel) min: 0.09% max: 22.22% x̄: 0.88% x̃: 0.59%
95% mean confidence interval for instructions value: 2.37 2.56
95% mean confidence interval for instructions %-change: 0.80% 0.97%
Instructions are HURT.
total cycles in shared programs: 140628.52 -> 140631.50 (<.01%)
cycles in affected programs: 474.45 -> 477.44 (0.63%)
helped: 0
HURT: 116
HURT stats (abs) min: 0.015625 max: 0.0625 x̄: 0.03 x̃: 0
HURT stats (rel) min: 0.21% max: 9.09% x̄: 1.16% x̃: 0.39%
95% mean confidence interval for cycles value: 0.02 0.03
95% mean confidence interval for cycles %-change: 0.88% 1.43%
Cycles are HURT.
total cvt in shared programs: 14816.20 -> 14865.12 (0.33%)
cvt in affected programs: 4954.31 -> 5003.23 (0.99%)
helped: 0
HURT: 1272
HURT stats (abs) min: 0.015625 max: 0.265625 x̄: 0.04 x̃: 0
HURT stats (rel) min: 0.16% max: 28.57% x̄: 1.88% x̃: 1.17%
95% mean confidence interval for cvt value: 0.04 0.04
95% mean confidence interval for cvt %-change: 1.74% 2.02%
Cvt are HURT.
total quadwords in shared programs: 1476536 -> 1478512 (0.13%)
quadwords in affected programs: 54496 -> 56472 (3.63%)
helped: 0
HURT: 247
HURT stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
HURT stats (rel) min: 0.93% max: 20.00% x̄: 5.78% x̃: 4.17%
95% mean confidence interval for quadwords value: 8.00 8.00
95% mean confidence interval for quadwords %-change: 5.21% 6.34%
Quadwords are HURT.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
49e8f660f5
pan/bi: Remove bogus assert lowering branches
...
We can get BRANCHZ.i16 since we lower JUMP early. This seems to have worked
before mainly by chance. With the change to how we optimize, we can get code
sequences like:
block2 {
BRANCHZ.i16.eq u256, u256 -> block5
BRANCHZ.i16.eq u256, u256 -> block4
} -> block5 from block1
which would choke the assert.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
a01e6b6dc7
pan/bi: Don't lower FAU for phis
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
694578ee54
pan/bi: Validate phi ordering
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
69cdcd1c41
pan/bi: Add phi nodes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
181ed2d99a
pan/bi: Lift bi_predecessor_index helper
...
From AGX for handling phi node.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
a2affda89d
pan/bi: Add bi_after_block_logical helper
...
Useful for lowering phis.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
29f53ee8bb
pan/bi: Don't write registers in optimizer tests
...
The new SSA-based dead code elimination won't know how to deal with code of that
funny form. In actuality it doesn't have to, so we just make sure the optimizer
tests produce valid IR so this works as expected.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
e68b7531ca
pan/bi: Dynamically allocate source/dests
...
Instead store a pointer to the storage. Ideally even these pointer would be
removed but that's quite cumbersome in C...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
8006e98243
pan/bi: Reduce memory of scheduler access array
...
Now that we have accurate source/dest counts, we don't need to worst case. Which
is good, because the worst case will become infinite once we allow phis.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
e118a0e731
pan/bi: Use builder for atomic lowering in scheduler
...
The last places where sources are appended. Fix them and we can move on.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
692a2580eb
pan/bi: Use builder for IADD -> IADDC opt
...
As before.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
fd42780337
pan/bi: Use builder for MUX -> CSEL opt
...
This is yet another case where we add a source, which will require reallocation.
It's easy enough to rebuild the instruction here.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
de1702ef03
pan/va: Use builder in va_lower_isel
...
..where necessary to avoid appending sources. This removes a bunch more cases
where we would need to reallocate sources. The lifetime management is simpler if
we just reallocate the whole instruction. In theory this is a slight overhead
but it's probably worth it to avoid the complexity otherwise.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
d599deea7f
pan/bi: Rebuild DISCARD when optimizing
...
This avoids incrementing I->nr_srcs which will soon be invalid.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
6482c8084d
pan/bi: Rebuild some instructions when lowering
...
When we add a source, we need to build a new instruction (or at the very least
reallocate sources). This is less of a hack anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
50995dcb90
pan/bi: Use safe helpers to remove srcs/dests
...
Changing I->nr_srcs or I->nr_dests directly is generally unsafe, but the special
case of removing sources/destinations at the end is safe. Add and use helpers to
wrap this operation simplifying the remaining code audit before we can
dynamically allocate sources/destinations.
At this point in the series, nothing modifies I->nr_dests after allocation
except these helpers, so destinations should be safe to make dynamic. There's a
bit more work needed for sources.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
9c45ce309d
pan/bi: Use variable src/dest for collect/split
...
This avoids the nr_srcs/nr_dests setting dance, and will allow the builder to
handle the required memory allocation when we switch to dynamic src/dest
allocation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
9bb2ac4d8c
pan/bi: Add variable dest/src support to builder
...
This will allow pseudo instructions to be allocated in a cleaner way when we
dynamically allocate their sources/destinationa.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
8424ef2b7a
pan/bi: Don't read nonexistant sources
...
Codebase audit. In preparation to dynamically allocate sources.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
de41fd00a5
pan/bi: Don't read nonexistant destinations
...
Codebase audit. In preparation to dynamically allocate destinations.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
8375717de3
pan/bi: Assume destinations are non-NULL
...
We guarantee this now, no need to check it in every pass. There's an exception
on Bifrost after clause scheduling, but few passes run after clause scheduling
so this doesn't affect much.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
e5b3faf5aa
pan/bi: Assert destinations are non-NULL
...
All uses of null destinations have been replaced with more appropriate
constructs. We can now assume this throughout.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
9ec157c482
pan/bi: Introduce TEXC_DUAL psuedoinstruction
...
There are two "shapes" of TEXC in the IR:
* Regular texturing. This TEXC writes a single set of staging registers.
* Dual texturing. This TEXC writes two sets of staging registers.
Currently we model both with a 2-destination TEXC, with a null second
destination for the usual case where dual texturing isn't used. This is awkward.
To make the "shapes" of instructions more predictable, make TEXC only write a
single set of staging registers (like the hardware instruction) and split off a
TEXC_DUAL pseudoinstruction for the second case, lowered late.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
338f6f9036
pan/bi: Use bi_emit_split_i32 for trimming vecs
...
This ensures the shape of the split is correct (no nulls in the destination).
This should not affect the register allocation, though it does "cost" extra
variable names.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
75a721f3a8
pan/bi: Don't remove dests in DCE
...
Removing dests without removing instructions only makes sense for certain
pseudo-instructions, but it makes the IR needlessly complicated for all
instructions. There's no real reason to do so, we can signal this in a different
way instead.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
f52de4621a
pan/bi: Register allocate BLEND dest on Valhall
...
On Bifrost, BLEND writes to the link register, acting like a function call. On
Valhall, BLEND does not write anything. But the BLEND instruction in our IR is a
pseudo-instruction with Bifrost semantics, expanding to a multi-instruction
sequence on Valhall. So it's not worth special casing Valhall in instruction
selection.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
1bca6059b2
pan/bi: Improve register printing
...
Use "r0" style to denote machine registers, consistent with the assembly. Use
instead "nr0" for NIR registers so they don't collide. This reduces noise for
the average case (either register allocated or almost SSA).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
aaa2fa4e7a
pan/bi: Clean up destination printing
...
Now we can trust in I->nr_dests, avoiding a bunch of special cases and incorrect
printing for instructions without a destination. To compensate for those
instructions being hard to scan now, indent.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
4f8ee2c00e
pan/bi: Remove trivial dest[0] = bi_null()
...
It's already NULL and will interfere with the more comprehensive src/dest
overwork we're doing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
662b866e1b
pan/bi: Add validation for nr_srcs/nr_dests
...
Now that we set nr_srcs/nr_dests accurately, assert as much in the validator.
This pass will be deleted later in the series, but having it here is expected to
be useful for bisection, in case there are cases missed. Certainly running the
CTS at this point in the series is helpful to prove completeness of the
beginning of this series.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
63051b68d7
pan/bi: Use nr_{srcs,dests} in bi_foreach_{src,dest}
...
This avoids crawling sources that must be null.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
9176182a1e
pan/bi: Consider nr_srcs/dests in CSE
...
Now that these are meaningful for COLLECT and SPLIT.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
0bef566fba
pan/bi: Model 3rd source for ATEST
...
ATEST on Valhall takes atest-param as an explicit encoded source. The source
also exists on Bifrost, but it's implied in the encoding. Rather than treating
it as a "ghost" source, model it in the IR explicitly so the count is correct.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
42b815397c
pan/bi: Set I->nr_dests, I->nr_srcs
...
The builder is the primary producer of instructions, and generally the shape of
an instruction is fixed at build-time. It must set nr_dests/nr_srcs
appropriately. Likewise, when we modify sources later, we need to update
nr_srcs/nr_dests to keep everything consistent (and keep the tests passing).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
b25c42d8ae
pan/va: Split out compare instructions
...
The different combine modes form different instructions from each other and in
particular from the two-source version on Bifrost. Model them as such so we can
represent the relevant Valhall-specific lowering/optimizations accurately in the
compiler.
This requires updating the unit tests to use the new names since there's not
much point keeping around the aliases.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
40bf6da4a4
pan/bi: Model [IF]CMP_{OR,AND,MULTI} ops
...
Valhall-style comparisons are 3-source, allowing multiple comparisons to be
combined without bitwise arithmetic. For example, the sequence
FCMP.f32.eq t, z, w
FCMP_AND.f32.eq dest, x, y, t
calculates (z == w) && (y == t) in 2 instructions (would be 3 on Bifrost).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
d0aaf52602
pan/bi: Consider all dests in helper_block_update
...
If an instruction has multiple destinations and *any* of them are needed by
helper invocations, we should keep helper invocations alive. This is a bug fix.
Consider the GLSL:
first = texture(sampler, ...);
float res = texture(sampler, vec2(first.y)).x + first.x;
Corresponding to the IR:
first = ...
x, y, z, w = SPLIT first
second = TEX y, y
x', y', z', w' = SPLIT second
FADD res, x, x'
Here, x is not required by helper invocations (the coordinates to TEX) while y
is required. If we only look at only the first destinations, we incorrectly
decide that first is not required and fail to set the .skip bit, leading to
incorrect results.
Fixes: 5febeae58e ("pan/bi: Emit collect and split")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Alyssa Rosenzweig
b5a6375f54
pan/bi: Fix out-of-bounds write in va_lower_split_64bit
...
...with dual source blending. Fixes shaders/dolphin/smg.1.shader_test
There are more IR sources than Valhall machine sources here.
Fixes: b48933d641 ("pan/va: Include BLEND for va_swap_12")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17794 >
2022-09-02 16:03:23 +00:00
Yonggang Luo
b66282d443
gallium/hud: Fixes compile error in hud/hud_context.c:
...
../../src/gallium/auxiliary/hud/hud_context.c:1017:1: error: static declaration of 'access' follows non-static declaration
These error will shown when any header #include <io.h>
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/18333 >
2022-09-02 15:34:11 +00:00
Thomas H.P. Andersen
ded4fc48a3
r600: fix warnings for missing-braces on clang
...
[2624/3754] Compiling C++ object src/gallium/drivers/r600/sfn/tests/libr600_test.a.p/sfn_test_shaders.cpp.o
../src/gallium/drivers/r600/sfn/tests/sfn_test_shaders.cpp:3066:27: warning: suggest braces around initialization of subobject [-Wmissing-braces]
r600_shader_key key = {0};
^
{}
1 warning generated.
[2711/3754] Compiling C++ object src/gallium/drivers/r600/libr600.a.p/sfn_sfn_nir_lower_64bit.cpp.o
../src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp:910:33: warning: suggest braces around initialization of subobject [-Wmissing-braces]
nir_const_value val[4] = {0};
^
{}
../src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp:1328:38: warning: suggest braces around initialization of subobject [-Wmissing-braces]
nir_ssa_scalar channels[4] = { 0 };
^
{}
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18307 >
2022-09-02 15:06:28 +00:00
Thomas H.P. Andersen
16e9d1b528
d3d12: fix warnings for missing-braces on clang
...
[3485/3754] Compiling C++ object src/gallium/drivers/d3d12/libd3d12.a.p/d3d12_screen.cpp.o
../src/gallium/drivers/d3d12/d3d12_screen.cpp:56:65: warning: suggest braces around initialization of subobject [-Wmissing-braces]
static GUID OpenGLOn12CreatorID = { 0x6bb3cd34, 0x0d19, 0x45ab, 0x97, 0xed, 0xd7, 0x20, 0xba, 0x3d, 0xfc, 0x80 };
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ }
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18307 >
2022-09-02 15:06:28 +00:00
Mike Blumenkrantz
7437c8f7d5
llvmpipe: don't assume pipe_context is always available in flush_frontbuffer
...
Fixes: 91dcadf956 ("llvmpipe: finish rendering before flushing frontbuffer resources.")
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18392 >
2022-09-02 10:42:29 -04:00
Alyssa Rosenzweig
c5b9a01fea
pan/bi: Fix dual texturing with uniforms
...
The GLSL code sequence:
texture2D(tex0, u_coords) + texture2D(tex1, u_coords)
will be optimized to
TEXC_DUAL tex0/tex1, u_coords, #texture_descriptor
If this optimization happens after lowering FAU, the resulting TEXC instruction
is unschedulable: both the uniform and the constant descriptor fight for the
same FAU slot.
However, if this optimization happens before lowering FAU, then the FAU lowering
will move the descriptor into a register, complicating the dual texturing fixup
in RA.
To fix this interaction, fuse dual texturing before lowering FAU and keep
texture descriptors as constants when lowering FAU of TEXC.
Fixes scheduling failure in piglit drawoverhead -test 3 with uniform reordering.
Fixes: a4d3a29647 ("pan/bi: Enable dual texture fusing pass")
Fixes: 6b2eda6b72 ("pan/bi: Reorder pushed uniforms to avoid moves")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18378 >
2022-09-02 12:44:08 +00:00
Erik Faye-Lund
d01cbced85
mesa/st: do not blit when using compressed fallback
...
If we're using the blit-path, we don't update the compressed image, which
will be needed if an application try to download the texture-image again
afterwards.
I previously fixed this for the memcpy-codepath, but we actually need to
fall back for the blit code-path as well. So let's move this early-out
earlier to catch both.
Fixes: 8f446322e1 ("mesa/st: do not use memcpy when using compressed fallback")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18342 >
2022-09-02 10:42:40 +00:00
Lionel Landwerlin
802fa57274
anv/hasvk: tweak loading failure messages
...
We don't want to print out too many :
MESA: error: ../src/intel/vulkan/anv_device.c:769: anv does not support Intel(R) HD Graphics (HSW GT1); use hasvk (VK_ERROR_INCOMPATIBLE_DRIVER)
whenever anv is not able to load on a HSW device. Similarly hasvk
should not print error on anything gfx9+.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
bc68e7b564
anv: Remove anv_batch_emit_reloc and just open-code it
...
We don't need the relocation offsets anymore, and just want to pin the
BO, and combine the address into a uint64_t. We can just open code
those two things; it's actually less code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
479a999637
anv: Inline write_reloc into the only remaining caller
...
This is writing an address and clflushing, but it's not really about
execbuf relocations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
b4677718f3
anv: Drop offset from anv_reloc_list_append
...
No longer used.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
02fed5bb32
anv: Make a helper function for pinning a state pool's BOs
...
A bit less duplicated code, though with all the success checking, it
doesn't actually save us a whole lot.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
fde5c903c0
anv: Delete has_bindless_images and has_bindless_samples flags
...
These are always true now.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
9cb57c9a7a
anv: Delete has_a64_buffer_access flag
...
It's always true.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
c5f7e1f5b4
anv: Delete relocation support from batch submission
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
3fd4a294f5
anv: Delete wrapper BOs for relocations
...
These were only used in the non-softpin case.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
7b7381e8d7
anv: Delete anv_reloc_list_add()
...
We don't need the offset to write a relocation at any longer, so all
it does is call anv_reloc_list_add_bo() at this point. Just use that.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
4b5c29bad0
anv: Delete softpin checks
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
215b1b69cb
anv: Delete use_relocations flag
...
There are no relocations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
97b98dcea9
anv: Drop state pool relocation munging
...
Now that the state pool's center is always 0, this is not needed.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
8cfe23a1e1
anv: Delete "back" allocation from anv_block_pool
...
This was only used with relocations.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
8fcaf1b921
anv: Delete relocation support from anv_block_pool
...
We no longer use relocations.
v2: silence fedora builder warning
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
5d3fc2e091
anv: Delete "back" allocation from state pool
...
This was only used with relocations, which no longer happen.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
05adcd1d0f
anv/tests: Don't use relocations in a test case
...
We won't support relocations shortly.
v2: Deal with softpin padding requirement (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
936ec9caae
anv/tests: remove back allocation tests
...
We'll remove driver code for this in the following commits.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
f34975cdf9
anv: Delete shader constants UBO from descriptor sets
...
We now always softpin and use the load_global_constant case, so there's
no need to set up a UBO for NIR constants.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
7abb6f8e72
anv: Delete batch buffer growing code.
...
This was only needed on Haswell and older due to the kernel command
parser not allowing us to chain batches. anv no longer support this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
428f07d906
anv: Delete image param support.
...
This was only used prior to Skylake, which anv no longer supports.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
3daeb22735
anv: Drop checks for version 8 or 9
...
anv no longer supports versions below this.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Kenneth Graunke
8dcca7f47f
anv: Fail to create a device on ver < 9
...
These are now only supported by hasvk.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
a659819f79
anv: remove unused gfx7 code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
1a77f83c2b
anv: remove support for gfx7/8
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
ba1cc06770
anv: silence fedora build warning
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
d8e2d227ef
hasvk: remove mesh code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
6cbaaf27ab
hasvk: remove ray tracing code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
4488253570
hasvk: remove acceleration structure code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:46 +00:00
Lionel Landwerlin
00eefdcd03
hasvk: stop advertising Vk 1.3 on non-softpin
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:45 +00:00
Lionel Landwerlin
daf108ee14
hasvk: remove entrypoints for gfx9+
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:45 +00:00
Lionel Landwerlin
50013ca9a5
intel: add a hasvk vulkan driver
...
This new driver is a copy of the current Anv code, it will only load
on gfx7/8 platforms though.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18208 >
2022-09-02 09:40:45 +00:00
Frank Binns
0013ef89bf
pvr: remove image pointer from image view struct
...
A pointer is also stored in the base vk_image_view struct, so we can use this
one instead.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18373 >
2022-09-02 09:21:54 +00:00
Jordan Justen
65c9a810ee
intel/pci_ids: Add dg2 0x5698 pci-id
...
This motherboard-down pci-id was added in kernel commit 8618b8489ba6
("drm/i915: DG2 and ATS-M device ID updates").
Ref: bspec 44477
Ref: https://patchwork.freedesktop.org/patch/msgid/20220701152231.529511-2-matthew.d.roper@intel.com
Fixes: ad565f6b70 ("intel/dev: Enable first set of DG2 PCI IDs")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18385 >
2022-09-02 07:32:12 +00:00
Samuel Pitoiset
8fed0add86
radeonsi/ci: trigger radeonsi-raven-skqp for any RADV changes
...
Otherwise SKQP VK won't be run.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7120
Co-authored-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18316 >
2022-09-02 07:05:57 +00:00
Jordan Justen
91fec2657a
intel/pci_ids: Update DG2 device names
...
Ref: bspec 44477
Ref: https://www.intel.com/content/www/us/en/products/details/discrete-gpus/arc/arc-a-series.html
Cc: mesa-stable
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18303 >
2022-09-02 05:58:09 +00:00
Jordan Justen
9283ffec14
intel/pci_ids: Update ATS-M device names
...
Ref: bspec 44477
Ref: https://www.intel.com/content/www/us/en/products/details/discrete-gpus/data-center-gpu/flex-series/products.html
Cc: mesa-stable
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18303 >
2022-09-02 05:58:09 +00:00
pal1000
f23dbcd642
meson: Only draw with llvm depends on native directly
...
Tests, softpipe or AMD drivers don't depend on it directly
Fixes: 3955dd07 ("meson/gallium: Add an option to not use LLVM for gallium draw module")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6817
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Tested-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17675 >
2022-09-02 03:24:20 +00:00
Yonggang Luo
c59e913e91
ci/fedora: Re-enable vulkan-layers=device-select,overlay
...
Fixes: ace13203f3 ("ci: remove broken device-select-layer from build")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18044 >
2022-09-02 02:49:55 +00:00
Yonggang Luo
89772d726f
ci: Add debian-clang-release build pipeline
...
As the default build type is debug according to
.gitlab-ci/meson/build.sh, the specified line is:
-D buildtype=${BUILDTYPE:-debug}
So we use release for building optimized version for testing
if the compiler optimization are fine.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18044 >
2022-09-02 02:49:55 +00:00
Yonggang Luo
599be8326b
ci: Enable all possible meson build options for clang
...
By doing this to makes more code be compiled with clang and guarded by bot
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18044 >
2022-09-02 02:49:55 +00:00
Yonggang Luo
c6979d97e4
ci: Enable GALLIUM_DUMP_CPU=true only in the clang job
...
This is used to show the cpu caps when running unit tests.
As clang have optimization bug about util_get_cpu_caps before, so
we monitor it by using GALLIUM_DUMP_CPU=true
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/18044 >
2022-09-02 02:49:55 +00:00
Yonggang Luo
5adf2702a9
ci: EXTRA_OPTIONS -> EXTRA_OPTION for debian-clang
...
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/18044 >
2022-09-02 02:49:55 +00:00
Jose Fonseca
d43c5b1d19
util: Add macro util_get_cpu_caps in u_cpu_detect.c for avoid accidentally call it in u_cpu_detect.c
...
Signed-off-by: Jose Fonseca <jfonseca@vmware.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
40541e3479
docs: document LP_NATIVE_VECTOR_WIDTH GALLIUM_OVERRIDE_CPU_CAPS GALLIUM_NOSSE LP_FORCE_SSE2
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
2918856014
llvmpipe: Enable avx512 support in llvm
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
f92cadccc6
llvmpipe: Always using util_get_cpu_caps to get cpu caps for llvm on x86
...
As we can override cpu features with environment variables, so always using util_get_cpu_caps
instead llvm::sys::getHostCPUFeatures to get cpu features is a better option
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
0244b1858f
util: add support for detecting avx512 vector bit size
...
Default to 256 until we're confident llvmpipe with 512 is
as correct and not slower than 256
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
d240fb150f
util: Move the detect of max_vector_bits into u_cpu_detect.c
...
has_avx2 implies has_avx, so have no need check then both
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
33b29ecdc9
util: Add ssse3 and avx cpu caps override option
...
llvmpipe can use these options to testing ssse3 and avx on cpus that support for avx512
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
5b18b46cfe
util: Refactoring check_cpu_caps_override out
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
1c861a18d7
meson: bump the minimal required llvm version to 5.0.0
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Yonggang Luo
f47ca35077
llvmpipe: Remove llvm version guard LLVM_VERSION_MAJOR <=> 4
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813 >
2022-09-02 01:51:42 +00:00
Igor Torrente
1ebfa00bc5
venus: Fix dEQP-VK.pipeline.timestamp.calibrated.host_domain_test failure
...
The current implementation is getting its clock value from the host
and this value is not guaranteed to be the same as the VM guest.
This commit implements the CLOCK_MONOTONIC[_RAW] natively.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18281 >
2022-09-02 00:54:24 +00:00
Igor Torrente
a0b08e2858
radv: anv: Use the new vk_clock_gettime and vk_time_max_deviation
...
functions
Removes the duplicated code and start using the new common
code.
v2: split anv/radv parts to separate commits
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com > (v1)
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18281 >
2022-09-02 00:54:24 +00:00
Igor Torrente
8c73b37e59
vulkan: Add vk_clock_gettime and vk_time_max_deviation
...
These two new function are based on {anv,radv}_clock_gettime
and some other common code between radv and anv.
These new functions allow these drivers to share code and
more drivers can use it in the future.
v2: Drop the anv/radv changes in this commit (Yiwei Zhang)
v3: Add #ifndef _WIN32
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com > (v1)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com > (v1)
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18281 >
2022-09-02 00:54:24 +00:00
Chia-I Wu
fe607547dc
freedreno: get cpu timestamp again after FD_TIMESTAMP
...
Same as commit 91a0411d2a ("turnip: improve perfetto sync_timestamp"),
but for freedreno.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18379 >
2022-09-02 00:37:17 +00:00
Mike Blumenkrantz
6d668cb34d
vulkan: initialize a variable
...
../src/vulkan/runtime/vk_fence.c: In function ‘vk_common_CreateFence’:
../src/vulkan/runtime/vk_fence.c:160:12: warning: ‘fence’ may be used uninitialized [-Wmaybe-uninitialized]
160 | *pFence = vk_fence_to_handle(fence);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/vulkan/runtime/vk_fence.c:154:21: note: ‘fence’ was declared here
154 | struct vk_fence *fence;
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18119 >
2022-09-02 00:13:27 +00:00
Mike Blumenkrantz
da1a3ed2ea
zink: don't emit illegal interpolation
...
this is not valid for vertex inputs or fragment outputs
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18365 >
2022-09-01 23:49:47 +00:00
Mike Blumenkrantz
fe05daeea7
zink: don't set MUTABLE by default
...
this is only used by texture views, so use the same mechanism as STORAGE
to add the flag only as-needed
the mutable flag must be set before create_ivci is called for the imageview,
so zink_resource_object_init_mutable() is moved out to the callers of
zink_get_surface instead of being conveniently located in that function
fixes #7174
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18358 >
2022-09-01 23:27:28 +00:00
Mike Blumenkrantz
64aaabffdc
zink: avoid needing mutable for z/s sampling
...
the aspect flags should be sufficient to determine which component the
imageview is created for, which means this can avoid changing the format
here to retain the immutable format
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18358 >
2022-09-01 23:27:28 +00:00
Mike Blumenkrantz
cd00a36d47
zink: only add srgb mutable for images with modifiers
...
these are supposed to be for dmabuf handling, so checking for mutable
swapchain is both pointless and wrong
Fixes: 28ee911ad6 ("zink: handle mutable swapchain images with dmabuf")
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18358 >
2022-09-01 23:27:28 +00:00
Mike Blumenkrantz
3ad58642bf
zink: store VkImageViewUsageCreateInfo for surface creation
...
this otherwise breaks surface rebinds if used since the pointer
will be a garbage stack value
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18358 >
2022-09-01 23:27:28 +00:00
Mike Blumenkrantz
d9b8f8d46c
zink: explicitly use unsigned types for bit shifts
...
fixes some ubsan errors
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18358 >
2022-09-01 23:27:28 +00:00
Emma Anholt
08548650bd
turnip: Enable lowering of mediump temps/CS shared to 16-bit.
...
In Aztec Ruins, we end up storing some big shared-mem arrays as 16-bit,
cutting shared mem size in half across many shaders while also reducing
conversions. gfxbench vk-5-normal perf +0.364983% +/- 0.189764% (n=4).
fossil-db:
Totals from 448 (2.99% of 14988) affected shaders:
MaxWaves: 6154 -> 6390 (+3.83%); split: +3.96%, -0.13%
Instrs: 174554 -> 165045 (-5.45%); split: -6.45%, +1.01%
CodeSize: 364224 -> 345558 (-5.12%); split: -6.03%, +0.90%
NOPs: 48224 -> 48024 (-0.41%); split: -3.33%, +2.91%
MOVs: 6985 -> 6104 (-12.61%); split: -19.11%, +6.50%
Full: 4577 -> 4101 (-10.40%); split: -11.08%, +0.68%
(ss): 3428 -> 3335 (-2.71%); split: -4.17%, +1.46%
(sy): 1250 -> 1205 (-3.60%); split: -4.72%, +1.12%
(ss)-stall: 14695 -> 14528 (-1.14%); split: -2.25%, +1.12%
(sy)-stall: 19565 -> 17998 (-8.01%); split: -9.55%, +1.54%
STPs: 1086 -> 870 (-19.89%)
LDPs: 162 -> 108 (-33.33%)
Cat0: 51400 -> 51120 (-0.54%); split: -3.31%, +2.76%
Cat1: 16861 -> 14688 (-12.89%); split: -18.18%, +5.30%
Cat2: 71161 -> 68454 (-3.80%); split: -4.52%, +0.72%
Cat3: 29572 -> 25306 (-14.43%); split: -14.49%, +0.06%
Cat4: 3128 -> 3131 (+0.10%)
Cat5: 1502 -> 1506 (+0.27%)
Cat6: 840 -> 750 (-10.71%)
aztec ruins is a big winner with the ldp/stp reductions. summoners_war
racks up an astounding 41% reduction in instructions and +15% max_waves.
Most affected apps show a minor win in instrs, with
fallout_shelter_online, and aztec ruins on ANGLE taking minor hits.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18259 >
2022-09-01 22:39:39 +00:00
Emma Anholt
e1588cdf9e
spirv: Mark phis as mediump instead of directly lowering them to 16 bit.
...
This reverts commit 6f25d45877 , replacing it
with GLSL_PRECISION_MEDIUM. The previous commit ended up not being the
right approach, as it affected only nir vars for spirv phis and not other
nir vars, and we want a tool that does both. The new
nir_lower_mediump_vars pass can do that for you.
No fossil-db change for my angle fossils run on radv.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18259 >
2022-09-01 22:39:39 +00:00
Emma Anholt
0cee5f3918
nir: Add a pass to lower mediump temps and shared mem.
...
SPIRV and GLSL are reasonable at converting ALU ops to mediump, but
variable storage would be wrapped in a 2f32/2mp on store/load, and if
nir_vars_to_ssa doesn't make that storage go away then you'd have extra
conversions. For compute shader shared mem, you'd waste memory too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18259 >
2022-09-01 22:39:39 +00:00
Alyssa Rosenzweig
65c00ba7cb
ail: Add unit tests for miptree layouts
...
The equations for calculating miptree offsets are complicated,
nonobvious, and full of subtle footguns. Worse, the driver doesn't
control the offsets -- it must simply agree with the offsets
implicitly calculated in the hardware. The CTS doesn't adequately
exercise all the corner cases. Make sure we have unit tests that do.
The tests themselves are generated by instrumenting agxdecode to scan
GPU memory after uploading test patterns in a variety of layout with a
Metal application.
Thank you to Asahi Lina and Dougall Johnson for the reverse-engineering
that led to this. The tests selected here are a subset of those used for
the reverse-engineering. The full set may be found in Lina's tilecalc
repo:
https://github.com/asahilina/tilecalc
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
1f89e67883
asahi: Rename our fake twiddled DRM modifier
...
To account for non-64x64 tile sizes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
4ed9843a26
asahi: Advertise ASTC formats
...
Now that we have layout and tiling code that can handle block-compressed
formats, including the non-square blocks found with some ASTC formats,
we can advertise ASTC formats. Passes dEQP-GLES3.*astc* which
exercises everything here. (These tests passed before by decompressing
the textures to RGBA8 UNORM in the frontend, but it's much more
efficient to use real ASTC textures as done here.)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
c71e84b37e
asahi: Advertise ETC1
...
ETC2 is backwards compatible with ETC1, we just need to declare the
format mapping.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
1044cfa49b
asahi: Fix is_format_supported returns
...
Gallium can test multiple binds at once, we need to return the logical
AND, not the OR.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
b37b8eabd3
asahi: Handle 2-channel sRGB textures
...
I'm not sure why we need to set this magic bit, but this fixes the
non-depth_component portion of
dEQP-GLES3.functional.texture.format.sized.*, e.g
dEQP-GLES3.functional.texture.format.sized.cube.srgb_rg8_pot
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
464f59f723
ail: Rewrite tiled memcpy for correctness
...
Move tiling.c into ail, using ail data structures and helpers to manage
the tiling. This fixes a staggering number of issues with the tiling
routines:
* NPOT block sizes defeatured. The hardware only supports POT block
sizes. There's no need to handle anything else.
* Use ail to determine tile sizes, instead of the broken
agx_select_tile_shift routine that didn't work for non-square tile
sizes (for instance).
* Handle up to 128x128 tiles, as required by 8bpp textures.
* Handle non-square tiles. If the block size is not a multiple of 4, the
tile size will be of the form 2n x n. This is easy with the ail_tile
data structure, but not possible architecturally with
agx_select_tile_shift. This is required for 16bpp and 64bpp textures.
* Express in terms of elements instead of pixels, using unit
suffixes to make the dimensional analysis obvious. In particular this
handles tiling of block-compressed textures by tiling the blocks
themselves. This is required for block-compressed textures (internally handled
like smaller 64bpp textures).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
6ff75da8aa
ail: Introduce image layout module
...
Introduce ail, a small library for working with the image (and buffer)
layouts encountered with AGX hardware. Its design is inspired by isl. In
particular, ail strives to use isl unit suffixes and to represent
quantities in a canonical, API-agnostic fashion [1].
ail replaces the old miptree code (based on some ad hoc heuristics that
passed a few dEQP tests). It is based on a thorough reverse-engineering
of AGX's twiddled format, courtesy of Asahi Lina, Dougall Johnson, and
me. This corrects our handling of many common cases that were totally
wrong in the old code, leading to GPU faults.
Unlike the code, ail differentiates between pixels and elements
consistently, allowing block-compressed formats like ETC2 to be
supported correctly. These formats will be enabled later in the series.
This commit fixes Inochi2D, glmark2 -brefract and -bterrain, and who
knows what else.
ail stands for { Asahi, AGX } Image { Layout, Library } at your
convenience. ail is best served warm.
Liberal use of ail is recommended. Yum!
[1] https://docs.mesa3d.org/isl/units.html
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
5057d6787a
asahi: Fix ASTC enums
...
The ASTC enum only encodes the block width/height. By contrast the
LDR/HDR/sRGB distinction is encoded as UNORM/Float and via the sRGB bit.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
01323ba470
asahi: Fix bind sizes
...
Otherwise we get a nonsensical count of 129 in one Metal sample. Exact
size still not known but this bounds somewhat.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
e71f8ef439
asahi: Add XML for multisampled textures
...
Metal supports MSAA 2x and MSAA 4x, neither at the same time as
mipmapping. That matches the GL spec requirement.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
c8435e4bc6
asahi: Rename 'tiled 64x64' to 'twiddled'
...
To account for non-64x64 tile sizes, as well as the other forms of
tiling that may come up with compression.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
88eea62adb
asahi: Identify compressed render target fields
...
We won't be implementing AGX compression for a while, but this gets some
unknowns out of the way when looking at dumps from Metal that use it.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Alyssa Rosenzweig
8b0ab0e64b
docs/asahi: Document image layouts
...
There are many subtleties to laying out twiddled images on AGX. Document
the known ones in a central place. Many of the hairy details of
twiddling were discovered by Asahi Lina and Dougall Johnson, many thanks
to them.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167 >
2022-09-01 22:30:48 +00:00
Mike Blumenkrantz
8abbc6b19b
zink: check the variable mode before taking samplemask path in ntv
...
this otherwise may break for function temps
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18375 >
2022-09-01 22:13:15 +00:00
Mike Blumenkrantz
e2773d67fe
zink: don't emit entrypoints for function temp variables
...
UNASSIGNED-CoreValidation-Shader-InconsistentSpirv(ERROR / SPEC): msgNum: 7060244 - Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x3c8a1d0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V module not valid: OpEntryPoint interfaces should only list global variables
cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18375 >
2022-09-01 22:13:15 +00:00
Alyssa Rosenzweig
2ded490913
pan/bi: Assert that vectors are sufficiently small
...
There is a limit to how vector widths (eg due to RA), larger vectors should be
broken up in NIR so we shouldn't ever see such vectors.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17220 >
2022-09-01 21:40:06 +00:00
Alyssa Rosenzweig
a68bed798c
pan/bi: Implement nir_op_vec8 and nir_op_vec16
...
These are used with OpenCL, particularly with 8-bit types. Luckily, they are
pretty easy to implement with our existing infrastructure. We just need to hit
backspace enough times and we're good to go.
Fixes a subtest of test_basic hiloeo.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17220 >
2022-09-01 21:40:06 +00:00
Alyssa Rosenzweig
7d07fb9a67
pan/va: Handle 8-bit lane when lowering constants
...
We need to be careful to ensure the output of constant lowering still selects a
single lane, otherwise we lower something like:
44 = MKVEC.v2i8 43.b1, #0x0.b0, #0x0
to
44 = MKVEC.v2i8 24.b1, u256, u256
which loses the .b0 swizzle, and thus renders the MKVEC.v2i8 unable to pack.
Similarly, we need to allow zero-extension with fields marked "lane". Currently
only MKVEC.v2i8 hits this path, as the other instructions using "lane"
modifiers are unary and therefore will have been constant folded.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17220 >
2022-09-01 21:40:06 +00:00
Alyssa Rosenzweig
6b87a65e38
pan/bi: Implement general 8-bit vector construction
...
Refactor the 16-bit vector construction code to separate the collect of separate
32-bit words from the construction of single 32-bit vectors from sub-32-bit
parts. Then add a path to combine (up to 4) bytes into a 32-bit word using
Valhall's MKVEC.v2i8 instruction.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17220 >
2022-09-01 21:40:06 +00:00
Jason Ekstrand
faaf4f6c45
vulkan,docs: Add documentation Vulkan command pools
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
f17f44b91a
lvp: Move to the common command pool framework
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
c052c6a333
tu: Move to the common command pool framework
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
aea0b6292c
radv: Move to the common command pool framework
...
Now the common code support reuse, port radv over to using it.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
b825c566bb
vulkan: Recycle command buffers in vk_command_pool
...
This is similar to what RADV and several other drivers have been doing
for quite some time. It's good to have it common.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
11f3323492
vulkan: Add a common vkAllocateCommandBuffers() implementation
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
f2288cca47
vulkan: Add a common vkResetCommandBuffer() implementation
...
This is little more than a wrapper around a function pointer at present
so it doesn't really gain the driver much to use it. The new callback
will, however, be put to good use in the next commit.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
44ab076fea
vulkan: Add a vk_command_buffer_ops struct
...
This is the standard pattern in the kernel for providing vfunc tables
for C objects. We're using it in the pipeline cache code but we're
about to start adding more stuff and so it really helps if we have it
for command buffers as well.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
5c143b132a
vulkan: Re-order arguments to vk_command_buffer_init
...
Most other init functions follow the Vulkan API convention of putting
the parent object first.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
f90e2af996
vulkan: Re-order arguments to vk_command_pool_init
...
Most other init functions follow the Vulkan API convention of putting
the parent object first.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Jason Ekstrand
ea9e7ecdc1
vulkan: Add a concept of recycling an object
...
This is not necessarily a full re-initialization of the object but is
whatever is necessary/expedient for the client to see it as a new object
and not the one it has seen before. For vk_base_object, this removes
any private data and resets the object name to NULL.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18324 >
2022-09-01 20:17:25 +00:00
Chia-I Wu
63b1290c2f
turnip: add some cpu tracepionts
...
Add tracepoints for pipeline creations and queue submits.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18262 >
2022-09-01 19:30:13 +00:00
Chia-I Wu
89d49bb9de
vulkan/wsi: add cpu tracepoints for internal waits
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18262 >
2022-09-01 19:30:13 +00:00
Chia-I Wu
7d5227341c
vulkan/wsi: add cpu tracepoints to swapchain functions
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18262 >
2022-09-01 19:30:13 +00:00
Connor Abbott
f640661e54
tu/lrz: Fix multiple depth attachment case with secondaries
...
This is a counterpart to the previous commit. When we have multiple
depth attachments, in the secondary we currently don't disable LRZ and
so we may need a valid LRZ fast-clear base.
Fixes: 4b5f0d98 ("tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18369 >
2022-09-01 19:11:19 +00:00
Connor Abbott
bf09a5881b
tu/lrz: Fix multiple subpass case with secondaries
...
In
dEQP-VK.renderpass.dedicated_allocation.attachment_allocation.input_output.94
we have the following:
- There is more than one subpass, but only one depth attachment.
- The first subpass doesn't use depth.
- The subpass that does use depth has a draw call in a secondary.
We wouldn't hit the case where there's more than one depth attachment,
but because tu_begin_resumed_renderpass() only looked at the first
subpass it wouldn't find the depth attachment and would leave LRZ
invalid and thus a NULL LRZ fast-clear base. Then
tu_begin_secondary_cmdbuf() would leave LRZ enabled and the draw would
have LRZ enabled, leading to a hang.
Fix this by making tu_begin_resumed_renderpass() match
tu_begin_renderpass() with how it finds the depth attachment.
Fixes: 4b5f0d98 ("tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18369 >
2022-09-01 19:11:19 +00:00
Samuel Pitoiset
23fca58ef3
radv: constify radv_shader_info where it's missing
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
72a8319471
radv: determine as_ls/as_es in radv_link_shaders_info()
...
This is a link shader info step somehow.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
4d756d8ae3
radv: remove unused parameters in radv_fill_shader_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
be9cded237
radv: add and use a helper that merges shader info for merged stages on GFX9+
...
It looks much cleaner and it's pretty small.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
60a7115b4e
radv: cleanup computing the workgroup size for all stages
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
5082918d65
radv: simplify determining if NGG passthrough can be enabled
...
NGG can't be enabled with XFB, so this check is redundant now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
dda00dd40b
radv: move determining other NGG settings in radv_link_shaders_info()
...
At least, everything is at the same place now.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
dfdd875b06
radv: refactor radv_nir_shader_info_link()
...
To use the similar producer/consumer logic we do when linking shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
2f9b30f30c
radv: move computing NGG info and GS info to radv_nir_shader_info_link()
...
It's a link step somehow, except for VS only on GFX10+ but keep it
there anyways.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
13af51b2f3
radv: move computing wave_size/ballot_bit_size to the shader info pass
...
NGG helpers need to know this information.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
19308db39d
radv: cleanup helpers that compute NGG info and GS info on GFX9+
...
Before moving them to the shader info link step.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
5cfd5c10eb
radv: stop setting esgs_itemsize to the GS stage
...
It's never read.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
b7adf82928
radv: stop setting num_tess_patches for the GS stage
...
It's never read.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
e9fb732d0a
radv: stop setting as_es for the GS stage
...
This doesn't make sense and it was assigned because the shader info
stuff was a complete mess.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
0591ff4e5f
radv: stop setting as_ls for the TCS stage
...
This doesn't make sense and it was assigned because the shader info
stuff was a complete mess. LS is only a thing on GFX6-8, on GFX9+
it's a merged VS+TCS to HS.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:17 +00:00
Samuel Pitoiset
df997cf47d
aco: remove unused isel_context::tcs_num_patches
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18278 >
2022-09-01 17:02:16 +00:00
Samuel Pitoiset
047738daa7
radv: fix bogus assertion with RADV_FORCE_VRS
...
It supports VS, TES and GS.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18345 >
2022-09-01 16:09:37 +00:00
Friedrich Vock
f0d10d0352
radv: Free geometry infos in radv_CmdBuildAccelerationStructuresKHR
...
Fixes: 97ffaea5 ("radv: Add Radeon Raytracing Analyzer capturing layer")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18370 >
2022-09-01 15:46:20 +00:00
Friedrich Vock
4f846468e1
radv: Use radv_CmdUpdateBuffer instead of radv_update_buffer_cp for geometry info writes
...
This fixes some hangs and avoids an assert if geometry infos are bigger than 1KB.
Fixes: 97ffaea5 ("radv: Add Radeon Raytracing Analyzer capturing layer")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18370 >
2022-09-01 15:46:20 +00:00
Alyssa Rosenzweig
e55b60d0bb
panfrost: Route shader-db to debug, not stderr
...
This brings us in line with the rest of Mesa, fixing multithreaded shader-db
reports and the Total CPU Time report at the end.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Alyssa Rosenzweig
70e269ac6f
r300: Use u_default_set_debug_callback
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Alyssa Rosenzweig
a7aa8fbf7a
etnaviv: Use u_default_set_debug_callback
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Alyssa Rosenzweig
161e35e156
lima: Use u_default_set_debug_callback
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Alyssa Rosenzweig
741c8d8c77
softpipe: Use u_default_set_debug_callback
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Alyssa Rosenzweig
ad5f0592cc
vc4: Use u_default_set_debug_callback
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Alyssa Rosenzweig
e9b54e1000
v3d: Use u_default_set_debug_callback
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Alyssa Rosenzweig
c4b3dee8f3
gallium: Add u_default_set_debug_callback
...
Drivers that don't use compile queues can use a common implementation. Drivers
that do can tail call into the common implementation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351 >
2022-09-01 14:50:24 +00:00
Dave Airlie
8318f73384
dozen: move to use common command buffer result code.
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16918 >
2022-09-01 14:11:55 +00:00
Dave Airlie
a43b6d9ae2
panvk: use common command buffer record result.
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16918 >
2022-09-01 14:11:55 +00:00
Dave Airlie
3c092f5cd8
turnip: use common command record result.
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16918 >
2022-09-01 14:11:55 +00:00
Dave Airlie
b644c7ca9f
radv: move to using common record_result.
...
v2 (Jason Ekstrand):
- Handle rename to vk_command_buffer_set_error
- Add more instances, especially in device generated commands
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16918 >
2022-09-01 14:11:55 +00:00
Jason Ekstrand
cc6ad491ea
vulkan/cmd_queue: Drop vk_cmd_queue::error
...
Instead, we return errors from each of the enqueue functions and record
those errors (if any) in vk_command_buffer::record_result. This also
involves some awkward changes to each of the three drivers that uses
vk_cmd_queue but those are resolved in later commits as we convert those
drivers to the common error tracking.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16918 >
2022-09-01 14:11:55 +00:00
Jason Ekstrand
541be28099
vulkan/cmd_buffer: add record_state to the common command buffer.
...
This pulls the record state out of the cmd queue into the command
buffer. It can be used here by other drivers.
v2: add some get/set api: not set only sets the first error.
v3 (Jason Ekstrand):
- Rename set_record_result to set_error
- Automatically log the set error
- Add a new vk_command_bufer_has_error() helper
- Split out vk_cmd_queue changes into their own commit
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16918 >
2022-09-01 14:11:55 +00:00
Alyssa Rosenzweig
7d9df64b07
panfrost/ci: Update G72 xflakes list
...
I can't reproduce this locally on Mali-G52 and don't have Mali-G72 hardware.
Unless someone wants to investigate the flakes here in #7149 , add a bigger
wildcard to the gathers xflakes list so we don't fail pipelines.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7149
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18348 >
2022-09-01 13:48:17 +00:00
Konstantin Seurer
cce8e60a31
radv: Proper handling for inactive instance nodes
...
We only skipped the `accelerationStructureReference == 0` case
which could lead to reading uninitialized memory.
This patch introduces a NULL_NODE_ID constant and uses it
to handle inactive nodes properly.
I do not think, that this case is common in practice.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18141 >
2022-09-01 12:54:13 +00:00
Friedrich Vock
938b65aff1
docs: Add documentation about RADV RRA tracing
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18166 >
2022-09-01 12:10:58 +00:00
Friedrich Vock
2bdb1b4641
radv: Enable Radeon Raytracing Analyzer traces
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18166 >
2022-09-01 12:10:58 +00:00
Friedrich Vock
97ffaea52e
radv: Add Radeon Raytracing Analyzer capturing layer
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18166 >
2022-09-01 12:10:58 +00:00
Friedrich Vock
5749806754
radv: Add Radeon Raytracing Analyzer trace dumping utilities
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18166 >
2022-09-01 12:10:58 +00:00
Friedrich Vock
07eceb4fe4
radv: Add metadata to acceleration structures
...
This metadata is used for dumping RRA traces.
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18166 >
2022-09-01 12:10:58 +00:00
Friedrich Vock
0fefdadbd3
radv: Generalize instance count in BVH states to leaf node count
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18166 >
2022-09-01 12:10:58 +00:00
Rhys Perry
061b8bfd29
aco/ra: rework fixed operands
...
This moves all fixed operands at once, so they don't interfere with one
another.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17493 >
2022-09-01 11:22:46 +00:00
Rhys Perry
ec867ef0e7
aco/ra: remove bounds parameter from get_regs_for_copies()
...
I don't think it makes sense for this to be anything but get_reg_bounds(),
and this change makes this function usuable with a mix of SGPRs and VGPRs.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17493 >
2022-09-01 11:22:46 +00:00
Rhys Perry
efcbccaf0e
aco/ra: handle empty def_reg interval in get_regs_for_copies
...
If def_reg is empty, then def_reg.lo() may be lower than bounds.lo() if
we're moving VGPRs and info.bounds will be invalid.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17493 >
2022-09-01 11:22:46 +00:00
Martin Roukala (né Peres)
703d66254d
radv/ci: disable kabini's vkd3d job
...
The vkd3d update increased its RAM usage above the 4GB of RAM the
kabini has... which leads to amdgpu complaining about not having
enough RAM for command submission.
Let's disable the job until we find a way to lower concurrency or
increase the amount of carveout that could be used for command
submission.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18346 >
2022-09-01 10:13:05 +00:00
Martin Roukala (né Peres)
2e39f41c23
radv/ci: disable the POLARIS10 jobs
...
A kernel bug makes the first-context's creation likely to hang the GPU,
which most times than not end up failing the job despite multiple
retries.
Disable the jobs until the bug gets bisected or worked around
effectively.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18346 >
2022-09-01 10:13:05 +00:00
Sarah Walker
48d07fb7d3
pvr: Update FWIF compute register structure
...
This matches changes made in FW 1.17.OS@6280047.
Signed-off-by: Sarah Walker <sarah.walker@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17680 >
2022-09-01 10:01:28 +00:00
Frank Binns
e5f0070b0c
pvr: remove redundant TODO
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18336 >
2022-09-01 09:33:29 +00:00
Timur Kristóf
16c14663e5
aco: Fix p_init_scratch for task shaders.
...
Fixes: d2d94b62f2
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18339 >
2022-09-01 09:10:47 +00:00
Lucas Stach
ec653eda9d
etnaviv: rewrite sampler TS check
...
The current way this check is written is getting hard to read. Make
things a bit more verbose by splitting the checks and putting the
comments directly in front of them.
No functional change, GCC11 generates exactly the same machine code
before and after the change.
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/18045 >
2022-09-01 09:02:49 +00:00
Lucas Stach
826e05eb2d
etnaviv: texture-desc: drop superfluous condition
...
After ad48411d72 ("etnaviv: fix linear_nearest / nearest_linear filters
on GC7000Lite") the code in both branches of the condition is exactly the
same, so there is no need for the condition at all.
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/18045 >
2022-09-01 09:02:49 +00:00
Lucas Stach
fc2298ea31
etnaviv: texture-desc: sample 1D textures using 2D mode
...
Mipmapping is not working correctly when sampling a 1D texture, likely
due to a bad derivative being used by the hardware for the unused
dimension.
To work around this, do the same trick as already used in texture-state
by upgrading 1D textures to 2D samplers with VWARP mode set to repeat.
Fixes piglit spec@glsl-1.20 @execution@tex-miplevel-selection 1d
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/18045 >
2022-09-01 09:02:49 +00:00
Lucas Stach
d324e7ed9e
etnaviv: don't use TS with multi-layer resources
...
Clear and render operations can target each layer of a multi-layer resource
separately, which means we would need to track TS valid and clear color
states for each layer separately to make TS work correctly. As multi-layer
resources are very likely not primarily used for rendering, they are unlikely
to profit much from TS, so instead of adding all this state, don't use TS for
such resources at all.
Fixes piglit spec@glsl-1.20 @execution@tex-miplevel-selection 3d
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/18045 >
2022-09-01 09:02:49 +00:00
Lucas Stach
744acb5ae7
etnaviv: fill alpha channel for DXT1_RGB textures
...
As the HW uses the same decompression scheme for both RGBA and RGB
DXT1 textures, it needs to be told to properly fill the alpha channel
for the plain RGB format.
Fixes piglit spec@ext_texture_compression_s3tc@s3tc-targeted.
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/18045 >
2022-09-01 09:02:49 +00:00
Gert Wollny
c6d0533b71
r600/sfn: Don't scalarize fdd instructions
...
These are handled by a vectorized texture op.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18343 >
2022-09-01 08:55:07 +00:00
Gert Wollny
5099bb5387
r600/sfn: Override VPM if access in helpers is requested
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18343 >
2022-09-01 08:55:07 +00:00
Gert Wollny
99ffb5203f
r600/sfn: more peephole optimization with conditionals
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18343 >
2022-09-01 08:55:07 +00:00
Gert Wollny
7d96e153a9
r600/sfn: ACK all image stores, also at end of loop
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18343 >
2022-09-01 08:55:07 +00:00
Gert Wollny
ed294e0863
r600/sfn: override register ID when it doesn't matter
...
When a vec4 register only uses constant value of ignore
swizzles then emit zero as register ID.
Optimizing the register use in instructions that support this type
of swizzle may lead to the situation that the RA doesn't see the
register ID, because it is actually irreleant, in this case return
zero as register ID to avoid that the assembler uselessly reports
a high requirement for registers based on a stale register ID.
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18343 >
2022-09-01 08:55:07 +00:00
Thomas H.P. Andersen
e9cff8ed7f
radeonsi: avoid a use-after-free
...
Use of 'shader' after free was added in ac6fb2467f
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18356 >
2022-09-01 07:34:54 +00:00
Iago Toral Quiroga
ffd3ef35bb
v3dv: implement VK_KHR_workgroup_memory_explicit_layout
...
There is an issue with some Amber tests for this feature using
a larger number of workgroup invocations than supported without
checking the limit. I filed and issue [1] (and a CL with a fix), but
meanwhile we want to flag those as expected crashes for CI.
[1] https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3913
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18337 >
2022-09-01 06:37:21 +00:00
Yonggang Luo
2b00ba23c2
st: Fixes warning [-Wimplicit-fallthrough] in st_texture.c
...
Warning message:
../src/mesa/state_tracker/st_texture.c:190:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
fab117217c
v3dv: Remove redundant unreachable in v3dvx_pipeline.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
c066c04598
v3dv: Fixes warning [-Wimplicit-fallthrough] in v3dvx_pipeline.c
...
Warning message:
../src/broadcom/vulkan/v3dvx_pipeline.c:60:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
8d04a3d024
vdpau: Fixes warning [-Wimplicit-fallthrough] in vdpau_private.h
...
Warning message:
../src/gallium/frontends/vdpau/vdpau_private.h:149:7: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-By: Sil Vilerino sivileri@microsoft.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
1bfa7f729c
freedreno: Fixes warning [-Wimplicit-fallthrough] in fd6_emit.c
...
Warning message:
../src/gallium/drivers/freedreno/a6xx/fd6_emit.c:177:13: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
fbb58d6df5
freedreno: Fixes warning [-Wimplicit-fallthrough] in fd5_emit.c
...
Warning message:
../src/gallium/drivers/freedreno/a5xx/fd5_emit.c:272:13: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
7fda8d149b
freedreno: Fixes warning [-Wimplicit-fallthrough] in fd5_texture.h
...
Warning message:
../src/gallium/drivers/freedreno/a5xx/fd5_texture.h:71:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
85f0d4e269
freedreno: Fixes warning [-Wimplicit-fallthrough] in fd3_texture.c
...
Warning message:
../src/gallium/drivers/freedreno/a3xx/fd3_texture.c:132:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
76a10cae12
freedreno: Fixes warning [-Wimplicit-fallthrough] in fd2_texture.c
...
Warning message:
../src/gallium/drivers/freedreno/a2xx/fd2_texture.c:150:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
ac65f57438
freedreno: Fixes warning [-Wimplicit-fallthrough] in fd4_texture.h
...
Warning message:
../src/gallium/drivers/freedreno/a4xx/fd4_texture.h:75:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
d29f6057d7
freedreno: Fixes warning [-Wimplicit-fallthrough] in freedreno_util.h
...
Warning message:
../src/gallium/drivers/freedreno/freedreno_util.h:433:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
35ab2a6568
radeonsi: Fixes warning [-Wimplicit-fallthrough] in si_descriptors.c
...
Warning messages:
../src/gallium/drivers/radeonsi/si_descriptors.c:1475:7: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
../src/gallium/drivers/radeonsi/si_descriptors.c:1493:7: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
5ad4426e98
llvmpipe: Fixes warning [-Wimplicit-fallthrough] in lp_bld_sample_soa.c
...
Warning message:
../src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c:2676:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:36 +00:00
Yonggang Luo
5e2a8bed9e
llvmpipe: Fixes warning [-Wimplicit-fallthrough] in lp_bld_swizzle.c
...
../src/gallium/auxiliary/gallivm/lp_bld_swizzle.c:399:13: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18204 >
2022-09-01 03:00:35 +00:00
Dave Airlie
91dcadf956
llvmpipe: finish rendering before flushing frontbuffer resources.
...
Fixes misrendering on front with mesa demos
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18360 >
2022-09-01 12:38:56 +10:00
Renato Pereyra
f5a81bb1d0
venus: Increase vn_relax sleep time
...
After the recent Venus changes to fence feedback, the performance drop from
increasing this setting are now negligible while DX games still experience a
sizable decrease in CPU utilization.
Signed-off-by: Renato Pereyra <renatopereyra@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18357 >
2022-09-01 00:50:39 +00:00
Adrián Larumbe
e6e8861d7a
panfrost: Add userspace crash dump decoder and analyser
...
Introduces a binary dump analyser and BO decoder whose format was partially
borrowed from etnaviv's kernel driver. It leverages the pandecode library
to analyse BO's attached to the GPU job that caused the crash.
Binary dump should be generated by a component of Panfrost's kernel driver.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14034 >
2022-08-31 23:54:55 +00:00
Adrián Larumbe
6a4532cbab
panfrost: Sync panfrost_drm.h from drm-misc-next
...
Updated from changes in commit 730c2bf4ad39 ("drm/panfrost: Add support for
devcoredump").
From drm-misc/drm-misc-next.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14034 >
2022-08-31 23:54:55 +00:00
Adrián Larumbe
6f4f11cf70
panfrost: Add compiler args option for building usermode tools
...
Binaries built under src/panfrost weren't passed this compiler switch,
so it would trigger pointer arithmetic errors when using
the inlined definitions in the pandecode library.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14034 >
2022-08-31 23:54:55 +00:00
Adrián Larumbe
8aa2e86bc3
panfrost: Remove documentation reference to deprecated parameter
...
'bifrost' parameter is no longer used by pandecode.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14034 >
2022-08-31 23:54:55 +00:00
Adrián Larumbe
3da8c9193c
panfrost: Handle Job VA cycles when decoding a dump file
...
When a job loop is submitted to the GPU, as in IGT
panfrost_submit@pan-reset, this will trigger a DRM scheduler timeout and
eventually a devcoredump. However, when pandecode traverses the list of
jobs in a submit BO, it will iterate forever.
Fix it by adding already-visited CPU VA's into a mesa pointer set and
checking that the current job's CPU VA hasn't already been handled.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14034 >
2022-08-31 23:54:55 +00:00
Thomas H.P. Andersen
d3642a0e02
nvc0: fix a warning -Wconstant-conversion
...
I do not understand the code here well enough to tell what the correct
behavior is. prog->num_gprs is a unit8_t, so my guess is that the MIN
is there to make sure we stay within the limit of that. However the
current logic is a bit strange. If info_out.bin.maxGPR + 5 is bellow
256 we use that. If not then we write 256 which converts to 0 in a
uint8_t...
The patch changes the upper value to 255.
Fixes a warning with clang
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14304 >
2022-08-31 23:44:44 +00:00
Emma Anholt
5f66a927ec
gallium,glsl: Delete PIPE_CAP_VERTEXID_NOBASE and lower_vertex_id.
...
Every driver uses the nir_lower_system_values path now.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18327 >
2022-08-31 22:57:03 +00:00
Emma Anholt
4bdd226ab6
freedreno/ir3: Switch to NIR for a3xx/a4xx's vertex id lowering.
...
We already have the compiler pass, just need to set the flag. We were the
last consumer of glsl's lower_vertex_id.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18327 >
2022-08-31 22:57:03 +00:00
Emma Anholt
78fce4d9e3
freedreno/ir3: Move chip-specific nir compiler options to C code.
...
We had a mix of common-macro-and-chip-overrides in static decls and plus
more overrides later in C code. It's way cleaner to just have a static
decl for the base options and chip overrides in C code.
This moves a few things (lower_cs_local_index_to_id, lower_wpos_pntc,
lower_int64_options) to the common static decl that had been pasted into
both a3xx-a5xx and a6xx.
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18327 >
2022-08-31 22:57:03 +00:00
Emma Anholt
b4aa46ff89
turnip: Make sure bandwidth config per pixel starts from 0.
...
We'd keep incrementing the costs in a cmd buffer's dynamic_pass on each
BeginRendering. This fixes the main renderpass of aztec ruins on zink to
use gmem, taking fps from ~8 to ~10.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18352 >
2022-08-31 22:38:04 +00:00
Yiwei Zhang
2c84690349
venus/ci: mark a test as flake
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18355 >
2022-08-31 22:21:58 +00:00
Yonggang Luo
2d811fdbec
meson/panfrost: Add dep_valgrind for libpanfrost_pixel_format to fixes the compiling error:
...
In file included from src/panfrost/lib/genxml/v9_pack.h:15,
from ../../src/panfrost/lib/genxml/gen_macros.h:95,
from ../../src/panfrost/lib/pan_format.c:27:
../../src/util/bitpack_helpers.h:34:10: fatal error: valgrind.h: No such file or directory
Fixes: c52d5acf15 ("util,intel: Pull the bit packing helpers from genxml to a common header")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7169
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18350 >
2022-08-31 20:22:41 +00:00
Emma Anholt
46f2c4bf25
nir_to_tgsi: Add support for bindless textures and images.
...
Tested on nouveau with the piglit tests.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15932 >
2022-08-31 18:26:19 +00:00
Emma Anholt
1c4b64f016
nir_to_tgsi: Use nir_lower_discard_if for demote_if.
...
TGSI doesn't have a DEMOTE_IF, so we want to lower it back to IF DEMOTE
ENDIF. Fixes a regression with nvc0 on nir-to-tgsi.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15932 >
2022-08-31 18:26:19 +00:00
Emma Anholt
28b2252d0a
nir: Make nir_lower_discard_if() handle demotes and terminates, too.
...
AGX and zink both want all of these lowered, but nir_to_tgsi will want
only demote (and terminate if it was possible from GLSL but it's not)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15932 >
2022-08-31 18:26:19 +00:00
Emma Anholt
d3b1579a1f
nir_to_tgsi: Add support for demote, is_helper_invocation, and subgroup ops.
...
Found to be missing when testing on nvc0.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15932 >
2022-08-31 18:26:19 +00:00
Emma Anholt
44217b7760
nir_to_tgsi: Add support for 64-bit fsign/isign.
...
Found missing on nouveau.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15932 >
2022-08-31 18:26:19 +00:00
Emma Anholt
e616d1cade
nir_to_tgsi: Add support for TG4 with explicit offsets.
...
Needed for nvidia.
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15932 >
2022-08-31 18:26:19 +00:00
Georg Lehmann
31df102f4d
ac/llvm: Fix image instructions with lod for 2d on GFX9.
...
If there's a lod parameter it matter if the image is 3d or 2d because
the hw reads either the fourth or third component as lod. So detect
3d images and place the lod at the third component otherwise.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18114 >
2022-08-31 17:44:38 +00:00
Georg Lehmann
a82b9d6001
aco: Fix image instructions with lod when 2d_view_of_3d is enabled on GFX9.
...
If there's a lod parameter it matter if the image is 3d or 2d because
the hw reads either the fourth or third component as lod. So detect
3d images and place the lod at the third component otherwise.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18114 >
2022-08-31 17:44:38 +00:00
Georg Lehmann
6eb4dfca23
nir/opt_algebraic: Optimize d3d9 pow with fmulz.
...
Foz-DB Navi21:
Totals from 69 (0.05% of 134913) affected shaders:
CodeSize: 255684 -> 253788 (-0.74%); split: -0.74%, +0.00%
Instrs: 46307 -> 46052 (-0.55%); split: -0.55%, +0.00%
Latency: 533255 -> 530742 (-0.47%); split: -0.48%, +0.01%
InvThroughput: 110001 -> 109156 (-0.77%)
VClause: 839 -> 844 (+0.60%); split: -1.19%, +1.79%
SClause: 1411 -> 1395 (-1.13%)
Copies: 1828 -> 1816 (-0.66%); split: -1.09%, +0.44%
PreSGPRs: 2243 -> 2232 (-0.49%)
PreVGPRs: 2213 -> 2192 (-0.95%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18145 >
2022-08-31 17:07:24 +00:00
Georg Lehmann
9c2c47884d
nir/opt_algebraic: Optimize check for single bit.
...
Foz-DB Navi21:
Totals from 3239 (2.40% of 134913) affected shaders:
SpillSGPRs: 110 -> 102 (-7.27%)
CodeSize: 17426512 -> 17344808 (-0.47%); split: -0.48%, +0.01%
Instrs: 3194264 -> 3179366 (-0.47%)
Latency: 20498012 -> 20481419 (-0.08%); split: -0.08%, +0.00%
InvThroughput: 3311738 -> 3311282 (-0.01%); split: -0.02%, +0.00%
SClause: 145810 -> 145690 (-0.08%)
Copies: 171748 -> 169009 (-1.59%); split: -1.63%, +0.03%
Branches: 86610 -> 86370 (-0.28%)
PreSGPRs: 138036 -> 137104 (-0.68%)
PreVGPRs: 138540 -> 138545 (+0.00%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17429 >
2022-08-31 18:36:33 +02:00
Yonggang Luo
296eb2918c
util: Remove the need of _MTX_INITIALIZER_NP in simple_mtx.h
...
The usage of _MTX_INITIALIZER_NP is a problem. Sure, the code builds on
Linux and Windows, and it even usually works, but is problematic.
It means that Windows lock debugging tools cannot be used with that code.
So we remove _MTX_INITIALIZER_NP to gain the following benefit:
Aligning to the C11 standard threads.h definitions.
Improving portability of the threading code to better support Windows.
This change removes one of the most prolific uses of _MTX_INITIALIZER_NP by
slightly increasing the cost of simple_mtx_lock when targeting platforms that
don't support futex, but it's cost are far less than the cost of syscall,
so the affect are negligible.
The futex code path are not affected. And Windows 8 and upper also
supports the futex codepath, so it's only affect the Windows version < 8, MacOS
or other platforms that doesn't support for futex.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17122 >
2022-08-31 15:40:20 +00:00
Yonggang Luo
064ec944c1
util: Add extern "C" guard in simple_mtx.h
...
This is a header that can be accessed both in C/C++,
And when remove the usage of _MTX_INITIALIZER_NP in latter commits, it's need
implement simple_mtx_init in .c file, so for ABI consistence
Add the extern "C" for cpp files
Also add comment for #endif guard for code readability
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17122 >
2022-08-31 15:40:20 +00:00
Yonggang Luo
67cd0c44d2
util: Add api util_call_once_with_context
...
This is used to remove the need of _MTX_INITIALIZER_NP in simple_mtx.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17122 >
2022-08-31 15:40:20 +00:00
Jason Ekstrand
201e1ba9db
pvr: Only destroy the physcial device if it exists
...
Without this, it segfaults on instance destruction which brings down the
Vulkan app if you have the driver installed on your system, even if you
have no PowerVR hardware.
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18330 >
2022-08-31 15:30:49 +00:00
Alyssa Rosenzweig
6fed616187
pan/mdg: Print 3 sources for CSEL
...
The third source exists logically but not architecturally. We still need to
print it. Caught by the assertion.
Fixes: 0ee24c46e0 ("pan/mdg: Only print 2 sources for ALU")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18338 >
2022-08-31 14:07:53 +00:00
Alyssa Rosenzweig
4fe755e803
pan/mdg: Always write return address to r1.w
...
This might not be optimal but it matches our current behaviour and is much more
justified than the "accidental" code before. Caught by the gcc warning:
../src/panfrost/midgard/midgard_schedule.c:1227:48: warning: the comparison will
always evaluate as ‘true’ for the address of ‘writeout_branch’ will never be
NULL [-Waddress]
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18338 >
2022-08-31 14:07:53 +00:00
Pierre-Eric Pelloux-Prayer
d05a2243d4
radeonsi/sqtt: set stable pstate if possible
...
This avoids the need to manually change the power profile.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18009 >
2022-08-31 13:29:48 +00:00
Eric Engestrom
33426a328b
wayland: avoid writing interface names as free-form strings
...
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Simon Ser <contact@emersion.fr >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18335 >
2022-08-31 11:17:51 +01:00
Karmjit Mahil
6d34925967
pvr: Change indentation from tab to spaces for xml files.
...
This is done to match other drivers and to use spaces for
indentation throughout the whole of the powervr driver.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18319 >
2022-08-31 08:26:17 +00:00
Frank Binns
7d614fa9b9
pvr: Implement vkResetCommandBuffer
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18317 >
2022-08-31 08:13:05 +00:00
Frank Binns
88bed3babc
pvr: reset all command buffer state in pvr_cmd_buffer_reset()
...
Command buffers were only being partially reset. Fix this by factoring out the
common parts of pvr_cmd_buffer_reset() and pvr_cmd_buffer_reset() into a common
function, so there's now only a single place to free command buffer state, and
zeroing out parts of the command buffer that were missed.
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18317 >
2022-08-31 08:13:04 +00:00
Gert Wollny
492ec311f7
virgl/ci: remove some flakes
...
With the better synchronization we can now remove some flakes.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18243 >
2022-08-31 08:01:22 +00:00
Gert Wollny
6e2b01e5b8
virgl: when reading back wait first, then do the transfer
...
Otherwise the transfer from the host might not be finished
when we try to read the data.
v2: always wait before readback, but also keep the wait after
a possible readback, Itherwise TF fails in the CI.
Fixes: e87186fc67
virgl: add virgl_resource_transfer_prepare
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18243 >
2022-08-31 08:01:22 +00:00
Iago Toral Quiroga
1614364281
v3dv: expose VK_KHR_synchronization2
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18290 >
2022-08-31 07:36:18 +00:00
Iago Toral Quiroga
378be25016
v3dv: use VkPipelineStageFlagBits2 when checking semaphore wait stage
...
This adds extra stages, some of which involve geometry stages that are
relevant to the check we do to check for binning sync.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18290 >
2022-08-31 07:36:18 +00:00
Iago Toral Quiroga
4b50431c3e
v3dv: port remaining entry points to KHR_synchronization2
...
The common code in Mesa will rewrite the old entry points to these
if available.
Since we implement events and timestamps queries in the driver the
API changes don't quite affect us.
vkQueueSubmit2 is already implemented in the common synchronization
framework and the driver works in terms of a submit hook that is
independent of the actual entry point used by the application.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18290 >
2022-08-31 07:36:18 +00:00
Iago Toral Quiroga
9cd81fb910
v3dv: implement vkCmdPipelineBarrier2
...
Added with KHR_synchronization2. The common code in Mesa will
rewrite vkCmdPipelineBarrier to vkCmdPipelineBarrier2.
With synchronization2 barriers now have a per-barrier stage
and access flags (previously these were shared by all the barriers
in a vkCmdPipelineBarrier commands), so we need to rewrite a bit
the logic to account for this.
Also, stage and access flag bits have been expanded and renamed.
Particularly, some new flags have been added that we need to account
for.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18290 >
2022-08-31 07:36:18 +00:00
Iago Toral Quiroga
a27111cdbd
v3dv: also check GS stage on image access for binning barriers
...
For some reason we were only checking the binning VS stage, but we
should also check the GS, like we do for other access types.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18290 >
2022-08-31 07:36:18 +00:00
Erik Faye-Lund
f5e867712f
zink: request forcing of fp32-samplers to nearest when needed
...
Setting a linear filtering mode when not supported isn't legal, and can
lead to bad things in the VK driver. Let's ask the state-tracker to fix
this for us!
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18292 >
2022-08-31 07:02:51 +00:00
Erik Faye-Lund
8abb5c8b41
mesa/st: force nearest-filtering for fp32 textures
...
OpenGL 3.0 requires ARB_texture_float, which technically speaking
requires linear-filtering support for FP32 textures. However, because a
lot of early implementations just ignore this and does nearest filtering
instead due to lack of hardware features for this, this functionality
was never added to the OpenGL CTS.
The result is that FP32 is a feature that is required on paper, but
is unreliable to be used by applications in practice. This is mostly
fine; for most filterable use-cases (e.g colors), FP16 is fine and saves
a bunch of bandwidth, and for cases where you really need the extra bits
(depth-reads etc), filtering is usually not what's wanted.
To save drivers that doesn't support filtering of FP32 filtering from
having to manually whack the state, and get needless CSOs in the CSO
caches, let's force this in early, where we already do the same for
integer textures.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18292 >
2022-08-31 07:02:51 +00:00
Erik Faye-Lund
ec222a20da
mesa/st: always force integer filtering to nearest
...
There's no need to re-check the DRI-config setting here; we either
already got nearest filtering already, or the we applied a work-around
to avoid incomplete textures. In either case, these should be nearest,
no need to check for it again.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18292 >
2022-08-31 07:02:51 +00:00
Erik Faye-Lund
70c71c4200
mesa/st: also override mip filter for integer textures
...
If not, drivers may attempt interpolating these values, which isn't
going to do anything good.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18292 >
2022-08-31 07:02:51 +00:00
Samuel Pitoiset
d2de931c16
radv: determine if the topology uses adjacency from the shaders on GFX9+
...
From the Vulkan spec says:
"VUID-VkGraphicsPipelineCreateInfo-pStages-00738
If the pipeline is being created with pre-rasterization shader
state and pStages includes a geometry shader stage, and does not
include any tessellation shader stages, its shader code must
contain an OpExecutionMode instruction specifying an input
primitive type that is compatible with the primitive topology
specified in pInputAssembly"
In other words, the GS input primitive and the topology must match, so
it's possible to get this information directly from the GS instead of
from the pipeline key. Main benefit is that the driver can compile all
pre-rasterization stages without knowing the primitive topology.
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/18282 >
2022-08-31 06:31:48 +00:00
Samuel Pitoiset
4406905600
radv: allow null descriptor set layouts in pipeline layouts
...
This is allowed by the Vulkan spec when GPL is used.
Fixes dEQP-VK.pipeline.pipeline_library.graphics_library.misc.other.null_descriptor_set_in_monolithic_pipeline
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18313 >
2022-08-31 06:13:14 +00:00
Iago Toral Quiroga
ca33c319e5
v3dv: implement VK_KHR_zero_initialize_workgroup_memory
...
This only requires that we call the relevant lowering pass in NIR.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18312 >
2022-08-31 07:33:19 +02:00
Iago Toral Quiroga
a68a2805bf
nir/lower_variable_initializers: implement non-scoped barrier path
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18312 >
2022-08-31 07:25:00 +02:00
Bas Nieuwenhuizen
40ad12126f
radv: Remove redundant radv_QueuePresentKHR.
...
Does the same thing as the wsi function.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18293 >
2022-08-31 03:25:52 +00:00
Yiwei Zhang
0e0e5d1f20
venus: allow no external memory handle when renderers lacks support
...
This is to make vtest happy.
Fixes: 9c5a7ffbd8 ("venus: fix external memory ext filtering")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18331 >
2022-08-31 03:13:39 +00:00
Emma Anholt
80b35fbefe
nir/lower_mediump: Lower FS outputs to 16-bit when the value was upconverted.
...
Take this real-world (trimmed) shader:
precision highp float;
in lowp vec4 var_varVertexColor;
layout(location = 0) out vec4 out_FragColor0;
void main() {
vec4 textureColor0 = vec4(1.000000e+00, 0.000000e+00, 0.000000e+00, 1.000000e+00);
vec3 color = vec3(1.000000e+00, 1.000000e+00, 1.000000e+00);
vec4 outColor = vec4(vec3((color).rgb), 1.000000e+00);
(outColor *= vec4(var_varVertexColor));
(out_FragColor0 = outColor);
}
After opts, it's just a store from input to output. If we decide to lower
the input to 16-bit, then as long as the driver can handle 16-bit outputs,
it would be a good idea to demote the output and save the conversions.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18003 >
2022-08-31 02:43:45 +00:00
Jesse Natalie
dbb17f567a
d3d12: Change displayable format logic
...
Instead of not reporting support for the pixel format at all, just
disable swapchain creation.
Some apps want to create off-screen contexts targeting these formats,
but since WGL doesn't really have "off-screen," the pixel format
enumeration should return support for these.
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18326 >
2022-08-31 02:31:40 +00:00
Jason Ekstrand
ae57628dd5
anv: Drop anv_pipeline::use_primitive_replication
...
Instead of this fragile use_primitive_replication bit which we set
differently depending on whether or not we pulled the shader out of the
cache, compute and use the information up-front during the compile and
then always fetch it from the vue_map after that. This way, regardless
of whether the shader comes from the cache or not, we have the same flow
and there are no inconsistencies.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
f1768f5640
intel/compiler: Store the number of position slots in the VUE map
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
5937660067
nir: Track per-view outputs in shader_info
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
30251aaca2
anv: Stop looking at the pipeline in multiview lowering
...
Passing all the data we need in directly avoids issues where we might
forget what is and isn't set on the pipeline object at the time the
shader call happens. This will be especially important once we start
splitting things up for pipeline libraries.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
4bdbc4c93f
anv: Decouple primitive replication check from the fragment shader
...
Now that we're using nir_intrinsic_load_layer_id for ViewIndex, we can
use primitive replication even when the FS uses ViewIndex. Also, only
check that active_stages doesn't contain anything other than VS and FS,
not that it's exactly VS | FS. This both decouples things more and
allows primitive rplication in the depth-only case where we have no
fragment shader at all.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Jason Ekstrand
08d3c0e8e1
anv: Use nir_intrinsic_load_layer_id for ViewId in fragment shaders
...
Now that fragment shaders are a special case handled up-front, we can
reduce the complexity of some of the logic elsewhere in the pass.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17602 >
2022-08-31 02:00:18 +00:00
Kenneth Graunke
6c7916b7f6
crocus: Fix memory leaks on iris_resource_create failure paths
...
We've already allocated the pipe resource, so we ought to free it
before returning.
Fixes: d8a38edc48 ("crocus: fail resource allocation properly.")
Fixes: f3630548f1 ("crocus: initial gallium driver for Intel gfx 4-7")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18311 >
2022-08-31 01:43:08 +00:00
Kenneth Graunke
1db51b5af5
crocus: Fall back if iris_map_copy_region can't create a staging resource
...
If we can't create a staging resource, then fall back to direct CPU
mapping (possibly with a stall). This is a rare case, but it could
happen for very large staging buffers.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18311 >
2022-08-31 01:43:08 +00:00
Kenneth Graunke
4b6d527a50
crocus: Don't print out XXX messages if resource creation fails
...
Failing to create staging resources isn't necessarily a critical error,
and we probably don't want to be printing out XXX messages. I mostly
had this here when bringing up iris and resource creation was failing
because I'd done something wrong when writing the code. Then it got
copied over to crocus.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18311 >
2022-08-31 01:43:08 +00:00
Kenneth Graunke
a3dba08115
iris: don't create staging resources larger than half the aperture
...
This is a port of crocus's f1c1fcfd (crocus: don't create staging
resources > half aperture).
I chose to use the whole aperture here rather than 3/4 of it, mostly
to avoid adding another legacy field for aperture stuff. It's close
enough to work.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2104
Reviewed-by: Dave Airlie <airlied@redhat.com >
Tested-by: Mark Janes markjanes@swizzler.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18311 >
2022-08-31 01:43:08 +00:00
Kenneth Graunke
fcad737cba
iris: Fall back if iris_map_copy_region can't create a staging resource
...
If we can't create a staging resource, then fall back to direct CPU
mapping (possibly with a stall). This is a rare case, but it could
happen for very large staging buffers.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Tested-by: Mark Janes markjanes@swizzler.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18311 >
2022-08-31 01:43:08 +00:00
Kenneth Graunke
d0c6f3d66b
iris: Don't print out XXX messages if resource creation fails
...
Failing to create staging resources isn't necessarily a critical error,
and we probably don't want to be printing out XXX messages. I mostly
had this here when bringing up the driver and resource creation was
failing because I'd done something wrong when writing the code.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Tested-by: Mark Janes markjanes@swizzler.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18311 >
2022-08-31 01:43:08 +00:00
Kenneth Graunke
6a1f7e623f
iris: Delete unused iris_screen::aperture_bytes field
...
This was effectively removed in bb3545a6 , but the field wasn't deleted,
leaving it there to troll people. screen->aperture_bytes is 0? What?
Fixes: bb3545a6ee ("intel: Store the aperture size in devinfo.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Tested-by: Mark Janes markjanes@swizzler.org
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18311 >
2022-08-31 01:43:08 +00:00
Pierre-Eric Pelloux-Prayer
df2eaba411
radeonsi: use nir_opt_large_constants earlier
...
Calling it before nir_convert_to_lcssa helps in some cases,
because the NIR is simpler and nir_opt_large_constants can
detect that a variable is constant.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7059
CC: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18147 >
2022-08-31 00:09:37 +00:00
Pierre-Eric Pelloux-Prayer
a9ed96ac8e
radv: deal with ac_nir_translate failures
...
Now that ac_nir_translate reports failures instead of aborting,
we need to deal with it in the driver.
For now, call abort to keep the existing behavior but this could
be improved.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18147 >
2022-08-31 00:09:37 +00:00
Pierre-Eric Pelloux-Prayer
ac6fb2467f
radeonsi: deal with ac_nir_translate failures
...
ac_nir_translate can fail now so forward the translation result to
si_llvm_compile_shader. If it's a failure, it'll print something like:
radeonsi: can't compile a main shader part
And the shader won't be used.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18147 >
2022-08-31 00:09:37 +00:00
Pierre-Eric Pelloux-Prayer
d92d35c9db
ac/llvm: add a return value to ac_nir_translate
...
Return a boolean instead of aborting when the NIR->LLVM translation fails.
This way, we can deal with the error at the calling site instead of crashing
the whole application.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18147 >
2022-08-31 00:09:37 +00:00
Georg Lehmann
07b3adec12
nir: Print selection control for nir_if.
...
It's useful to see this information now that aco is going to use it.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18297 >
2022-08-30 23:16:51 +00:00
Karol Herbst
a5c5b172fd
nv50: race free state tracking
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
df0a4d02f2
nvc0: make state handling race free
...
I am not entirely convinced that contexts can't mess up the state of other
contexts, but with this we at least turn down the amount of races on the
CPU side.
If we hit bugs later we can always look into it then and figure out what
to fix how.
I think we might need a better solution for it in the future as state
tracking might need to become more involved, but for now this should be
good enough.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
f2af3a9cae
nouveau: make fencing race free
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
a85cb39914
nouveau: per context client and pushbuf
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
8e30cfc231
nouveau/fence: per context fence
...
This doesn't add a fence list per pipe context, it simply makes us track
the current fence per context so we can safely modify the fence object
per thread.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
962a09c90f
nv50: remove nv50_bufctx_fence call in vbo_kick_notify
...
No idea why it is there. nvc0 doesn't do anything like it and it doesn't
regress any tests. Also removing is easier than handling the fence locking
inside the kick notify handler.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
88b76f8492
nv50: remove nouveau_fence_signalled prior nouveau_fence_wait
...
nouveau_fence_wait handles signalled fences just as well.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
0642f95c4e
nouveau/fence: make the fence struct part of the fence API
...
This makes it easier to implement proper locking of the fence struct as we
can redesign some of the functions to take the list object instead of
fence objects.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
1abc27983a
nouveau: use PUSH_KICK instead of nouveau_pushbuf_kick
...
This makes it easier to insert locking code around libdrm.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:19 +00:00
Karol Herbst
574404010a
nouveau: wrap nouveau_pushbuf_refn
...
This makes it easier to insert locking code around libdrm.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
de811ee8eb
nouveau: wrap nouveau_pushbuf_validate
...
This makes it easier to insert locking code around libdrm.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
3866a5433a
nouveau: wrap all nouveau_pushbuf_space calls
...
This makes it easier to insert locking code around libdrm.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
5fe8fedf24
nouveau: wrap nouveau_bo_wait
...
This makes it easier to insert locking code around libdrm.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
db825e34a9
nouveau: wrap nouveau_bo_map
...
This makes it easier to insert locking code around libdrm.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
4154d53a85
nouveau: move nouveau_context initialization to common code
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
54f285901d
nouveau/fence: rework nouveau_fence_emit so we can call it on emitted fences
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
060d055ac5
nouveau/buffer: simplify uses of nouveau_fence_work
...
nouveau_fence_work already checks the state, so we can just call it
directly.
Strictly speaking, this isn't functional equivalent, but practically it
doesn't matter when we get the callback called.
Main reason for doing this is, that this makes locking way easier as we
can simply lock within nouveau_fence_* functions and callers don't have to
take locks themselves.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: M Henning <drawoc@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
35d28251d1
nouveau/mm: make code thread safe
...
With this helgrind doesn't report any races in this code.
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Karol Herbst
607a9e1fd2
nouveau: use the contexts pushbuf and client where possible
...
At the moment the context uses the screens object, but in order to fix
threading without having to lock too much we will have to allocate those
objects per context later.
Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 >
2022-08-30 23:08:18 +00:00
Nanley Chery
5c2c8652d1
mesa/st: Drop st_texture_image_transfer::map
...
It's only used in the scope of a single function, st_UnmapTextureImage. Use
a local variable instead.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18257 >
2022-08-30 22:11:34 +00:00
Nanley Chery
21038d1540
mesa/st: Fix indentation in st_MapTextureImage
...
Dedent an if-else block and setup the else braces according to the coding
style.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18257 >
2022-08-30 22:11:34 +00:00
Nanley Chery
dab19642ee
mesa/st: Don't map compressed texture fallbacks for reads
...
We don't need to map the compressed texture's fallback resource for operations
which will only read from the texture (e.g., glGetCompressedTexImage2D and
glCopyImageSubData).
For compressed textures using a fallback, delay the map until
st_UnmapTextureImage and only do the map if it's being written to.
To help identify what's being changed, the expected indentation changes are
split out into the next patch.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18257 >
2022-08-30 22:11:34 +00:00
Nanley Chery
81094981b6
mesa/st: Add and use st_texture_image_transfer::box
...
Use this field to determine which parts of the compressed texture fallback
resource needs updating. Drops a dependency on the
st_texture_image_transfer::transfer pointer.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18257 >
2022-08-30 22:11:34 +00:00
Nanley Chery
5f1967e92b
mesa/st: Add and use st_texture_image_insert_transfer
...
Split out the transfer array reallocation and insertion functionality from
st_texture_image_map.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18257 >
2022-08-30 22:11:34 +00:00
Nanley Chery
9fe525e37b
mesa/st: Set PIPE_MAP_DISCARD_RANGE in fallback_copy_image
...
Enables some drivers to avoid reading from the destination when mapping it.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18257 >
2022-08-30 22:11:34 +00:00
Konstantin Seurer
c8d36f92a0
v3dv: Use the common physical device enumeration
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Konstantin Seurer
08ed174e74
panvk: Use the common physical device enumeration
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Konstantin Seurer
ff54fcd1a9
lvp: Use the common physical device enumeration
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Konstantin Seurer
6c452aa1ad
turnip: Use the common physical device enumeration
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Konstantin Seurer
e90fb9cb23
anv: Use the common physical device enumeration
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Konstantin Seurer
52555c7d5d
radv: Use the common physical device enumeration
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Konstantin Seurer
7b4b9ee7ee
vulkan: Add common physical device management
...
Add common entrypoints for enumerating physical devices, based on the RADV implementation.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17750 >
2022-08-30 19:34:47 +00:00
Rhys Perry
e743e739a9
radv: enable 64-bit vertex formats
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6956
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
96df4499ac
radv,aco: implement 64-bit vertex inputs
...
Note that, from 22.4.1. Vertex Input Extraction of Vulkan spec:
The input variable in the shader must be declared as a 64-bit data type if
and only if format is a 64-bit data type.
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/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
813468c43c
radv: enable R8G8B8, B8G8R8 and R16G16B16 vertex formats
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6956
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
97c1731f14
radv: remove radv_translate_vertex_format
...
This is not used 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/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
831257bdce
radv,aco: use pipe_format for dynamic vertex input state
...
Also prepare for 64-bit and R8G8B8/R16G16B16 with the addition of
radv_vs_input_state::nontrivial_formats.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5021
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
c06a5a5ebd
radv,aco: use pipe_format for static vertex input state
...
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/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
d4ec156d82
radv: add radv_is_vertex_buffer_format_supported
...
We will want to support formats which cannot used for texel buffers.
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/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
6a2ada93b4
ac: add ac_vtx_format_info
...
This will be used by RADV and ACO.
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/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
dfbb4b384a
util/format,vulkan/format: update p_format for Vulkan vertex buffers
...
We need to move some earlier (so they are <= 255 like the comment says)
and add a few 64-bit ones.
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/17894 >
2022-08-30 19:02:11 +00:00
Rhys Perry
d09b658dbd
nir: use a GC context for instructions
...
Gives an roughly -15% change in compile-time for RADV/ACO.
Memory usage increase seems to be 5-6%.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5034
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Rhys Perry
69ba1c4d59
nir: adjust nir_src_copy signature to take a nir_instr *
...
This is almost always a nir_instr and updating the src of a nir_if will
have to work slightly differently in the future.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Rhys Perry
aa2d6e020b
Revert "nir: Drop the unused instr arg for src/dest copy functions."
...
This reverts commit c3a0184118 .
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Rhys Perry
1df320dae7
nir/serialize: remove unused parameter from read_src()
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Rhys Perry
69a9b343e8
util: add freelist allocator with mark/sweep
...
Based on the allocator https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/524 ,
but modified a bit (in particular, it's now separate from ralloc).
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Rhys Perry
9bd7b0b305
util/ralloc: add HEADER_ALIGN macro
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Connor Abbott
9d9b891f94
nir: Free instructions more often
...
Soon we'll be allocating instructions out of a per-shader pool, which
means that if we don't free too many instructions during the main
optimization loop, the final nir_sweep() call will create holes which
can't be filled. By freeing instructions more aggressively, we can
allocate more instructions from the freelist which will reduce the final
memory usage.
Modified from Connor Abbott's original patch to rebase on top of
refactored DCE and so that the use-after-free in nir_algebraic_impl() is
fixed.
Co-authored-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12910 >
2022-08-30 18:21:44 +00:00
Jonathan
8f159a8576
gallium/u_threaded: buffer sharedness tracking
...
This fixes TC's buffer invalidation code for buffers that are shared
between contexts.
TC is unable to notify other TCs in case it replaces a shared buffer's
underlying storage when invalidating, causing those other TCs to use
wrong buffer IDs for busyness tracking, which leads to corruption due
to invalidation fast-paths being triggered when they shouldn't be.
This patch addresses this issue by tracking if a buffer is shared, and
if it is, disabling buffer storage replacement for the affected buffer.
This is achieved by tracking which TC instance first accessed a certain
buffer. If a second instance then accesses it as well, it will realize
that it isn't the only one working on the buffer and mark the buffer
accordingly.
If TC needs to invalidate a buffer for the correctness of an operation
at any point, it will fall back to doing the operation in a synchronous
fashion with this patch if the buffer is shared and currently busy.
It might be possible to later detect that a buffer has become un-shared;
however, this is outside of the scope of this bugfix patch.
v2: Do not disable buffer busyness tracking for shared buffers.
Fixes: e9c41b32 ("gallium/u_threaded: add buffer lists - tracking of buffers referenced by tc")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17338 >
2022-08-30 17:27:48 +00:00
Jonathan
aa87803069
gallium/u_threaded: Prepare for buffer sharedness tracking
...
tc_add_to_buffer_list and tc_bind_buffer need the tc instance too.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17338 >
2022-08-30 17:27:48 +00:00
Jesse Natalie
6718bff75b
u_atomic: Add a helper for pointer compare-exchange
...
Notably this helps with MSVC, which complains about compiling the not-taken
branches of the ternary when called with pointer args. Using a version that
doesn't have "runtime" sizeof checks eliminates the warnings.
Reviewed-by: Jonathan Strobl <jonathan.strobl@gmx.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17338 >
2022-08-30 17:27:48 +00:00
Rob Clark
3efdaaf115
Revert "ci: disable the freedreno farm."
...
It is back again. Hopefully it stays that way.
This reverts commit ab473a4f48 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18321 >
2022-08-30 17:00:45 +00:00
Daniel Schürmann
f676326a1a
aco/live_var_analysis: implement faster merging of live_out sets for some cases
...
If we know that logical and linear predecessors are the same,
we don't need to check for the register type of each variable.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18105 >
2022-08-30 16:03:26 +00:00
Daniel Schürmann
3d6ea4f666
aco: use std::vector::reserve() more often
...
This removes the majority of vector re-allocations.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18105 >
2022-08-30 16:03:26 +00:00
Christian Gmeiner
902bf8ce07
lima/ci: Make use of .lava-piglit
...
This brings back the old CI behaviour.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18299 >
2022-08-30 15:46:34 +00:00
Erik Faye-Lund
530683096b
gallium/u_transfer_helper: hide deinterleave helpers
...
There's no more callers of these, so let's make them an implementation
detail instead of public API.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17959 >
2022-08-30 14:36:32 +00:00
Erik Faye-Lund
c033a12c52
zink: use full transfer-helper api
...
This is going to make it easier to maintain u_transfer_helper in the
future.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17959 >
2022-08-30 14:36:32 +00:00
Erik Faye-Lund
81a73abc63
gallium/u_transfer_helper: add in-place interleave flag
...
This flag should allow Zink to stop using the interleave-specific API,
and instead just use the normal/full u_transfer_helper API, and start
using some more of these helpers.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17959 >
2022-08-30 14:36:32 +00:00
Erik Faye-Lund
c5a01854df
gallium/u_transfer_helper: clean up boolean flags
...
Whenever we add or remove a flag here, we need to update a bunch of
drivers in a fragile way. Moving to flags here instead should make this
a bit easier to maintain in the future.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17959 >
2022-08-30 14:36:32 +00:00
Daniel Schürmann
9b843f8e4a
nir/opt_algebraic: a & ~a -> 0
...
Also re-ordered some optimizations for better readability.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18250 >
2022-08-30 14:10:22 +00:00
Martin Roukala (né Peres)
efb504e402
radv/ci: uprev boot2container
...
This brings in massively-tidier logs.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18267 >
2022-08-30 11:34:48 +00:00
Iago Toral Quiroga
ed9189025f
v3dv: expose VK_KHR_maintenance4
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
746664610b
v3dv: implement vkGetDeviceImageSparseMemoryRequirementsKHR
...
Added with KHR_maintenance4.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
48e8564235
v3dv: implement vkGetDeviceBufferMemoryRequirementsKHR
...
Added with VK_KHR_maintenance4.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
5d5b9bbad9
v3dv: add a buffer_init helper
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
07a68e107c
v3dv: add a get_buffer_memory_requirements helper
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
d198b05f78
v3dv: implement vkGetDeviceImageMemoryRequirementsKHR
...
Added with KHR_maintenance4.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
3aa623ae03
v3dv: add a get_image_memory_requirements helper
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
c354ca69c6
v3dv: add a v3dv_image_init helper
...
This is different from the internal create_image in that it doesn't
allocate memory for an image object, instead it expects the object
to be created and it initializes it from a VkImageCreateInfo struct.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
2c388c1d49
v3dv: set maxBufferSize property
...
Included since KHR_maintenance4 and Vulkan 1.3.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
14dab6b10c
v3dv: ref/unref pipeline layout objects
...
Since KHR_maintenance4 it is possible to destroy pipeline layouts
immediately after creating pipelines.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Iago Toral Quiroga
425f8aa7a4
v3dv: add a helper to destoy pipeline layouts
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18246 >
2022-08-30 11:10:14 +00:00
Pierre-Eric Pelloux-Prayer
adad285fc9
radeonsi: use LOAD_CONTEXT_REG_INDEX for VGT_STRMOUT_DRAW_OPAQUE
...
Based on PAL's UniversalCmdBuffer::CmdDrawOpaque.
We don't need to use PFP_SYNC_ME because it's done in emit_cache_flush.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18129 >
2022-08-30 10:51:43 +00:00
Erik Faye-Lund
7f7c8e83df
mesa: fall-back to fp16 for bptc-textures
...
FP16 is way more commonly supported than FP32, and requires half the
memory bandwidth. Because the internal format of BPTC is really FP16,
let's fall back to that instead.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
72ad3787a3
mesa/main: add fp16-versions of bptc decompression functions
...
These are essential copies of the float-versions, with minor
adjustments.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
253b521b6e
mesa/main: remove always-true define
...
We don't include this header anwhere where BPTC_BLOCK_DECODE isn't
already true, so let's remove it.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
1961022e1a
zink: allow X32 -> A32
...
The 32-bit per component pipe_formats are a bit different than the 8 and
16 bit formats, in that there's no UNORM or SNORM variants of them. So
let's just omit those variants.
While we're at it, update a comment that was already out-of-date anyway.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
e4ff42684b
mesa/st: enable bptc extension with fallback
...
This implements emulation of BPTC for all drivers that don't natively
support it in HW, similar to what we have for ETC and ASTC already. The
only significant difference is that we don't implement any transcoding
DRI-conf for it.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
4f4e28face
mesa/st: implement fallback for bptc
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
2b7dfd8de1
mesa: add _mesa_unpack_bptc-function
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
529e70271f
mesa: add format-helper for bptc
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
403b9bf870
mesa/st: add context-flag for bptc-support
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
8f446322e1
mesa/st: do not use memcpy when using compressed fallback
...
If we're using the memcpy-path, we don't update the compressed image,
which will be needed if an application try to download the texture-image
again afterwards.
This isn't a problem yet, because none of the current compressed formats
with fallback are copyable as per the OpenGL 4.6 Core spec, table 8.14.
However, this is about to change, when we introduce fallback for BPTC
formats.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
673d241f36
mesa/st: avoid double-mapping if both images are the same
...
If both src_image and dst_image are pointing to the same image, we'll
end up double mapping the image, which throws an assert in
st_texture_image_map.
So let's check if these images are the same, and avoid the extra mapping
in that case.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
985fde28a2
mesa/st: simplify st_compressed_format_fallback
...
By looking at the format-layout, we can do switch-cases here instead of
serial calls to _mesa_is_format_foo(). This isn't a huge deal yet, but
this function is going to learn about a lot more formats soon...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
bf6e70965d
mesa/main: simplify implementation of _mesa_is_format_astc_2d
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:47 +00:00
Erik Faye-Lund
207798c557
mesa/main: simplify implmementation of _mesa_is_format_etc2
...
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Soroush Kashani <soroush.kashani@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18012 >
2022-08-30 08:36:46 +00:00
Chad Versace
45c47e7bd6
venus: Document VK_EXT_texture_compression_astc_hdr support
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:56 +00:00
Chad Versace
6d0c86c777
venus: Enable VK_EXT_tooling_info
...
Implement it locally with the common implementation.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
2bf2a05312
venus: Enable VK_EXT_private_data
...
Implement it as hybrid native/passthrough as a workaround until venus
learns how to deep surgery on pNext chains. Eventually, we want to
implement it purely natively. For details, see the big code comment.
See: https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/908
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Signed-off-by: Chad Versace <chadversary@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
4d80ccbf2d
venus: Enable VK_KHR_format_feature_flags2
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
fc2d37882c
venus: Enable VK_EXT_ycbcr_2plane_444_formats
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
ea273dd8b9
venus: Enable VK_EXT_texel_buffer_alignment
...
The patch looks asymmetic because the extension was promoted to 1.3 but
not its feature struct.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
246f29d0b1
venus: Enable VK_EXT_subgroup_size_control
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
c01f0bbbec
venus: Enable VK_KHR_zero_initialize_workgroup_memory
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
23a424f6e3
venus: Enable VK_KHR_shader_terminate_invocation
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
8fbc12feb2
venus: Enable VK_KHR_shader_non_semantic_info
...
This extension has no Vulkan API, only SPIR-V API.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
1951eb2dad
venus: Enable VK_KHR_shader_integer_dot_product
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
1985afdde5
venus: Simplify vn_GetPhysicalDeviceProperties2
...
Reduce approximately 220 lines to 80.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
7d1fb018f2
venus: Simplify vn_GetPhysicalDeviceFeatures2
...
Reduce approximately 300 lines to 60.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
d46a78e74e
vulkan: Make vk_copy_struct_guts() public
...
Venus wants to copy struct guts too.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Chad Versace
3ed2c58047
venus: Sort passthrough extensions
...
Only the Vulkan 1.3 extensions were unsorted.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000 >
2022-08-30 08:09:55 +00:00
Rhys Perry
aa4db00c57
aco: remove dead code for querying image size/samples/levels
...
ac_nir_lower_resinfo() now lowers these.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17991 >
2022-08-30 07:37:08 +00:00
Rhys Perry
52b781760d
radv: enable ac_nir_lower_resinfo for ACO
...
fossil-db (navi21):
Totals from 4022 (2.98% of 134913) affected shaders:
VGPRs: 207824 -> 205264 (-1.23%); split: -1.25%, +0.02%
CodeSize: 18486240 -> 18778488 (+1.58%); split: -0.00%, +1.58%
MaxWaves: 84398 -> 84882 (+0.57%)
Instrs: 3408968 -> 3470936 (+1.82%); split: -0.00%, +1.82%
Latency: 43493420 -> 43168394 (-0.75%); split: -1.57%, +0.82%
InvThroughput: 6911341 -> 6816816 (-1.37%); split: -1.41%, +0.05%
VClause: 88256 -> 82728 (-6.26%); split: -6.31%, +0.04%
SClause: 130061 -> 131526 (+1.13%); split: -0.39%, +1.51%
Copies: 219849 -> 238548 (+8.51%); split: -0.05%, +8.56%
Branches: 79168 -> 79174 (+0.01%); split: -0.00%, +0.01%
PreSGPRs: 180683 -> 184952 (+2.36%); split: -0.17%, +2.53%
PreVGPRs: 179716 -> 178956 (-0.42%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17991 >
2022-08-30 07:37:08 +00:00
Rhys Perry
797150c144
nir/lower_tex: ignore width of cube textures
...
On AMD hardware, height is faster to access and we're already doing so.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17991 >
2022-08-30 07:37:08 +00:00
Rhys Perry
290df95870
aco: add SCC clobber in build_cube_select
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17991 >
2022-08-30 07:37:08 +00:00
Rhys Perry
fc06f0cbd5
nir/print: support nir_texop_descriptor_amd
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Fixes: 3098000e71 ("nir: add nir_texop_descriptor_amd")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17991 >
2022-08-30 07:37:08 +00:00
Marek Olšák
b8c861b864
radeonsi: move set_patch_vertices into si_state_shaders.cpp
...
it's a better place for it
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
01d351a491
radeonsi: move patch_vertices-related tessellation updates out of si_draw
...
This only depends on the patch_vertices and the TCS.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
93cd96b523
radeonsi: remove 1 draw packet order codepath, keep the first one
...
Multi-mode multi-draws will make it more complicated, so let's start with
simpler code.
I changed the order a little: I put the VBO update next to emit_draw_packets.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
808893ee69
radeonsi: cosmetic changes in si_emit_rasterizer_prim_state
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
dcd80d31cf
radeonsi: set GS_STATE_OUTPRIM and PROVOKING_VTX_INDEX only when they change
...
This moves setting those registers from an unconditional place in draw_vbo
into si_set_rasterized_prim (for draw_vbo), si_update_rasterized_prim
(for bind_xx_shader), and si_bind_rs_state.
It's a little more complicated than expected.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
a070a09d00
radeonsi: precompute GS_OUT_PRIM in advance
...
We don't have to do it every draw now if the rasterized prim type
doesn't change.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
7144621e94
radeonsi: unify the logic that sets rast_prim
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
58539e976b
radeonsi: move fixing ngg_culling into si_update_shaders
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
e5a9203159
radeonsi: remove the prim_restart_tri_strips_only option
...
Not used enough, no difference in performance for Dirt Rally on 6800.
Move the variable down.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
d8125427cd
radeonsi: move *rs to its only use in si_draw
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
e19363a44e
radeonsi: make the primitive type constant with tessellation
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
89640f32e0
radeonsi: don't pass num_patches via derived_tess_state, pass it via si_context
...
This removes the parameter from si_emit_derived_tess_state and uses
si_context to pass it. This rework is needed for multi-mode draws
where num_patches will be needed much later.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Marek Olšák
261e1af570
radeonsi/ci: add skips of tests not built on Linux
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18195 >
2022-08-30 04:57:43 +00:00
Jason Ekstrand
2917e849b0
panfrost: Use util/bitpack_helpers.h
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18062 >
2022-08-30 04:28:34 +00:00
Jason Ekstrand
4fab5ae8ba
asahi: Use util/bitpack_helpers.h
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18062 >
2022-08-30 04:28:34 +00:00
Jason Ekstrand
4615153d71
util: Add util_bitpack_[su]fixed_clamp helpers
...
These clamp the value to the fixed-point range instead of asserting.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18062 >
2022-08-30 04:28:34 +00:00
Jason Ekstrand
570f35aa3d
broadcom: Use util/bitpack_helpers.h
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18062 >
2022-08-30 04:28:34 +00:00
Jason Ekstrand
c52d5acf15
util,intel: Pull the bit packing helpers from genxml to a common header
...
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18062 >
2022-08-30 04:28:34 +00:00
Mike Blumenkrantz
7fc1ab4928
zink: defer all compute shader creation
...
with other various changes, this should enable the entirety of compute
shader creation to occur in the compile thread
it also enables (slightly) simplifying shader create by moving cube check
out to the caller
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
3652ca08aa
zink: add function to check whether a shader has cube samplers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
5489b1a8ff
zink: generate sha1 for compute programs
...
this got broken in the move to u_live_shader_cache, which does not
handle compute programs and thus does not populate the shader's sha1
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
68f319a9b8
zink: init fbfetch/bindless ctx stuff on shader create
...
deferring until later will be problematic for threads
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
7ddd8e428b
zink: add a context pointer to zink_program struct
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
27c3fe3d34
zink: add locking for descriptor layout caches
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
a327ff90d2
zink: add partial async shader compile support
...
when compute shaders can be precompiled, they can be precompiled asynchronously
which allows the implementation of the parallel shader compile hooks
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
eb9ec4baa7
zink: add precompilation for compute shaders
...
for compute shaders that don't need spec constants or cube lowering,
precompiles are possible and can be performed immediately after disk
cache lookup completes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
9ee059b5b3
zink: move compute descriptor binds down in execution
...
this has to occur after the pipeline has been updated to account for
async compile
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
b2696ca58e
zink: add a param to allow zink_screen_update_pipeline_cache to run directly
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
e1ad7bf0b7
zink: move compute pipeline cache update to caller
...
this is more flexible
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
1cc6cecc3a
zink: track whether shader has cube samplers
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
48ebc60e80
zink: use different key comparison for local_size-using compute pipelines
...
this should be more correct
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
8731ffa238
zink: stop zeroing local size if current compute doesn't use it
...
this just complicates things for later compute updates
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
ad96d21239
zink: remove use_local_size from compute pipeline state
...
this is redundant since pipeline state gets flagged on bind
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
bbd58d1703
zink: don't add compute base pipeline to hash table
...
this is pointless since it has no lookup data
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
d0c8e70a64
zink: merge compute program hash table onto program struct
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
3e9a108c78
zink: add a pipeline shortcut for basic compute programs
...
if there are no inline uniforms, nonseamless cubes, or local size use,
then this is the "base" pipeline object that can be reused without checking
the hash table
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
8cdb227fe7
zink: add param to allow cache_get jobs to run directly
...
this will be useful for precompiles
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
40878e212f
zink: don't call util_queue_fence_init in zink_screen_get_pipeline_cache()
...
this might accidentally clobber existing jobs
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
3a674fc6eb
zink: add use_local_size flag to compute programs
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
bd12fa86fc
zink: initialize cache_get_thread unconditionally
...
this can also be used for precompiles
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
4cb4bb555e
zink: create compute programs from compute shaders directly
...
this simplifies the whole compute shader/program architecture and
also compiles compute shaders when apps maybe expect them to be compiled
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
2d46cc76c7
zink: allow programs to solely manage descriptor deinit
...
now that there's no context access, this is perfectly safe and also much simpler
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Mike Blumenkrantz
06e0c05842
zink: use screen param for zink_descriptor_program_deinit
...
this better enables late destruction of programs
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18197 >
2022-08-30 04:11:16 +00:00
Marek Olšák
ab473a4f48
ci: disable the freedreno farm.
...
It's busted.
Pushing directly. There are 6 MRs in the Marge queue and we don't have that
kind of time to wait for them to time out.
Acked-by: Rob Clark on IRC
2022-08-29 23:59:34 -04:00
Tatsuyuki Ishi
e799b88449
radv,lvp,anv: Delete pre-common dispatch leftover.
...
These functions are no longer used since the introduction of common
dispatch.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18284 >
2022-08-29 22:28:32 +00:00
Tatsuyuki Ishi
ff6b1f4885
radv: Remove unused radv_deferred_queue_submission.
...
Has been stale since the common sync migration.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18284 >
2022-08-29 22:28:32 +00:00
Tatsuyuki Ishi
400881e6c7
radv: Remove unused functions.
...
Grep shows no usage.
Found by manual inspection.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18284 >
2022-08-29 22:28:31 +00:00
Marek Olšák
7833c5139a
winsys/amdgpu: use cached GTT for command buffers and don't set the 32BIT flag
...
This improves performance a lot in a few viewperf tests.
The 32-bit flag was unnecessary.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18170 >
2022-08-29 21:06:02 +00:00
Adam Jackson
dae8f76245
egl: Remove some can't-happen supported API checks
...
The only other thing this could be is OpenVG, which we never create.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18128 >
2022-08-29 20:31:14 +00:00
Sil Vilerino
a1f904f7a3
d3d12: Implement cap PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP
...
Reports d3d12 support for mapping all the contiguous planes.
This will be used by vaDeriveImage in the VA frontend
Fixes: a585d95803 ("radeonsi/vcn: WA 10bit encoding crash in vaapi")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18300 >
2022-08-29 20:01:01 +00:00
Sil Vilerino
81ae033b94
gallium/va: vaDeriveImage to check PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP
...
vaDeriveImage should check if the underlying gallium driver can map contiguous planes
before skipping with disallowlist.
Fixes: a585d95803 ("radeonsi/vcn: WA 10bit encoding crash in vaapi")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18300 >
2022-08-29 20:01:01 +00:00
Samuel Pitoiset
40d8df7280
radv: emit the guardband state separately from the scissor state
...
Only re-emit the scissor state if viewports or scissors change, and
only re-emit the guardband state if viewports, line width or the
current rasterized primitive change.
This should reduce the number of emitted packets when only the line
width or the rasterized primitive change.
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/18247 >
2022-08-29 19:40:36 +00:00
Samuel Pitoiset
3c2966fa1b
radv: rework dirtying scissors when the line width changes
...
The guardband state (part of scissors) needs to be re-emitted when
the line width changes. Given this is a dynamic state, it's not
necessary to look at the pipeline line width.
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/18247 >
2022-08-29 19:40:36 +00:00
Samuel Pitoiset
5bbb7de514
radv: split emitting guardband into a separate helper
...
This will be used to emit guardband separately from scissor.
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/18247 >
2022-08-29 19:40:36 +00:00
Samuel Pitoiset
fbbae5c0b9
radv: remove useless parameter in si_write_scissors()
...
It always starts from 0.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18247 >
2022-08-29 19:40:36 +00:00
Samuel Pitoiset
d88aba8946
radv: make sure to emit BREAK_BATCH when color write enable is dynamic
...
Color write enable can change CB_TARGET_MASK and emitting a BREAK_BATCH
seems needed for binning. Though, this was broken if this enable bit
changed dynamically for the same pipeline. Split the function to not
increase CPU overhead.
Found by inspection.
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/18233 >
2022-08-29 19:21:12 +00:00
Samuel Pitoiset
3bcfdfb06e
radv: store binning settings into the physical device
...
To avoid re-computing this every time.
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/18233 >
2022-08-29 19:21:12 +00:00
Emma Anholt
f69820468c
turnip: Fix enabling of IB2 skipping.
...
We weren't setting LOCAL, so unless freedreno GL had set it since the GPU
woke up, we wouldn't get it.
This requires moving the GLOBAL unsetting out of tile_store's IB, since it
would never be executed when it mattered, anyway.
No perf difference detected on gfxbench vk-5-normal, or ANGLE minecraft,
genshin, and pubg.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18187 >
2022-08-29 18:34:10 +00:00
Emma Anholt
554cd8bcc2
freedreno/regs: Add a bit of documentation of what SKIP_IB2 does.
...
Based on @cwabbott's research.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18187 >
2022-08-29 18:34:09 +00:00
Yonggang Luo
b660c0eff3
util: Move detect_done out of struct util_cpu_caps_t
...
Also util_cpu_caps are hided, not accessed directly now
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
0993361ea7
util: Use environment variable GALLIUM_OVERRIDE_CPU_CAPS to remove usage of util_cpu_caps in translate_test.c
...
It's use extern struct util_cpu_caps_t util_cpu_caps that's violate the
restriction that we can not directly access util_cpu_caps
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
2ff4a4dd98
gallium: Fixes memory leak of translate_test.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
c763b1cae8
llvmpipe: Remove the hack for LLVM4 in lp_bld_init.c
...
The main intention is remove usage of extern struct util_cpu_caps_t util_cpu_caps
so we can mark util_cpu_caps to be static latter
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
9546a09901
util: Handling LP_FORCE_SSE2 in u_cpu_detect.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
d80c5a7c71
util: Handling GALLIUM_NOSSE in u_cpu_detect.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
e8ac138c83
util: Improve has_sse has_sse2 has_sse3 has_sse4_1 has_avx disable handling
...
This is the prepare for following changes:
* Handling GALLIUM_NOSSE in u_cpu_detect.c
* Handling LP_FORCE_SSE2 and LP_NATIVE_VECTOR_WIDTH in u_cpu_detect.c
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
e51fa10f53
util: Rename util_cpu_detect to _util_cpu_detect_local
...
Add comment about _util_cpu_detect_local that it's can only be called by util_get_cpu_caps
Add comment about util_cpu_caps that it's can only by accessed by util_get_cpu_caps
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Yonggang Luo
38dad17294
util: Remove unused rtasm_cpu_has_sse2
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17803 >
2022-08-29 18:06:07 +00:00
Marcin Ślusarz
4eaecd7965
anv: disable task redistribution
...
If task redistribution is enabled, then some mesh shaders read
garbage from task payload.
It may be a hardware bug, or it may be our bug. Who knows :(
This change will probably negatively affect performance of task
shader-enabled workloads on multi-slice GPUs, because mesh shaders
will be executed only on the slice where task shader was spawned.
Fixes: ef04caea9b ("anv: Implement Mesh Shading pipeline")
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16197 >
2022-08-29 17:08:13 +00:00
David Heidelberg
6c0215eb09
ci: bump cross compilation to LLVM 13 where possible
...
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17575 >
2022-08-29 17:01:41 +02:00
Christian Gmeiner
c16feac517
lima/ci: There is no need to redefine HWCI_TEST_SCRIPT
...
.piglit-test defines it already.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Erico Nunes <nunes.erico@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18276 >
2022-08-29 14:46:04 +00:00
Marcin Ślusarz
9f3eb63878
Revert "nir/lower_task_shader: don't use base index for shared memory intrinsics"
...
This reverts commit e5970fe22a .
Intel backend has implemented the missing functionality.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17618 >
2022-08-29 12:42:40 +00:00
Marcin Ślusarz
66bc9aec65
intel/compiler: add support for non-zero base in [load|store]_shared intrins
...
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17618 >
2022-08-29 12:42:40 +00:00
Marcin Ślusarz
3531c1e315
nir/lower_task_shader: print shader after each step
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17618 >
2022-08-29 12:42:40 +00:00
Kostiantyn Lazukin
31675fc766
vulkan/cmd_queue: Do not generate unreachable vk_free_* calls.
...
CID: 1503117
CID: 1503118
CID: 1503119
CID: 1503120
CID: 1503121
CID: 1503122
CID: 1503123
CID: 1503124
CID: 1503125
CID: 1503126
CID: 1503127
CID: 1503128
CID: 1503129
CID: 1503130
CID: 1503131
CID: 1503132
CID: 1503133
CID: 1503134
CID: 1503135
CID: 1503136
CID: 1503137
CID: 1503138
CID: 1503139
CID: 1503140
CID: 1503141
CID: 1503142
CID: 1503143
CID: 1503144
CID: 1503145
CID: 1503146
CID: 1503147
CID: 1503148
CID: 1503149
CID: 1503150
CID: 1503151
CID: 1503152
CID: 1503153
CID: 1503154
CID: 1503155
CID: 1503156
CID: 1503157
CID: 1503158
CID: 1503159
CID: 1503160
CID: 1503161
CID: 1503162
CID: 1503163
CID: 1503164
CID: 1503165
CID: 1503166
CID: 1503167
CID: 1503168
CID: 1503169
CID: 1503170
CID: 1503171
CID: 1503172
CID: 1503173
CID: 1503174
CID: 1503175
CID: 1503176
CID: 1503177
CID: 1503178
CID: 1503179
CID: 1503180
CID: 1503181
CID: 1503182
CID: 1503183
CID: 1503184
CID: 1503185
CID: 1503186
CID: 1503187
CID: 1503188
CID: 1503189
CID: 1503190
Signed-off-by: Kostiantyn Lazukin <kostiantyn.lazukin@globallogic.com >
Signed-off-by: Oleksii Bozhenko <oleksii.bozhenko@globallogic.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15549 >
2022-08-29 11:25:23 +00:00
Kenneth Graunke
d689ef7482
intel/compiler: Change dg2_plus check to devinfo->verx10 >= 125
...
Less special casing and possibly more future-proof.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17990 >
2022-08-29 10:28:32 +00:00
Erik Faye-Lund
0210a4d7b9
zink: fixup indent in caps-check
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18275 >
2022-08-29 10:08:23 +00:00
Erik Faye-Lund
65c0abe2c8
zink: fix conditions for draw-parameters
...
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18275 >
2022-08-29 10:08:23 +00:00
Iago Toral Quiroga
ee62a4c751
v3dv: implement VK_EXT_texel_buffer_alignment
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18291 >
2022-08-29 11:32:39 +02:00
Iago Toral Quiroga
2daa14f182
v3d,v3dv: lower texel buffer aligment requirements
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18291 >
2022-08-29 11:32:25 +02:00
Gert Wollny
be012932d0
virgl: Fix ubsan warnings:
...
virgl_screen.c:313:55: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
virgl_screen.c:682:27: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
virgl_encode.c:481:7: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18231 >
2022-08-29 05:44:22 +00:00
Gert Wollny
086ba33218
virgl: Fix buffer overflow warning:
...
./src/gallium/winsys/virgl/drm/virgl_drm_winsys.c: In function ‘virgl_drm_winsys_resource_set_type’:
../src/gallium/winsys/virgl/drm/virgl_drm_winsys.c:607:10: warning: array subscript 14 is above array bounds of ‘uint32_t[14]’ {aka ‘unsigned int[14]’} [-Warray-bounds]
607 | cmd[VIRGL_PIPE_RES_SET_TYPE_PLANE_OFFSET(i)] = plane_offsets[i];
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/gallium/winsys/virgl/drm/virgl_drm_winsys.c:582:13: note: while referencing ‘cmd’
582 | uint32_t cmd[VIRGL_PIPE_RES_SET_TYPE_SIZE(VIRGL_MAX_PLANE_COUNT)];
| ^~~
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18231 >
2022-08-29 05:44:22 +00:00
David Heidelberg
b915c45cb9
ci: drop last bits of wine32
...
This allows us droping i386 subarchitecture, which leads to saving about
100 MiB from the base image.
v2:
- dropped DEBIAN_BUILD_TAG and DEBIAN_BUILD_MINGW_TAG change, since
DEBIAN_BASE_TAG is enough
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18222 >
2022-08-27 23:00:37 +00:00
Ming Li
4311d44260
docs: Add d3d10umd and lavapipe to the doc for the gallium frontends.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17243 >
2022-08-27 14:44:56 +02:00
Juston Li
c1871cfde4
venus: add support for VK_EXT_primitive_topology_list_restart
...
See:
virgl/virglrenderer!902
olv/venus-protocol!46
Test:
./deqp-vk -n dEQP-VK.pipeline.monolithic.input_assembly.primitive_restart.*
Test run totals:
Passed: 55/55 (100.0%)
Failed: 0/55 (0.0%)
Not supported: 0/55 (0.0%)
Warnings: 0/55 (0.0%)
Waived: 0/55 (0.0%)
Signed-off-by: Juston Li <justonli@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18283 >
2022-08-26 16:30:51 -07:00
Juston Li
46509e8060
venus: sync venus protocol headers for VK_EXT_primitive_topology_list_restart
...
Signed-off-by: Juston Li <justonli@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18283 >
2022-08-26 16:03:30 -07:00
Chia-I Wu
ef27399bca
docs: update perfetto with the latest status
...
intel and turnip support renderstages. EGL supports track events.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Chia-I Wu
cbd8e24b9f
pps: enable track_event in system.cfg
...
This enables MESA_TRACE_* tracepoints.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Chia-I Wu
05baeef69c
venus: use MESA_TRACE_*
...
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Chia-I Wu
9518af12aa
util/perf: support and prefer perfetto for cpu trace
...
To keep tracing working, this also adds util_perfetto_init to
eglGet*Display.
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Chia-I Wu
54b105f75d
util/perfetto: add a simple C wrapper for track events
...
The C wrapper only uses public APIs from the C++ SDK. For efficient
tracepoint skipping, it copies the states of categories (there is one
category in this commit) to a util_perfetto_category_states array.
Other options are to use percetto, or wait for an official C SDK.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com >
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Chia-I Wu
3163e637f4
util/perf: fix multiple tracepoints in a scope
...
Fixes
"../src/util/perf/cpu_trace.h:32:8: error: redefinition of ‘_mesa_trace_scope___LINE__’"
This should work until someone wants multiple MESA_TRACE_SCOPE on the
same line :)
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Chia-I Wu
022cd156d4
util/perf: add cpu_trace.h
...
Move MESA_TRACE_* to the new file.
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
Chia-I Wu
19b7d5284b
util/perf: move u_perfetto to here
...
Acked-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18260 >
2022-08-26 21:47:44 +00:00
David Heidelberg
fc410b024d
ci: use shellcheck for .gitlab-ci/container/ directory
...
It checks our CI shell code in `debian-build-testing` job.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17574 >
2022-08-26 21:20:14 +00:00
David Heidelberg
c90b433f18
ci: make shellcheck happy about .gitlab-ci/container/ directory
...
Makes easier do changes, when shellcheck is warning-free.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17574 >
2022-08-26 21:20:14 +00:00
David Heidelberg
9563cd7d7c
ci: move lava-test into debian-build-testing
...
Should speed up the debian-testing job by a few seconds.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17574 >
2022-08-26 21:20:14 +00:00
David Heidelberg
26bfea1a7d
ci: rename debian-gallium to debian-build-testing
...
This should provide a more accurate description of the task
and allow us to offload some minor checks into it.
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17574 >
2022-08-26 21:20:14 +00:00
Rob Clark
9da5b2c1f5
freedreno: Add support for upload transfers
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18258 >
2022-08-26 20:48:36 +00:00
Rob Clark
4703efd23f
freedreno/drm: Add offset param for fd_bo_upload()
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18258 >
2022-08-26 20:48:36 +00:00
Rob Clark
a9e79dd88a
freedreno/drm: Let backend hint about upload vs map
...
For the virtgpu backend, immediately mmap'ing a buffer can be expensive
(ie. require a sync with host), so for small transfers we'd prefer to go
the upload path.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18258 >
2022-08-26 20:48:36 +00:00
Rob Clark
808ad6621e
freedreno/a6xx: Random indent fixes
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18258 >
2022-08-26 20:48:36 +00:00
Karol Herbst
e291e05794
nv50: fix code heap after pipe_shader_enum change
...
Instead of keying the shader heaps with the TGSI enum, do it with our nv50
one, so we won't run into issues like this in the future.
Fixes: 27f46465c7 ("gallium/tgsi: reorder pipe shader type defines.")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18236 >
2022-08-26 18:45:09 +00:00
Chia-I Wu
b1cb764316
ir3: fix predicate splitting in scheduler
...
Fix up src->def->instr, not src->instr.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7014
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18096 >
2022-08-26 17:36:18 +00:00
Mike Blumenkrantz
e9e81bf5f3
lavapipe: delete some code
...
now that the descriptor structs are flattened, more code can be deleted
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
6a01053bb2
lavapipe: create gallium descriptor image/sampler view types for views
...
this simplifies handling pipe_sampler_view and pipe_image_view by creating
them at the time the view is created, thus enabling the lifetime of samplerview
objects to be managed by the object that owns them instead of everywhere
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
be2185aa49
lavapipe: apply VK_WHOLE_SIZE to bufferviews at creation
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
6212cff00a
lavapipe: use gallium buffer descriptor types directly
...
this cleans up a bit of code
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
b7b7da9769
lavapipe: delete lvp_buffer::offset
...
this was always 0
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
4e797b1346
lavapipe: use pipe_sampler_state directly in descriptor info
...
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
832af7776b
lavapipe: replace lvp_sampler internals with pipe_sampler_state
...
less indirection, less code
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
78495ffaf9
lavapipe: remove lvp_sampler::state
...
I don't know what this was for but it's not doing anything now
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
cb48612355
lavapipe: use cso for compute samplers too
...
somehow I missed this?
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Mike Blumenkrantz
7dd32b449d
lavapipe: stop tracking descriptor image layout
...
this is unused
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17740 >
2022-08-26 16:02:03 +00:00
Rhys Perry
636450c274
aco: allow direct_fetch=true for vec4 VS input loads
...
This seems to be a (mostly harmless) mistake from 369b8cffea .
fossil-db (navi21):
Totals from 15 (0.01% of 135636) affected shaders:
Instrs: 1992 -> 1999 (+0.35%)
Latency: 13557 -> 13567 (+0.07%); split: -0.24%, +0.31%
InvThroughput: 4059 -> 4065 (+0.15%); split: -0.20%, +0.34%
Copies: 186 -> 193 (+3.76%)
fossil-db (polaris10):
Totals from 5 (0.00% of 135610) affected shaders:
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/18225 >
2022-08-26 15:28:55 +00:00
Rhys Perry
030d6f873e
aco: don't expand vec3 VS input load to vec4 on GFX6
...
Removes the (small) possibility of invalid memory access.
fossil-db (pitcairn):
Totals from 35456 (26.15% of 135610) affected shaders:
MaxWaves: 259508 -> 260642 (+0.44%); split: +0.44%, -0.01%
Instrs: 7915383 -> 7965774 (+0.64%); split: -0.09%, +0.72%
CodeSize: 37163748 -> 37524804 (+0.97%); split: -0.04%, +1.01%
SGPRs: 1515128 -> 1513576 (-0.10%); split: -0.27%, +0.17%
VGPRs: 1218376 -> 1211160 (-0.59%); split: -0.71%, +0.12%
SpillSGPRs: 1152 -> 1144 (-0.69%)
Latency: 83777626 -> 83867137 (+0.11%); split: -0.61%, +0.72%
InvThroughput: 25722445 -> 25727745 (+0.02%); split: -0.23%, +0.25%
VClause: 232058 -> 230464 (-0.69%); split: -2.53%, +1.84%
SClause: 322579 -> 322108 (-0.15%); split: -0.76%, +0.61%
Copies: 547032 -> 547954 (+0.17%); split: -1.83%, +2.00%
Branches: 72538 -> 72542 (+0.01%)
PreVGPRs: 898453 -> 897584 (-0.10%); split: -0.13%, +0.03%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18225 >
2022-08-26 15:28:55 +00:00
Rhys Perry
3c63ef0c98
radv/llvm: fix packed VS inputs on GFX6/GFX10+
...
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/18225 >
2022-08-26 15:28:55 +00:00
Rhys Perry
3260844448
aco: fix 16-bit VS inputs
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 3fba5bb9cc ("aco: implement 16-bit vertex fetches with tbuffer_load_format_d16_*")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18225 >
2022-08-26 15:28:55 +00:00
Rhys Perry
9ae13a9bd3
radv: fix 16-bit support in radv_lower_vs_input
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: b366fef091 ("radv: optimize the number of loaded components for VS inputs in NIR")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18225 >
2022-08-26 15:28:55 +00:00
Rhys Perry
82f9e40851
radv: remove claimed support for sRGB vertex buffer formats
...
These probably don't work.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18225 >
2022-08-26 15:28:55 +00:00
Rob Clark
83f983ccda
Revert "ci: disable the freedreno farm."
...
Should be back now
This reverts commit bc2e1a3ed6 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18277 >
2022-08-26 15:04:22 +00:00
Brian Paul
1d915cd702
st_pbo/compute: fix memset() warning
...
Using memset() to zero a few sequential fields in gl_pixelstore_attrib
is a bit dodgy (what if someone were to add/reorder fields?). And gcc
emits a warning in optimized builds:
In function ‘memset’,
inlined from ‘copy_converted_buffer’ at ../src/mesa/state_tracker/st_pbo_compute.c:1038:7,
inlined from ‘st_GetTexSubImage_shader’ at ../src/mesa/state_tracker/st_pbo_compute.c:1146:7:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:10: warning: ‘__builtin_memset’ offset [9, 24] from the object at ‘packing’ is out of the bounds of referenced subobject ‘RowLength’ with type ‘int’ at offset 4 [-Warray-bounds]
71 | return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Just replace the memset with ordinary assignments.
Signed-off-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18261 >
2022-08-26 14:37:44 +00:00
Samuel Pitoiset
cbd59647a8
radv: move determining NGG shader info to radv_fill_shader_info()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
45f04dae75
radv: move more MS info to gather_shader_info_ms()
...
Only the workgroup size computation remains at the same place, but I
think it should be computed in a separate helper later.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
cae4eb2904
radv: move more CS info to gather_shader_info_cs()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
ac47d149c6
radv: add gather_shader_info_task() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
2ed573efeb
radv: add gather_shader_info_cs() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
6554cee7b7
radv: add gather_shader_info_vs() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
ba11aeca6b
radv: add gather_shader_info_tcs() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
4cec1f130b
radv: add gather_shader_info_tes() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
f70a0d12da
radv: add gather_shader_info_gs() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
f52b0dec3b
radv: add gather_shader_info_mesh() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
4a2ebd6076
radv: add gather_shader_info_fs() helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
4571126d26
radv: move filling cs.block_size
...
This is used for compute and task shaders and will help for adding
new helpers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
6f244ae9ad
radv: stop gathering info for FS before other stages
...
This is no longer needed.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
31dc03e21e
radv: link primitive ID/clip distance shader info from the new helper
...
No functional changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
96b9d9f081
radv: add a helper that links shader info between stages
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
8c6a252c74
radv: remove redundant VS output parameter assignments
...
assign_outinfo_params() should already assign them.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
2d0500d24a
radv: fill radv_vs_output_info unconditionally for vertex related stages
...
That shouldn't change anything for VS as LS (or as ES) and for
TES as ES because radv_vs_output_info is only used by the last
vertex stage. So, if we have TES+GS, radv_vs_output_info for TES
will be overwritten by GS. This allows to decouple the shader info
pass from other stages.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
ee5b9bcc57
radv: stop duplicating radv_vs_output_info
...
Only the last vertex stage needs to access this.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
45a0276cd1
radv/llvm: remove unused parameter in handle_vs_outputs_post()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
20ebdc3c2b
radv: replace cs.uses_task_rings by ms.has_task
...
Task shaders always use a ring, so this field was useless somehow.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
03d2af30f6
radv: remove dead code about task ring when binding a compute pipeline
...
This is probably a leftover when task shader has been reworked, but it
has no effect.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
38ae5b6da6
radv: compute the ESGS itemsize outside of radv_nir_shader_info_pass()
...
radv_nir_shader_info_pass() should run on individual shaders only, and
"linked" shader info should be done separately for better design.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
dbf175f255
radv: use esgs_itemsize when calling ac_nir_lower_es_outputs_to_mem
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
0df2d5e318
radv: stop duplicating radv_es_output_info
...
This structure isn't really useful and it contains only one field.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
a04fd5c61f
ac: constify ac_compute_cs_workgroup_size()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18210 >
2022-08-26 14:07:09 +00:00
Samuel Pitoiset
8cd1683944
aco: fix wrong size for 1D images and A16 on GFX9
...
Size is in bytes, not bits.
Fixes plenty of crashes in CI, like
dEQP-VK.synchronization.op.single_queue.event.write_image_fragment_read_image_tess_eval.image_128_r32_uint.
Fixes: 46f6e2ddbb ("aco: Implement storage image A16.")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18266 >
2022-08-26 13:30:46 +00:00
Samuel Pitoiset
0250925f07
radv: destroy the pipeline layout if creating a library failed
...
It should be properly cleaned.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18252 >
2022-08-26 13:08:29 +00:00
Samuel Pitoiset
39bebff1ac
radv: fix missing initialization of the pipeline layout when creating a lib
...
The base object won't be initialized otherwise.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18252 >
2022-08-26 13:08:29 +00:00
Samuel Pitoiset
e6e8c092ff
radv: remove bogus assertion about independent set layouts with GPL
...
layout->independent_sets can't be TRUE here.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18252 >
2022-08-26 13:08:29 +00:00
Samuel Pitoiset
64045fcf7c
radv: re-emit viewports if negative one to one or depth clamp mode changed
...
The following sequence would be broken if we don't re-emit viewports.
vkCmdSetViewport()
VkCmdBindPipeline(negative_one_to_one = false)
vkCmdDraw()
VkCmdBindPipeline(negative_one_to_one = true)
vkCmdDraw()
Found by inspection.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18245 >
2022-08-26 12:46:41 +00:00
Danylo Piliaiev
1eb7a85b55
tu: Update HS_WAVE_INPUT_SIZE formula
...
A better explanation for SP_HS_WAVE_INPUT_SIZE is that it is the size
of local memory to allocate per wave (which can be more than one
patch), in 256B units.
Then the maximum of 64 makes sense because only 16KB of local memory
is reserved for VS<->HS linkage.
The resulting formula matches the blob behaviour, even when
patch_control_points and tcs_vertices_out have different values,
while the past formula gave wrong answers on gen3+.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Suggested-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17957 >
2022-08-26 15:18:42 +03:00
Danylo Piliaiev
a7db1da37d
tu: Fix streamout with tess_use_shared
...
Mirrors 31835ac3b8 change in freedreno.
Together with "tu: Fix HS input size formula for gen3+" fixes following
tests from GL CTS running via Zink:
dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set.quads_fractional_odd_spacing
dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set.triangles_fractional_odd_spacing
dEQP-GLES31.functional.tessellation.invariance.primitive_set.triangles_fractional_odd_spacing_ccw
dEQP-GLES31.functional.tessellation.invariance.primitive_set.triangles_fractional_odd_spacing_cw
dEQP-GLES31.functional.tessellation.invariance.triangle_set.triangles_fractional_odd_spacing
dEQP-GLES31.functional.tessellation.primitive_discard.quads_fractional_odd_spacing_ccw
dEQP-GLES31.functional.tessellation.primitive_discard.quads_fractional_odd_spacing_cw
dEQP-GLES31.functional.tessellation.primitive_discard.triangles_fractional_odd_spacing_ccw
dEQP-GLES31.functional.tessellation.primitive_discard.triangles_fractional_odd_spacing_cw
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17957 >
2022-08-26 15:14:10 +03:00
Danylo Piliaiev
0120e7b9d9
freedreno: PC_SO_STREAM_CNTL_STREAM_ENABLE has per-stream enable bits
...
PC_SO_STREAM_CNTL.STREAM_ENABLE mirrors VPC_SO_STREAM_CNTL.STREAM_ENABLE
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17957 >
2022-08-26 15:14:10 +03:00
Danylo Piliaiev
0bf2033e0d
tu: Implement VK_EXT_attachment_feedback_loop_layout
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18064 >
2022-08-26 10:29:00 +00:00
Erik Faye-Lund
b7601dd27e
zink: wrap discard in a function
...
This makes discard less weird, and allows us to treat it as
control-flow. This makes things less bizarre for drivers.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7070
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18244 >
2022-08-26 10:05:03 +00:00
Erik Faye-Lund
47d67912bd
zink: add spirv_builder_function_call
...
It can be useful not just to create functions, but also being able to
call them. This adds the spirv_builder-helper for this.
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18244 >
2022-08-26 10:05:03 +00:00
Erik Faye-Lund
41dfed6e12
zink: type_main -> type_void_func
...
This type will be reused later on, so let's have the name describe what
is *is*, not what it's *used for*.
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18244 >
2022-08-26 10:05:03 +00:00
Jordan Justen
f4c44444ad
intel/pci_ids: Add 0x468b ADL-S PCI-id
...
Ref: bspec 53655
Fixes: d399c3e861 ("intel/dev: Add device info for ADL-S")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17569 >
2022-08-26 08:50:42 +00:00
Jordan Justen
6ca37aabfb
intel/pci_ids: Update ADL-S strings
...
Ref: bspec 53655
Fixes: d399c3e861 ("intel/dev: Add device info for ADL-S")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17569 >
2022-08-26 08:50:42 +00:00
Gert Wollny
bf4234d088
r600/sfn: Use a low number for unused target register
...
This reduces the number of registers reserved by the shader
units and makes more threads possible.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6856
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212 >
2022-08-26 08:27:42 +00:00
Gert Wollny
90f99369ae
r600: Fix reporting TGSI IR support
...
When NIR is not explicitely enabled we still support TGSI.
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre RG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212 >
2022-08-26 08:27:42 +00:00
Gert Wollny
c81fe5b235
r600/sfn: Use a heuristic to keep SSBO setup and store close
...
When SSBO instructions use constant address values the address loading
is immediately ready, scheduling the address loads early increases
the register pressure, so force a new instruction block to work around
this problem.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6975
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
v2: do handling in shader block to be thread save (hinted to by Filip)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212 >
2022-08-26 08:27:42 +00:00
Gert Wollny
1f5dccb760
r600/sfn: Don't scan the whole block for ready instructions
...
Limit the number of tested instructions and the number of
ready instructions that might be taken into account.
This reduces the time needed to run the scheduler significantly.
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212 >
2022-08-26 08:27:42 +00:00
Gert Wollny
79eabb8130
r600/sfn: Don't schedule GDS instructions early
...
Atomic GDS instructions like inc, dec, or read will increase the
register pressure, therefore we shouldn't prioritize scheduling them.
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6975
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212 >
2022-08-26 08:27:41 +00:00
Gert Wollny
fd71cd0b6a
r600/sfn: Don't tag mem-ring and stream instructions as exports
...
Export instructions allow burst writes, so it makes send to try
to allocate consecutive registers, but for ring writes we don't
schedule the outputs correctly to exploit this, so for now
don't mark these instructions as export to let the RA restart
picking colors.
When the scheduler starts to emit the ring writes in the right order
to allow for bust writes we might revisit this.
This fixes
spec@glsl-1.50 @execution@variable-indexing@gs-output-array-vec4-index-wr
Fixes: 79ca456b48
r600/sfn: rewrite NIR backend
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6975
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212 >
2022-08-26 08:27:41 +00:00
Gert Wollny
3a0f085837
r600/sfn: Handle color0 writes all on R700 like on EG
...
Fixes: 069f3869ac
r600/sfn: Fix color outputs when color0 writes all
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18212 >
2022-08-26 08:27:41 +00:00
Lucas Stach
43eb5e777e
etnaviv: add debug option to disable linear PE feature
...
Linear PE has already shown to have some rough corner cases in the hardware
and also has performance implications. Add a debug option to allow to disable
the feature, so users can more easily check if some issue is caused by this
feature.
CC: mesa-stable #22.2
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18232 >
2022-08-26 07:47:09 +00:00
Lucas Stach
ea8fc9592c
etnaviv: use linear PE rendering only on properly aligned surfaces
...
When linear rendering is used together with TS, the color tiles must be fully
contained in a single row of pixels. When wrapping around to the next row
TS gets confused and records wrong tile status information, leading to visual
corruption when the surface is resolved/decompressed.
The corruption can be fixed by increasing the stride alignment for linear
render targets, but that would break some existing use-cases, as some display
engines used together with Vivante GPUs currently don't support strides that
don't match the horizontal display resolution.
For now only enable linear PE rendering when the surface is properly aligned
already. This allows to use the optimization in a lot of common use-cases, but
falls back to the proven tiled rendering with subsequent resolve into linear
for the problematic cases.
CC: mesa-stable #22.2
Fixes: 53445284a4 ("etnaviv: add linear PE support")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Tested-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18232 >
2022-08-26 07:47:09 +00:00
Lucas Stach
09953d7b75
etnaviv: move checking for MC2.0 for TS into screen init
...
The decision whether to use fast clear aka TS currently checks for two
feature bits: FAST_CEAR and MC20. We check for MC20, as TS on MC1.0 bypasses
the memory offset and we don't have any way to fixup the GPU address to
account for that. It could be done with some support of the kernel driver,
but then GPUs with MC1.0 are very rare to find these days, so not sure if we
are ever going to bother with that.
Instead of checking two separate feature bits to determine if TS can be used,
mask out the FAST_CLEAR bit from the features when MC20 isn't present. This
way we only have to check for a single feature bit.
CC: mesa-stable #22.2
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Tested-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18232 >
2022-08-26 07:47:09 +00:00
Samuel Pitoiset
68e69d002f
radv: stop emitting RMW context registers for updating sample locations
...
RMW context registers have been removed in RadeonSI a while ago
because they don't seem good for performance.
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/18234 >
2022-08-26 06:33:05 +00:00
Samuel Pitoiset
2f5891108a
radv: cleanup dynamic states in radv_emit_graphics_pipeline()
...
Some dynamic states always need to be emitted when the first pipeline
is emitted, some others depend on pipeline state.
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/18234 >
2022-08-26 06:33:05 +00:00
Samuel Pitoiset
85a55009be
radv: stop clearing bitfields for registers that are emitted dynamically
...
These fields aren't set at pipeline creation, so clearing them is
just useless.
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/18234 >
2022-08-26 06:33:05 +00:00
Samuel Pitoiset
7aaa016b23
radv: stop setting CB_COLOR_CONTROL.ROP3 from the pipeline
...
This is useless because logic op is a dynamic state and it's already
emitted from the cmdbuf.
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/18234 >
2022-08-26 06:33:05 +00:00
Qiang Yu
b5c10a9028
ac/llvm: cast tes_u/v_replaced to float
...
Otherwise LLVM float ops fail to operate on them.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
f75452918b
ac/nir/ngg: support clipdist culling
...
Port from radeonsi.
Besides vertex position based primitive culling, clipdist
attribute can also be used to cull a primitive. Normally
it's used by fixed-pipeline, but when NGG we can treate it
as a culling condition to filter out invisible primitive
before fixed-pipeline.
There are two kinds of clipdist:
1. user define a clip plane explicitly by glClipPlane(),
fixed-pipeline calculate with vertex position to get
clipdist, then cull. This is the legacy way.
2. Now GLSL define gl_ClipDistance/gl_CullDiatance so that
user can calculate clipdist in any way he like.
This implementation support both way.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
620e62bb39
ac/nir/ngg: support component position store
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
1bdeb961bd
ac/nir/ngg: add gs culling
...
Port from radeonsi.
Cull primitive after GS thread and before final vertex/primitive
export. GS culling is like VS/TES culling which read out saved
vertex positions of a primitive from LDS then call the primitive
culling algorithm to check whether it's visiable or not, only
passed primitives will be exported.
Unlike the VS/TES culling that read vertex index of a primitive
from VGPRs as shader args, GS will set a primitive complete flag
for each last vertex of a primitive in LDS, so that vertex thread
know the previous 1/2/3 vertex can form a primitive and do primitive
culling.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
b212fd4b1e
ac/nir/ngg: save and restore position output base for nogs
...
radeonsi has different driver_location and io location.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
7e17e01973
ac/nir/ngg: save and restore output bit size for gs
...
radeonsi does not have io nir variables, so need to save output
bit size when lower store_output intrinsic.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
93a635c2c8
ac/nir/ngg: use same driver location for gs output
...
driver_location and io location are different for radeonsi,
and radeonsi llvm rely on the correct driver_location to
index output variables.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
347a94666c
ac/nir/ngg: fix and simplify gs store output lower
...
Simplify: 64bit IO has been lowered by nir_lower_io with
nir_lower_io_lower_64bit_to_32, so no need to handle in the
ngg lower.
Fix: we need to increase io_sem.location by base_offset for
correct gs_output_info.
radeonsi has different driver_location and io location, so
also change the output variable index to io location.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
db0e9d3cab
ac/nir/ngg: support line culling
...
Port from ac_llvm_cull.c
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
f1f2c931a7
ac/nir/cull: support caller react when primitive is rejected
...
Make accept_func optional, and return accpect result for caller
react when primitive is rejected.
This is for GS culling.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
035d70f721
ac/nir/ngg,radv: use nir_load_viewport_xy_scale_and_offset
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
a19dcdf9d5
nir,ac/llvm: add nir_intrinsic_load_viewport_xy_scale_and_offset
...
Used by RADV/Radeonsi NGG culling. Pack them into a single vec4
load for radeonsi to reduce const buffer load.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Qiang Yu
1aef9c8318
nir,ac/llvm: add nir_intrinsic_load_half_line_width_amd
...
Used by AMD GPU NGG line culling. We could use nir load
line width and viewport scale to calculate this in shader,
but this way needs expensive divide ops.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17651 >
2022-08-26 05:50:30 +00:00
Dave Airlie
0c2b824f67
gallivm: don't indirect image/sampler destroy.
...
These are pointless indirections, just call direct the destroy
functions.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17946 >
2022-08-26 04:39:59 +00:00
Dave Airlie
5fdd77c7f2
gallivm/sample: remove unused base parameter from dynamic callbacks.
...
This parameters was never used anywhere, so just remove it.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17946 >
2022-08-26 04:39:59 +00:00
Dave Airlie
1f0d1a96cb
gallivm: drop unused parameter to lp_build_sample_aos
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17946 >
2022-08-26 04:39:59 +00:00
Emma Anholt
bc2e1a3ed6
ci: disable the freedreno farm.
...
It seems to have gone down at the end of the day today. I'm off tomorrow,
someone else can debug.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18263 >
2022-08-26 04:02:15 +00:00
Emma Anholt
6b338d6cc5
ci: Move 'never' rules includes above "on_success" rules includes.
...
The farm online-ness filters were listed after some of the checks for
whether code changed, so an offline farm might still be used in that case.
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18263 >
2022-08-26 04:02:15 +00:00
Kenneth Graunke
71ace23fa7
iris: Use linear for exported resources if we can't convey tiling
...
If we have modifiers, we can use those to convey the tiling of exported
resources. If we have the deprecated i915 GET/SET_TILING uAPI, we can
use that to convey the tiling.
If we have neither, then we have to fall back to linear.
Fixes: e658835436 ("iris/bufmgr: Do not use map_gtt or use set/get_tiling on DG1")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6938
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18240 >
2022-08-25 16:08:56 -07:00
Jesse Natalie
d66e840ab4
dzn: Get max supported shader model
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:49 +00:00
Jesse Natalie
85359eba03
d3d12: Get max supported shader model
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:49 +00:00
Jesse Natalie
cb21534a7c
microsoft/compiler: Support SM6.7
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:49 +00:00
Jesse Natalie
01b6676d5f
microsoft/compiler: SM6.6 is supported
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
8a4cba7143
microsoft/compiler: Handle SM6.6 handles
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
15e472f7d2
microsoft/compiler: Pass lower_bound, upper_bound, space to createhandle
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
6725362dfe
microsoft/compiler: Delete double-assignment of sampler metadata field
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
a19628e3c7
microsoft/compiler: Add getters for res bind/props structs
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
b5c6416d40
microsoft/compiler: Add dynamic create handle helper
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
e9489beb76
microsoft/compiler: Add struct and function defs for SM6.6 handle funcs
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
d4b964b546
microsoft/compiler: Support up to shader model 6.5
...
We don't actually use any of the new features, but that's okay, it's
still valid DXIL at the higher shader models.
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Jesse Natalie
ebb9ff2165
microsoft/compiler: Always emit a shader at the max-supported shader model
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18022 >
2022-08-25 21:22:48 +00:00
Chia-I Wu
6abadd27ec
turnip: improve tracing of secondary cmd buffers
...
This visualizes secondary cmd buffers in perfetto. I did not test
dynamic rendering, which appears to call tu_clone_trace_range already.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
4b37439764
turnip: add cmd_buffer tracepoint
...
It is only used for primary cmd buffers for the moment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
4c03e40991
turnip: rename some tracing stages
...
Rename SURFACE_STAGE_ID to RENDER_PASS_STAGE_ID. Indicate whether gmem
or bypass is used in the stage name.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
57d2d75237
turnip: clean up tu_perfetto.h
...
Move enums, stages, queues, and some function declarations to
tu_perfetto.cc.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
c867753c94
turnip: convert tu_perfetto_state to a stack
...
A stage does not end until its nested stages end. tu_perfetto_state can
be a stack.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
c6d488814c
turnip: add tu_clone_trace_range helper
...
Remove some duplicated code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
9aa57bae9f
util/u_trace: add PERFETTO HeaderScope
...
Headers with the PERFETTO scope will be included by the generated
perfetto utils header. This is needed because to_prim_type may have
header dependencies.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
dea0d684b7
util/u_trace: include the generated header first
...
This is a good practice to make sure the generated header is
self-contained (no missing includes, declarations, etc.).
Remove unnecessary SOURCE header scope from the default.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
0d57cf8cad
turnip: tidy up tracepoint header includes
...
Remove unused util/u_dump.h. Add missing forward declarations.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
b1ba0791e3
turnip: fix gem_store tracepoint
...
Set cmd->trace_renderpass_end after tu6_emit_tile_store in case of gmem.
To be able to do that, we push the update of cmd->trace_renderpass_end
down into tu_cmd_render_tiles/tu_cmd_render_sysmem.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
f539bd7a03
turnip: move trace_start_gmem_store before cond exec
...
Suggested by Danylo.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
3f045bd176
turnip: fix a missing trace_end_gmem_clear
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:14 +00:00
Chia-I Wu
91a0411d2a
turnip: improve perfetto sync_timestamp
...
tu_device_get_gpu_timestamp takes >100us on my otherwise idle sc7180.
Read the cpu block again after the call returns.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18238 >
2022-08-25 21:00:13 +00:00
Yiwei Zhang
ce0e13155d
venus: avoid scrubing wsi/external sempahores
...
When the renderer supports sync_fd import for the binary semaphore,
venus can import the special signaled payload to the semaphore instead
of scrubing it. This avoids the bugs w.r.t timeline semaphore and device
group submission in the legacy scrub path.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
7cf59d6982
venus: re-implement sync_fd external sempahore
...
sync_wait is deferred to a submission that waits on the semaphore.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
4da0ac54cf
venus: re-implement sync_fd external fence
...
Instead of waiting for signal before importing, we are able to retain
the imported sync file and handle the fence related commands on the
driver side.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
db9fa4be04
venus: query renderer sync_fd props to fill the feature stubs
...
This change enables the fixed code paths.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
3518c31098
venus: fix vn_GetSemaphoreFdKHR
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
adac798598
venus: fix vn_GetFenceFdKHR
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
b21e4a7990
venus: put android wsi on the sub-optimal path
...
Simplify Android wsi to only use performant path if fixed sync_fd fence
support is enabled. This removes hacky codes and allows us to deprecate
a special ring wait code path as well.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
64f9fbb9ea
venus: stub out renderer sync_fd fencing features
...
With syncFdFencing feature, venus starts forwarding renderer sync_fd
fencing support. The driver side now can track the renderer sync_fd
fencing features. This change adds the initial stubs.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
1498b0877b
venus: sync to latest venus protocol headers for syncFdFencing
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
88a5146d95
venus: avoid pre-allocating the feedback pool
...
Now that we don't create fence upon device creation, let's also defer
the feedback pool grow to the first event or non-external fence
creation. This makes venus device creation lighter and is good for CI.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
81b44b4931
venus: lazily create queue wait fence and make it non-external
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
d85d29b731
venus: use a separate sync fence for Android wsi
...
Also refactors the codes a bit.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
5457f4c0a4
venus: avoid feedback for external fence
...
Sync fd fence export implies a payload reset operation, and application
can immediately do another submission with the same fence after export.
Concurrent use of the same feedback slot is incorrect. Keeping a list of
feedback slots for sync_fd external fence is a bit over designed given
those fences are usually not checked or waited by the app, but will hand
off the ownership via sync fd to an external client.
Fixes: d7f2e6c8d0 ("venus: add fence feedback")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
7925340220
venus: require necessary extensions for common wsi support
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Yiwei Zhang
9c5a7ffbd8
venus: fix external memory ext filtering
...
Fixes: 390722620e ("venus: clean up vn_device_fix_create_info")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
Dawn Han
6f8220e5c9
Update venus-protocol to add extension VK_VALVE_mutable_descriptor_type
...
Signed-off-by: Dawn Han <dawnhan@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17975 >
2022-08-25 20:18:28 +00:00
José Roberto de Souza
1de5d2ac01
anv: Return earlier in anv_gem_get_tiling() when not supported
...
Tiling set and get UAPIs has the same support level.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18251 >
2022-08-25 19:21:49 +00:00
José Roberto de Souza
e9cba466ea
anv: Nuke dead code
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18251 >
2022-08-25 19:21:49 +00:00
Jesse Natalie
d0a1c1a37d
mesa: Expose GL_NV_ES1_1_compatibility
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18217 >
2022-08-25 10:17:10 -07:00
Jesse Natalie
b2b5308706
meson: Add an option to specify the WGL gallium megadriver filename
...
Specifying the name at build time, as opposed to renaming after
the build, serves two purposes:
1. The link from Mesa's OpenGL32.dll and (and EGL/GLES) to the
megadriver is done by filename. If using these frontends, the
megadriver can't be renamed afterwards. And Windows doesn't
have very good symlink support, so that's not really an option
either.
2. The symbol (PDB) filename is also embedded in the DLL using the
build-time expected filename. Renaming can produce odd artifacts
while debugging.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7115
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18239 >
2022-08-25 16:35:34 +00:00
Jesse Natalie
b5f4a5285c
gallium/windows: Delete OpenGLOn12.dll target
...
This is pretty much identical to libgallium_wgl.dll except for the
DLL name.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18239 >
2022-08-25 16:35:34 +00:00
Rhys Perry
fb13ed6ff0
aco: fix long-jump version of discard early exit
...
It isn't safe to modify the exec mask before the discard block, and the
definition interferes with GFX11 NOP insertion.
Just use s[0:1] instead, since we won't be using it.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18125 >
2022-08-25 16:10:53 +00:00
Karmjit Mahil
1a250eeae3
pvr: Fix calculation in rogue_max_compute_shared_registers().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18224 >
2022-08-25 06:51:53 +00:00
Karmjit Mahil
241f42d443
pvr: Compete pvr_calc_fscommon_size_and_tiles_in_flight().
...
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18224 >
2022-08-25 06:51:53 +00:00
Qiang Yu
4fc9125ca2
winsys/amdgpu: fix non-page-aligned sparse buffer creation
...
ARB_sparse_buffer does not require sparse buffer size to be
page aligned. So we need to align it before VM ops as KMD
will check whether it's aligned and return EINVAL if not.
Fixes: 667da4eaed ("winsys/amdgpu: sparse buffer creation / destruction / commitment")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7104
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18206 >
2022-08-25 01:14:08 +00:00
Eric Engestrom
e767f54f28
v3d: introduce V3D_DBG() macro to make V3D_DEBUG checks consistent
...
The main issue was the inconsistent use of `unlikely()`, but the macro
also simplifies the code a little bit.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18086 >
2022-08-24 23:03:57 +00:00
Eric Engestrom
e178ecf8a9
vc4: introduce VC4_DBG() macro to make VC4_DEBUG checks consistent
...
The main issue was the inconsistent use of `unlikely()`, but the macro
also simplifies the code a little bit.
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18086 >
2022-08-24 23:03:57 +00:00
Chad Versace
a771efdefe
venus: Enable VK_EXT_pipeline_creation_cache_control
...
The extension disrupts assumptions in venus. It gives
vkCreateFooPipelines an additional success code,
VK_PIPELINE_COMPILE_REQUIRED, which allows some pipelines to succeed
creation and others fail.
Tested with 'dEQP-VK.*cache_control*' at vulkan-cts-1.3.3.1.
pass/fail/skip/warn = 15/0/0/3
Warnings were from long pipeline compiles on a full debug build in host
and guest.
See: https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/890
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17847 >
2022-08-24 22:50:33 +00:00
Chad Versace
f81915585d
venus: Fix failure path on pipeline creation
...
It's not sufficient to vk_free() the pipeline. We must also
vn_object_base_fini().
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17847 >
2022-08-24 22:50:33 +00:00
Chad Versace
ad8c8e366a
venus: Dedupe pipeline handle creation
...
Refactor the code into new function vn_create_pipeline_handles().
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17847 >
2022-08-24 22:50:33 +00:00
Eric Engestrom
c66622de3a
meson: replace manual compiler flags with meson arguments
...
These would only have worked in GCC and Clang, which so far wasn't an
issue, but let's clean it up anyway.
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18190 >
2022-08-24 22:13:19 +00:00
Dave Airlie
76bcf69e33
vulkan: update rest of the headers to v1.3.225
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18237 >
2022-08-24 20:12:43 +00:00
Alyssa Rosenzweig
5777f99fc5
pan/mdg: Use correct idiv lowering
...
Rip off the bandaid. We can't tolerate straight-up wrong results. We have an
efficient umul_high implementation so it's not so bad.
total instructions in shared programs: 1537404 -> 1537204 (-0.01%)
instructions in affected programs: 143299 -> 143099 (-0.14%)
helped: 89
HURT: 283
helped stats (abs) min: 1.0 max: 41.0 x̄: 5.87 x̃: 6
helped stats (rel) min: 0.39% max: 6.67% x̄: 1.41% x̃: 1.44%
HURT stats (abs) min: 1.0 max: 7.0 x̄: 1.14 x̃: 1
HURT stats (rel) min: 0.24% max: 5.71% x̄: 0.35% x̃: 0.27%
95% mean confidence interval for instructions value: -0.96 -0.12
95% mean confidence interval for instructions %-change: -0.17% 0.03%
Inconclusive result (%-change mean confidence interval includes 0).
total bundles in shared programs: 647521 -> 648154 (0.10%)
bundles in affected programs: 45833 -> 46466 (1.38%)
helped: 92
HURT: 228
helped stats (abs) min: 1.0 max: 13.0 x̄: 3.10 x̃: 3
helped stats (rel) min: 0.69% max: 7.14% x̄: 2.11% x̃: 1.99%
HURT stats (abs) min: 1.0 max: 7.0 x̄: 4.03 x̃: 5
HURT stats (rel) min: 0.59% max: 7.22% x̄: 2.93% x̃: 3.40%
95% mean confidence interval for bundles value: 1.58 2.38
95% mean confidence interval for bundles %-change: 1.21% 1.76%
Bundles are HURT.
total quadwords in shared programs: 1135141 -> 1138268 (0.28%)
quadwords in affected programs: 101064 -> 104191 (3.09%)
helped: 30
HURT: 342
helped stats (abs) min: 1.0 max: 30.0 x̄: 4.97 x̃: 3
helped stats (rel) min: 0.24% max: 5.99% x̄: 1.72% x̃: 1.06%
HURT stats (abs) min: 1.0 max: 16.0 x̄: 9.58 x̃: 10
HURT stats (rel) min: 0.73% max: 17.14% x̄: 3.64% x̃: 3.80%
95% mean confidence interval for quadwords value: 7.84 8.97
95% mean confidence interval for quadwords %-change: 2.99% 3.43%
Quadwords are HURT.
total registers in shared programs: 91938 -> 92265 (0.36%)
registers in affected programs: 2639 -> 2966 (12.39%)
helped: 0
HURT: 280
HURT stats (abs) min: 1.0 max: 3.0 x̄: 1.17 x̃: 1
HURT stats (rel) min: 9.09% max: 50.00% x̄: 12.75% x̃: 11.11%
95% mean confidence interval for registers value: 1.12 1.22
95% mean confidence interval for registers %-change: 12.05% 13.45%
Registers are HURT.
total threads in shared programs: 55280 -> 55268 (-0.02%)
threads in affected programs: 24 -> 12 (-50.00%)
helped: 0
HURT: 11
HURT stats (abs) min: 1.0 max: 2.0 x̄: 1.09 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: -1.29 -0.89
95% mean confidence interval for threads %-change: -50.00% -50.00%
Threads are HURT.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17860 >
2022-08-24 19:54:23 +00:00
Alyssa Rosenzweig
5bc830cbf2
pan/mdg: Reexpress umul_high packing
...
There are a bunch of subtle details of how 32-bit sources are
zero-extended to 64-bit, how their swizzles work, how 64-bit
destinations are shrunk to 32-bit, and how those two interact. This
fixes the interactions... mostly.
Fixes umul_high, all such tests should be passing now. Unblocks idiv
lowering that depends on umul_high.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17860 >
2022-08-24 19:54:23 +00:00
Alyssa Rosenzweig
7b78e05ba8
pan/mdg: Replicate swizzles for scalar sources
...
This works around issue packing 32-bit scalar swizzles zero-extended to
64-bit, seen with the umul_high implementation. I tried for a while
figuring out the root cause (even rewrote a big chunk of disassembler)
but am still a bit lost. Nevertheless this is a safe workaround with no
performance impact (and avoids relying on NIR undefined behaviour to
implement GPU undefined behaviour), so let's do this for now to fix
umul_high.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17860 >
2022-08-24 19:54:23 +00:00
Marek Olšák
e951d6362c
ci: update pass/fail results for spec@!opengl 1.0@gl-1.0-dlist-bitmap
...
This is mostly positive.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17780 >
2022-08-24 18:13:02 +00:00
Marek Olšák
cbad4adc13
st/mesa: fix potential use-after-free in draw_bitmap_quad
...
This is super unlikely to be freed before use, but let's fix it anyway.
setup_render_state calls set_sampler_views(take_ownership=true), which
means it takes ownership of the sampler view reference and is free to
unreference it, so we can't use sv after setup_render_state.
Fixes: feda6e9c5d - st/mesa: set take_ownership = true in set_sampler_views
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17780 >
2022-08-24 18:13:02 +00:00
Marek Olšák
bb860f63f6
mesa: create glBitmap textures while creating display lists
...
This makes glCallList just a textured draw, which is blazingly fast.
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17780 >
2022-08-24 18:13:02 +00:00
Marek Olšák
6da2fb81a7
Revert "mesa: implement a display list / glBitmap texture atlas"
...
This reverts commit b26ddda12f and
commit 06d3b0a006 .
Reviewed-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17780 >
2022-08-24 18:13:02 +00:00
Lionel Landwerlin
f242c9af76
intel/fs: bump max SIMD size for A64 atomics with LSC
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >.
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17555 >
2022-08-24 17:51:40 +00:00
Lionel Landwerlin
407f2beb97
intel/fs: port block a64/surface messages to use LSC
...
v2: Fixup block load/store on surfaces/shared-memory (Rohan)
v3: drop write specific size_written case (Rohan)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17555 >
2022-08-24 17:51:40 +00:00
Lionel Landwerlin
37b3601052
intel/fs: switch register allocation spilling to use LSC on Gfx12.5+
...
v2: drop the hardcoded inst->mlen=1 (Rohan)
v3: Move back to LOAD/STORE messages (limited to SIMD16 for LSC)
v4: Also use 4 GRFs transpose loads for fills (Curro)
v5: Reduce amount of needed register to build per lane offsets (Curro)
Drop some now useless SIMD32 code
Unify unspill code
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17555 >
2022-08-24 17:51:40 +00:00
Lionel Landwerlin
3c6fa2703d
intel/fs: fixup SEND validation check on overlapping src0/src1
...
With the following SEND instruction :
send(1) nullUD nullUD g0UD 0x4200c504 a0.1<0>UD
This instruction although valid but somewhat nonsensical (SEND message
to write at offset contained in NULL register), triggers an error in
the validator.
The restriction is that we cannot have overlapping sources. The
validator not checking the type of register incorrectly thinks that
the null register (offset 0) is the same as g0.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17555 >
2022-08-24 17:51:40 +00:00
Lionel Landwerlin
a81ca32f96
intel/fs: remove unused opcode
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17555 >
2022-08-24 17:51:40 +00:00
Lionel Landwerlin
aa65f83203
intel/fs: switch compute push constant loads to LSC
...
We're now able to load up to 8 GRFs in one send.
v2: Switch to use transpose + vector of up to 64 (Thanks Curro!)
v3: Increase parallelism by not reusing the same register for push
constant offset (Curro)
v4: Drop dead ADD() instruction (Curro)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Rohan Garg <rohan.garg@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17555 >
2022-08-24 17:51:40 +00:00
Mike Blumenkrantz
1e7a131fd1
tu: fix invalid free on alloc failure
...
this is not an allocated pointer
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18230 >
2022-08-24 17:29:53 +00:00
Georg Lehmann
b3cc213f56
radv: Fold 16bit image sources.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18106 >
2022-08-24 17:04:03 +00:00
Georg Lehmann
9151048957
aco: Combine 16bit undef and constants instead of using s_pack.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18106 >
2022-08-24 17:04:03 +00:00
Georg Lehmann
46f6e2ddbb
aco: Implement storage image A16.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18106 >
2022-08-24 17:04:03 +00:00
Georg Lehmann
c8ad1aeeb2
nir/fold_16bit_tex_image: Add an option to fold image sources.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18106 >
2022-08-24 17:04:03 +00:00
Gert Wollny
13355232e4
nir_lower_atomics_to_ssbo: Initialize deref struct
...
This fixes the use of an uninitialzed value:
Conditional jump or move depends on uninitialised value(s)
bcmp (vg_replace_strmem.c:1203)
_mesa_add_sized_state_reference (prog_parameter.c:434)
st_nir_assign_uniform_locations(gl_context*, gl_program*, nir_shader*) (st_glsl_to_nir.cpp:209)
st_finalize_nir (st_glsl_to_nir.cpp:1041)
by 0x58271B9: st_glsl_to_nir_post_opts(st_context*, gl_program*, gl_shader_program*) (st_glsl_to_nir.cpp:571)
...
Uninitialised value was created by a heap allocation
malloc (vg_replace_malloc.c:381)
ralloc_size (ralloc.c:114)
ralloc_array_size (ralloc.c:218)
deref_offset_var (nir_lower_atomics_to_ssbo.c:47)
lower_instr (nir_lower_atomics_to_ssbo.c:111)
nir_lower_atomics_to_ssbo (nir_lower_atomics_to_ssbo.c:204)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18227 >
2022-08-24 16:02:03 +00:00
Georg Lehmann
8eac45b274
nir: Add nir_ssa_scalar_is_undef.
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18183 >
2022-08-24 15:22:40 +00:00
David Heidelberg
cfaff1d341
ci: fix leftover tag in image-tags.yml
...
Fixes: eb6ce47d4f ("ci: Use mold for x86-64 and AArch64 builds")
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18228 >
2022-08-24 13:28:22 +00:00
Konstantin Seurer
78564b5b84
radv: Advertise subgroup ops for rt stages
...
Closes : #7098
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18169 >
2022-08-24 13:05:38 +00:00
Mike Blumenkrantz
c4f78396d4
zink: support PIPE_CAP_FBFETCH_COHERENT
...
that's what VK_EXT_rasterization_order_attachment_access is for
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18133 >
2022-08-24 12:19:13 +00:00
Mike Blumenkrantz
9f7195949b
vulkan: Update the XML and headers to 1.3.225
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18133 >
2022-08-24 12:19:13 +00:00
Samuel Pitoiset
15a7361ce9
radv: merge gather_tess_info() with radv_fill_shader_info()
...
Shouldn't introduce any functional changes. The dependencies between
stages might be improved with a new helper that will link shader_info.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18184 >
2022-08-24 11:17:05 +00:00
Samuel Pitoiset
7b94ca287b
radv: remove unused num_tess_patches assignment for VS
...
This is never used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18184 >
2022-08-24 11:17:05 +00:00
Samuel Pitoiset
068891a383
radv: remove unused tcs_vertices_out assignment for VS
...
This is never used.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18184 >
2022-08-24 11:17:05 +00:00
Samuel Pitoiset
76f33cbf25
radv: remove redundant assignment of tcs.tcs_vertices_out
...
It's already assigned from radv_nir_shader_info_pass() and it's only
used to configure the VGT_TF_PARAM register. Otherwise, we read it
from NIR shader info during compilation.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18184 >
2022-08-24 11:17:05 +00:00
Lucas Stach
762eefdbf6
etnaviv: mark instanced draw extensions as supported in docs/features.txt
...
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/18046 >
2022-08-24 09:13:31 +00:00
Lucas Stach
8b8beae8d5
etnaviv: expose ARB_draw_instanced
...
Just set the pipe cap correctly. The InstanceID support is already
hooked up in the NIR compiler. All enabled piglit tests pass.
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/18046 >
2022-08-24 09:13:31 +00:00
Vinson Lee
1dffad2f83
zink: Remove duplicate variable zero.
...
Fix defect reported by Coverity Scan.
Evaluation order violation (EVALUATION_ORDER)
write_write_typo: In zero = zero = nir_imm_zero(b, nir_dest_num_components(intr->dest), nir_dest_bit_size(intr->dest)),
zero is written twice with the same value.
Fixes: 0f97e317e3 ("zink: rewrite all undefined shader reads as 0001 instead of undef")
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18164 >
2022-08-24 04:48:10 +00:00
Timothy Arceri
0c8492cd3b
glsl: fix location for array subscript
...
xfb_decl_assign_location() assumes that arrays are going to be packed.
But some conditions might prevent packing (e.g: explicit location or
smooth interpolation mode).
Instead of assuming that packing will happen, this commit adds a check to
determine if it'll happen and use the result to compute the proper location.
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2214
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18175 >
2022-08-24 02:19:34 +00:00
Timothy Arceri
04e7ed8323
glsl: make packed varying helper needs_lowering() external
...
We will use this helper to correctly calculate xfb offsets in the
following patch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18175 >
2022-08-24 02:19:34 +00:00
Qiang Yu
ff7c59672f
radeonsi: fix tcs_out_lds_offsets arg alignment
...
tcs_out_lds_offsets is not sure to be 16 byte aligned, it's
calculated like this:
num_patches * patch_vertices * lshs_vertex_stride
num_patches and patch_vertices are not sure to be any value aligned,
lshs_vertex_stride is added one extra dword, so it's only 4 byte
aligned.
This may cause problem even before we switch to nir tess output
lower when write tess factor before read tail of input. But it's
more likely to cause problem after we switch to nir tess output
lower because the main body won't eliminate the low 4bit offset
but epilog will, so they use different offset to read/write tess
factor.
Fixes: 7598bfd768 ("radeonsi: replace llvm tcs output with nir lower pass")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7083
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18174 >
2022-08-24 02:04:15 +00:00
Caio Oliveira
bee2df64d2
intel/compiler: Use fs_reg helpers for GS icp_handle selection
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18221 >
2022-08-24 01:42:23 +00:00
Caio Oliveira
b4aff6ab49
intel/compiler: Use fs_reg helpers for TCS icp_handle selection
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18221 >
2022-08-24 01:42:22 +00:00
Caio Oliveira
a1b1fdf70d
intel/compiler: Rename 8_PATCH to MULTI_PATCH
...
Make it clearer we are dealing with multiple patches,
works better in constrast with SINGLE_PATCH.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18151 >
2022-08-24 00:39:57 +00:00
Caio Oliveira
7cd06249b9
intel/compiler: Remove INTEL_DEBUG=tcs8
...
For Gen11 and prior, the dispatch mode for TCS was SINGLE_PATCH, and
this debug setting could be used to change it to 8_PATCH (falling back
to SINGLE_PATCH when shader couldn't be in the multi dispatch mode).
However after talking to Ken, seems this debug setting is not really
worth keeping around, so removing it.
For Gen12+ the only option is 8_PATCH, so it was always using that
dispatch mode as before.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18151 >
2022-08-24 00:39:57 +00:00
Bas Nieuwenhuizen
bb2a444324
vulkan/wsi: Take max extent into consideration for modifier selection.
...
For AMD we kinda have some modifiers with a max size ... (Which is
really a compositor/kms issue, but getting them to try kinda falls
into the unsolved "how to allocate/what pitch to use" bucket, so
we solve it on the allocating side)
Cc: mesa-stable
Tested-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18139 >
2022-08-23 23:36:53 +00:00
Daniel Stone
eb6ce47d4f
ci: Use mold for x86-64 and AArch64 builds
...
mold is a fancy new linker that's really fast.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6877
Signed-off-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17992 >
2022-08-23 23:12:07 +00:00
Jordan Justen
e9f40e42de
iris: Drop extra file-descriptor dup in iris_drm_screen_create()
...
In a99e85db9e , we added a dup into iris_screen_create(). Apparently
some android code paths must be hitting iris_screen_create() without
calling iris_drm_screen_create(). After a99e85db9e , the code paths
that do hit iris_drm_screen_create() will now dup the fd twice, but
iris_screen_destroy() will only close 1 of these fds.
Fixes: a99e85db9e ("iris:Duplicate DRM fd internally instead of reuse.")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Tested-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18020 >
2022-08-23 22:54:23 +00:00
Lionel Landwerlin
3c78e94ff3
intel/fs: fixup scratch load/store handling on Gfx12.5+
...
We did not handle the operation with data size < 4. It works fine on
all other messages (global/shared). The initial commit was just too
restrictive.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 1e242785c3 ("intel/fs: Implement load/store_scratch on XeHP")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16964 >
2022-08-23 22:19:16 +00:00
Lionel Landwerlin
46a13404c0
intel/fs: fix load_scratch intrinsic
...
The selection of the internal opcode to deal with load_scratch is
incorrect.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c643979228 ("intel/fs: Choose memory message type based on bit size")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16964 >
2022-08-23 22:19:16 +00:00
Caio Oliveira
0a2cfa14dd
intel/compiler: Make component() work for FIXED_GRF/ARF
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18157 >
2022-08-23 19:52:38 +00:00
Francisco Jerez
6f33b22495
intel/fs: Fix horiz_offset() to handle FIXED_GRFs with non-trivial 2D regions.
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18157 >
2022-08-23 19:52:38 +00:00
Karol Herbst
61a77c9ce2
ci: update CI to reflect clovers LLVM version bump
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16047 >
2022-08-23 19:23:05 +00:00
Kai Wasserbäch
559c027ade
chore(deps): clover: raise the minimum LLVM version to 11.0.0
...
LLVM 11 was released in October 2020. If you want to build against
Mesa's Git version, that seems like enough time to upgrade to at least
LLVM 11 (Debian stable has this too).
It reduces the amount of #if gates we need and more will be incoming
again, given the Opaque Pointer transition.
Additionally radeonsi is already requiring LLVM 11. Therefore the
minimum will have been LLVM 11 for many builds anyway.
Note that clc is kept to LLVM 10 for the time being.
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16047 >
2022-08-23 19:23:05 +00:00
John Brooks
98ba1e0d81
radv: Fix mipmap views on GFX10+
...
As explained in the previous commit, GFX9+ has issues with addressing
mipmaps in block-compressed images. In the case of copy commands, we fix
this by doing an extra copy for the missing blocks.
For GFX10, the mipmap layout in memory allows us to do better than that. We
can change the base level of the descriptor to one level bigger than the
requested level and adjust the extent and address to match. This is done by
ComputeNonBlockCompressedView in addrlib. Thus on GFX10 we can skip the
fixup copy workaround, and this will also fix cases outside of explicit
copy commands.
Signed-off-by: John Brooks <john@fastquake.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17970 >
2022-08-23 19:01:18 +00:00
John Brooks
35f053ba8c
radv: Fix corrupted mipmap copies on GFX9+
...
GFX9+ hardware has an issue where mipmap degradations are calculated
incorrectly due to using divide-by-two integer math and certain mipmap
sizes lose blocks.
This issue has been documented before, and we ported a workaround from
AMDVLK to increase the extent that is programmed into the descriptor, so
that the hardware arrives at the correct result. However, this is
insufficient as we cannot safely increase the extent beyond the physical
extent of the image in memory. If we can't increase it enough, the image
will still be missing blocks.
But there is still hope. In cases where RADV is responsible for copying to
or from an image (such as vkCmdCopyBufferToImage/vkCmdCopyImageToBuffer),
we can perform a second copy of the blocks that the hardware excluded so
that the resulting image is complete. This is another workaround from
AMDVLK.
This fixes corrupted textures in Halo: The Master Chief Collection.
v2: Add RADV_CMD_FLAG_INV_L2 | RADV_CMD_FLAG_INV_VCACHE to flush_bits
just in case (Samuel Pitoiset)
Closes : #3347
Signed-off-by: John Brooks <john@fastquake.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17970 >
2022-08-23 19:01:17 +00:00
John Brooks
ea84143d1e
radv: Only apply mipmap view adjustments to block compressed images
...
This workaround need not apply to subsampled formats.
Signed-off-by: John Brooks <john@fastquake.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17970 >
2022-08-23 19:01:17 +00:00
John Brooks
88401e031b
vulkan: Introduce vk_format_is_block_compressed function
...
Signed-off-by: John Brooks <john@fastquake.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17970 >
2022-08-23 19:01:17 +00:00
John Brooks
ef6a8a9a6f
radv: Add get_addrlib function to radv_radeon_winsys
...
Signed-off-by: John Brooks <john@fastquake.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17970 >
2022-08-23 19:01:17 +00:00
Eric Engestrom
c535434fd9
anv: convert assert into unreachable to avoid fallthrough error
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18192 >
2022-08-23 18:37:41 +00:00
Karol Herbst
f56609a679
nvc0: limit max global and alloc size
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
16b07b342d
nv50/nir: A group barrier is CTA-level not global-level
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
9236af8b6c
nv50/ir: Avoid generating splits of splits
...
Among others, it would result in the spill offsets being wrong due to
being relative to the parent split and not absolute.
For example when computing a 64-bit multiply on Tesla (which only
supports 16-bit mul in hardware), the sources will first be split into
32-bit values and then a second time down to 16-bit ones. Looking at the
first source, the spill offsets ended being computed as follows:
{ .hihi = +2, .hilo = +0, .lohi = +2, .lolo = +0 }
instead of the expected
{ .hihi = +6, .hilo = +4, .lohi = +2, .lolo = +0 }
This is resolved with this patch.
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
b327f46e45
nv50/ra: Fix the offset computation for compounds
...
compMask is expressed in terms of colours, not bytes, where on Tesla we
have 1 colour per 16-bit (whereas it is 1 per 32-bit for later
architectures). By multiplying by units we will get back to a result in
bytes.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
4d892829f3
nv50/peephole: Disallow combining sub 4-byte ld/st for now
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
81828284b2
nv50/ir: Handle non-32-bit values when cst folding SPLIT
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
f360086c30
nv50: Mark RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY as unsupported
...
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
ebcec3b637
nv50: Disallow allocating more than VRAM size
...
Allocations larger than the amount of VRAM available might be possible,
but has not been tested.
v4: Change it back to just VRAM size
v3: Increase the minimum from 32 MB to 128 MB, as OpenCL 1.x mandated at
least 128 MB.
v2: Further lower the allocation size.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
66385d79dc
nv50: Report actual VRAM size
...
v2: handle vram_size == 0 (Karol)
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
bb61bfc90e
nv50: Rename interps to fixups
...
This matches the denomination used in nvc0, and finishes the name change
that started in f5fe9030 .
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
120c43cf46
nv50: Rename fixups to relocs
...
This matches the names used on nvc0.
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Pierre Moreau
8c066e7a57
nv50,nvc0: Do not resize global residents if unnecessary
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10711 >
2022-08-23 18:29:44 +00:00
Jason Ekstrand
cc2cdf88fb
radv: Don't assume layout == stencilLayout for stencil-only
...
This assumption is probably valid with render passes but it won't for
dynamic rendering where we may not have a layout for depth at all.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
b772e30ce7
radv: Add a image_transition helper for separate depth/stencil layouts
...
This just reduces churn a bit when we switch to dynamic rendering.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
8c06fa9b9e
radv/meta: Drop redundant depth_view_can_fast_clear
...
It's entirely redundant with radv_can_fast_clear_depth except that it's
missing a few checks around view masks and the layer range in the actual
clear rect and assumes you're always clearing the whole image view.
This isn't necessarily true, even for classic Vulkan render passes.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
804ce28444
radv: Drop set/restore_subpass
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
a90c2e6572
radv/meta: Use Begin/EndRendering for clears
...
This is only used in the case of resolve image clears which are going to
go away entirely when we start doing dynamic rendering only.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
769f566fa7
radv/meta: s/dest/dst/ in a few functions
...
It's all horribly inconsistent. Using "dst" has the advantage that it's
the same number of characters as "src".
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
fd0a421c7a
radv/meta: Use Begin/EndRendering for resolves
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
1e1d69ae5d
radv/meta: Drop subpass_att from radv_fast_clear_color
...
It's redundant with clear_att->colorAttachment.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
4f9dabc1a6
radv/meta: Fix a stack use-after-free with sample locations
...
As soon as the if ends (or possibly before?) the VkSampleLocationsInfoEXT
goes out of scope. We need it to stay valid until after the
vkCmdPipelineBarrier completes.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
297d82763b
radv/meta: Respect render area for MSAA resolves
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
4e52efcc43
radv: Use VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT for render loops
...
This commit fixes
dEQP-VK.rasterization.rasterization_order_attachment_access.format on
GFX9 because changing the layout for Vulkan feedback loops will trigger
a fast-clear eliminate. Though, the root cause is unrelated to that and
it's because the CMASK/FMASK initialization on GFX9 is currently broken
for TC-compatible images (there is a TODO somewhere).
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
76b8b854a5
radv: Use both aspects for depth/stencil blit destinations
...
Even with dynamic rendering, you have to bind both aspects of the image
if the image contains both depth and stencil. One day, we may see this
restriction lifted but that will require deeper driver surgery into the
way we handle depth/stencil layouts.
Fixes: 42db590006 ("radv: convert the meta blit 2d path to dynamic rendering")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:56 +00:00
Jason Ekstrand
7077b72d60
vulkan,anv,dozen: Use VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
...
This has basically identical semantics to the pseudo-ext enum we were
using before. Also, now that it's in the actual Vulkan enum, we can get
rid of all the #pragma garbage to avoid compiler warnings.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18084 >
2022-08-23 16:41:55 +00:00
Ruijing Dong
10de12d710
radeonsi/vcn: add AUD syntax to h264 encoding
...
Adding AUD syntax to h264 bitstream, for easier locate
frame boundaries.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17994 >
2022-08-23 15:56:07 +00:00
Ruijing Dong
12cde23c38
radeonsi/vcn: remove rate control double begin IBs
...
[why]
when start rate control, two begin IBs have been sent
[how]
merge two begin IBs together
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17994 >
2022-08-23 15:56:07 +00:00
Ruijing Dong
b0c3f62b54
radeonsi/vcn: support VBAQ modes
...
add VBAQ supports to all vcn versions.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17994 >
2022-08-23 15:56:07 +00:00
Ruijing Dong
d00d4b9b6a
radeonsi/vcn: support encoding preset modes
...
- support preset modes for all vcn versions
- SAO HEVC cannot use SPEED mode from vcn2 and up
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17994 >
2022-08-23 15:56:07 +00:00
Ruijing Dong
20ca84646b
radeonsi/vcn: dpb change for supporting pre-encoding
...
- dpb buffer created while receive the first begin_frame
moved out from encoder creation.
- dpb buffer name changed from cpb.
- dpb buffer allocation to support pre-encoding
- different vcn version IB package adjustment
- merge reconstructed_picture_v4_0_t to reconstructed_picture_t
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17994 >
2022-08-23 15:56:07 +00:00
Ruijing Dong
60f0a182e1
radeonsi/vcn: add enc quality bits interface
...
- define quality_level interface in mesa
- interprete quality_level to internal modes
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17994 >
2022-08-23 15:56:07 +00:00
Ruijing Dong
a727ec83ba
frontends/va: improve enc quality interface change
...
[why]
to enhance va video encoding quality
[how]
use va encoding quality_level interface, and provide
default value and encoding quality adjustment options,
so that users can finetune encoding quality and performance
from va quality interface. (limited to VCNs)
There are 3 settings added:
- preset modes: speed, balance, quality
they are using different encoding strategies
- vbaq modes:
vbaq mode is using variance based strategy
to improve the subjective image quality
- pre-encoding modes:
Using scaled down input image for pre-encoding to have
better rate-control reaction and consume more memory
in the same time. Only preencoding-4x mode is enabled.
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17994 >
2022-08-23 15:56:07 +00:00
Yonggang Luo
eb3af2357f
ci: Remove -Wno-error=deprecated-declarations cpp option from debian-clang
...
As all deprecated-declarations warnings are fixed
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Yonggang Luo
da4edc0d2a
osmesa: Fixes [-Wdeprecated-declarations] in test-render.cpp
...
Warning message:
../src/gallium/targets/osmesa/test-render.cpp:150:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Yonggang Luo
993889a995
virgl: Fixes [-Wdeprecated-declarations] in virgl_staging_mgr_test.cpp
...
Warning message:
../src/gallium/drivers/virgl/tests/virgl_staging_mgr_test.cpp:188:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Yonggang Luo
4bfde7954e
intel/compiler: Fixes [-Wdeprecated-declarations] in test_eu_validate.cpp
...
Warning message:
../src/intel/compiler/test_eu_validate.cpp:96:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Yonggang Luo
c48f4b70e2
intel/compiler: Fixes [-Wdeprecated-declarations] in test_eu_compact.cpp
...
Warning messages:
../src/intel/compiler/test_eu_compact.cpp:238:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
../src/intel/compiler/test_eu_compact.cpp:256:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Yonggang Luo
a87195a653
glsl: Fixes [-Wdeprecated-declarations] in list_iterators.cpp
...
Warning messages:
../src/compiler/glsl/tests/list_iterators.cpp:68:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
../src/compiler/glsl/tests/list_iterators.cpp:187:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Yonggang Luo
af72975a48
util: Fix [-Wdeprecated-declarations] in mesa-sha1_test.cpp
...
Warning message:
../src/util/tests/mesa-sha1_test.cpp:42:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Yonggang Luo
fd516fca15
nir: Fixes [-Wdeprecated-declarations] in serialize_tests.cpp
...
Warning messages:
../src/compiler/nir/tests/serialize_tests.cpp:113:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
../src/compiler/nir/tests/serialize_tests.cpp:119:1: warning: 'InstantiateTestCase_P_IsDeprecated' is deprecated: INSTANTIATE_TEST_CASE_P is deprecated, please use INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18203 >
2022-08-23 15:19:16 +00:00
Caio Oliveira
9fa48eb4cf
intel/compiler: Get URB handle in emit_task/mesh_intrinsic functions
...
This will make convenient later to keep track of the urb
handles directly in a Task thread payload struct (to be part of
fs_visitor).
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18188 >
2022-08-23 07:39:18 -07:00
Caio Oliveira
ead0cfce54
intel/compiler: Call get_mesh_urb_handle one level up in call-stack
...
Call it now from a fs_visitor member functions instead of the static
ones. This will make convenient later to keep track of the urb
handles directly in a Task thread payload struct (to be part of
fs_visitor).
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18188 >
2022-08-23 07:39:18 -07:00
Yonggang Luo
2af3b6756a
amd/compiler: Fixes warning [-Wunused-variable] in test_optimizer_postRA.cpp
...
Warning message:
../src/amd/compiler/tests/test_optimizer_postRA.cpp:137:13: warning: unused variable 'reg_s1' [-Wunused-variable]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18205 >
2022-08-23 14:14:52 +00:00
Yonggang Luo
4a607c2df4
amd/compiler: Fixes warning [-Wunused-variable] in test_to_hw_instr.cpp
...
Warning message:
../src/amd/compiler/tests/test_to_hw_instr.cpp:793:12: warning: unused variable 'reg_s1' [-Wunused-variable]
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18205 >
2022-08-23 14:14:52 +00:00
sjfricke
c49e328e4f
anv: fix assert to build with shader cache disabled
...
When setting -Dshader-cache=disabled the build fails due
no member named 'disk_cache' in 'struct anv_physical_device'
Signed-off-by: sjfricke <spencerfricke@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Fixes: 7f1e8230 ("anv: Switch to the new common pipeline cache")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18181 >
2022-08-23 13:35:46 +00:00
Sviatoslav Peleshko
0a0aa24b33
iris: Always initialize shader compilation queue ready fence
...
We use/delete this fence unconditionally, but it was initialized only
when screen->precompile is set. Move the util_queue_fence_init call
to the iris_create_uncompiled_shader to initialize it always.
Fixes: 42c34e1a ("iris: Enable threaded shader compilation")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7074
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18182 >
2022-08-23 12:38:11 +00:00
Lionel Landwerlin
9027c5df4c
anv: remove the LOCAL_MEM allocation bit
...
We always want to use local memory if possible, we'll just add the
system memory heap if the buffer needs to be host visible.
v2: Drop some usages of ANV_BO_ALLOC_LOCAL_MEM_CPU_VISIBLE
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17873 >
2022-08-23 13:19:06 +03:00
Lionel Landwerlin
a254aff643
anv: prevent trying to mmap non host visible memory
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17873 >
2022-08-23 13:18:06 +03:00
Erik Faye-Lund
b08f293686
glsl/tests: do not perform eol-conversion on windows
...
These tests fail on Windows, because we open the expected files in
text-mode, performing EOL conversion. Instead, let's read them as binary
files, and manually UTF-8 decode them to get the expected result.
This fixes the tests on Windows for me.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18179 >
2022-08-23 09:16:19 +00:00
Lionel Landwerlin
b8c472c111
anv: fix assert in memory budget code when extension is not supported
...
First we should only support the extension if we can support reporting
on all the heaps.
Second we should not run any query code if the extension is not
supported.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: fae88d8791 ("anv: make use of the new smallbar uAPI")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18153 >
2022-08-23 08:51:56 +00:00
Lionel Landwerlin
4ab38112f3
anv: fixup assertions on lowered storage formats
...
With VK_FORMAT_B10G11R11_UFLOAT_PACK32 in particular, we're seeing
applications create image views with swizzle = R,G,B,0
But since the format has no alpha channel, the swizzle value for it
does not matter for the equivalence we're trying to verify.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: a9edc268b9 ("anv: validate image view lowered storage formats for storage")
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18081 >
2022-08-23 08:29:51 +00:00
Mark Collins
9e31b0fba1
tu: Allocate private memory per-device instead of per-pipeline
...
It was discovered that a substantial amount (several GiB) of
private memory was being used by Skyline Emulator as it used a
substantial amount of pipelines with private memory that were
never deleted throughout the lifetime of the application.
These private memory allocations are now pooled into per-device
BOs shared among several pipelines instead of a single BO for
every pipeline, this reduces the memory footprint of private
memory allocations from several GiB to 8 MiB in Skyline Emulator
on certain titles.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7033
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18073 >
2022-08-23 08:07:58 +00:00
Lionel Landwerlin
d0e8f21100
anv: fix GetPipelineExecutableStatistics for ray tracing pipelines
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: e104555851 ("anv: Compile ray-tracing shaders")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18013 >
2022-08-23 09:56:02 +03:00
Mark Janes
468538509f
Revert "anv: Do not copy garbage to batch_bo"
...
This reverts commit 87b19c68d8 .
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7109
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18202 >
2022-08-23 02:01:57 +00:00
Mike Blumenkrantz
585fa6bf40
zink: ignore nir_texop_lod for tex dest matching
...
this doesn't need fixing
Fixes: 3a47576687 ("zink: add a compiler pass to match up tex op dest types")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18196 >
2022-08-23 01:44:59 +00:00
Mike Blumenkrantz
e95b9ac9a8
zink: handle nir_intrinsic_sparse_residency_code_and mechanics
...
without glsl array lowering, this intrinsic can creep in for tg4 ops,
which complicates everything. instead, rewrite these ops as residency+iand,
and then rewrite the existing residency ops to match
v2 (idr): Add missing size parameter to nir_is_sparse_texels_resident
calls.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16547 >
2022-08-23 01:10:23 +00:00
Ian Romanick
2b3e1d587d
glsl: Remove lower_offset_arrays pass
...
It is no longer used.
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16547 >
2022-08-23 01:10:23 +00:00
Ian Romanick
1aacd9492d
radeonsi: r600: d3d12: st: Use NIR lowering for tg4 offset arrays instead of GLSL lowering
...
I think I got all the drivers that need updating. This is only
necessary in drivers that support GLSL 4.00 / GL_ARB_gpu_shader5 and
have PIPE_CAP_TEXTURE_GATHER_OFFSETS = 0.
v2: Don't (accidentally) condition tg4 offsets lowering on tex rect
lowering. Noticed by Qiang.
v3: Add missing bool() cast.
v4: don't use designated initializers
Fixes: 640f909862 ("glsl: add _texture related sparse texture builtin functions")
Closes : #6365
Tested-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16547 >
2022-08-23 01:10:23 +00:00
Ian Romanick
dbd022f2ab
nir: spirv: Allow 32-bit version of nir_intrinsic_is_sparse_texels_resident
...
This intrinsic returns a Boolean. Both 1-bit and 32-bit versions must
be allowed. Otherwise, size mismatches will occur after lowering
1-bit Booleans to 32-bit.
Fixes: 4cbdf9ec4d ("nir,spirv: implement SpvOpImageSparseTexelsResident")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16547 >
2022-08-23 01:10:23 +00:00
Charmaine Lee
f73862d339
svga: fix invalid component access of domain location
...
Tesscoord is declared as vec3 in the incoming shader but the z component
of a tesscoord should only be referenced in the domain shader if the
tessellator domain is of triangle type.
Fixes vmx crash running GFXBench-Tessellation with MTL Renderer.
Reviewed-by: Martin Krastev <krastevm@vmware.com >
Reviewed-by: Min-Yu Huang <min-yuhuang@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18185 >
2022-08-23 00:38:08 +00:00
Martin Krastev
6e311dd722
meson: add svga gallium driver to 'auto' group on arm/aarch64
...
svga gallium driver is a good citizen on arm/aarch64 linux targets.
Enable that driver for -Dgallium-drivers=auto builds.
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18186 >
2022-08-23 00:10:03 +00:00
Rob Clark
16d33b8ba1
freedreno: Avoid deferred-flush dependency loops
...
We can't blindly make every other batch a dependency of the current
batch, because it is possible they already have a dependency on the
current batch, which would result in a loop.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18200 >
2022-08-22 23:51:10 +00:00
Rob Clark
425514e62e
freedreno: Simplify add_dep logic
...
These two cases never happen, guaranteed by the logic above that adds
to the batches[] table.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18200 >
2022-08-22 23:51:10 +00:00
Rob Clark
027dbe2cb3
freedreno: Extract helper to check for batch dependency
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18200 >
2022-08-22 23:51:10 +00:00
Danylo Piliaiev
c9d9155787
tu: Disable userspace iova allocations
...
If BO is freed while kernel considers it busy, our VMA state gets
desynchronized from kernel's VMA state because kernel waits
until BO stops being busy. And whether BO is busy kernel decides at
submission granularity.
On the other hand in Vulkan we may free resource as soon as we know
it won't be used.
Not completely reverting the changes in hope that proper resolution
would be found soon.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7106
Fixes: e23c4fbd9b
("tu: Switch to userspace iova allocations if kernel supports it")
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18201 >
2022-08-22 23:28:30 +00:00
Eric Engestrom
013b022924
aco: drop unused variable
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18193 >
2022-08-22 23:05:20 +00:00
Yonggang Luo
7f64137d93
aco: Use unreachable instead assert(false)
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18194 >
2022-08-22 22:44:59 +00:00
Emma Anholt
d0401f02fd
ci/tu: Add another cwe_after_bind fail that appeared in the reshuffle.
...
gmem is a fractional run of the full caselist, and one of them showed up
crashing on a630_vk_full after the deqp-runner uprev. Add all of them so
we don't fail on the next reshuffle either.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17932 >
2022-08-22 22:26:29 +00:00
Emma Anholt
b0a74776d1
tu: Emit only as many VBs as we've ever seen bound on the command buffer.
...
A later CmdBindPipeline would shrink the two draw states' sizes to the
number of VBs the pipeline actually uses, but we can save some CPU
overhead and memory by not emitting all the unused VBs as well.
Improves zink drawoverhead throughput on test 5 (1 VB change) by 38.5178%
+/- 0.48738% (n=18).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17932 >
2022-08-22 22:26:29 +00:00
Emma Anholt
8ffb48c90a
tu: Only emit FS output regs for as many MRTs as we have (but at least 1).
...
This seems to be what the blob does, should save a bit of CP overhead.
zink drawoverhead throughput on test 7 (shader change) +0.234668% +/-
0.148818% (n=25).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17932 >
2022-08-22 22:26:29 +00:00
Emma Anholt
374d1ce491
tu: Only emit as many VPC interp/repl regs as will be referenced.
...
Saves a bit of CP overhead on pipeline switch. Improves zink drawoverhead
-test 7 (shader program change) throughput by 1.10825% +/- 0.131485%
(n=10).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17932 >
2022-08-22 22:26:29 +00:00
Emma Anholt
29d725a8aa
tu: Only emit as many bindless regs as we have seen descriptor sets.
...
Cuts 12 dwords of CS per draw in vk-5-normal's main renderpass.
zink drawoverhead -test 9 (1 texture change) throughput +0.898636% +/-
0.212647% (n=30).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17932 >
2022-08-22 22:26:28 +00:00
José Roberto de Souza
f986a5207c
anv: Group all context operations during device creation
...
Move all the setup of context to one function making it easier
to read it.
There is no behavior changes here.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
José Roberto de Souza
dbbf2ff12e
anv: Nuke anv_execbuf_init()
...
We can do designated initialization to initialize needed values
and set the rest to zero.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
José Roberto de Souza
87b19c68d8
anv: Do not copy garbage to batch_bo
...
batch_size is the aligned value so it is >= than the actual number
of bytes in anv_batch.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
José Roberto de Souza
631794b8a9
anv: Only wait for queue sync if execbuf was properly executed
...
In case execbuf failed it would block execution until the maximum
timeout if DEBUG_SYNC is enabled.
While at it also removing the shadowing of result that would cause
the function result to not have its values updated in case
vk_sync_wait() returns a error.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18110 >
2022-08-22 22:04:52 +00:00
Yonggang Luo
7981936e46
mapi: Improve comment about _glapi_tls_Dispatch and _glapi_tls_Context
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
1d3faf7706
docs: Remove document about USE_ELF_TLS
...
Revise dispatch document
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
78ba0eb633
mapi: Access _glapi_tls_Dispatch directly without need of macro
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
8e8a231a07
mapi: Move shared stub into u_current.c
...
These stub are:
_glapi_Dispatch
_glapi_Context
_glapi_destroy_multithread
_glapi_check_multithread
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
7f49abbdc0
mapi: Move shared _glapi_set_context and _glapi_set_dispatch into u_current.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
01d6ae536b
mapi: Remove reference to unused _gl_DispatchTSD
...
The last usage of _gl_DispatchTSD is at commit:
df98423f24 ("mapi: Prefix functions in u_current.h by u_current.")
Wow it's 12 years ago
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
a5972eb7ac
mapi: Remove usage of _glapi_check_multithread and _glapi_destroy_multithread
...
They are empty stub functions now so have no need call to them
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Yonggang Luo
a5b463742c
mapi: Remove unused ENTRY_CURRENT_TABLE_GET
...
The last commit that use ENTRY_CURRENT_TABLE_GET is:
62a68481fa ("mapi: Remove usage of USE_ELF_TLS")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Acked-by: Jose Fonseca <jfonseca@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17814 >
2022-08-22 21:32:09 +00:00
Chia-I Wu
e8bb418b1c
turnip: trim down bo size of tu_descriptor_pool
...
Dynamic descriptors does not take up bo space.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18152 >
2022-08-22 21:08:57 +00:00
Chia-I Wu
2da46db9b2
turnip: trim down host size of tu_descriptor_pool
...
There is no tu_bo array in tu_descriptor_set since bea6290ca0 ("turnip:
device global bo list").
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18152 >
2022-08-22 21:08:57 +00:00
Chia-I Wu
9fd66f0cae
turnip: pCreateInfo->pPoolSizes[i] is wordy
...
pool_size is shorter.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18152 >
2022-08-22 21:08:57 +00:00
Connor Abbott
dcfbb60392
ir3/spill: Fix extracting from a vector at the end of a block
...
If this happens then "after" is NULL, so we can't use it to get the
block, and the instruction is never moved at the end so we have to
create the split instructions before creating the collect to make sure
they are in the right order.
This happens when reloading a complex vector value that has been
coalesced at the end of a basic block, which apparently hasn't happened
until a gfxbench5 shader on zink hit this case. This fixes it.
Closes : #7054
Fixes: 613eaac7b5 ("ir3: Initial support for spilling non-shared registers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18082 >
2022-08-22 20:48:05 +00:00
Yonggang Luo
f9d7308014
util: Use literal instead call to list_inithead in u_queue.c
...
This is a more convenient way to struct list_head variable.
And removed the need to call list_inithead in global_init
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18092 >
2022-08-22 20:22:50 +00:00
marek
ddd74bec38
radeonsi/ci: make the running script easy to use
...
Changes:
- No path parameters are needed to run all tests.
- All test results are stored next to cloned repos instead of /tmp.
This is a personal preference, though not necessary.
The new setup guide is going to be:
- mesa, piglit, deqp, and glcts directories must be next to each other.
- Add `PATH=$HOME/?/mesa/src/gallium/drivers/radeonsi/ci:$PATH` into
`.bashrc`. Replace `?` with the proper path.
- Install Rust, which will include its package manager Cargo:
https://www.rust-lang.org/tools/install
- The installer will add the Cargo environment into `.bashrc`, which will
add cargo into `PATH`.
- Restart bash to get the new `PATH`.
- Run: `cargo install deqp-runner`
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
The parameters setting the various paths won't be explained to keep
the guide short.
The path parameters and env vars can be removed if everybody stops using
them after this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18155 >
2022-08-22 20:04:52 +00:00
Caio Oliveira
631b5742d1
intel/compiler: Print more details when fs_visitor::validate() fails
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18150 >
2022-08-22 18:58:55 +00:00
Eric Engestrom
20fba14f2c
wsi/x11: fix memleak in wsi_x11_connection_create()
...
Fixes: bbdf7e45b1 ("wsi/x11: Hook up KHR_incremental_present")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18177 >
2022-08-22 17:26:40 +00:00
Alyssa Rosenzweig
9573b24ab4
gallium: Remove util_make_fragment_tex_shader_xrbias
...
Unused.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17918 >
2022-08-22 15:32:05 +00:00
Alyssa Rosenzweig
18539a4099
gallium: Inline away util_make_fragment_tex_shader interp_mode
...
Everything sets it to linear.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17918 >
2022-08-22 15:32:05 +00:00
Alyssa Rosenzweig
b61ce265d7
gallium: Inline away util_make_fragment_tex_shader_writemask
...
Nothing actually uses writemasks, get rid of them.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17918 >
2022-08-22 15:32:05 +00:00
Danylo Piliaiev
c20139c292
tu: Enable bufferDeviceAddressCaptureReplay
...
Now that we are able to set iova from userspace we could support
the replay feature of BDA.
In order to prevent address clashing between ordinary allocations
and replayable ones we allocate:
- ordinary allocations - from the lowest address;
- replayable allocations - from the highest address.
Passes: dEQP-VK.binding_model.buffer_device_address.*replay*
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15676 >
2022-08-22 18:05:46 +03:00
Danylo Piliaiev
e23c4fbd9b
tu: Switch to userspace iova allocations if kernel supports it
...
With MSM_INFO_SET_IOVA it's now possible for userspace to manually
set iova instead of relying on kernel.
In preparation to support bufferDeviceAddressCaptureReplay.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15676 >
2022-08-22 18:05:46 +03:00
Yonggang Luo
3e5aac8fbc
Revert "ci: disable unit tests"
...
As we disabled the glsl tests by meson options always, so
we reverts commit 4dd8c143a9 .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6897
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/17928 >
2022-08-22 14:18:53 +00:00
Yonggang Luo
9fc82560d3
ci: disable glcpp tests for now
...
these are too flaky to continue running for 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/17928 >
2022-08-22 14:18:53 +00:00
Yonggang Luo
0f9b662f9a
meson: add enable-glcpp-tests option
...
these are too intermittent to be left enabled on CI for 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/17928 >
2022-08-22 14:18:53 +00:00
Yonggang Luo
201a62cbba
meson: Use different STRACEDIR folder for intel_devinfo_override_test
...
Fixes
--- stderr ---
strace: Can't fopen 'meson-logs/strace/intel_device_info_override_test_120_/log.10613': No such file or directory
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17928 >
2022-08-22 14:18:53 +00:00
Yonggang Luo
12bb9cba8b
anv: Fixes struct anv_device::info is not initialized with struct anv_physical_device
...
Refactoring the function anv_device_set_physical out, so that it's can be called in unittests
Fixes: 356a60bd6c ("anv: Do not duplicate intel_device_info memory in each logical device")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7092
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: José Roberto de Souza jose.souza@intel.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17928 >
2022-08-22 14:18:53 +00:00
Samuel Pitoiset
8a78fbb832
radv: move lowering the view index to radv_pipeline_link_shaders()
...
This is a link step because it needs to know if the previous stage is
a mesh shader.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
98fe5acbdb
radv: move lowering patch vertices to radv_pipeline_link_tcs()
...
This also moves merging the tess info.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
b9ed82815d
radv: move assigning driver locations to the new linking helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
cac4ad2115
radv: rework linking shaders in NIR
...
Replace these ugly loops with something much cleaner and easier to
maintain.
There shouldn't be any functional changes.
No fossils-db changes (tested on NAVI21, VEGA10 and POLARIS10).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
f9e3339e39
radv: add radv_remove_point_size() linking helper
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
7e635adb2c
radv: remove useless parameter from radv_link_shaders()
...
It can be accessed from the pipeline key instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
f461fa1933
radv: use NIR_PASS with radv_export_implicit_primitive_id
...
For consistency.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
2167a61611
radv: remove unused parameter in radv_lower_io_to_mem()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
f66d822d87
radv: move dumping NIR shaders to the previous similar loop
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
619da8df77
radv: move lowering FS intrinsics to radv_postprocess_nir()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
0fd0c3871a
radv: add a radv_postprocess_nir() helper
...
This looks cleaner.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
22faf8597a
radv: copy the whole radv_shader_info struct for merged stages
...
We do something similar for shader args and this allows to remove this
ugly hack when postprocessing NIR shaders.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
6262586bd7
radv: copy linked I/O info for merged stages in radv_fill_shader_info
...
To copy info to merged stage at the same place.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Samuel Pitoiset
0eab07bf66
radv: remove useless check when creating the noop FS
...
If the pipeline type is graphics, VK_PIPELINE_CREATE_LIBRARY_KHR
shouldn't never be set, so this was redundant.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18138 >
2022-08-22 13:45:28 +00:00
Alyssa Rosenzweig
4ac72f7d1a
r600/sfn: Don't use broken idiv lowering
...
NIR has two implementations of lower_idiv, keyed on the imprecise_32bit_lowering
flag. This flag is misleading: the results when setting this flag "imprecise",
they're completely wrong for some values. Non-constant highp integer division is
rare enough this shouldn't noticeably harm performance of real applications.
Address r600 portion of #6555 .
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18154 >
2022-08-22 13:06:39 +00:00
Pavel Ondračka
c38023a9b2
r300: Set more shadow sampler lowering in precompiles.
...
This extends the commit 17cea74b8c
also for rectangular textures. They are otherwise lowered to MOV
dst temp[0].0000 and deadcode elimitation goes crazy.
Fixes shader-db with tesseract shaders from https://gitlab.freedesktop.org/mesa/mesa/-/issues/6771
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18168 >
2022-08-22 11:21:24 +00:00
Konrad Kleine
58432e56ae
Update docs/drivers/llvmpipe.rst
...
to include a link to the LLVM Snapshots for Fedora.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14537 >
2022-08-22 11:16:13 +00:00
Juan A. Suarez Romero
4ba21c3e8c
vc4: store tex sampler in proper register
...
When unpacking the texture sample result ensure it is moved to the
proper expected dest register.
This fixes incorrect texturing in Chromium using PixiJS framework.
CC: mesa-stable
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18122 >
2022-08-22 10:34:39 +00:00
Erico Nunes
177f7fae01
ci: enable lima farm
...
Signed-off-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18178 >
2022-08-22 09:58:12 +00:00
Konstantin Seurer
ddae033674
lavapipe: Set ss_dirty in emit_state
...
Set ss_dirty to false when updating the samplers.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18161 >
2022-08-22 09:43:03 +00:00
Eric Engestrom
3743ea0fad
meson: drop duplicate lib in lib name
...
The default lib prefix is `lib`, so adding `lib` to the lib name just
results in `liblibbroadcom_v3d.a` for instance.
Those are internal, build-temporary static libraries that end up being
linked into the real user-visible libraries, so it doesn't really
matter, but we might as well just clean up their names anyway.
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18171 >
2022-08-22 08:35:41 +00:00
Simon Ser
137b34a67e
vulkan/wsi/x11: detect Xwayland via the XWAYLAND extension
...
This is more robust than checking for XRandR output names.
Signed-off-by: Simon Ser <contact@emersion.fr >
References: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/954
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17790 >
2022-08-22 10:10:23 +02:00
Vinson Lee
87182ba977
bin/perf-annotate-jit.py: Update to Python 3.
...
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12926 >
2022-08-21 22:14:43 -07:00
Mike Blumenkrantz
7b81dbe591
st_pbo/compute: pre-clamp loaded geometry based on coord components
...
if only some of these components will be used, clamp the rest to enable
better shader optimizing
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18118 >
2022-08-22 02:00:55 +00:00
Mike Blumenkrantz
613348766c
st_pbo/compute: pre-clamp shader geometry to 16bit
...
no point doing this in the shader
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18118 >
2022-08-22 02:00:55 +00:00
Mike Blumenkrantz
2fa5afd639
st_pbo/compute: fix 1D coord dimension by pre-trimming vectors
...
cc: mesa-stable
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18118 >
2022-08-22 02:00:55 +00:00
Mike Blumenkrantz
cd07a0002f
st_pbo/compute: fix 1D_ARRAY offsets
...
these come in as yoffset, but the constant data must use 0 since the sampler
view is created with the offset
cc: mesa-stable
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18118 >
2022-08-22 02:00:55 +00:00
Mike Blumenkrantz
bd3b03939b
st_pbo/compute: handle download failures with fallback
...
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18118 >
2022-08-22 02:00:55 +00:00
Alyssa Rosenzweig
fcae7cfd27
panfrost: Assert that blend shaders are nontrivial
...
Even if the driver doesn't *use* trivial blend shaders, building and compiling
blend shaders is expensive. We shouldn't be building blend shaders that should
never be used.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
1d5aad9db4
panfrost: Include mask in replace blend shader name
...
Helpful to disambiguate blend shaders with different colour masks used for the
same format/replace operation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
378b7e37f4
panfrost: Simplify blitter blend shader creation
...
We don't need blending in the blitter. That means blend shaders are only needed
on Midgard. Simplify accordingly.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
0a71d56fd4
panfrost: Invert no_colour to enabled
...
This way, blend info that's left zeroed out defaults to disabled. Fixes an
assertion failure in KHR-GLES31.core.draw_buffers_indexed.color_masks due to
the blend CSO max_rt being set unreliably. This is also probably clearer.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
39bf3ea7d3
panfrost: Don't compile empty blend shaders
...
This is silly. They'll be masked out later, but it's still pointless, and adds
noise when grepping BIFROST_MESA_DEBUG=shaders,internal for "pan_blend" when
debugging why an app is using blend shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
d849d9779a
panfrost: Avoid blend shader when not blending
...
On Midgard, we need a "blend" shader even if blending is disabled, if the format
isn't blendable. This is inefficient. Bifrost solves this by decoupling the
format conversion from the blending, allowing opaque (unblended) output to any
format without a blend shader or fragment key.
Unfortunately, our blend code is from the Midgard era -- I wrote an early
version of nir_lower_blend when I was still in high school! -- so we've been
using blend shaders for opaque output even on Bifrost. Whoops!
In SuperTuxKart, reduces blend shader calls by 30%, translating to a 15%
reduction in i-cache misses.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
e59c74ec56
panfrost: Promote blend shader outputs 8->16-bit
...
..on Bifrost and later, where the conversion hardware makes this reasonable.
This saves us from inserting a pile of conversions in the compiler to lower away
the 8-bit input/output. This also generates substantially better code.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
08746d7b52
panfrost: Don't saturate in Bifrost blend shaders
...
It's unnecessary since the hardware already does the conversion for us.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
b1c9c924c7
panfrost: Set blit output variable types correctly
...
The type of the output variable will propagate through the store_output
intrinsic's src_type field to the BLEND instruction's register format field. On
Valhall, the register format for a BLEND comes from the instruction -- the
register format specified in the conversion descriptor (used on Bifrost) is
ignored. That means it has to match.
Previously, we always used a blend shader for integer rendering. Since blend
shaders ignore the register format of the BLEND instruction, that masked this
issue. That also means we don't need to backport this.
Will prevent a regression from the following commit.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
d680560970
panfrost: Handle untyped_color_outputs on Bifrost
...
For untyped_color_outputs, we need to ignore the type of the colour output in
the shader and instead use the type from the format. We have all the information
to do this at blend descriptor pack time, but not at shader compile time. This
means we need a (somewhat expensive) fixup in this edge case to ingest
NIR-to-TGSI. This will prevent a regression from the rest of the series.
Although the register_format field is also present on Valhall blend descriptors,
it is ignored so we don't need the fixup there.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
cf55e05f8f
pan/bi: Handle info.fs.untyped_color_outputs on Valhall
...
Colour outputs in TGSI are untyped so we have to ignore the register format on
the store_output. Luckily, Valhall gives us the auto32 escape hatch to deal with
it, and Bifrost doesn't care anyway. This will avoid regressions from native int
output without corrupting the compiler for GLSL and SPIR-V shaders that are
well-typed.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
394e1f5862
pan/bi: Don't allow ATEST to take a temporary
...
Clause scheduler edition of db2bdc1dc3 ("pan/bi: Require ATEST coverage mask
input in R60"). ATEST wants to read r60, which can't work if its input isn't
even in a register.
When per-sample shading isn't in use, prevents regressions in:
KHR-GLES31.core.sample_variables.mask.*
These tests previously passed because per-sample shading was forced. It's
not clear whether the bug addressed in this patch is possible to hit "in the
wild", i.e. without the optimizations in this series that allow us to use
per-pixel shading in more cases.
No shader-db changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
e12a9ce8d6
pan/bi: Don't reorder image loads across stores
...
Fixes flaking in
dEQP-GLES31.functional.image_load_store.cube.qualifiers.volatile_r32i due to
image reads being moved past a BARRIER.
To make this more robust/optimal, we probably need scheduling information
(coherent/volatile/etc) added to instructions like ACO does. That's left for a
future extension, for now I just want the test to stop flaking.
Fixes: 569e5dc745 ("pan/bi: Schedule for pressure pre-RA")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17841 >
2022-08-21 19:37:10 +00:00
Alyssa Rosenzweig
15e15422ba
asahi: Fix warning building for macOS 12.0
...
Unnecessary rename that breaks forward compatibility... but Apple says
this is just NULL. Do the simpler thing. Note that the argument is a
mach_port_t, which is a natural_t == uint32_t in userspace... even
though it's a pointer in the kernel. Although Apple's docs claim that
kIOMasterPortDefault is NULL, it's really just 0.
../src/asahi/lib/agx_device.c:290:35: warning: 'kIOMasterPortDefault' is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]
IOServiceGetMatchingService(kIOMasterPortDefault, matching);
^~~~~~~~~~~~~~~~~~~~
kIOMainPortDefault
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18121 >
2022-08-21 14:32:40 -04:00
Danylo Piliaiev
1635ad0322
tu: Assert that if draw state is enabled it has valid iova
...
GPU faults at draw state loading completely could completely bring
down the board. (Happened on HDK888)
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18149 >
2022-08-21 15:42:22 +00:00
Pavel Ondračka
9c01fff445
r300: merge MOVs with MULs or ADDs in merge channels
...
Shader-db stats with RV530:
total instructions in shared programs: 166499 -> 164362 (-1.28%)
instructions in affected programs: 80056 -> 77919 (-2.67%)
total temps in shared programs: 21658 -> 21565 (-0.43%)
temps in affected programs: 1780 -> 1687 (-5.22%)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:52:50 +02:00
Pavel Ondračka
275beae42d
r300: merge MOVs into ADD using the 0 swizzle
...
Shader-db stats with RV530:
total instructions in shared programs: 169509 -> 166013 (-2.06%)
instructions in affected programs: 99126 -> 95630 (-3.53%)
total presub in shared programs: 10975 -> 10758 (-1.98%)
presub in affected programs: 744 -> 527 (-29.17%)
total temps in shared programs: 21722 -> 21649 (-0.34%)
temps in affected programs: 1350 -> 1277 (-5.41%)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:52:31 +02:00
Pavel Ondračka
13607d8c48
r300: don't merge w channel in fragment shaders
...
Skip the merge if one of the instructions writes just w channel
and we are compiling a fragment shader. We can pair-schedule it together
later anyway and it will also give the scheduler a bit more flexibility.
Shader-db stats with RV530:
total instructions in shared programs: 169522 -> 169509 (<.01%)
instructions in affected programs: 14170 -> 14157 (-0.09%)
total temps in shared programs: 21712 -> 21722 (0.05%)
temps in affected programs: 324 -> 334 (3.09%)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:52:15 +02:00
Pavel Ondračka
268f317f22
r300: generalize the merge_movs pass
...
To allow a simple extension with more merging combinations in the
later commits.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:51:49 +02:00
Pavel Ondračka
05785d482e
r300: run dataflow optimizations in separate loops
...
Constant folding first, than copy propagate simple movs, after that
we run the merge movs pass and finally peephole. The important part
is to do the copy propagate for the whole program before running merge
movs.
We no longer check the return from merge_movs so convert it to void.
Shader-db changes with RV530:
total instructions in shared programs: 155361 -> 154787 (-0.37%)
instructions in affected programs: 67920 -> 67346 (-0.85%)
total temps in shared programs: 20836 -> 20773 (-0.30%)
temps in affected programs: 711 -> 648 (-8.86%)
total presub in shared programs: 8226 -> 8202 (-0.29%)
presub in affected programs: 223 -> 199 (-10.76%)
total temps in shared programs: 20836 -> 20773 (-0.30%)
temps in affected programs: 711 -> 648 (-8.86%)
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:51:10 +02:00
Pavel Ondračka
2755faf938
r300: check for identical saturate mode when merging MOVs
...
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:50:03 +02:00
Pavel Ondračka
6286e48e5d
r300: fix negate mask computation when merging movs
...
The main problem here is we can have a negate bit set for an unused
channel, so we can't just OR together the negates when channel merging.
Right now the bug is hidden because how we run the pass order, but
that will change in a later commit. Add some helpers for merging of the
negates, they will be also used more in a later commits. As a bonus
construct the new source separatelly and only rewrite the original
instructions after checking that the final swizzle is valid.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:49:35 +02:00
Pavel Ondračka
aeae7b812c
r300: allow constant swizzles with inline constant
...
This will prevent a regression in the number of inlined constants in
a later commit. Constructs like 4.000000 (0x48).w110 works just fine.
There is a small behavioral change. We would previously allow positive
and negative same-value contants to be produced, e.g.,
4.000000 (0x48).w-w__ and this would be later split into some extra
movs in the dataflow swizzle pass. We now explicitly check that the
final swizzle is valid while inlining. So there is a minor decrease
in inlined constants and in the total instructions.
total lits in shared programs: 4328 -> 4194 (-3.10%)
lits in affected programs: 554 -> 420 (-24.19%)
total instructions in shared programs: 155488 -> 155361 (-0.08%)
instructions in affected programs: 5707 -> 5580 (-2.23%)
Additonally, a fix for pair translation is needed since the constant
inlining can now produce swizzles like this: 4.000000 (0x48).w-0-0-_
so we have to teach pair translation to also ignore the sign for zero
swizzle.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17560 >
2022-08-21 09:49:08 +02:00
Jesse Natalie
7b60414494
microsoft/clc: Handle a null clc logger
...
Fixes: 55b3980e ("microsoft/compiler: Add dxil_logger type and parameter to nir_to_dxil")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7076
Reviewed-by: Michael Tang <tangm@microsoft.com >
Tested-by: Prodea Alexandru-Liviu <liviuprodea@yahoo.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18127 >
2022-08-20 22:40:36 +00:00
Riteo
163390d762
vulkan/device_select_wayland: fix a memory leak with DRM device handling
...
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18076 >
2022-08-20 20:03:03 +00:00
Konstantin Seurer
995480a3f7
radv/ci: Remove host build related fails
...
!17028 removed acceleration structure host build support.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18142 >
2022-08-20 17:48:04 +00:00
Timur Kristóf
1762e6b540
aco: Improve SCC nocompare optimization when SCC is clobbered.
...
When SCC is clobbered between s_cmp and its operand's writer,
the current optimization that eliminates s_cmp won't kick in.
However, when s_cmp is the only user of its operand temporary,
it is possible to "pull down" the instruction that wrote the operand.
Fossil DB stats on Navi 21:
Totals from 63302 (46.92% of 134906) affected shaders:
CodeSize: 176689272 -> 176418332 (-0.15%)
Instrs: 33552237 -> 33484502 (-0.20%)
Latency: 205847485 -> 205816205 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 34321285 -> 34319908 (-0.00%); split: -0.00%, +0.00%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16266 >
2022-08-20 15:27:40 +00:00
Timur Kristóf
e69de0f81d
aco: Support s_cselect_b64 in SCC no-compare optimization.
...
This was simply left out by accident when I wrote this.
Fossil DB stats on Navi 21:
Totals from 70165 (52.01% of 134906) affected shaders:
CodeSize: 246375656 -> 245814396 (-0.23%)
Instrs: 46519773 -> 46379458 (-0.30%)
Latency: 385159303 -> 385089261 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 66490172 -> 66487867 (-0.00%); split: -0.00%, +0.00%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16266 >
2022-08-20 15:27:40 +00:00
Timur Kristóf
b0ef7c7c82
aco/optimizer_postRA: Don't try to optimize dead instructions.
...
Also delete them when they are already dead in process_instruction().
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16266 >
2022-08-20 15:27:40 +00:00
David Heidelberg
4a4e5320a1
ci: implement stress testing jobs in ci_run_n_monitor.py
...
Can be triggered by `--stress`.
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18014 >
2022-08-20 10:05:57 +00:00
David Heidelberg
607bf3cc41
ci: GraphQL was already implemented in ci_run_n_monitor.py
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18014 >
2022-08-20 10:05:57 +00:00
David Heidelberg
d6b61fcf60
ci: traces: update freedreno and broadcom to brotli compressed traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18156 >
2022-08-20 09:42:28 +00:00
Mike Blumenkrantz
1d521a5c15
zink: add gfx pipeline lookup shortcut
...
if the final hash was the same as the last-used hash for this program,
it should be safe to reuse the last pipeline object in the presence of
dynamic vertex input since the number of permutations is low
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
6a836eaff5
zink: track which stages in gfx programs are using inlined uniforms
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
8a5b3658df
zink: split resource tracking into two sets for buffer/texture
...
this will make the hash lookups slightly faster to cut down overhead
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
8b93f157de
zink: make batch internal api static again
...
hooray
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
40424cbe98
zink: merge all the batch state sets onto the struct
...
less memory fragmentation
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
a4830517c2
zink: use PIPE_CAP_RGB_OVERRIDE_DST_ALPHA_BLEND
...
this eliminates the bespoke handling I wrote to do the same thing a while ago
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
16ae4fb8b7
zink: add is_buffer param to zink_batch_resource_usage_set
...
this allows constants to be specified, reducing register pressure during
descriptor binds
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
0b56ac82eb
zink: move zink_batch_resource_usage_set to be static inline
...
this has to go in zink_resource.h to avoid infinite include dependency
conflicts
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
7172c8a421
zink: remove c++ guard from zink_resource.h
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
277590d3e4
zink: add more c++ guards to headers
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
58823f054e
zink: make zink_bo.h compile in c++
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
bc46d44ba5
zink: constify shader module variable
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
98fdcd9f9b
zink: pass shader stage as param for gfx module update
...
less register pressure
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
145137df89
zink: use dynarray instead of list for internal shader cache
...
this is less likely to obliterate cpu caches
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
d8455e5ebf
zink: change u_foreach_bit to regular for loop in zink_gfx_program_update
...
too hot to be using this
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
5c7c566bda
zink: make program cache values more intelligible
...
instead of magic constants
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
47d83e609a
zink: cache dynamic render vs renderpass pipelines separately
...
removes comparisons from hash lookup
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
fc460f6274
zink: use stage comparison template to ignore vertices_per_patch
...
no need to compare if this won't be used
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
fbade5c71a
zink: add templates for pipeline stage comparison
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
3f163b173d
zink: use a list for free batch states
...
this ensures "fairer" reuse and avoids having any states sitting idle
for too long with resources attached
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
a0e69e7601
zink: split out first-time shader module creation
...
this simplifies the code a bit and makes it more flexible
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
f5008d4370
zink: split out gfx shader module creation from cache searching
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
db00e794b2
zink: split out nonseamless/inline shader module info calculation
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
4de0f7acd9
zink: plumb screen info through shader key comparison
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
b8a7b912d3
zink: plumb some screen info through gfx shader creation
...
this should allow optimizing out some parts of the code
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
190e5bda11
zink: simplify shader key comparison by splitting out non-generated tcs
...
non-generated tcs has unique mechanics in that it doesn't have a base shader key,
so split that out to avoid unnecessary complexity
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
59fa328589
zink: rework bit iteration in update_gfx_shader_modules to use for loop
...
this is roughly 1% faster in drawoverhead case 7
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
69464177d0
zink: fix shader key struct packing
...
these structs were improperly sizing to be way bigger than expected
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
f08082c083
zink: remove some gfx pipeline state members
...
these are no longer used
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
c58f3ec6fc
zink: use template to eliminate more instructions in pipeline state comparison
...
these values don't need to be checked at all if dynamic vertex is enabled,
which wouldn't previously have been possible without adding even more
data to check to the pipeline state
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
d862871682
zink: move pipeline state comparison to c++ template
...
the other part of the pipeline update hotpath
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
c886a7a423
zink: move gfx pipeline recalc to c++
...
this is one of the hottest paths in the driver, and having to load
a function variant with all the extra dynamic state paths is not optimal
when they can never be used
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
5457a70ce3
zink: move pipeline cache structs to zink_program.h
...
these shouldn't be widely used, so they're not in zink_types.h
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
0b6751773c
zink: add c++ guards to zink_pipeline.h
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
7b115a5311
zink: remove cpu conditional render hack
...
this was quite useful for debugging/testing, but now everything works,
so it's dead code
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
3555371679
zink: move gfx program update/creation into zink_program.c
...
this doesn't need to be c++
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
a98536bba2
zink: deduplicate some program destroy code
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Mike Blumenkrantz
fc429a8538
zink: deduplicate some program creation code
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18135 >
2022-08-20 01:27:13 +00:00
Matt Turner
67808a69c6
freedreno/ir3: Use nir_opt_idiv_const
...
Notably reduces the number of instructions in manhattan31/377 by 101:
instructions helped: shaders/closed/android/gfxbench/manhattan31/377.shader_test CL: 1700 -> 1599 (-5.94%)
total instructions in shared programs: 1713536 -> 1713313 (-0.01%)
instructions in affected programs: 7635 -> 7412 (-2.92%)
helped: 12
HURT: 9
total nops in shared programs: 377253 -> 377188 (-0.02%)
nops in affected programs: 3170 -> 3105 (-2.05%)
helped: 13
HURT: 8
total non-nops in shared programs: 1336283 -> 1336125 (-0.01%)
non-nops in affected programs: 3134 -> 2976 (-5.04%)
helped: 12
HURT: 4
total mov in shared programs: 66642 -> 66641 (<.01%)
mov in affected programs: 145 -> 144 (-0.69%)
helped: 1
HURT: 4
total cov in shared programs: 20215 -> 20223 (0.04%)
cov in affected programs: 64 -> 72 (12.50%)
helped: 0
HURT: 8
total dwords in shared programs: 3650282 -> 3649876 (-0.01%)
dwords in affected programs: 11222 -> 10816 (-3.62%)
helped: 12
HURT: 0
total constlen in shared programs: 246636 -> 246656 (<.01%)
constlen in affected programs: 72 -> 92 (27.78%)
helped: 0
HURT: 5
total cat0 in shared programs: 411874 -> 411809 (-0.02%)
cat0 in affected programs: 3414 -> 3349 (-1.90%)
helped: 13
HURT: 8
total cat1 in shared programs: 87109 -> 87116 (<.01%)
cat1 in affected programs: 398 -> 405 (1.76%)
helped: 1
HURT: 12
total cat2 in shared programs: 797105 -> 797030 (<.01%)
cat2 in affected programs: 1619 -> 1544 (-4.63%)
helped: 12
HURT: 0
total cat3 in shared programs: 348412 -> 348322 (-0.03%)
cat3 in affected programs: 404 -> 314 (-22.28%)
helped: 12
HURT: 0
total sstall in shared programs: 133300 -> 133302 (<.01%)
sstall in affected programs: 73 -> 75 (2.74%)
helped: 0
HURT: 1
total (ss) in shared programs: 36137 -> 36139 (<.01%)
(ss) in affected programs: 54 -> 56 (3.70%)
helped: 0
HURT: 2
total systall in shared programs: 323494 -> 323624 (0.04%)
systall in affected programs: 1591 -> 1721 (8.17%)
helped: 4
HURT: 2
total (sy) in shared programs: 14306 -> 14308 (0.01%)
(sy) in affected programs: 46 -> 48 (4.35%)
helped: 0
HURT: 2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18085 >
2022-08-20 00:13:21 +00:00
Matt Turner
75739aced3
freedreno/ir3: Don't use the broken idiv lowering
...
This hurts, but we really can't tolerate incorrect results.
Notably hurts manhattan31/377 (but half of the damage is handled by the
next commit).
instructions HURT: shaders/closed/android/gfxbench/manhattan31/377.shader_test CL: 1509 -> 1700 (12.66%)
total instructions in shared programs: 1674990 -> 1713536 (2.30%)
instructions in affected programs: 205016 -> 243562 (18.80%)
helped: 10
HURT: 357
total nops in shared programs: 370499 -> 377253 (1.82%)
nops in affected programs: 54465 -> 61219 (12.40%)
helped: 74
HURT: 289
total non-nops in shared programs: 1304491 -> 1336283 (2.44%)
non-nops in affected programs: 147087 -> 178879 (21.61%)
helped: 5
HURT: 348
total mov in shared programs: 64188 -> 66642 (3.82%)
mov in affected programs: 5667 -> 8121 (43.30%)
helped: 5
HURT: 346
total cov in shared programs: 23603 -> 20215 (-14.35%)
cov in affected programs: 9274 -> 5886 (-36.53%)
helped: 347
HURT: 0
total dwords in shared programs: 3385438 -> 3650282 (7.82%)
dwords in affected programs: 630672 -> 895516 (41.99%)
helped: 0
HURT: 690
total full in shared programs: 93112 -> 93127 (0.02%)
full in affected programs: 390 -> 405 (3.85%)
helped: 10
HURT: 22
total constlen in shared programs: 245400 -> 246636 (0.50%)
constlen in affected programs: 19504 -> 20740 (6.34%)
helped: 0
HURT: 309
total cat0 in shared programs: 405120 -> 411874 (1.67%)
cat0 in affected programs: 57075 -> 63829 (11.83%)
helped: 74
HURT: 289
total cat1 in shared programs: 87987 -> 87109 (-1.00%)
cat1 in affected programs: 13032 -> 12154 (-6.74%)
helped: 282
HURT: 17
total cat2 in shared programs: 775647 -> 797105 (2.77%)
cat2 in affected programs: 106737 -> 128195 (20.10%)
helped: 0
HURT: 347
total cat3 in shared programs: 337200 -> 348412 (3.33%)
cat3 in affected programs: 17551 -> 28763 (63.88%)
helped: 0
HURT: 347
total sstall in shared programs: 133312 -> 133300 (<.01%)
sstall in affected programs: 85 -> 73 (-14.12%)
helped: 1
HURT: 0
total (ss) in shared programs: 36146 -> 36137 (-0.02%)
(ss) in affected programs: 345 -> 336 (-2.61%)
helped: 20
HURT: 11
total systall in shared programs: 323432 -> 323494 (0.02%)
systall in affected programs: 2762 -> 2824 (2.24%)
helped: 11
HURT: 15
total (sy) in shared programs: 14301 -> 14306 (0.03%)
(sy) in affected programs: 54 -> 59 (9.26%)
helped: 0
HURT: 4
Total CPU time (seconds): 0 -> 0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18085 >
2022-08-20 00:13:21 +00:00
Alyssa Rosenzweig
2f3cc22bc4
pan/bi: Use nir_opt_idiv_const
...
Mitigates some of the hurt from idiv lowering.
total instructions in shared programs: 2734512 -> 2734269 (<.01%)
instructions in affected programs: 10419 -> 10176 (-2.33%)
helped: 11
HURT: 4
helped stats (abs) min: 9.0 max: 49.0 x̄: 22.45 x̃: 19
helped stats (rel) min: 1.84% max: 7.50% x̄: 3.65% x̃: 3.30%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 0.14% max: 0.14% x̄: 0.14% x̃: 0.14%
95% mean confidence interval for instructions value: -25.34 -7.06
95% mean confidence interval for instructions %-change: -3.91% -1.37%
Instructions are helped.
total cycles in shared programs: 140629.05 -> 140628.61 (<.01%)
cycles in affected programs: 25.12 -> 24.69 (-1.74%)
helped: 3
HURT: 0
helped stats (abs) min: 0.0625 max: 0.3125 x̄: 0.15 x̃: 0
helped stats (rel) min: 0.82% max: 3.17% x̄: 1.60% x̃: 0.82%
total cvt in shared programs: 14826.25 -> 14819.52 (-0.05%)
cvt in affected programs: 189.64 -> 182.91 (-3.55%)
helped: 42
HURT: 0
helped stats (abs) min: 0.046875 max: 1.015625 x̄: 0.16 x̃: 0
helped stats (rel) min: 0.74% max: 11.76% x̄: 3.73% x̃: 2.82%
95% mean confidence interval for cvt value: -0.23 -0.09
95% mean confidence interval for cvt %-change: -4.65% -2.82%
Cvt are helped.
total sfu in shared programs: 8601.81 -> 8613.56 (0.14%)
sfu in affected programs: 85.62 -> 97.38 (13.72%)
helped: 0
HURT: 41
HURT stats (abs) min: 0.0625 max: 1.25 x̄: 0.29 x̃: 0
HURT stats (rel) min: 3.45% max: 33.33% x̄: 15.48% x̃: 16.67%
95% mean confidence interval for sfu value: 0.21 0.36
95% mean confidence interval for sfu %-change: 13.28% 17.69%
Sfu are HURT.
total quadwords in shared programs: 1479736 -> 1479616 (<.01%)
quadwords in affected programs: 3392 -> 3272 (-3.54%)
helped: 8
HURT: 0
helped stats (abs) min: 8.0 max: 24.0 x̄: 15.00 x̃: 16
helped stats (rel) min: 1.54% max: 4.62% x̄: 3.57% x̃: 3.71%
95% mean confidence interval for quadwords value: -20.58 -9.42
95% mean confidence interval for quadwords %-change: -4.39% -2.75%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17266 >
2022-08-19 20:48:37 +00:00
Alyssa Rosenzweig
3eb57544b6
pan/bi: Don't use the broken idiv lowering
...
Rip off the band-aid. We can't tolerate straight-up wrong results, after all.
Addresses the Bifrost/Valhall portion of #6555 .
Fixes test_integer_ops uint_math / subcase.
total instructions in shared programs: 2674840 -> 2734512 (2.23%)
instructions in affected programs: 189964 -> 249636 (31.41%)
helped: 0
HURT: 383
HURT stats (abs) min: 8.0 max: 184.0 x̄: 155.80 x̃: 173
HURT stats (rel) min: 1.85% max: 126.09% x̄: 32.38% x̃: 34.46%
95% mean confidence interval for instructions value: 150.98 160.63
95% mean confidence interval for instructions %-change: 31.27% 33.48%
Instructions are HURT.
total cycles in shared programs: 140627.36 -> 140629.05 (<.01%)
cycles in affected programs: 24.81 -> 26.50 (6.80%)
helped: 0
HURT: 4
HURT stats (abs) min: 0.1875 max: 0.9375 x̄: 0.42 x̃: 0
HURT stats (rel) min: 2.52% max: 37.50% x̄: 13.26% x̃: 6.52%
95% mean confidence interval for cycles value: -0.14 0.99
95% mean confidence interval for cycles %-change: -13.14% 39.67%
Inconclusive result (value mean confidence interval includes 0).
total fma in shared programs: 22578.03 -> 22549.94 (-0.12%)
fma in affected programs: 1056.33 -> 1028.23 (-2.66%)
helped: 383
HURT: 0
helped stats (abs) min: 0.015625 max: 0.375 x̄: 0.07 x̃: 0
helped stats (rel) min: 0.55% max: 50.00% x̄: 3.07% x̃: 2.34%
95% mean confidence interval for fma value: -0.08 -0.07
95% mean confidence interval for fma %-change: -3.39% -2.75%
Fma are helped.
total cvt in shared programs: 14128.91 -> 14826.25 (4.94%)
cvt in affected programs: 1636.23 -> 2333.58 (42.62%)
helped: 0
HURT: 383
HURT stats (abs) min: 0.0625 max: 2.109375 x̄: 1.82 x̃: 2
HURT stats (rel) min: 2.52% max: 162.50% x̄: 43.50% x̃: 46.40%
95% mean confidence interval for cvt value: 1.76 1.88
95% mean confidence interval for cvt %-change: 42.07% 44.93%
Cvt are HURT.
total sfu in shared programs: 7549.31 -> 8601.81 (13.94%)
sfu in affected programs: 758.62 -> 1811.12 (138.74%)
helped: 0
HURT: 383
HURT stats (abs) min: 0.375 max: 5.0 x̄: 2.75 x̃: 3
HURT stats (rel) min: 23.08% max: 266.67% x̄: 136.66% x̃: 150.00%
95% mean confidence interval for sfu value: 2.67 2.83
95% mean confidence interval for sfu %-change: 133.02% 140.29%
Sfu are HURT.
total quadwords in shared programs: 1449928 -> 1479736 (2.06%)
quadwords in affected programs: 96544 -> 126352 (30.88%)
helped: 0
HURT: 382
HURT stats (abs) min: 8.0 max: 96.0 x̄: 78.03 x̃: 88
HURT stats (rel) min: 1.82% max: 100.00% x̄: 31.71% x̃: 34.38%
95% mean confidence interval for quadwords value: 75.63 80.43
95% mean confidence interval for quadwords %-change: 30.67% 32.75%
Quadwords are HURT.
total threads in shared programs: 53556 -> 53479 (-0.14%)
threads in affected programs: 154 -> 77 (-50.00%)
helped: 0
HURT: 77
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: -1.00 -1.00
95% mean confidence interval for threads %-change: -50.00% -50.00%
Threads are HURT.
Bifrost is hit harder, unfortunately:
total instructions in shared programs: 2414877 -> 2468058 (2.20%)
instructions in affected programs: 184585 -> 237766 (28.81%)
helped: 0
HURT: 383
HURT stats (abs) min: 12.0 max: 160.0 x̄: 138.85 x̃: 155
HURT stats (rel) min: 1.52% max: 111.94% x̄: 29.43% x̃: 31.44%
95% mean confidence interval for instructions value: 134.47 143.24
95% mean confidence interval for instructions %-change: 28.42% 30.45%
Instructions are HURT.
total tuples in shared programs: 1927478 -> 1964218 (1.91%)
tuples in affected programs: 133176 -> 169916 (27.59%)
helped: 0
HURT: 383
HURT stats (abs) min: 5.0 max: 113.0 x̄: 95.93 x̃: 107
HURT stats (rel) min: 1.02% max: 87.04% x̄: 28.44% x̃: 30.57%
95% mean confidence interval for tuples value: 92.80 99.05
95% mean confidence interval for tuples %-change: 27.47% 29.41%
Tuples are HURT.
total clauses in shared programs: 354853 -> 359513 (1.31%)
clauses in affected programs: 22918 -> 27578 (20.33%)
helped: 0
HURT: 381
HURT stats (abs) min: 1.0 max: 15.0 x̄: 12.23 x̃: 14
HURT stats (rel) min: 1.14% max: 60.00% x̄: 20.81% x̃: 22.58%
95% mean confidence interval for clauses value: 11.84 12.62
95% mean confidence interval for clauses %-change: 20.13% 21.49%
Clauses are HURT.
total cycles in shared programs: 166542.56 -> 167639.31 (0.66%)
cycles in affected programs: 5012.37 -> 6109.13 (21.88%)
helped: 0
HURT: 329
HURT stats (abs) min: 0.20833199999999863 max: 4.666665999999999 x̄: 3.33 x̃: 3
HURT stats (rel) min: 1.05% max: 51.06% x̄: 22.28% x̃: 22.78%
95% mean confidence interval for cycles value: 3.22 3.45
95% mean confidence interval for cycles %-change: 21.45% 23.10%
Cycles are HURT.
total arith in shared programs: 73643 -> 75173.17 (2.08%)
arith in affected programs: 5344.04 -> 6874.21 (28.63%)
helped: 0
HURT: 383
HURT stats (abs) min: 0.20833199999999863 max: 4.666667 x̄: 4.00 x̃: 4
HURT stats (rel) min: 1.05% max: 97.92% x̄: 29.47% x̃: 31.64%
95% mean confidence interval for arith value: 3.87 4.13
95% mean confidence interval for arith %-change: 28.45% 30.49%
Arith are HURT.
total quadwords in shared programs: 1673974 -> 1701720 (1.66%)
quadwords in affected programs: 111686 -> 139432 (24.84%)
helped: 0
HURT: 383
HURT stats (abs) min: 5.0 max: 84.0 x̄: 72.44 x̃: 81
HURT stats (rel) min: 1.11% max: 78.72% x̄: 25.59% x̃: 27.56%
95% mean confidence interval for quadwords value: 70.16 74.73
95% mean confidence interval for quadwords %-change: 24.74% 26.43%
Quadwords are HURT.
total threads in shared programs: 53655 -> 53590 (-0.12%)
threads in affected programs: 130 -> 65 (-50.00%)
helped: 0
HURT: 65
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 50.00% max: 50.00% x̄: 50.00% x̃: 50.00%
95% mean confidence interval for threads value: -1.00 -1.00
95% mean confidence interval for threads %-change: -50.00% -50.00%
Threads are HURT.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17266 >
2022-08-19 20:48:37 +00:00
Alyssa Rosenzweig
35a7490ce2
pan/bi: Optimize pattern from nir_lower_idiv
...
This takes advantage of the .i1 modifier on the comparison to get b2i32 "for
free" in typical circumstances, saving an instruction. Will help with an instr
count regression from lower_idiv.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17266 >
2022-08-19 20:48:37 +00:00
Alyssa Rosenzweig
1ef20f1f35
pan/bi: Optimize bitwise arithmetic of booleans
...
This is easier to schedule on Bifrost. In theory it's also better on Valhall,
but in practice the CVT unit is too overloaded on Valhall for this to help
at the moment. We can revisit these rules for Valhall in the future where the
Valhall optimizer is more mature and/or Valhall grows a scheduler to balance the
execution units.
total instructions in shared programs: 2415350 -> 2414877 (-0.02%)
instructions in affected programs: 120948 -> 120475 (-0.39%)
helped: 192
HURT: 49
helped stats (abs) min: 1.0 max: 5.0 x̄: 2.89 x̃: 4
helped stats (rel) min: 0.25% max: 4.35% x̄: 0.66% x̃: 0.52%
HURT stats (abs) min: 1.0 max: 3.0 x̄: 1.67 x̃: 1
HURT stats (rel) min: 0.11% max: 7.14% x̄: 1.73% x̃: 0.77%
95% mean confidence interval for instructions value: -2.24 -1.68
95% mean confidence interval for instructions %-change: -0.37% 0.02%
Inconclusive result (%-change mean confidence interval includes 0).
total tuples in shared programs: 1928474 -> 1927478 (-0.05%)
tuples in affected programs: 146482 -> 145486 (-0.68%)
helped: 514
HURT: 73
helped stats (abs) min: 1.0 max: 8.0 x̄: 2.11 x̃: 1
helped stats (rel) min: 0.18% max: 9.52% x̄: 1.35% x̃: 0.76%
HURT stats (abs) min: 1.0 max: 2.0 x̄: 1.23 x̃: 1
HURT stats (rel) min: 0.15% max: 7.14% x̄: 1.07% x̃: 0.76%
95% mean confidence interval for tuples value: -1.85 -1.55
95% mean confidence interval for tuples %-change: -1.19% -0.91%
Tuples are helped.
total clauses in shared programs: 354985 -> 354853 (-0.04%)
clauses in affected programs: 8562 -> 8430 (-1.54%)
helped: 124
HURT: 22
helped stats (abs) min: 1.0 max: 8.0 x̄: 1.24 x̃: 1
helped stats (rel) min: 0.83% max: 7.14% x̄: 2.47% x̃: 1.72%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 1.25% max: 20.00% x̄: 5.08% x̃: 4.35%
95% mean confidence interval for clauses value: -1.11 -0.70
95% mean confidence interval for clauses %-change: -1.92% -0.75%
Clauses are helped.
total cycles in shared programs: 166575.48 -> 166542.56 (-0.02%)
cycles in affected programs: 4556.58 -> 4523.67 (-0.72%)
helped: 395
HURT: 65
helped stats (abs) min: 0.041665999999999315 max: 0.33333199999999863 x̄: 0.09 x̃: 0
helped stats (rel) min: 0.19% max: 11.11% x̄: 1.42% x̃: 0.81%
HURT stats (abs) min: 0.041665999999999315 max: 0.08333400000000069 x̄: 0.05 x̃: 0
HURT stats (rel) min: 0.15% max: 8.33% x̄: 1.21% x̃: 0.83%
95% mean confidence interval for cycles value: -0.08 -0.06
95% mean confidence interval for cycles %-change: -1.22% -0.87%
Cycles are helped.
total arith in shared programs: 73687.88 -> 73643 (-0.06%)
arith in affected programs: 6339 -> 6294.13 (-0.71%)
helped: 570
HURT: 72
helped stats (abs) min: 0.041665999999999315 max: 0.3333340000000007 x̄: 0.08 x̃: 0
helped stats (rel) min: 0.19% max: 12.50% x̄: 1.41% x̃: 0.77%
HURT stats (abs) min: 0.041665999999999315 max: 0.08333400000000069 x̄: 0.05 x̃: 0
HURT stats (rel) min: 0.15% max: 8.33% x̄: 1.13% x̃: 0.75%
95% mean confidence interval for arith value: -0.08 -0.06
95% mean confidence interval for arith %-change: -1.27% -0.98%
Arith are helped.
total quadwords in shared programs: 1674486 -> 1673974 (-0.03%)
quadwords in affected programs: 117696 -> 117184 (-0.44%)
helped: 424
HURT: 127
helped stats (abs) min: 1.0 max: 6.0 x̄: 1.64 x̃: 1
helped stats (rel) min: 0.19% max: 4.88% x̄: 1.00% x̃: 0.82%
HURT stats (abs) min: 1.0 max: 5.0 x̄: 1.46 x̃: 1
HURT stats (rel) min: 0.15% max: 6.25% x̄: 1.31% x̃: 0.88%
95% mean confidence interval for quadwords value: -1.07 -0.79
95% mean confidence interval for quadwords %-change: -0.58% -0.36%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17266 >
2022-08-19 20:48:37 +00:00
Marek Olšák
e348985cd3
winsys/amdgpu: change num_rejected_cs to a bool flag
...
and don't increment the total sum after the first rejection
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17968 >
2022-08-19 19:36:39 +00:00
Marek Olšák
471c82d21e
winsys/amdgpu: flatten huge if and reorder code in amdgpu_cs_submit_ib
...
This correctly tracks when we get a failure and jump to cleanup.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17968 >
2022-08-19 19:36:39 +00:00
Marek Olšák
6d6da5bf4d
winsys/amdgpu: terminate process on CS rejection when unrobust context is lost
...
We agreed on this with the kernel team as the most graceful way to deal
with this scenario.
Remove the allow_context_lost use because it's always true there
if num_rejected_cs is true.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17968 >
2022-08-19 19:36:39 +00:00
Marek Olšák
801a840a5c
radeonsi: allow lost context with aux_contexts
...
We'll terminate the process if a context is lost, so we don't have any
other choice.
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17968 >
2022-08-19 19:36:39 +00:00
Marek Olšák
445b897907
radeonsi: rename stop_exec_on_failure -> allow_context_lost
...
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17968 >
2022-08-19 19:36:39 +00:00
Mike Blumenkrantz
43703d8265
Revert "zink: add all format modifiers when adding for dmabuf export"
...
This reverts commit 247b8f2924 .
this attempted to work around what is likely a bug in nvidia's modifier
support, namely their refusal to expose LINEAR as a valid modifier for
some bizarre reason
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18148 >
2022-08-19 18:55:26 +00:00
Mike Blumenkrantz
5b7c2dffc4
Revert "zink: try to reuse swapchain modifier for dmabuf export"
...
This reverts commit 49efa73ba1 .
this happens to work with mesa (sometimes), but it's going to be
illegal most of the time since swapchain images are treated as though
they are created with OPTIMAL tiling
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18148 >
2022-08-19 18:55:26 +00:00
Sami Kyöstilä
b936d638ab
intel/ds: Update to Perfetto API v28.0
...
Perfetto v28.0 changes the naming scheme of generated enum constants.
Update our code to match and roll the version of Perfetto forward
accordingly.
No functional changes.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18056 >
2022-08-19 18:09:43 +00:00
Chia-I Wu
0c6fbfca0c
turnip: lower the queue priority to 1
...
To match the default priority of the gallium driver.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18093 >
2022-08-19 17:51:43 +00:00
Chia-I Wu
c625d99403
freedreno/pps: improve interaction with turnip
...
turnip uses priority 0. pps should too (actually, it makes sense to do
so regardless of what turnip does).
turnip is not expected to starve pps, but it does with drm-next for
5.20.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18093 >
2022-08-19 17:51:43 +00:00
Alyssa Rosenzweig
718748fe61
pan/bi: Test int8/16 -> float32 opts
...
These are easy, since round modes don't matter.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17857 >
2022-08-19 17:25:58 +00:00
Alyssa Rosenzweig
c88b8cbee3
pan/bi: Fuse [US][8|16]_TO_F32 ops
...
This combines nicely with the previous isel change. Now GLSL like
float(int_x >> 24)
will generate a single machine instruction
S8_TO_F32 int_x.b3
Noticed when debugging
KHR-GLES31.core.shader_bitfield_operation.unpackSnorm4x8.0
...but naturally no real workloads care. Helped shaders are from Android games
that appear to have run through a translator, naturally.
total instructions in shared programs: 2674831 -> 2674783 (<.01%)
instructions in affected programs: 11493 -> 11445 (-0.42%)
helped: 31
HURT: 0
helped stats (abs) min: 1.0 max: 3.0 x̄: 1.55 x̃: 1
helped stats (rel) min: 0.16% max: 2.90% x̄: 0.51% x̃: 0.41%
95% mean confidence interval for instructions value: -1.87 -1.22
95% mean confidence interval for instructions %-change: -0.69% -0.33%
Instructions are helped.
total cvt in shared programs: 14128.84 -> 14128.09 (<.01%)
cvt in affected programs: 78.17 -> 77.42 (-0.96%)
helped: 31
HURT: 0
helped stats (abs) min: 0.015625 max: 0.046875 x̄: 0.02 x̃: 0
helped stats (rel) min: 0.36% max: 4.26% x̄: 1.28% x̃: 1.20%
95% mean confidence interval for cvt value: -0.03 -0.02
95% mean confidence interval for cvt %-change: -1.62% -0.94%
Cvt are helped.
total quadwords in shared programs: 1449920 -> 1449840 (<.01%)
quadwords in affected programs: 2184 -> 2104 (-3.66%)
helped: 10
HURT: 0
helped stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8
helped stats (rel) min: 2.44% max: 5.88% x̄: 4.11% x̃: 4.76%
95% mean confidence interval for quadwords value: -8.00 -8.00
95% mean confidence interval for quadwords %-change: -5.11% -3.12%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17857 >
2022-08-19 17:25:58 +00:00
Alyssa Rosenzweig
eab1d36643
pan/bi: Implement some extracts and inserts
...
Rather than lowering in NIR. Importantly for Valhall, this allows
nir_opt_algebraic to optimize various bitwise ops into extracts and inserts,
taking pressure off the low-throughout SFU pipe and moving it onto the
high-throughput CVT pipe. This will mitigate a cycle count regression from
switching to the precise idiv lowering.
This also generates more integer widening conversions which we can fold into
32-bit instructions later, to allow optimizing GLSL like "(a & 0xFFFF) + b"
Valhall:
total instructions in shared programs: 2674836 -> 2674840 (<.01%)
instructions in affected programs: 6473 -> 6477 (0.06%)
helped: 14
HURT: 6
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.16% max: 1.37% x̄: 0.41% x̃: 0.49%
HURT stats (abs) min: 3.0 max: 3.0 x̄: 3.00 x̃: 3
HURT stats (rel) min: 1.19% max: 1.62% x̄: 1.35% x̃: 1.24%
95% mean confidence interval for instructions value: -0.68 1.08
95% mean confidence interval for instructions %-change: -0.30% 0.53%
Inconclusive result (value mean confidence interval includes 0).
total cycles in shared programs: 140627.42 -> 140627.36 (<.01%)
cycles in affected programs: 2.31 -> 2.25 (-2.70%)
helped: 1
HURT: 0
total cvt in shared programs: 14127.25 -> 14128.91 (0.01%)
cvt in affected programs: 153.50 -> 155.16 (1.08%)
helped: 0
HURT: 41
HURT stats (abs) min: 0.015625 max: 0.09375 x̄: 0.04 x̃: 0
HURT stats (rel) min: 0.27% max: 4.44% x̄: 1.61% x̃: 1.22%
95% mean confidence interval for cvt value: 0.03 0.05
95% mean confidence interval for cvt %-change: 1.29% 1.93%
Cvt are HURT.
total sfu in shared programs: 7555.69 -> 7549.31 (-0.08%)
sfu in affected programs: 107.31 -> 100.94 (-5.94%)
helped: 48
HURT: 0
helped stats (abs) min: 0.0625 max: 0.375 x̄: 0.13 x̃: 0
helped stats (rel) min: 1.34% max: 50.00% x̄: 13.57% x̃: 7.14%
95% mean confidence interval for sfu value: -0.15 -0.11
95% mean confidence interval for sfu %-change: -17.07% -10.06%
Sfu are helped.
total quadwords in shared programs: 1449912 -> 1449928 (<.01%)
quadwords in affected programs: 256 -> 272 (6.25%)
helped: 0
HURT: 2
Bifrost:
total instructions in shared programs: 2415370 -> 2415380 (<.01%)
instructions in affected programs: 1642 -> 1652 (0.61%)
helped: 2
HURT: 6
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 0.40% max: 0.40% x̄: 0.40% x̃: 0.40%
HURT stats (abs) min: 2.0 max: 2.0 x̄: 2.00 x̃: 2
HURT stats (rel) min: 0.95% max: 1.27% x̄: 1.07% x̃: 1.00%
95% mean confidence interval for instructions value: 0.09 2.41
95% mean confidence interval for instructions %-change: 0.13% 1.29%
Instructions are HURT.
total tuples in shared programs: 1928495 -> 1928476 (<.01%)
tuples in affected programs: 3329 -> 3310 (-0.57%)
helped: 9
HURT: 2
helped stats (abs) min: 1.0 max: 6.0 x̄: 2.56 x̃: 2
helped stats (rel) min: 0.25% max: 2.33% x̄: 1.00% x̃: 0.75%
HURT stats (abs) min: 2.0 max: 2.0 x̄: 2.00 x̃: 2
HURT stats (rel) min: 0.48% max: 0.48% x̄: 0.48% x̃: 0.48%
95% mean confidence interval for tuples value: -3.46 0.00
95% mean confidence interval for tuples %-change: -1.35% -0.10%
Inconclusive result (value mean confidence interval includes 0).
total clauses in shared programs: 354978 -> 354983 (<.01%)
clauses in affected programs: 398 -> 403 (1.26%)
helped: 3
HURT: 8
helped stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
helped stats (rel) min: 2.33% max: 3.85% x̄: 2.83% x̃: 2.33%
HURT stats (abs) min: 1.0 max: 1.0 x̄: 1.00 x̃: 1
HURT stats (rel) min: 2.27% max: 3.70% x̄: 2.88% x̃: 2.78%
95% mean confidence interval for clauses value: -0.17 1.08
95% mean confidence interval for clauses %-change: -0.51% 3.16%
Inconclusive result (value mean confidence interval includes 0).
total cycles in shared programs: 166575.69 -> 166575.65 (<.01%)
cycles in affected programs: 6.88 -> 6.83 (-0.61%)
helped: 1
HURT: 0
total arith in shared programs: 73688.79 -> 73688 (<.01%)
arith in affected programs: 127.29 -> 126.50 (-0.62%)
helped: 9
HURT: 2
helped stats (abs) min: 0.04166700000000034 max: 0.25 x̄: 0.11 x̃: 0
helped stats (rel) min: 0.26% max: 2.45% x̄: 1.07% x̃: 0.80%
HURT stats (abs) min: 0.08333299999999966 max: 0.08333299999999966 x̄: 0.08 x̃: 0
HURT stats (rel) min: 0.55% max: 0.55% x̄: 0.55% x̃: 0.55%
95% mean confidence interval for arith value: -0.14 0.00
95% mean confidence interval for arith %-change: -1.44% -0.11%
Inconclusive result (value mean confidence interval includes 0).
total quadwords in shared programs: 1674514 -> 1674480 (<.01%)
quadwords in affected programs: 9086 -> 9052 (-0.37%)
helped: 23
HURT: 2
helped stats (abs) min: 1.0 max: 6.0 x̄: 1.65 x̃: 1
helped stats (rel) min: 0.15% max: 2.79% x̄: 0.63% x̃: 0.33%
HURT stats (abs) min: 2.0 max: 2.0 x̄: 2.00 x̃: 2
HURT stats (rel) min: 0.53% max: 0.53% x̄: 0.53% x̃: 0.53%
95% mean confidence interval for quadwords value: -2.08 -0.64
95% mean confidence interval for quadwords %-change: -0.86% -0.21%
Quadwords are helped.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17857 >
2022-08-19 17:25:58 +00:00
Roland Scheidegger
469e8c8e22
gallivm: always do per-pixel LOD for cube maps
...
In the past we were doing per-quad lod for cube maps (when no_quad_lod
wasn't set), however commit d413fd0219 ("gallivm: Always take the
per-pixel LOD path for cubemaps.") unconditionally enabled calculating
per-pixel derivatives.
However, the actual lod calculation was still only done per quad, which
probably doesn't make much sense, so unconditionally enable taking the
per-pixel lod path for cubemaps (for op_is_lodq we always force
no_quad_lod to false in any case so there's no difference there neither).
v2: adjust ci results accordingly
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18126 >
2022-08-19 16:56:10 +00:00
Roland Scheidegger
b277cbd620
lavapipe: initialize index_bias to zero for non-indexed draws
...
This is mostly just cosmetic, since the index bias will be ignored.
(The multi draw function already initializes this to 0 too.)
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18126 >
2022-08-19 16:56:10 +00:00
José Roberto de Souza
356a60bd6c
anv: Do not duplicate intel_device_info memory in each logical device
...
Each logical device can point to its physical device intel_device_info
saving at least one intel_device_info.
This also allow us to set 'const' to avoid values in intel_device_info
being changed by mistake.
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17897 >
2022-08-19 16:29:58 +00:00
Mike Blumenkrantz
9474ff72dd
vk/render_pass: don't deref null resolve attachments
...
Fixes: d2990b6599 ("vulkan: hook up VK_EXT_multisampled_render_to_single_sampled")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18134 >
2022-08-19 15:28:40 +00:00
Alyssa Rosenzweig
93f69e0452
panfrost: Don't segfault on unknown models
...
If we don't recognize the model, dev->model will be NULL. In that case, we can't
dereference dev->model to get the tilebuffer size. If we do, we'll segfault,
instead of gracefully refusing to probe and loading the swrast instead.
Fixes: 96d65b47c7 ("panfrost: Use implementation-specific tile size")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18115 >
2022-08-19 14:43:43 +00:00
Glenn Kennard
7908cb895e
nv30: Fix non-scissored clears after a scissor has been set
...
Additionally add support for PIPE_CAP_CLEAR_SCISSORED since we are already
touching the scissor state.
Fixes various gnome-shell rendering artifacts.
v2: Remove NEW_SCISSOR as clear now updates scissor registers explicitly
v3: Reset scissor_off state since its not off now after clear
Cc: mesa-stable
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18137 >
2022-08-19 13:41:09 +00:00
Erik Faye-Lund
49e6a55e5e
zink: remove needless check
...
textureCompressionBC is just a short-hand to know is *all* BPTC formats
are supported. We're already checking per format, so we don't need this
coarser check.
Besides, it's also kinda wrong; textureCompressionBC also requires all
BC formats, not just BPTC. In other words, all DXT formats and RGTC
formats were missing from the check.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17986 >
2022-08-19 12:35:18 +00:00
Danylo Piliaiev
09676b5817
freedreno: Disable LRZ write when alpha-to-coverage is enabled
...
Alpha-to-coverage acts like discard and happens after FS ends,
so like with discard LRZ write should be disabled.
With discard we don't know at the moment of binning whether
fragment would be not discarded, so we cannot write its depth to LRZ.
Cc: mesa-stable
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18102 >
2022-08-19 11:45:14 +00:00
Konstantin Seurer
dca04b04f7
radv: Inline bvh build headers
...
Thos are only included once, so just move the code into the
corresponding .comp files.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17963 >
2022-08-19 11:18:41 +00:00
SoroushIMG
b386df918f
zink: Fix incorrect emission of SPIR-V shift ops
...
SPIR-V shift ops unlike NIR have undefined behavior if shift count
larger than or equalt to bitwidth.
This means that true translation of NIR ishl/ishr/ushr to SPIR-V requires
masking like that done in gallivm.
This was seen in the case of soft fp64 in cts case
KHR-GL46.gpu_shader_fp64.builtin.ceil_double.
Cc: mesa-stable
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18074 >
2022-08-19 09:35:46 +00:00
Gert Wollny
f0f22d850c
r600: Fix SCRATCH OP de-assembly
...
1d871aa626
r600g: Implement spilling of temp arrays (v2)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
ebcd8c51dc
r600: Don't use SB with R600 style scratch reads
...
SB fails when handling indirect READ_SCRATCH commands.
Fixes: 1d871aa626
r600g: Implement spilling of temp arrays (v2)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
d6bb8a40a6
r600/sfn: Handle R600 scratch read
...
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre RG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
404d95ca49
r600: Force NOPs when loading AR on R600 class hardware
...
Loading indirectly from a register that was just written to
doesn't work on R600 class hardware, so add a NOP group with
the address register load being emitted in the t-slot. to make
sure that the register write was finished.
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre RG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
7749599d73
r600/sfn: Initialize out buffer when printing op
...
79ca456b48
r600/sfn: rewrite NIR backend
Closes : #7021
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
069f3869ac
r600/sfn: Fix color outputs when color0 writes all
...
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre RG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
f6582027dc
r600/sfn: Sort FS inputs to make interpolated values come first
...
On R600 and R700 class hardware the input declaration order maps
directly to the register the hardware writes the inputs to, so
make all interpolated inputs come first, and only then emit the
system values like POS or FACE.
Related: #7035
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre RG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
34b9e3e44c
r600/sfn: Add GS thread fix just like the TGSI code path
...
The old code does the same for R600.
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre RG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Gert Wollny
00599f6e71
r600/sfn: Schedule shift instruction on R600 in t-slot
...
Fixes: 33765aa92a
r600/sfn: Enable NIR for pre RG hardware
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130 >
2022-08-19 08:37:42 +00:00
Dave Airlie
fd8e311988
crocus: sync performance monitor code with iris.
...
This provides the same info as iris does now, and exposes
INTEL_performance_query
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18099 >
2022-08-19 05:21:52 +00:00
Timothy Arceri
87940c3193
glsl: dont lower precision for textureGatherOffsets
...
textureGatherOffsets always takes a highp array of constants. As
per the discussion in [1] trying to lower the precision results in segfault
later on in the compiler as textureGatherOffsets will end up being passed
a temp when its expecting a constant as required by the spec.
[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16547#note_1393704
Fixes: b83f4b9fa2 ("glsl: Add an IR lowering pass to convert mediump operations to 16-bit")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18101 >
2022-08-18 23:45:04 +00:00
Roman Stratiienko
a9556f97da
v3dv: Avoid swapchain_info handling on Android
...
Allows following tests to pass.
dEQP-VK.wsi.android.swapchain.create#image_swapchain_create_info
dEQP-VK.wsi.android.swapchain.simulate_oom#image_swapchain_create_info
Venus code was used as example.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18047 >
2022-08-18 22:03:04 +00:00
Roman Stratiienko
b17ea48f91
v3dv: Limit API version to v1.0 for Android
...
Android CDD has additional requirements that must be met in order to
enable 1.1+:
- samplerYcbcrConversion
- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT
- VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
- VK_ANDROID_external_memory_android_hardware_buffer >= v2
Requirements are checked by:
android.graphics.cts.VulkanFeaturesTest#testVulkan1_1Requirements CTS
Fixes: 2686c5419d ("v3dv: add Android support")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18047 >
2022-08-18 22:03:04 +00:00
Roman Stratiienko
5e32e8c962
v3dv: Enable sync_fd importing/exporting on Android
...
vk_common_AcquireImageANDROID and vk_common_QueueSignalReleaseImageANDROID
expect sync_fd import/export to be enabled, otherwise they crashes
while trying to ImportSemaphoreFdKHR() / GetSemaphoreFdKHR().
Features was disabled on Linux to skip sync_fd CTS tests, which is using
late vkEvent signalling which causes deadlock / dEQP timeout on v3dv.
One of the options was implementing blocking v3dv-specific
AcquireImageANDROID / QueueSignalReleaseImageANDROID to avoid importing
/ exporting sync_fd, but since these features are also required by CDD
for Vulkan 1.1 and above, it was decided to enable the extensions for
Android in exchange of a few failed dEQP tests (which should not cause
any issues in non-dEQP scenarious).
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6977
Fixes: 316728a55b ("v3dv: Switch to the common submit framework")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18047 >
2022-08-18 22:03:04 +00:00
Karol Herbst
54f3754107
ci: bumping all tags to make sure we don't have hidden fails
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18108 >
2022-08-18 20:31:37 +00:00
Karol Herbst
c63303aea2
ci: update fails list
...
one might want to investigate this, but for now let's move on and unblock
MRs.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18108 >
2022-08-18 20:31:37 +00:00
Mike Blumenkrantz
ace13203f3
ci: remove broken device-select-layer from build
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18108 >
2022-08-18 20:31:37 +00:00
Marcin Ślusarz
446eeccb1c
intel/compiler: fix mesh urb write regression
...
Right now even the simplest mesh test (func.mesh.basic.mesh from crucible) fails like this:
ASSERT: Scalar MESH validation failed!
load_payload(16) vgrf11+0.0:F, vgrf8:D
../../src/intel/compiler/brw_fs_validate.cpp:61: inst->dst.offset / REG_SIZE + regs_written(inst) <= alloc.sizes[inst->dst.nr]
Because we try to load 8 regs with LOAD_PAYLOAD in SIMD16 mode.
Fixes: 349a040f68 ("intel/fs: Make logical URB write instructions more like other logical instructions")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18075 >
2022-08-18 17:48:41 +00:00
Ikshwaku Chauhan
ddc8ab9e43
Revert "radeon: add EFC support to only VCN2.0 devices"
...
This reverts commit 23e5b910c5 .
Reason for revert:
It's causing the regression for H264 transcoding. We will Enable EFC
once we verify all corner cases and as of now disabling
Signed-off-by: Ikshwaku Chauhan <ikshwaku.chauhan@amd.com >
Reviewed-by: Thong Thai <thong.thai@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17869 >
2022-08-18 17:33:33 +00:00
Kenneth Graunke
1ef43ea3c4
iris: Fix PIPE_CAP_UMA
...
If we have VRAM we're not exactly a unified memory architecture, are we?
Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18123 >
2022-08-18 17:05:35 +00:00
Kenneth Graunke
2cea0d6ef6
intel/compiler: Drop variable group size lowering
...
This backend lowering code has been dead since the removal of i965 -
nothing in the current source tree ever sets the flag.
This is handled by iris_setup_uniforms() and crocus_setup_uniforms().
Variable group size does not appear to be a feature in anv.
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18055 >
2022-08-18 16:17:03 +00:00
Dmitry Osipenko
79f47249e8
llvmpipe: Align persistent mappings to page size
...
KVM requires memory mapping to be aligned to page size, otherwise it
refuses to do the mapping. In particular this causes KVM mapping errors
when llvmpipe is used by virtio-gpu on host and guest tries to map buffer
that has a persistent mapping, i.e. it tries to map the llvmpipe's host
blob/buffer. Mesa virgl driver uses host blobs only for the buffers with
persistent mapping, hence let's align buffer allocations to the page size
when the persistence flag is set to fix the KVM fault.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Acked-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18053 >
2022-08-18 15:51:40 +00:00
Mike Blumenkrantz
49efa73ba1
zink: try to reuse swapchain modifier for dmabuf export
...
the non-negotiated path assumes that drivers know what implicit modifiers they're
using, but zink doesn't know what it's doing, so instead try to copy the
swapchain's modifier and reuse that since in theory it should work
Fixes: 247b8f2924 ("zink: add all format modifiers when adding for dmabuf export")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18095 >
2022-08-18 14:38:15 +00:00
Mike Blumenkrantz
f7b1ef37c0
zink: iterate over all modifiers and nuke the ones that aren't supported
...
the spec mandates that all modifiers passed to the driver be valid, so
iterate through all of them and delete the invalid ones
Fixes: 247b8f2924 ("zink: add all format modifiers when adding for dmabuf export")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18095 >
2022-08-18 14:38:15 +00:00
Mike Blumenkrantz
63d70d6dd9
zink: bail out of dmabuf resource creation when srgb explosion is expected
...
if srgb-ness isn't supported by the driver for dmabuf, bail out early with an
error message with the assumption that this would later (maybe) explode when
trying to create a view for srgb framebuffer
ref !17900
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18095 >
2022-08-18 14:38:15 +00:00
Jesse Natalie
04e4de6fae
microsoft/compiler: Fix PSV struct when numthreads is 0
...
Fixes: d9e575d4 ("microsoft/compiler: DXIL validator 1.6 uses a new PSV struct version")
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18023 >
2022-08-18 14:20:08 +00:00
Jesse Natalie
f44ca247d4
dxil_nir_lower_int_cubemaps: When not lowering samplers, don't touch sampler types
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18025 >
2022-08-18 14:03:05 +00:00
Jesse Natalie
34294bd9bb
microsoft/compiler: Discard shouldn't be marked readnone
...
Cc: mesa-stable
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18034 >
2022-08-18 06:44:22 -07:00
Georg Lehmann
2dd641119f
aco: Force tex operand to have the correct sub dword size before packing.
...
get_ssa_temp's and NIR's bit size can differ for scalar sources.
This causes broken packing of the MIMG operands with A16/G16.
Fixes: f5f73db846 ("aco: Support 16bit sources for texture ops.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18008 >
2022-08-18 14:42:28 +02:00
Victor Hermann Chiletto
70871aa50c
radv: refactor descriptor set layout tracking
...
Separately track descriptor set layouts for pools with
FREE_DESCRIPTOR_SET disabled, instead of reusing
`radv_descriptor_pool::entries`. This saves 8 bytes for each entry and
also avoids some indirection.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16541 >
2022-08-18 04:24:39 -03:00
Yonggang Luo
f97ba1f95d
c11: #include <threads.h> when the os/platform provide it
...
Closes #6964
CC: mesa-stable
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18043 >
2022-08-18 01:02:07 +00:00
Rob Clark
f228c26520
llvmpipe: Add some missing locking
...
The lp_rasterizer is shared across contexts, and lp_rast_fence called
without holding rast_mutex could race with rast_mutex being replaced and
unref'd on a different thread.
Fixes: a680fd078c ("llvmpipe: make last_fence a screen/rast object not a context one.")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18116 >
2022-08-18 00:27:36 +00:00
Mike Blumenkrantz
37aa92a3cd
nir: add uses_bindless flag for shader_info
...
this is cumbersome to detect, so detect it here
the flag denotes the use of either bindless texture operations
or shader variables such that drivers can infer the use of bindless
descriptor management functionality
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18088 >
2022-08-17 21:53:02 +00:00
Rob Clark
aaeb5bea29
egl/dri2: Error path cleanups
...
Simplify things for the next patch.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
a4cd1bc9b7
egl/dri2: Indenting fix
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
7fcdc07aaa
egl: Add some locking asserts
...
Make it obvious if we screw up while reworking locking.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
a020e9e70a
egl: Convert to simple_mtx_t
...
Mostly because simple_mtx_assert_locked() will come in handy during
locking re-work.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
8c34ea69d8
egl: Remove redundant fxn param
...
*Technically* we should be unlocking with the 'disp' and not the 'dpy'
(even though they are the same thing).
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
7d55729ae5
egl: Drop unused _EGL_FUNC_START() arg
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
c11583b164
egl: Drop _eglSetFuncName() return
...
It always returned EGL_TRUE
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
45d9c94a28
util: Fix vs2019 build error
...
Needed for dependency on MAX_INT.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
bacb04ef62
freedreno/drm/virtio: Add some atrace
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
b69cbc0caa
egl: atrace support
...
Perfetto is showing mutex contention on disp->Mutex when multiple
threads are making egl calls on their own current context. This
makes it easier to see what is contending with what.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Rob Clark
2d0d867935
freedreno/drm: Avoid lock in fd_pipe_del()
...
If we aren't dropping the last refcnt we don't need the lock. This
avoids contention between retire-queue against others.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18111 >
2022-08-17 21:17:17 +00:00
Samuel Pitoiset
93fa687808
radv: do not compress DCC in presence of render loops on GFX10+
...
DCC shouldn't be compressed for Vulkan feedback loops (ie. render pass
with input attachments). It looks like it has always been broken...
Note that GFX9 and earlier chips aren't affected because they don't
compress DCC on GENERAL.
This fixes
dEQP-VK.rasterization.rasterization_order_attachment_access.format*.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Joshua Ashton <joshua@froggi.es >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18104 >
2022-08-17 22:43:39 +02:00
Charmaine Lee
854e8797ac
svga: support TGSI_SEMANTIC_TEXCOORD in swtnl draw context
...
Since PIPE_CAP_TGSI_TEXCOORD is now enabled, texcoord is now declared
as TGSI_SEMANTIC_TEXCOORD instead of TGSI_SEMANTIC_GENERIC.
Fixes assert running REDTurbineDEMO with MTL Renderer when the guest needs to
fallback to swtnl for line stipple.
Fixes: e73443b7a5 ("svga: enable PIPE_CAP_TGSI_TEXCOORD for vgpu10 and up")
Reviewed-by: Martin Krastev <krastevm@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18113 >
2022-08-17 19:52:36 +00:00
Alyssa Rosenzweig
d7e6174c2b
pan/mdg: Remove disassembler stats
...
They're now unused and they were never especially useful.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:56 +00:00
Alyssa Rosenzweig
76e8f8b40e
pan/decode: Clean up _bifrost_ decode routines
...
It's noisy since Bifrost was introduced, unnecessary since we converted to
per-arch GenXML, and wrong since Valhall was added.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:56 +00:00
Alyssa Rosenzweig
5c00efa695
pan/decode: Centrally declare pandecode entrypoints
...
Deduplicate in preparation for CSF.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
aba69fc9c8
pan/decode: Defeature disassembler stats
...
Architecturally, these only work for Midgard, and even on Midgard didn't turn
out to be too useful. While we're removing pandecode cruft, let's remove the
stats that just add noise to Bifrost and Valhall (and largely just noise to
Midgard too).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
6dfd0998f2
pan/decode: Unify SFBD/MFBD decoding
...
It's the same core logic. Unify and let GenXML do its thing.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
e88b4949de
pan/decode: Reorder MFBD decoding
...
Eliminate some #ifdef by grouping v5 and v6 state separately.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
504022454c
pan/decode: Simplify pandecode_fbd
...
Remove unsued width/height properties, and use cleaner C syntax to build the
return value.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
9621df9637
pan/decode: Stop passing suffixes around
...
Unused.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
42319c6b6d
pan/decode: Stop passing job index around
...
There are a lot of problems with passing job_index around:
* Almost entirely unused
* Not particularly helpful even when used
* Mostly ignored for Valhall already
* Doesn't extend to CSF
It only really exists due to the early days of pandecode generating valid C code
as the trace format. With GenXML instead, that's not applicable.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
3298ac4b12
pan/decode: Remove pandecode_msg
...
It hasn't had a consistent semantic meaning since we've switched decoding over
to GenXML.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Alyssa Rosenzweig
c4c3f246fe
pan/decode: Don't pass around memory handles
...
The hardware doesn't care what BO a given buffer resides in, only what GPU
address it's at. It's simpler to fetch from a GPU address, rather than the pair
of a GPU address and a backing allocation. This cleans up a lot of cruft in
pandecode.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18094 >
2022-08-17 17:25:55 +00:00
Mark Collins
f649233896
tu: Implement VK_EXT_non_seamless_cube_map
...
Passes CTS tests: dEQP-VK.texture.*non_seamless_*
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18079 >
2022-08-17 16:56:54 +00:00
Friedrich Vock
adb4934d59
radv/winsys: Return VK_ERROR_INVALID_EXTERNAL_HANDLE if buffer imports fail
...
Section 11.2.6 of the Vulkan spec states:
"Importing memory from a particular host pointer may not be possible due to
additional platform-specific restrictions beyond the scope of this
specification in which case the implementation must fail the memory
import operation with the error code VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17995 >
2022-08-17 11:22:11 +00:00
Pierre-Eric Pelloux-Prayer
fddb4eda2f
radeonsi: prevent u_blitter recursion in si_update_ps_colorbuf0_slot
...
When u_blitter calls util_blitter_restore_fragment_states we may
end up in si_update_ps_colorbuf0_slot.
This commit makes sure we don't call u_blitter from there.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6921
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17981 >
2022-08-17 12:03:46 +02:00
Samuel Pitoiset
6b91ca7ce0
radv: add a very initial implementation of VK_EXT_graphics_pipeline_library
...
This experimental and very suboptimal implementation of graphics
pipeline library shouldn't be used by anyone, except for development
purposes. It's still under active development from my side. This
extension is only exposed via RADV_PERFTEST=gpl anyways.
It's very suboptimal because RADV doesn't yet support PS epilogs and
VS prologs need to be improved/reworked because GPL changed the logic
(eg. can't know the next stage when compiling a prolog). So, currently
the driver ALWAYS retains NIR shaders during libs creation and it links
and compiles in the final pipeline.
I have WIP branches for approximately everything but it looks simpler
to start merging an initial implementation in order to improve steps
by steps from main. This commit might look simple and short but I
already merged TON of preliminary work. RADV was definitely not ready
for GPL and it's still not completely fine. Expect refactoring again.
This implementation currently pass
dEQP-VK.pipeline.pipeline_library.* on NAVI21, except few feedback
creation tests due to CTS bugs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542 >
2022-08-17 09:37:43 +02:00
Samuel Pitoiset
390a1bbdb3
radv: prevent accessing rasterization state when it's NULL
...
It might be NULL for gfx pipeline libs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542 >
2022-08-17 09:34:58 +02:00
Samuel Pitoiset
d8af521add
radv: store vk_graphics_pipeline_state to radv_graphics_pipeline
...
For gfx pipeline libraries we would have to keep track of the gfx
state, so change how it's allocated.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542 >
2022-08-17 09:34:57 +02:00
Samuel Pitoiset
bb6ec3067d
radv: introduce a new pipeline type for graphics libs
...
It currently inherits from radv_graphics_pipeline because it's simpler
but I think it could be improved because most of fields won't be useful
for libs.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542 >
2022-08-17 09:34:57 +02:00
Samuel Pitoiset
075a35e0ad
radv: add radv_graphics_pipeline_import_info() helper
...
It also initializes dynamic states and active stages. It will also be
used when creating a graphics pipeline library.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542 >
2022-08-17 09:34:57 +02:00
Samuel Pitoiset
a5f3a21261
radv: remove unused pCreateInfo from radv_pipeline_init_blend_state()
...
I missed this one last time.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17542 >
2022-08-17 09:34:57 +02:00
Danylo Piliaiev
c45fded26b
tu: Disable LRZ write when alpha-to-coverage is enabled
...
Alpha-to-coverage acts like discard and happens after FS ends,
so like with discard LRZ write should be disabled.
With discard we don't know at the moment of binning whether
fragment would be not discarded, so we cannot write its depth to LRZ.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6876
Cc: mesa-stable
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18083 >
2022-08-17 05:21:46 +00:00
Matt Turner
59dca6f6e1
intel/tools: Also look for 'batch' tag
...
This changed in the kernel at some point, but I'm not sure when.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18087 >
2022-08-17 02:24:09 +00:00
Yusuf Khan
73931afc60
tu: remove tu_syncobj_to_fd
...
It isnt used anymore, last used in tu_wsi_display.c which doesnt
exist anymore.
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17927 >
2022-08-17 02:01:39 +00:00
Kenneth Graunke
781f5fc499
iris: Clean up iris_sample_with_depth_aux()
...
The majority of the logic here was for the Gfx8-9 sample-from-hiz
hardware feature, which only applies to AUX_USAGE_HIZ, and neither
of the combined HiZ+CCS modes. So, reorganize the function to put
the logic for each case in the case itself.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674 >
2022-08-17 01:20:25 +00:00
Kenneth Graunke
bf93229c85
iris: Always retain ISL_AUX_USAGE_HIZ_CCS_WT in texture aux usage
...
When using HIZ_CCS_WT, we always want to use that for texturing so that
we're able to sample from the CCS buffer, which will have the latest
data due to the write-through mode.
With the previous commit in place, HiZ now exists for all miplevels
on platforms which support HIZ_CCS_WT, so we no longer need the
per-miplevel checks.
The other restrictions in this function only apply to the Gfx8-9 feature
where the sampler directly supported reading from HiZ itself, which was
removed. Hardware where HiZ and CCS can be used together doesn't have
that feature nor its restrictions.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4952
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674 >
2022-08-17 01:20:25 +00:00
Kenneth Graunke
d70b76ea71
iris: Enable HiZ for non-8x4 aligned miplevels on Icelake and later
...
8x4 alignment was absolutely required prior to Gfx8, and while some
things were relaxed on Gfx8-9, Nanley's experiments in issue #3788
indicated that there were still issues on those platforms.
It appears that the restrictions were relaxed on Icelake and
non-8x4 aligned HiZ "should" work on Gfx11+.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674 >
2022-08-17 01:20:25 +00:00
Kenneth Graunke
fe0152e216
iris: Pass devinfo to iris_resource_level_has_hiz()
...
This will let us enforce 8x4 alignment rules differently based on the
specific hardware generation in question.
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4674 >
2022-08-17 01:20:25 +00:00
Emma Anholt
8116839db9
ir3: Suppress disasm of internal shaders unless IR3_SHADER_DEBUG=internal.
...
When you're debugging some deqp test or app, it's irritating to page
through 8 MRT clear shaders in turnip to get to what you're looking for.
Use the info.internal flag to suppress those shaders. (but if you want to
IR3_SHADER_DEBUG=internal, then yeah, print them all).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18002 >
2022-08-17 00:04:08 +00:00
Dave Airlie
ad274ba889
nir_to_tgsi_info: drop const_buffers_declared
...
Drivers don't use this, so avoid the assert it could have.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18042 >
2022-08-17 05:48:49 +10:00
Friedrich Vock
50238f4958
amd/common: Remove redundant code for determining memory ops per clock
...
Fixes: 82fd379d9e ("amd/common: move ac_memory_ops_per_clock into ac_gpu_info.h")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18038 >
2022-08-16 19:06:21 +00:00
Sonny Jiang
4291e545d5
radeonsi/vcn: add decode support for gfx1101 and gfx1103
...
Add decode support for gfx1101 and gfx1103
Signed-off-by: Sonny Jiang <sonny.jiang@amd.com >
Reviewed-by: James Zhu <James.Zhu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18063 >
2022-08-16 18:47:50 +00:00
José Roberto de Souza
c5f03288f0
anv: Free vmas in case device creation fails in pthread_mutex_init(&device->mutex
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961 >
2022-08-16 18:11:58 +00:00
José Roberto de Souza
e5923bbdc0
anv: Remove anv_app_info
...
Dead-code not used anywhere.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961 >
2022-08-16 18:11:58 +00:00
José Roberto de Souza
d5e5a1a734
anv: Remove duplicated memset() in physical device creation
...
device is allocated with vk_zalloc() that zeroes the allocated memory.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961 >
2022-08-16 18:11:58 +00:00
José Roberto de Souza
f3b15143d2
intel: Simply intel_gem_create_context_engines()
...
We can use I915_DEFINE_CONTEXT_PARAM_ENGINES() to simply the filling
of engines_param.
As some compilers might not support VLA, defining struct with 64
engines, the maximum that i915 API supports.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17961 >
2022-08-16 18:11:58 +00:00
Mike Blumenkrantz
cf7c17a7af
zink: rework descriptor pool overflow
...
previously this would just destroy and recreate pools, but it's much
smarter to instead store the pools and just reuse them when needed
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18065 >
2022-08-16 17:55:47 +00:00
Mike Blumenkrantz
fb9f110113
zink: use a single allocation for zink_descriptor_layout_key
...
this is slightly more smart
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18065 >
2022-08-16 17:55:47 +00:00
Mike Blumenkrantz
234620d8ab
zink: use a dynarray instead of hash table for tracking pools
...
this may use a little more memory, but having direct access to the pool
without needing a lookup in a (potentially big) hash table is definitely
worth it
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18065 >
2022-08-16 17:55:47 +00:00
Mike Blumenkrantz
33a1bffa94
zink: add an id member for zink_descriptor_pool_key
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18065 >
2022-08-16 17:55:47 +00:00
Mike Blumenkrantz
13d4fda841
zink: require VK_KHR_descriptor_update_template
...
it's been long enough, and there's no technical reason why drivers
shouldn't have this implemented
ZINK_DESCRIPTORS environment variable is preserved for future use
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18065 >
2022-08-16 17:55:47 +00:00
Rhys Perry
f7d02a9b5e
aco: test for one and_savexec opcode in try_optimize_branching_sequence
...
A situation where it doesn't match is probably not possible, so this
probably doesn't fix anything.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Rhys Perry
2587e75ee1
aco: improve vcc check for instructions between exec_val and exec_copy
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Rhys Perry
faf8038254
aco: remove val_and_copy_adjacent
...
If this is true, then the only instruction the loops visit is
p_logical_end and the loops are no-ops.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Rhys Perry
cfb306b4e4
aco: test branch opcode if removing it in try_optimize_branching_sequence
...
We shouldn't remove a p_cbranch_nz branch in this situation.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: b731be2e96 ("aco: Remove branch instruction when exec is constant non-zero.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Rhys Perry
21cb002b60
aco: fix re-write of uses of exec_val's lo/hi half
...
The isConstant() check isn't useful. If it's a constant, then the
physReg() check will fail.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Rhys Perry
dd105f7c1e
aco: fix assembly of vopc_sdwa writing exec
...
We would assemble an instruction writing vcc instead.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: 5ffc73896f ("aco/assembler: Fix v_cmpx with SDWA.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Rhys Perry
f60cb8d0af
aco: rename is_cmp to is_fp_cmp
...
The old name is no longer accurate.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Rhys Perry
e493aab3c3
aco: fix consecutive exec writes when finding exec_copy instruction
...
This can happen with transitions to exact:
s2: %0:exec = p_parallelcopy %622:s[0-1]
s2: %625:s[0-1], s1: %624:scc, s2: %0:exec = s_and_saveexec_b64 %141:vcc, %0:exec
s2: %626:s[12-13] = p_cbranch_z %0:exec BB2, BB1
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: 410eff4d2f ("aco: Fix optimizing branching sequence with s_and_saveexec.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18077 >
2022-08-16 17:31:33 +00:00
Eric Engestrom
c50493974e
ci: rename GitHub CI workflow from ci to macos to be a bit more explicit about what it covers
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Yurii Kolesnykov <root@yurikoles.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18057 >
2022-08-16 16:54:13 +00:00
Rajnesh Kanwal
74fc367127
pvr: Implement vkResetDescriptorPool API.
...
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18060 >
2022-08-16 11:32:47 +00:00
Rhys Perry
bc1382eed9
docs/radv: advertise VK_KHR_global_priority
...
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/18078 >
2022-08-16 11:26:48 +00:00
Joshua Ashton
9e20977f18
radv: Remove workarounds for D3D9 feedback loops
...
RADV supports VK_EXT_attachment_feedback_loop_layout now,
and DXVK is using since 63d582a6e7ab63e18503d1238101705a818f5ad0 which
will be in DXVK 2.0, so no need for these anymore.
Older versions of DXVK will still be affected by the issue however.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17920 >
2022-08-16 10:34:26 +00:00
PixelyIon
5e8916c0bf
tu: Make KGSL wait IOCTLs interrupt-safe
...
`tu_WaitForFences` and `tu_GetFenceStatus` ended up using `ioctl` instead of
`safe_ioctl` and as a result were responsible for handling `EAGAIN`/`EINTR`
but they weren't handled correctly in wait calls which led to dropping the
wait if the thread received a signal without automatic syscall restarting on
release builds and an assertion due to `errorno` being `EINTR` on debug
builds.
This fixes early wait returns which would lead to UB or cause crashes due to
hitting debug assertions in Skyline Emulator.
Signed-off-by: Mark Collins <mark@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18031 >
2022-08-16 10:06:32 +00:00
Samuel Pitoiset
dd34f13414
radv: advertise VK_KHR_global_priority
...
Similar to VK_KHR_buffer_device_address which has also been promoted
from EXT.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18061 >
2022-08-16 09:13:42 +00:00
Samuel Pitoiset
efd3cf8b6f
radv: remove radv_graphics_pipeline_info completely
...
RADV now uses vk_graphics_pipeline_state from Vulkan common code which
is more convenient for eg. graphics pipeline libraries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:23 +02:00
Samuel Pitoiset
63cb3e9bf0
radv: convert radv_vertex_input_info to vk_vertex_input_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:23 +02:00
Samuel Pitoiset
dc4b8b6d98
radv: convert radv_rendering_info to vk_render_pass_state
...
This also converts VkAttachmentSampleCountInfoAMD which is part of
vk_render_pass_state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:23 +02:00
Samuel Pitoiset
1c4026501c
radv: convert radv_color_blend_info to vk_color_blend_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
8b6a9e8a68
radv: convert radv_multisample_info to vk_multisample_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
2d488071c3
radv: convert radv_input_assembly_info to vk_input_assembly_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
428be16ebb
radv: convert radv_fragment_shading_rate_info to vk_fragment_shading_rate_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
4b5441f574
radv: convert radv_depth_stencil_info to vk_depth_stencil_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
fad16d668b
radv: convert radv_rasterization_info to vk_rasterization_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
094bdad2d2
radv: convert radv_discard_rectangle_info to vk_discard_rectangles_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
40eaf2ed28
radv: convert radv_viewport_info to vk_viewpoert_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
43452ba903
radv: convert radv_tessellation_info to vk_tessellation_state
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:22 +02:00
Samuel Pitoiset
31e6693fa3
radv: call vk_graphics_pipeline_state_fill() when initializing gfx pipelines
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:55:17 +02:00
Samuel Pitoiset
5076bed2fb
radv: slightly change the color write enable mask
...
For switching to the common graphics pipeline state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:41:36 +02:00
Samuel Pitoiset
ccb3730200
radv: do not translate primitive topology during gfx info initialization
...
For switching to the common graphics pipeline state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:41:33 +02:00
Samuel Pitoiset
e34440a1bf
radv: do not translate blend op/factor during gfx info initialization
...
For switching to the common graphics pipeline state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:41:30 +02:00
Samuel Pitoiset
0f2ca61dcc
radv: do not translate logic op during gfx info initialization
...
For switching to the common graphics pipeline state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:41:27 +02:00
Samuel Pitoiset
1eb18154da
radv: do not translate polygon mode during gfx info initialization
...
For switching to the common graphics pipeline state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:41:24 +02:00
Samuel Pitoiset
faaf8422f3
radv: simplify the depth clip enable/disable logic
...
For switching to the common graphics pipeline state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:41:20 +02:00
Samuel Pitoiset
e70baccf38
radv: store the provoking vertex mode in the graphics pipeline info
...
For switching to the common graphics pipeline state.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:41:18 +02:00
Samuel Pitoiset
f19d81ee42
vulkan: add attachment sample count info AMD support
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:40:42 +02:00
Samuel Pitoiset
c6e88d0394
vulkan: fix initializing the primitive topology when it's dynamic
...
The PSO still contain the topology class and some Vulkan drivers like
RADV need to know this.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:40:39 +02:00
Samuel Pitoiset
3f9450b4e5
vulkan: initialize discardRectangleCount even if the state is dynamic
...
Only the array of rectangles should be dynamic.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18015 >
2022-08-16 08:40:36 +02:00
Kenneth Graunke
bb5d09da6c
intel/compiler: Use named NIR intrinsic const index accessors
...
In the early days of NIR, you had to prod at inst->const_index[]
directly, but a long while back, we added handy accessor functions
that let you use the actual name of the thing you want instead of
memorizing the exact order of parameters.
Also rewrite a comment I had a hard time parsing.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18067 >
2022-08-16 05:44:30 +00:00
Iago Toral Quiroga
ca4800fa76
v3dv: vkCmdClearAttachments no longer generates its own RCL
...
We improved this a long time ago and now it emits a clear rect inside
the current subpass job instead of emitting its own job with its own
RCL, so we no longer need to handle this as an exception to the rule.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
ad1961a441
v3dv: add a heuristic for double-buffer mode
...
For this we add a scoring system that evaluates various aspects of
the draw calls in a job.
If the cost of the geometry side of the pipeline is too high, then
we may pay too high a price in double-buffer mode because with smaller
tile size may will probably have more vertex shader invocations in the
render and binning stages.
On the other hand, if rendering cost is not high enough, we may not
have enough rendering work to hide the latency of tile stores in
double-buffer mode.
Also, because we need to make a decision after we know all the draw
calls in a job, but the double-buffer enable bit comes in the
TILE_BINNING_MODE_CFG that needs to be emitted first in the binning
command list before the draw calls are recorded, if we decide to
enable it we need to rewrite that packet and we need to size the
tile state properly to account for the extra tiles. For this
purpose we delay tile state setup for render pass jobs until we are
finishing a job.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
d17c56078a
v3dv: tell job_compute_frame_tiling whether we want to use double-buffer mode
...
We want to have control over the double-buffer setting here so we can control
explicitly from the driver when we want to enable this mode.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
a4a072a7df
v3dv: postpone tile state allocation for render pass jobs
...
These are jobs for which we may want to enable double-buffering,
which affects tile state allocation. Since the idea is that we
want to decide about double buffering late, we also want to
postpone allocation of the tile state until we are about to
emit the RCL for the job.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
d8a3473cf3
v3dv: add a v3dv_job_allocate_tile_state helper
...
If we enable double-buffer we are reducing the tile size, and thus,
we'll need more tiles and a larger tile state allocation, so we'll
need to call to this helper.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
3ab6eceac0
v3dv: fix tile state allocation
...
If we had decided that we only need one layer worth of tile state
we should actually only allocate one layer.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
5da4f5fe8d
v3dv: track if a job is compatible with double-buffer mode
...
MSAA is not compatible with double-buffer mode. Also, jobs that emit
tile loads or that don't have any stores can't take advantage
of double-buffer mode.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
9dcf0dd51f
v3dv: move check_needs_load/store helpers to unversioned code
...
These helpers don't depend on the V3D version and we are going
to need them outside v3dvx_cmd_buffer.c soon.
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Iago Toral Quiroga
87a9951073
broadcom/compiler: track number of TMU operations in prog data
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17854 >
2022-08-15 23:35:16 +00:00
Eric Engestrom
aa018415b3
docs/features: drop unsupported VK_KHR_display & VK_KHR_get_display_properties2 for lavapipe
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
8f7d7d5fab
docs/features: start tracking extensions supported by powervr
...
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
5e32ba0f7d
docs/features: start tracking extensions supported by panvk
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
420aba38c5
docs/features: start tracking extensions supported by dozen
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6330
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
11ecf94911
docs/features: add missing extensions supported by venus
...
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
1fdbd98820
docs/features: add missing extensions supported by turnip
...
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
53fd6434f6
docs/features: add missing extensions supported by radv
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
9d7f4dd1e9
docs/features: add missing extensions supported by lavapipe
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Eric Engestrom
da60522ed0
docs/features: add missing extensions supported by anv
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17796 >
2022-08-15 21:47:11 +00:00
Chia-I Wu
4f143a691a
turnip: handle fence wrapping in autotune
...
fence values can be 0 after wrapping. We should not treat 0 specially.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18040 >
2022-08-15 19:44:37 +00:00
Chia-I Wu
e40eae2ea9
turnip: remove unused member in tu_submission_data
...
buffers_count is set but unused.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18040 >
2022-08-15 19:44:37 +00:00
Chia-I Wu
b8a916fd0c
turnip: fix a use-after-free in autotune
...
When removing old histories, check against gpu fence. Otherwise,
pending_results could have dangling pointers to the removed histories.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7055
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18040 >
2022-08-15 19:44:37 +00:00
Mike Blumenkrantz
62b3e75e4c
zink: use a maybe more accurate wild guess for pcp-less gpl
...
this is only reachable with an env var, so being wrong is still okay,
but maybe be right slightly more often
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17955 >
2022-08-15 14:58:37 +00:00
Mike Blumenkrantz
85165a246c
zink: (correctly) require extendedDynamicState2PatchControlPoints for GPL
...
this is otherwise broken
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17955 >
2022-08-15 14:58:37 +00:00
Mike Blumenkrantz
c261179e14
zink: require EXT_non_seamless_cube_map for GPL support
...
it's impossible to precompile without this
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17955 >
2022-08-15 14:58:37 +00:00
Yonggang Luo
4579b702f6
c11: Remove mtx_try from mtx enums as it's not a part of c11 standard
...
And we support for four types of mtx init enum values that define by C11 standard:
0 mtx_plain - a simple, non-recursive mutex is created.
2 mtx_timed - a non-recursive mutex, that supports timeout, is created.
1 mtx_plain | mtx_recursive - a recursive mutex is created.
3 mtx_timed | mtx_recursive - a recursive mutex, that supports timeout, is created.
musl library also use these enum combination
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18036 >
2022-08-15 14:40:52 +00:00
Georg Lehmann
7b9d3ebe42
aco: Use v_cmpx pre GFX10.
...
Foz-DB Vega10:
Totals from 29508 (21.85% of 135041) affected shaders:
CodeSize: 184345656 -> 184345820 (+0.00%)
Instrs: 35906154 -> 35906195 (+0.00%)
Latency: 581696114 -> 581530021 (-0.03%); split: -0.03%, +0.00%
InvThroughput: 245625572 -> 245561351 (-0.03%); split: -0.03%, +0.00%
Copies: 3134925 -> 3278672 (+4.59%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049 >
2022-08-15 13:25:38 +00:00
Georg Lehmann
393e577435
aco/assembler: Fix v_cmpx pre GFX10.
...
The second destination is implicit exec.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049 >
2022-08-15 13:25:38 +00:00
Georg Lehmann
410eff4d2f
aco: Fix optimizing branching sequence with s_and_saveexec.
...
This optimization was broken for two reasons:
- s_and_saveexec has two operands, the copy value and exec
- s_and_saveexec has an exec read, so exec_write_used will always be true
before we find branch_exec_val_idx
Foz-DB Navi21:
Totals from 31453 (23.31% of 134913) affected shaders:
CodeSize: 204831260 -> 204831156 (-0.00%)
Instrs: 38157117 -> 38157091 (-0.00%)
Latency: 533708882 -> 531211721 (-0.47%); split: -0.47%, +0.00%
InvThroughput: 107088408 -> 106719188 (-0.34%); split: -0.35%, +0.00%
Copies: 2326179 -> 2502490 (+7.58%)
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049 >
2022-08-15 13:25:38 +00:00
Georg Lehmann
5ffc73896f
aco/assembler: Fix v_cmpx with SDWA.
...
We need to use the implicit destination.
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049 >
2022-08-15 13:25:38 +00:00
Georg Lehmann
9e5f311efe
aco: Check that we don't override exec_val operands during branching sequence optimization.
...
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049 >
2022-08-15 13:25:38 +00:00
Timur Kristóf
baf314e2c0
aco: Check for instructions that inhibit the branching sequence optimization.
...
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049 >
2022-08-15 13:25:38 +00:00
Timur Kristóf
d88b2e4ab5
aco: Fix invalidated reference in branching sequence optimization.
...
Inserting in the instructions vector may invalidate the exec_val reference,
so do that last.
Fixes: baab6f18c9 ("aco: Optimize branching sequence during SSA elimination.")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18049 >
2022-08-15 13:25:38 +00:00
David Heidelberg
2e9044766e
ci: do not install i386 sub-architecture in VK images
...
Not required by apitrace.
debian/x86_test-vk image size:
previous: 1.8G
after: 1.0G
v2: added back winehq-stable (missing symlinks)
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17834 >
2022-08-15 12:18:41 +00:00
David Heidelberg
cdd508dddd
ci: use apt-get in x86_test-vk instead of apt
...
apt shouldn't be used in CI, see:
https://unix.stackexchange.com/questions/590699/should-i-use-apt-or-apt-get-in-shell-scripting
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17834 >
2022-08-15 12:18:41 +00:00
Tomeu Vizoso
ba518a31ac
ci: Report failures to GitLab for LAVA jobs
...
We were uploading the junit.xml to the artifacts, but weren't telling
GitLab about it.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028 >
2022-08-15 11:40:19 +02:00
Tomeu Vizoso
477412f303
iris/ci: Set FDO_CI_CONCURRENT for all Chromebook jobs
...
For some reason we were missing these and that was causing some CPUs to
remain idle, and some boards to have too high load and some tests timing
out occasionally.
Set FDO_CI_CONCURRENT for the number of cores, plus one to account for
GPU and I/O waits.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028 >
2022-08-15 11:40:16 +02:00
Tomeu Vizoso
1bdcf5c099
iris/ci: Test on Jasper Lake Chromebooks
...
8 such boards have been added to Collabora's lab, let's run all tests
from the selected set.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18028 >
2022-08-15 11:40:12 +02:00
Qiang Yu
84956286a8
nir/lower_gs_intrinsics: fix primitive count for points
...
When primitive is points, EndPrimitive can't be used to count
primitive. Need to use vertex count instead. And it's also not
needed to do vertex per primitive count and overwrite incomplete
primitive work for points.
Fixes: 2be99012e9 ("nir: Add ability to count emitted GS primitives.")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17805 >
2022-08-15 01:39:28 +00:00
Mike Blumenkrantz
b88c3d5bd3
zink: fix program cache comparisons
...
I missed this when pipe shader types were merged with mesa types
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 20:11:48 -04:00
Mike Blumenkrantz
6ac64fcb6b
zink: delete zink_shader_stage()
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:05 -04:00
Mike Blumenkrantz
b988b8c84b
zink: remove all pipe_shader_type usage
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:05 -04:00
Mike Blumenkrantz
2792d2bd4a
zink: PIPE_SHADER_TYPES -> MESA_SHADER_STAGES
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:05 -04:00
Mike Blumenkrantz
fc657f8c07
zink: explicitly define ZINK_GFX_SHADER_COUNT
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
7040745060
zink: ZINK_SHADER_COUNT -> ZINK_GFX_SHADER_COUNT
...
more descriptive
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
89daf988bc
zink: use statically sized array for descriptor allocation
...
this will never be more than 100
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
2ca46b66c3
zink: rename _lazy descriptor stuff
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
48cb86d487
zink: reorder some descriptor structs
...
should yield slightly better packing
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
e373f97804
zink: merge batch descriptor data onto batch state
...
also clean up some related descriptor code
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
2c281b7ccd
zink: merge program descriptor data onto program struct
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
f24c7bdef8
zink: merge context descriptor data onto context struct
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
5512b15863
zink: merge batch descriptor data structs
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
9938067287
zink: merge context descriptor data structs
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
b25d8850f0
zink: remove descriptor dummy_set
...
while well-intentioned, this didn't actually do anything
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
8c8fb47f6b
zink: delete some unused descriptor struct members
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
ca1d643eab
zink: move lazy descriptor data types into zink_types.h
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
30c51abd0b
zink: move all types/enums into zink_types.h
...
this significantly untangles all the header includes and fixes an issue
where zink_descriptors.h couldn't be included by certain files due to
type conflicts
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
bcbd3b297d
zink: delete unused struct types
...
so old
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
8b6ab4dec4
zink: move lazy descriptor functions into zink_descriptors.c
...
the merginating continues
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
8b0447eec7
zink: delete a lot of descriptor code
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
58e6480ee0
zink: remove descriptor vtable
...
no longer used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
dc3c1206be
zink: remove checks for lazy descriptor mode + templates ext
...
these are always true
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:04 -04:00
Mike Blumenkrantz
24acb19268
zink: remove cached descriptor mode
...
this just removes the enum(s) for it, making it functionally inaccessible
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18051 >
2022-08-14 18:38:03 -04:00
Alyssa Rosenzweig
5fd8ae1541
asahi: Identify depth clip mode bit
...
Setting this bit (at the batch level, not the draw level!) switches to
[-1, 1] clipping instead of Metal's preferred [0, 1] clipping. Using
this bit allows us to drop the clip_halfz lowering we had before, saving
2 instructions in every vertex shader.
Fixes dEQP-GLES2.functional.depth_range.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17948 >
2022-08-14 19:59:19 +00:00
Alyssa Rosenzweig
a6f88863f6
asahi: Don't advertise ARB_clip_control yet
...
Our depth handling is pretty busted as it is. Adding clip control into
the mix will only make things more complicated. Best not worry about
that yet. Implementing this ext "properly" has some wrinkles: explain
them.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17948 >
2022-08-14 19:59:19 +00:00
Timur Kristóf
5ead973824
aco: Add faster code path to store_lds for consecutive write mask.
...
This makes it more likely to hit the fast path for count == 1
in the split_store_data function.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17923 >
2022-08-14 15:09:07 +00:00
Eric Engestrom
4588453815
vk/device-select-layer: fix .sType of VkPhysicalDeviceGroupProperties
...
The validation layers complained:
> Validation Error: [ VUID-VkPhysicalDeviceGroupProperties-sType-sType ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xc9edee8b | vkEnumeratePhysicalDeviceGroups: parameter pPhysicalDeviceGroupProperties[0].sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES The Vulkan spec states: sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkPhysicalDeviceGroupProperties-sType-sType )
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Fixes: c196ffaca6 ("vk-device-select: add device group support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18037 >
2022-08-14 14:18:11 +00:00
Lucas Stach
d08bd9a8d8
etnaviv: don't expose array and 3D texture support on pre-halti GPUs
...
3D and array texture support is a halti0 GPU feature and
gpu_supports_texture_target() already prevents such textures from being
constructed on older GPUs. Set the screen caps correctly to avoid
exposing EXT_texture_array and OES_texture_3D on those GPUs.
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/17996 >
2022-08-13 13:13:34 +00:00
Lucas Stach
2b0f77bde5
etnaviv: allow 3D textures with TS in transfer
...
The resolve operation to the temporary resource properly iterates
over all layers of the 3D texture, so there is no need to fail the
transfer if we encounter a 3D texture that has a TS BO allocated
due to previous rendering.
Fixes piglit spec@arb_framebuffer_object@fbo-generatemipmap-3d
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/17996 >
2022-08-13 13:13:34 +00:00
Lucas Stach
9496b7a2fa
etnaviv: fix TS buffer allocation for 3D textures
...
For 3D textures the number of layers is the resource depth. As the TS buffer
allocation only looked at the array size it does not allocate enough TS
storage for 3D textures.
Fixes piglit spec@!opengl 1.2@copyteximage 3d
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/17996 >
2022-08-13 13:13:34 +00:00
Lucas Stach
2d93327cc4
etnaviv: properly check number of layers in surface creation
...
3D textures store their number of layers in the resource depth. As the
assert only checks the array_size, it fails on perfectly valid surface
creation requests. Use the proper helper to get the number of layers.
Fixes piglit spec@arb_framebuffer_object@fbo-incomplete
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/17996 >
2022-08-13 13:13:34 +00:00
Pavel Ondračka
88fd397c74
r300: fix variables detection for paired ALU and TEX instructions in different branches
...
TEX instrutions can't write xyz and w to separate registers so we
need to create variables from them first, otherwise we can create
two variables from ALU writing the same register xyz and w in other
branch (this usually works when TEX is not present as the xyz and
w can read/write from different registers).
This fixes regalloc because the variables are later used as a
graph nodes.
The variable order should not matter but it slightly does (leading
to approx 0.3% shader-db temps increase as compared to previous
state), so just sort the variables list afterwards to be as close
to the previous behavior as possible and prevent the regression.
CC: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6936
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <filip@gawin.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17987 >
2022-08-13 00:08:31 +00:00
Axel Davy
b5df20568a
frontend/nine: Fix ff position_t fallback when w = 0
...
For post-transformed vertices, w = 0 is similar to
w = 1. Replace the value to fix rcp(w).
It is common for apps to pass w = 0 for
position_t.
cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021 >
2022-08-12 21:53:11 +02:00
Axel Davy
93da6e9f34
frontend/nine: Fix shader multi-use crash
...
Due to the driver live shader cache, it's possible
two different d3d9 shaders get the same cso.
As it's disallowed to destroy a shader cso being
bound, nine checks for this scenario. However it
was not taking into account the cso might be from
a different shader.
cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021 >
2022-08-12 21:53:11 +02:00
Axel Davy
4c65ccab6d
frontend/nine: Fix cso restore bug
...
Invalidating all state groups is not sufficient, as
some states check for actual changes.
The correct way is to invalidate the
commit mask.
Found with a wine test.
cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021 >
2022-08-12 21:53:11 +02:00
Axel Davy
4f953ad512
frontend/nine: Fix ATOC handling
...
The previous code was incorrectly checking the previous
value of alphatestenable.
In addition, remove an optimization that cannot hit (as we
filter out redundant state settings).
cc: mesa-stable
Fixes: 1272640d5 ("st/nine: Fix alpha to coverage states")
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021 >
2022-08-12 21:53:11 +02:00
Axel Davy
e5124e83ba
frontend/nine: Fix buffer tracking out of bounds
...
Fixes a crash in a ffxi trace, which draws out of bounds.
This was previously resulting in trying to fill a buffer
resource not big enough.
cc: mesa-stable
Fixes: 380c2bf ("st/nine: Optimize dynamic systemmem buffers")
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021 >
2022-08-12 21:53:11 +02:00
Axel Davy
b74febffe6
frontend/nine: Skip invalid swvp calls
...
Without this it may crash running wine tests.
According to the test themselves, the correct
behaviour is a bit more complicated, but
that's a first step.
cc: mesa-stable
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18021 >
2022-08-12 21:53:11 +02:00
Yonggang Luo
0d0d245e7e
ci: Enable llvmpipe on MacOS
...
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/17879 >
2022-08-12 19:04:35 +00:00
Yonggang Luo
e04d4f881e
ci: Improve MacOS github ci
...
GALLIUM_DUMP_CPU=true to see dump result
Save the testing log artifacts
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/17879 >
2022-08-12 19:04:35 +00:00
Yonggang Luo
1f05b23b4f
util: Disable usage of __attribute__((__const__)) when the compiler is clang
...
Clang didn't implement __attribute__((__const__)) properly for release build.
The issue tracker is: https://github.com/llvm/llvm-project/issues/56993
Closes #6781
Closes #6782
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18039 >
2022-08-12 18:33:24 +00:00
Yonggang Luo
075b72ea06
util: Fixes invalid assumption that return non null by function util_format_fetch_rgba_func
...
Fixes: e342081c ("util/format: Assert that formats are valid")
Closes #7020
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024 >
2022-08-12 18:06:36 +00:00
Yonggang Luo
a1b7682d10
util: Fixes memory leak in u_printf_test.cpp
...
That's Fixes: bdc0a862 ("printf: add some unit tests")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024 >
2022-08-12 18:06:36 +00:00
Yonggang Luo
11ab608779
util: Fixes memory leak in create_cache_item_header_and_blob
...
stack-trace by asan
Direct leak of 238 byte(s) in 6 object(s) allocated from:
#0 0x7f101e1dbe8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55ce3a959e2c in create_cache_item_header_and_blob ../src/util/disk_cache_os.c:647
#2 0x55ce3a95c217 in disk_cache_write_item_to_disk_foz ../src/util/disk_cache_os.c:967
#3 0x55ce3a97bce1 in util_queue_thread_func ../src/util/u_queue.c:306
#4 0x55ce3a989c3b in impl_thrd_routine ../src/c11/impl/threads_posix.c:67
#5 0x7f101ddc7ea6 in start_thread nptl/pthread_create.c:477
Fixes: 2a9b4ad177 ("util/disk_cache: Add option to disable compression")
Cc: mesa-stable
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/18024 >
2022-08-12 18:06:36 +00:00
Yonggang Luo
44a64a34bf
intel: Fixes compile error of aubinator_viewer.cpp with gcc
...
Remove '-Wno-class-memaccess' from cpp_args because clang don't support this option
aubinator_viewer.cpp:1183:39: error: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct Context'; use assignment or value-initialization instead [-Werror=class-memaccess]
1183 | memset(&context, 0, sizeof(context));
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024 >
2022-08-12 18:06:36 +00:00
Yonggang Luo
1b38ca7844
panfrost: Do no use designated initializer for union
...
../src/panfrost/lib/tests/test-earlyzs.cpp: In function 'void test(pan_earlyzs, pan_earlyzs, uint32_t)':
../src/panfrost/lib/tests/test-earlyzs.cpp:59:4: error: 'pan_shader_info::<unnamed union>' has no non-static data member named 'can_discard'
59 | };
| ^
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024 >
2022-08-12 18:06:36 +00:00
Yonggang Luo
41af9bc0a5
nine: Fixes compile of nine_pipe.h with clang
...
../../src/gallium/frontends/nine/nine_pipe.h:377:9: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
default:
^
../../src/gallium/frontends/nine/nine_pipe.h:377:9: note: insert 'break;' to avoid fall-through
default:
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18024 >
2022-08-12 18:06:36 +00:00
pal1000
b5b855149c
meson: Microsoft / maybe Intel CLC need the all-targets workaround
...
just like clover
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5666
Fixes: 1506ea2ecb ("Move a bunch of the CLC stuff from src/microsoft to common code")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17682 >
2022-08-12 17:39:20 +00:00
Jesse Natalie
1df92ed2a6
meson: Don't include glsl compiler if flex/bison aren't found
...
Use a disabler for not-found, which causes the GLSL targets to simply
not be generated if the tools don't exist.
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17724 >
2022-08-12 17:00:13 +00:00
Yonggang Luo
5ee3212078
util: Add os_create_anonymous_file support on win32
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18017 >
2022-08-12 16:34:32 +00:00
Yonggang Luo
24b9ad7cd5
meson: Enable graw tests on mingw
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18016 >
2022-08-12 16:10:51 +00:00
Samuel Pitoiset
4f5d9bd9a0
zink: stop skipping bunch of GLESx tests
...
Did 5 runs in Mesa CI (gles-navi10-valve) and 5 runs with vk-cts-image
on Navi21 without any GPU hangs. I think it's safe to re-enable them.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18029 >
2022-08-12 15:43:03 +00:00
Yonggang Luo
c3ca94261a
zink: Use DETECT_OS_WINDOWS instead of 'WIN32'
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18001 >
2022-08-12 15:05:47 +00:00
Yonggang Luo
007d979dbe
util: Enable tests that disabled for msvc/mingw
...
mesa-sha1_test.cpp and string_buffer_test.cpp are working fine now
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18001 >
2022-08-12 15:05:47 +00:00
Yonggang Luo
dec40ea4da
util: Use DETECT_OS_WINDOWS instead WIN32 in u_process.c
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18001 >
2022-08-12 15:05:47 +00:00
Yonggang Luo
d85295e6a9
util: Implement os_get_available_system_memory on Win32
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18001 >
2022-08-12 15:05:47 +00:00
Yonggang Luo
b2bf20e28f
util: Fixes typo in function os_get_total_physical_memory
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18001 >
2022-08-12 15:05:47 +00:00
Yonggang Luo
dc7a61aa17
util: Implement util_thread_get_time_nano on win32
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18001 >
2022-08-12 15:05:47 +00:00
Mike Blumenkrantz
c68c36f890
mesa/st: simplify sampler border color swizzling
...
this reuses the pre-calculated swizzle value to resolve a TODO item and
improve perf
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
e00bb6cb98
mesa/st: use tracked samplerview swizzle values
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
0ccc0f7b50
mesa: track gl_texture_object swizzle internally
...
this moves updating of swizzles to the points at which it could possibly change
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
383b39f313
mesa/st: use pre-calculated format swizzle for samplerviews
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
e713a9a982
mesa: track format swizzles on teximage objects
...
this will only very rarely change, so stop calculating it during sampler update
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
206aad7c5c
zink: add a driver workaround for broken L4A4 on nvidia
...
KHR-GLES2.core.internalformat.copy_tex_image.luminance4_alpha4_oes,Fail
KHR-GLES2.core.internalformat.texture2d.luminance_alpha_unsigned_byte_luminance4_alpha4_oes,Fail
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
d49586cfae
zink: support emulating alpha formats using new border color quirk
...
this works for texturing only because swizzles can be used
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
d5bf01e214
zink: handle emulated alpha format clears
...
technically zink doesn't support this, but mesa/st doesn't care what drivers
support for clears
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
89c41a7750
zink: reject native blits for emulated alpha formats
...
these need u_blitter
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
88390404b8
zink: add some format functions for emulating alpha formats
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
3b27632abc
zink: stop modifying samplerview swizzle on base struct
...
this gets (stupidly?) checked in mesa/st, so changing it might trigger
erroneous asserts
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
a5b2725894
util/format: handle SRGB in util_format_luminance_to_red()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
55ef65d4f4
gallium: add PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_ALPHA_NOT_W
...
mesa/gallium and util_format have different handling of alpha channels:
* mesa/gallium always uses w for the alpha swizzle
* util_format uses the actual component
for drivers which need to use the latter handling, this quirk will use the right
border color
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
03b893acb3
gallium: convert PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE to enum
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
1341d7aa84
mesa/st: use plumbed value for srgb_skip_decode in sampler conversion
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
1c172cdbcc
mesa/st: plumb glsl130_or_later through sampler creation
...
no functional changes
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
d1e33fa345
mesa/st: add ignore_srgb_decode param to st_convert_sampler
...
same as st_get_texture_sampler_view_from_stobj, no functional changes
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
28d033b34f
mesa: require render target bind for A/L/I in format selection
...
these are required framebuffer formats in certain versions of GL,
so don't create a texture that can't later be bound to a framebuffer
see also spec@!opengl 3.0@required-texture-attachment-formats
cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Mike Blumenkrantz
4f28e2827c
mesa: fix blending when using luminance/intensity emulation
...
neither of these have a real alpha channel, so reuse the xrgb blend
clamping here to ensure the "right" alpha value is used
cc: mesa-stable
fixes:
spec@arb_texture_float@fbo-blending-formats
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17687 >
2022-08-12 14:24:52 +00:00
Konstantin Kharlamov
3eec931e9b
.mailmap: change spelling for Constantine Kharlamov
...
The officially used spelling is Konstantin and I've been using it
everywhere for quite some time, so let's change it here as well
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974 >
2022-08-12 13:11:03 +00:00
Konstantin Kharlamov
db11e300e9
meson: remove source_root() call in main meson.build
...
source_root function is deprecated in Meson version 0.56.0, so let's use
instead a current_source_dir() function, available in all Meson
versions.
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974 >
2022-08-12 13:11:03 +00:00
Konstantin Kharlamov
91362340f3
meson: remove source_root() call in nir compiler path
...
source_root function is deprecated in Meson version 0.56.0, so let's use
instead a current_source_dir() function, available in all Meson
versions. This also allows to deduplicate some code by declaring
commonly used string at the top meson.build file.
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974 >
2022-08-12 13:11:03 +00:00
Konstantin Kharlamov
ef611696a5
loader/dri3: remove a no-op free call
...
When modifiers == NULL, the free(modifiers) is a no-op, so we can just
remove it
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974 >
2022-08-12 13:11:03 +00:00
Konstantin Kharlamov
f572961d69
loader/dri3: simplify check for reply
...
if reply == NULL, the call `free(reply)` is a no-op, so we can have a
single check instead of two.
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17974 >
2022-08-12 13:11:03 +00:00
sjfricke
861167f41d
isl: fix bug where sb.MOCS is not being set
...
Currently the sb.MOCS is being reset to zero after struct init.
Signed-off-by: sjfricke <spencerfricke@gmail.com >
Fixes: c27fcb1d3b ("isl: Fill in MOCS for NULL depth, stencil, and HiZ buffers.")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17985 >
2022-08-12 12:35:54 +00:00
Tapani Pälli
a3a04ed6f3
glsl: add check for too large atomic counter buffer offset
...
Fixes upcoming CTS test for atomic counter buffer offsets.
"It's being clarified that placing an atomic counter into
a buffer at such an offset that the buffer is too large
results in a compilation error."
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3124
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17905 >
2022-08-12 10:45:53 +00:00
Eric Engestrom
fd28984f84
pvr: fix memleak in error paths
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18027 >
2022-08-12 10:08:38 +00:00
Alessandro Astone
c69ba3159a
Android.mk: Disable lmsensors
...
Meson might incorrectly enable sensors if it detects lmsensors
on the host system.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6805
Cc: "22.0" "22.1" "22.2" mesa-stable
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17391 >
2022-08-12 08:51:11 +00:00
Marek Olšák
f81d4b7649
util/xmlconfig: allow drivers to override option values
...
This corrects the issue that we can't have DRI_CONF_MESA_GLTHREAD(false)
in gallium and then DRI_CONF_MESA_GLTHREAD(true) in drivers.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17976 >
2022-08-12 06:06:48 +00:00
Marek Olšák
7361b67f92
glthread: add missing code for GL_ARB_sparse_texture
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17976 >
2022-08-12 06:06:48 +00:00
Marek Olšák
983684d763
glthread: track glBindFramebufferEXT, not just glBindFramebuffer
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17976 >
2022-08-12 06:06:48 +00:00
Marek Olšák
f9b0dc9377
glthread: track GL_READ_FRAMEBUFFER bindings too
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17976 >
2022-08-12 06:06:48 +00:00
Marek Olšák
28e351673e
glthread: call _mesa_glthread_DeleteBuffers unconditionally
...
Deleted buffers were not unbound in glthread.
Fixes: 4fa24747b9 - glthread: call _mesa_glthread_BindBuffer unconditionally
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17976 >
2022-08-12 06:06:48 +00:00
Marek Olšák
eb4036ea5b
glthread: unbind framebuffers in glDeleteFramebuffers
...
Tests:
dEQP-GLES2.functional.lifetime.delete_bound.framebuffer
dEQP-GLES2.functional.state_query.integers.framebuffer_binding_getinteger
Fixes: e48f676835 - glthread: don't sync for more glGetIntegerv enums for glretrace
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17976 >
2022-08-12 06:06:48 +00:00
Tapani Pälli
a9b64bd7ad
glsl: allow image*Shadow keywords on ES and GLSL >= 420
...
These were not reserved keywords in GLSL ES and also allowed on
desktop GLSL after 420. New CTS compiler tests will test this.
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3007
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17904 >
2022-08-12 04:58:12 +00:00
Lionel Landwerlin
00d8fcee10
intel/drm-shim: update shim to support DG2
...
We were missing :
* GEM_CREATE_EXT (for local memory allocations)
* MMAP_OFFSET (new version of mmap required on DG2)
* GEOMETRY_SUBSLICE query (also required on DG2)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18005 >
2022-08-11 22:45:07 +03:00
Charmaine Lee
4393be8291
mesa/st: fix reference to nir->info after nir_to_tgsi
...
The nir shader memory is freed in nir_to_tgsi(), but the already
freed shader info is referenced later when create compute state.
To avoid referencing the freed memory, copy the shader info first before
calling nir_to_tgsi.
Fixes vmx crash running aztec on SVGA driver.
Fixes: 580f1ac473 ("nir: Extract shader_info->cs.shared_size out of union")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17999 >
2022-08-11 18:51:17 +00:00
Charmaine Lee
7426675363
svga: compare graphics shader stages against COMPUTE
...
This patch fixes the graphics shader stage comparisons that are left out in
commit 9bbf235fd9 .
Fixes: 9bbf235fd9 ("svga: compare shader type against compute not tess eval")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18004 >
2022-08-11 18:41:46 +00:00
Konstantin Seurer
2d39227a90
radv: Fix stack size calculation with stage ids
...
In create_rt_shader, we were setting group_idx to the stage index before.
Fixes the following tests:
dEQP-VK.ray_query.builtin.instancecustomindex.miss.aabbs
dEQP-VK.ray_query.builtin.objectrayorigin.miss.triangles
Fixes: c39ccce ("radv/rt: use stage ID as handle for general and closestHit shaders")
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17936 >
2022-08-11 17:59:47 +00:00
Italo Nicola
1f6bd6ece9
etnaviv: fix standalone compiler to work without a tgsi backend
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17810 >
2022-08-11 17:46:32 +00:00
Italo Nicola
b85544db19
etnaviv: skip disk cache initialization on standalone compiler
...
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17810 >
2022-08-11 17:46:32 +00:00
Michael Tang
a3bf0da1cb
microsoft/compiler: Change calls to NIR_INSTR_UNSUPPORTED to log to dxil_logger instead
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12510 >
2022-08-11 16:17:46 +00:00
Michael Tang
97902a9ef8
nir: add nir_instr_as_str
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12510 >
2022-08-11 16:17:46 +00:00
Michael Tang
55b3980e78
microsoft/compiler: Add dxil_logger type and parameter to nir_to_dxil
...
v2 (jenatali): Add a default logger which aborts via unreachable,
and use NULL from GL/Vulkan to use the default logger.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12510 >
2022-08-11 16:17:46 +00:00
Samuel Pitoiset
58bf84044b
radv: copy the sample locations only if the state isn't dynamic
...
If user sample locations is enabled and the state is dynamic we don't
have to copy them to the dynamic state struct.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18007 >
2022-08-11 14:53:32 +00:00
Samuel Pitoiset
0ca33a6c0d
radv: copy line stipple factor/pattern only if the state isn't dynamic
...
If line stipple is enabled and the state is dynamic we don't have to
copy factor/pattern to the dynamic state struct.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18007 >
2022-08-11 14:53:32 +00:00
Samuel Pitoiset
1d92ab921b
radv: remove unecessary radv_pipeline::uses_dynamic_stride
...
We can just rely on the dynamic states.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18007 >
2022-08-11 14:53:32 +00:00
Lionel Landwerlin
56bb29cb93
anv: don't return incorrect error code for vkCreateDescriptorPool
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7013
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17945 >
2022-08-11 14:29:33 +00:00
Mike Blumenkrantz
bc7edc1c7a
radv: force inlining on another draw function
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17993 >
2022-08-11 12:27:23 +00:00
Mike Blumenkrantz
64395f0d85
radv: remove stupid conditional from draw path
...
compilers are now provably smart enough to handle this
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17993 >
2022-08-11 12:27:23 +00:00
Pierre-Eric Pelloux-Prayer
50e6a80b5e
radeonsi/tests: cosmetic changes
...
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907 >
2022-08-11 11:01:31 +00:00
Pierre-Eric Pelloux-Prayer
7d7275dd88
radeonsi/tests: update navi21 expected results
...
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907 >
2022-08-11 11:01:31 +00:00
Pierre-Eric Pelloux-Prayer
b4b7162e23
radeonsi/tests: update raven expected results
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907 >
2022-08-11 11:01:31 +00:00
Pierre-Eric Pelloux-Prayer
4d7637bb73
radeonsi/tests: add testing of the khr-single tests
...
This is similar to what's done in !17876 .
KHR-Single-GL46.arrays_of_arrays_gl.AtomicUsage is only executed when
--slow is used because it takes about 200 seconds.
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907 >
2022-08-11 11:01:31 +00:00
Pierre-Eric Pelloux-Prayer
62d3f799de
radeonsi/tests: remove left-over debug print
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Ganesh Belgur Ramachandra <ganesh.belgurramachandra@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17907 >
2022-08-11 11:01:31 +00:00
Feng Jiang
6b5aecb195
virgl: add support for hardware video acceleration
...
Currently H.264 and H.265 decoding is supported, and other profiles
and encodings will be added in the future.
This function relies on the virglrenderer commit:
a92fed821f5ac173ca82c011a5d7e5b25e7bd0eb
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Signed-off-by: Ming Xie <xieming@kylinos.cn >
Signed-off-by: Liming Sun <sunliming@kylinos.cn >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157 >
2022-08-11 10:21:03 +00:00
Feng Jiang
15c210649d
gallium/util: add a new helper function pipe_buffer_size()
...
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Reviewed-by: Liming Sun <sunliming@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157 >
2022-08-11 10:21:03 +00:00
Feng Jiang
e2199651b8
vl: change vl_video_buffer_destroy() to non-static
...
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Reviewed-by: Ming Xie <xieming@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157 >
2022-08-11 10:21:03 +00:00
Feng Jiang
a7366d68ae
gallium: add key size to the structure pipe_picture_desc
...
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Reviewed-by: Liming Sun <sunliming@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17157 >
2022-08-11 10:21:03 +00:00
Karmjit Mahil
04d192fccb
pvr: Fix bo mapping on alloc with PVR_BO_ALLOC_FLAG_CPU_ACCESS.
...
If PVR_BO_ALLOC_FLAG_CPU_ACCESS was specified when calling
pvr_bo_alloc() the new bo was also being cpu mapped while this
was not the intention as the PVR_BO_ALLOC_FLAG_CPU_MAPPED is meant
to be used for that purpose. Fixed in this commit.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17984 >
2022-08-11 09:59:05 +00:00
Yusuf Khan
4e9cce39d3
nouveau: implement and enable PIPE_CAP_QUERY_MEMORY_INFO
...
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17931 >
2022-08-10 22:22:06 +00:00
Jesse Natalie
17eda68df3
egl/wgl: Fix some awkward sizeof formatting
...
Fixes: 3415bf02 ("egl: Add a basic Windows driver")
Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
efd2ae6c0c
egl/wgl: Delete unused variables/code
...
Fixes: 3415bf02 ("egl: Add a basic Windows driver")
Suggested-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
35e9c7e082
wgl: Use pfi instead of iPixelFormat more often
...
Also, support config-less contexts, and surface-less contexts.
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
aeb3147a96
egl/wgl: Support sync objects
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
e08d2dde22
egl/wgl: Support EGL_MESA_query_driver
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
52e663959e
egl/wgl: Hook up image validate/get in smapi
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
c512b68816
egl/wgl: Use a per-display st_manager
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
250bdcbfbe
wgl: Pass smapi explicitly to framebuffer creation
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
f5b1824ce3
wgl: Pass smapi explicitly to context creation
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
d57a4abcf8
egl,wgl: Support eglCreateImageKHR
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:43 +00:00
Jesse Natalie
76756ea4c6
egl/wgl: Support eglWaitNative
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
0e8271b27a
egl/wgl: Support eglWaitClient
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
1d9e0a4ab0
egl/wgl: Support eglSwapInterval
...
Note, eglSwapInterval spec says "The default swap interval is 1."
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
501154b4ed
wgl: Allow per-framebuffer swap interval overrides
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
0f533b3640
egl/wgl: Implement bind/release texture buffer
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
1d0757e2e3
egl/wgl: Set YInvert attribute to always true
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
87931cdb1f
egl/wgl: Implement PBuffer surfaces
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
c205641ccf
wgl: Split pbuffer creation into two functions
...
One creates a window and framebuffer, the other deals with
wgl-specific attribute parsing and GDI interactions.
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
11ee16493d
egl/wgl: Implement QuerySurface
...
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Jesse Natalie
8cab2ae240
egl/wgl: Don't require a native display to support window surfaces
...
Found a Windows EGL/GLES app that inits EGL without a native display,
and then creates a window surface from that EGL display:
https://github.com/danginsburg/opengles3-book/
Acked-by: Daniel Stone <daniels@collabora.com >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Acked-by: Sidney Just <justsid@x-plane.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Tested-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964 >
2022-08-10 21:00:42 +00:00
Yonggang Luo
e7b4af434b
c11: Implement and use of thrd_current properly on win32
...
Now thrd_t are a struct that contains both thread handle and thread id.
For threads that not created by thrd_create, thrd_current are returning pseudo thread handle;
but we can still compare threads differences by using thread id.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17071 >
2022-08-10 20:14:15 +00:00
Yonggang Luo
125a952b66
c11: call impl_tss_dtor_invoke with tls callback for win32
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17071 >
2022-08-10 20:14:15 +00:00
Yonggang Luo
e819f71379
c11: It's should detect PTHREAD_DESTRUCTOR_ITERATIONS when define TSS_DTOR_ITERATIONS
...
INIT_ONCE_STATIC_INIT looks like miscopied from Win32's init once macro
Correct implementation for reference
https://gitlab.inria.fr/gustedt/p99/-/blob/master/p99/p99_threads_posix.h#L64
C11 standard:
https://en.cppreference.com/w/c/thread/TSS_DTOR_ITERATIONS
As TSS_DTOR_ITERATIONS didn't used in mesa codebase, so it's won't affect anything in mesa
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17071 >
2022-08-10 20:14:15 +00:00
Mike Blumenkrantz
c37c6ac613
nir/validate: add some (light) validation for sampler type matching
...
this adds minimal validation for tex ops with derefs to check that the
dest type integer-ness matches the sampled type's integer-ness
the aim is to provide the most basic validation that nir is being modified
and created consistently, not to perform exact verification that
the types are identical
fix #6985
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17874 >
2022-08-10 19:44:59 +00:00
Mike Blumenkrantz
b7eda568a4
nir/validate: clamp unsized tex dests to 32bit
...
this is the "default" size that's expected
cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17874 >
2022-08-10 19:44:59 +00:00
Mike Blumenkrantz
632e1b66f5
radv: fix return type for meta resolve shaders
...
this should match the image type
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17874 >
2022-08-10 19:44:58 +00:00
Samuel Pitoiset
524f173c03
radv: explain why radv_invariant_geom is still needed for SotTR DX
...
It's disabled by DXVK and vkd3d because it breaks NV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17951 >
2022-08-10 19:21:12 +00:00
Samuel Pitoiset
95232bf261
radv: remove radv_invariant_geom workarounds for DX games
...
DXVK (v1.8+, Feb 19, 2021) enabled invariant position with:
"[d3d11] Enable d3d11.invariantPosition by default"
(8de9dc93781b61a902a2dc15cc4192514a821237)
vkd3d-proton (v2.5+, Oct 18, 2021) enabled invariant position with:
"vkd3d-shader: Add INVARIANT_POSITION quirk."
(32c5abf4963e07b3d7cbf1c95a9249dce16473d7)
It's recommanded to use Proton 7 or newer to ensure DXVK/vkd3d-proton
contain the invariant position fixes. Otherwise this change might
introduce regressions with older Proton versions.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Martin Roukala <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17951 >
2022-08-10 19:21:12 +00:00
Juston Li
95b0b2bea0
venus: Enable VK_EXT_texture_compression_astc_hdr
...
See: virgl/virglrenderer!874
Signed-off-by: Juston Li <justonli@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17967 >
2022-08-10 19:07:22 +00:00
Chad Versace
56f3319519
venus/pipeline: Fix ignore rules for VK_EXT_extended_dynamic_state
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
e643173cc5
venus/pipeline: Fix ignore rules for VK_KHR_dynamic_rendering
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
33e791bc02
venus/pipeline: Ignore basePipelineHandle
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
d39e202dac
venus/pipeline: Ignore pViewportState::pScissors
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
d6f2915ae5
venus/pipeline: Ignore pViewportState::pViewports
...
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
4ab3b40f2e
venus/pipeline: Fix ignore rule for pColorBlendState
...
The ignore logic was too eager. We must inspect the subpass.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
661fc52c90
venus/pipeline: Fix ignore rule for pDepthStencilState
...
The ignore logic was too eager. We must inspect the subpass.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
5f70e08ed7
venus/pipeline: Split ignore rules for pViewportState, pMultisampleState
...
The ignore rules for VkGraphicsPipelineCreateInfo::pViewportState,
pMultisampleState, pDepthStencilState, and pColorBlendState, they were
all lumped together under a single ignore rule. Split them out because
the rules for pDepthStencilState and pColorBlendState should be
different.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
cf6099e425
venus/pipeline: Add pipeline state bools for ignore rules
...
For each pipeline state category, we define a bool.
The Vulkan spec (1.3.223) says:
The state required for a graphics pipeline is divided into vertex
input state, pre-rasterization shader state, fragment shader state,
and fragment output state.
This patch merely defines the bools and does a minor refactor. It does
not add new ignore rules.
Without VK_EXT_graphics_pipeline_library, most states are
unconditionally included in the pipeline. Despite that, we still
reference the state bools in the ignore rules because (a) it makes the
ignore condition easier to validate against the text of the relevant
VUs; and (b) it makes it easier to enable
VK_EXT_graphics_pipeline_library because we won't need to carefully
revisit the text of each VU to add the missing pipeline state bools.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
063a13d67e
venus/pipeline: Refactor vn_fix_graphics_pipeline_create_info
...
- Instead of deferring all fixes until we inspect all pCreateInfos, fix
each pCreateInfo immediately after we inspect it.
- Do not allocate vn_graphics_pipeline_create_info_fix.
- Add a struct to hold the temporary allocation of fixed pCreateInfos.
Later commits will place more vk structs here.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
0369fdbe94
venus: Track subpass properties
...
Needed to fix the ignore rules for
VkGraphicsPipelineCreateInfo::pColorBlendState and ::pDepthStencilState.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
b3619743c0
venus: Drop vn_present_src_attachment::acquire
...
The field is redundant.
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Chad Versace
7cc3f046e0
venus: Remove cryptic pointer arithmetic on present attachments
...
Each time some code wanted to access in vn_render_pass the present
acquire attachments or the present release attachments, it needed to
know the memory layout of vn_render_pass and do pointer arithmetic.
It's fragile to handroll this layout knowledge and pointer arithmetic
throughout the code, so add a pointer in vn_render_pass for each
attachment type.
The new pointers are:
- present_attachments: all present attachments
- present_acquire_attachments: a subslice of present_attachments
- present_release_attachments: a subslice of present_attachments
Signed-off-by: Chad Versace <chadversary@chromium.org >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16681 >
2022-08-10 18:17:52 +00:00
Charmaine Lee
2937c100e1
svga: fix SetConstantBufferOffset command opcode
...
This patch fixes the SetConstantBufferOffset command opcode which is
not mapped correctly after the reordering of the pipe shader type defines.
Acked-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17977 >
2022-08-10 17:49:30 +00:00
Samuel Pitoiset
bea050345e
radv: do not set registers for PSO states that are dynamic
...
Dynamic states are emitted from the cmdbuf, setting them from the
pipeline has no effects because they should be ignored anyways.
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/17677 >
2022-08-10 17:26:26 +00:00
Samuel Pitoiset
42803c70ef
radv: simplify dynamic states uses when determining NGG culling settings
...
Looking at the dynamic states is enough.
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/17677 >
2022-08-10 17:26:26 +00:00
Samuel Pitoiset
2a96521bb4
radv: remove one useless check about line width and dynamic state
...
It's now checked when the rasterization state is initialized.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17677 >
2022-08-10 17:26:26 +00:00
Samuel Pitoiset
101f9dd8cf
radv: properly ignore PSO states that are dynamic
...
They should be ignored because it's allowed to have garbage in there.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17677 >
2022-08-10 17:26:26 +00:00
Shuicheng Lin
fdab8fef7a
iris: return failure if iris_resource_configure_main fail
...
For surface created by eglCreatePbufferSurface with attrib_list is NULL
or empty, the width/height info is 0. Then in the next eglMakeCurrent
call, it will try to allocate the buffer with the 0 width/height, then
call surf_fill_state_s with 0 width/height, so the isl_extent3d returned
by isl_get_image_alignment is (0, 0, 0), and the unreachable code will
cause process crash with:
"stack corruption detected (-fstack-protector)".
As the width is 0, it causes row_pitch_B is 0 in isl_calc_row_pitch.
And it leads to iris_resource_configure_main return fail. Update code
to return fail to avoid the crash.
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17621 >
2022-08-10 16:59:32 +00:00
Konstantin Seurer
001779a33d
lavapipe: Remove st_shader_stage_to_ptarget
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17930 >
2022-08-10 16:40:50 +00:00
Pierre-Eric Pelloux-Prayer
70891edd97
nir: add a nir_opt_if_options enum
...
And don't enable nir_opt_if_optimize_phi_true_false on radeonsi with
LLVM 14 because it crashes Blender.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6976
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17949 >
2022-08-10 12:55:39 +00:00
Gert Wollny
0ca0d2d450
llvmpipe: Double number of SSBOs
...
llvmpipe doesn't define atomics, and therefore, gallium uses half of the
available SSBOs as atomic buffers. When virgl runs with llvmpipe as GLES
host we also report no atomic buffers to the guest so as to lower
atomics to SSBOs to work around ARB_shader_counter_ops not being
available on GLES. With the current value of 16 SSBOs in llvmpipe, only
eight SSBOs and eight atomic shader buffers are reported and with
virglrenderer not reporting atomics these numbers will be reduced to
four, being below the required minimum for ARB_compute_shaders.
By doubling the number of available SSBOs in llvmpipe, this limitation
is worked around and using llvmpipe as GLES host for virgl in the CI
allows testing ARB_compute_shaders and ARB_shader_counter_ops properly.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17979 >
2022-08-10 12:21:35 +00:00
Rhys Perry
bd40e1b012
aco: fix hash statistic
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 897561b7b9 ("aco: add aco_postprocess_shader() helper")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17954 >
2022-08-10 11:56:29 +00:00
Gert Wollny
0b312dc343
radeonsi-raven/ci: Move spec@arb_timer_query@timestamp-get to flakes
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17982 >
2022-08-10 11:26:19 +00:00
Friedrich Vock
82fd379d9e
amd/common: move ac_memory_ops_per_clock into ac_gpu_info.h
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17973 >
2022-08-10 10:58:54 +00:00
Erik Faye-Lund
3340dea194
zink: do not use VK_FORMAT_D32_SFLOAT_S8_UINT without checking
...
Without this, we might end up trying to use VK_FORMAT_D32_SFLOAT_S8_UINT
even when it's not supported...
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17953 >
2022-08-10 10:28:38 +00:00
Erik Faye-Lund
71c1ca3c67
zink: add have_D32_SFLOAT_S8_UINT boolean
...
This will be reused in the following commit.
Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17953 >
2022-08-10 10:28:38 +00:00
Samuel Pitoiset
37dfa4e3f3
radv: fix cleaning the meta query state if an error occured
...
It's already correctly cleaned in radv_device_init_meta().
This fixes a recent regression with
dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.
Fixes: 1a95d43e55 ("radv: Simplify the meta init fail path")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17952 >
2022-08-10 07:21:46 +00:00
Samuel Pitoiset
5b5d5554f6
radv: respect the render area for depth/stencil resolves
...
Subpass resolves don't necessarily start from 0,0.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17950 >
2022-08-10 06:17:06 +00:00
Charmaine Lee
aa5d4062e8
svga: fix mksstats build
...
Trivial.
Fixes: ed77ac1eef ("svga: add a helper function for common shader creation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17971 >
2022-08-09 22:24:06 -07:00
Yonggang Luo
26a1e93f7e
ci/windows: Setup proper MESA_IMAGE_TAG for Windows build/test image
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17600 >
2022-08-09 21:46:52 +00:00
Jesse Natalie
9921f5cf0c
ci/windows: Install Graphics-Tools package on the base image
...
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17600 >
2022-08-09 21:46:52 +00:00
Yonggang Luo
4752655649
egl/x11: implement ANGLE_sync_control_rate
...
Implement EGL_ANGLE_sync_control_rate for running Chromium Linux on Wayland with EGL backend.
Chromium works with this patch using(with videos playing smoothly):
/usr/bin/google-chrome-stable --use-gl=egl --enable-features=VaapiVideoDecoder --ignore-gpu-blocklist
Closes #2930
Signed-off-by: KJ Liew <liewkj@yahoo.com >
Signed-off-by: Térence Clastres <t.clastres@gmail.com >
Signed-off-by: Satadru Pramanik <satadru@gmail.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17815 >
2022-08-09 21:02:50 +00:00
Yonggang Luo
94cfa50dc6
egl/x11: Split declaration of dri2_format_for_depth into header platform_x11.h
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17815 >
2022-08-09 21:02:50 +00:00
Yonggang Luo
eebea558b7
egl: wire up ANGLE_sync_control_rate
...
Add eglGetMscRateANGLE prototype into generate file
Signed-off-by: KJ Liew <liewkj@yahoo.com >
Signed-off-by: Térence Clastres <t.clastres@gmail.com >
Signed-off-by: Satadru Pramanik <satadru@gmail.com >
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17815 >
2022-08-09 21:02:50 +00:00
Yonggang Luo
f5bb9dd738
egl: Remove eglextchromium.h and import eglext_angle.h
...
The upstream eglextchromium.h in https://chromium.googlesource.com/chromium/src/+/refs/heads/master/ui/gl/EGL/eglextchromium.h
are broken, so remove it and using eglext_angle.h instead.
By running "python bin/khronos-update.py egl" to update EGL files,
then discard changes other than eglext_angle.h
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17815 >
2022-08-09 21:02:50 +00:00
Jesse Natalie
3a9d3ac9c1
ci/windows: Windows runner is back online
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17962 >
2022-08-09 20:30:21 +00:00
Iván Briano
fbd4133735
anv: emit scissors when the pipeline changes
...
With the switch to common dynamic state tracking, something got lost
that made the scissors not always be emitted when they are not dynamic
and the pipeline is marked dirty.
Since both viewport and scissors make use of each other to calculate
their values, just stick the scissor emit in the same if block as
viewport for now.
I'd rather have them decoupled, and at least the Vulkan CTS didn't
complain when I tried it, but I don't know what other effects that
may have, especially when it comes to the guardband.
Fixes a bunch of tests under
dEQP-VK.pipeline.*.multisample.misc.*
Fixes: 7d25c04236 ("anv: Switch to using common dynamic state tracking")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17964 >
2022-08-09 19:58:14 +00:00
David Heidelberg
dd7cae2a99
ci/lavapipe: wine flakes, switch to manual for now
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7030
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17965 >
2022-08-09 19:40:16 +00:00
Marek Olšák
2f4b9b7a95
gallium/u_blitter: make the bilinear filter for MSAA resolving conformant
...
This implements the bilinear filter exactly like OpenGL.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
5c7ad4757b
gallium/u_blitter: make nearest filtering emulation using TXF conformant
...
This is required by glBlitFramebuffer.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
a41386a053
gallium/u_blitter: clean up IMMs in util_make_fs_blit_msaa_gen
...
Always declare IMM[0].
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
0397db1d81
gallium/u_blitter: treat Z scaling as scaled blits
...
Hopefully this didn't break anything.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
854fb27275
gallium/u_blitter: fix the has_txf support condition
...
GLSL 1.30 has it too.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
2057516922
gallium/u_blitter: remove unused code for integer MSAA resolve
...
GL doesn't have it.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
fd7a968c36
gallivm: initialize texture_unit_offset in emit_size_query
...
this fixes a crash, suggested by Dave Airlie
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
60272d7db4
gallivm: fix TXQ crash with MSAA samplers
...
suggested by Dave Airlie
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Marek Olšák
c7e155628d
ttn: set the correct sampler declaration type in the presense of txs and lod
...
We used the result type of lod and txs for sampler declarations,
which broke following instructions that are not lod and txs.
Use the sampler type from TGSI if it's present, not the result type
of lod and txs.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17692 >
2022-08-09 19:19:09 +00:00
Emma Anholt
23a2698e75
ci/tu+zink: Re-enable the traces that were asserting about UBWC compatibility.
...
The tu and zink fixes have made them work now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900 >
2022-08-09 18:15:45 +00:00
Emma Anholt
149d4e4b6d
tu: Use the format list to decide whether we can do UBWC with MUTABLE.
...
The goal here is to allow zink and ANGLE to switch sRGB on and off, but
keep UBWC enabled for most textures.
This doesn't quite work yet for zink on gbm, where zink asks the device if
it supports a UBWC-modifier image with unorm+sRGB mutable formats (yes),
but then doesn't pass the unorm+sRGB format list to vkImageCreate(), which
then asserts because it couldn't make a general
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT UBWC image.
The format list here comes from Danylo's testing in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17278#note_1447812
Reduces frame times in Genshin Impact GLES AoV 2.02063% +/- 0.207575% (n=5)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900 >
2022-08-09 18:15:45 +00:00
Emma Anholt
f6bd494cfa
tu: Treat viewFormatCount==0 as no format list.
...
"If viewFormatCount is zero, pViewFormats is ignored and the image is
created as if the VkImageFormatListCreateInfo structure were not included
in the pNext chain of VkImageCreateInfo."
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900 >
2022-08-09 18:15:45 +00:00
Emma Anholt
41280ba289
tu: Move the vkCreateImage format list checks to helper functions.
...
Mixing up the two checks made them both harder to read.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900 >
2022-08-09 18:15:45 +00:00
Emma Anholt
8dda0a01bb
zink: Make sure that we keep the existing ici pNext chain on inserts.
...
For external image imports, we'd lose the mutable image format list,
causing turnip to get angry that we try to do UBWC despite not having a
UBWC-compatible format list.
Cc: mesa-stable
Fixes: 28ee911ad6 ("zink: handle mutable swapchain images with dmabuf")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17900 >
2022-08-09 18:15:45 +00:00
Yonggang Luo
6a933b7f53
c11: Fixes the declaration of timespec_get in time.h for macOS
...
../src/util/tests/timespec_test.cpp:327:4: error: use of undeclared identifier 'timespec_get'; did you mean 'timespec_eq'?
timespec_get(&a, TIME_UTC);
^~~~~~~~~~~~
timespec_eq
../src/util/timespec.h:299:1: note: 'timespec_eq' declared here
timespec_eq(const struct timespec *a, const struct timespec *b)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16995 >
2022-08-09 17:23:17 +00:00
Yonggang Luo
c0dd2eabaa
util: open_memstream also support on MacOS
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16995 >
2022-08-09 17:23:17 +00:00
Yonggang Luo
ecfda9a0fa
microsoft/clc: Fixes compiling errors with clang/mingw64 in clc/clc_compiler_test.cpp
...
clc_compiler_test.cpp:1322:67: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list
log(0.0f) / log(2), log(1.0f) / log(2), log(2.0f) / log(2), log(3.0f) / log(2)
clc_compiler_test.cpp:2306:25: error: non-constant-expression cannot be narrowed from type 'std::vector<unsigned int>::size_type' (aka 'unsigned long long') to 'unsigned int' in initializer list
CompileArgs args = { inout.size(), 1, 1 };
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17926 >
2022-08-09 16:47:24 +00:00
Yonggang Luo
c67e60ae8f
meson: clc compiler test only works on win32
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17934 >
2022-08-09 16:39:47 +00:00
Samuel Pitoiset
e95531e101
radv: fix gathering XFB info if there is dead outputs
...
The driver should still gather XFB info even if all XFB outputs are
dead, otherwise the pipeline can't find the streamout shader.
RADV should use vk_spirv_to_nir() at some point to reduce code
duplication during SPIRV->NIR compilation.
This fixes new dEQP-VK.transform_feedback.simple.*.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17939 >
2022-08-09 16:04:25 +00:00
Tomeu Vizoso
a35742c434
radv/ci: Put one more board to run the CTS on Stoney Ridge
...
These jobs were taking more than 20 minutes to run, slowing the pipeline
down.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17935 >
2022-08-09 15:39:41 +00:00
Tomeu Vizoso
d1b16ce35b
radeonsi/ci: Move libva and piglit jobs to Raven Ridge boards
...
As we have some free, and then we can reassign two Stoney Ridge boards
to reduce the duration for some jobs that are taking too long currently.
Also, these machines are much faster so we are able to run all of the
Piglit tests and a bigger portion of the VA tests.
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17935 >
2022-08-09 15:39:41 +00:00
Pierre-Eric Pelloux-Prayer
379f2b641e
radeonsi: print radeon_bo_flag when AMD_DEBUG=vm is used
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449 >
2022-08-09 14:38:06 +00:00
Pierre-Eric Pelloux-Prayer
22a8b7f589
radeonsi: allocate BIND_RENDER_TARGET as tmz instead of SCANOUT
...
Using AMD_DEBUG=tmz to enable tmz without the application asking
for it is useful for testing. Since SCANOUT isn't set on Wayland,
use RENDER_TARGET instead as a heuristic to try to allocate color
framebuffer as tmz.
With this change we can enable tmz in x11 and wayland.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449 >
2022-08-09 14:38:06 +00:00
Pierre-Eric Pelloux-Prayer
a693fbf64b
amdgpu/bo: update uses_secure_bos when importing buffers
...
Fixes: 90b98c0649 ("amd/tmz: move uses_secure_bos to radeon_winsys")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449 >
2022-08-09 14:38:06 +00:00
Pierre-Eric Pelloux-Prayer
1d64308fe9
gallium/dri2: make protected buffer checks opt-in
...
This check is an infinite source of issues when testing protected
content, so make it opt-in (eg for developers of applications dealing
with protected content buffers).
On AMD and Intel importing a protected buffer as non-protected will cause
the display to be incorrect (= garbage).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11449 >
2022-08-09 14:38:06 +00:00
Jesse Natalie
1862923849
ci/windows: Disable Windows builds while the runner is offline again
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17958 >
2022-08-09 06:57:35 -07:00
David Heidelberg
3ea0ec4697
docs/ci: show how to run traces locally
...
Newcomers may want to test traces locally and understand how the replay
works.
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17347 >
2022-08-09 13:59:59 +02:00
Martin Roukala (né Peres)
8d00c55e9e
radv/ci: bump the console activity timeout of VanGogh to 3 minutes
...
It seems like VKCTS's startup time is close to the current console
activity timeout (2 minutes...) on the Steam Deck, leading to spurious
timeouts...
Let's bump the timeout by 50%!
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829 >
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
1db0b56609
radv/ci: skip host_write_transfer_src.1048576 on renoir
...
The test can take a little longer than 60s, which leads to spurious
timeouts and thus unstable CI pipelines.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829 >
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
e091e56fc1
radv/ci: add more tests to the flake list of vega10
...
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829 >
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
6bbe3c6d36
radv/ci: move some tests from the vega10 fail to its flake list
...
v2:
- Move the other 2 `sample_texture` tests to the flake list (Ishi)
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829 >
2022-08-09 09:04:09 +03:00
Martin Roukala (né Peres)
3f8a356bd3
radv/ci: document a recent regression
...
This regression may have been introduced by mesa/mesa!17652 or
mesa/mesa!17625 .
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17829 >
2022-08-09 09:04:09 +03:00
Rob Clark
401d03e1e9
freedreno: Cap reported video memory by VA size
...
Don't report that we have more video memory than the GPU's virtual
address space size.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17947 >
2022-08-08 22:10:24 +00:00
Rob Clark
2bc1d08c48
freedreno/drm: Add FD_VA_SIZE param
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17947 >
2022-08-08 22:10:24 +00:00
Jesse Natalie
32d0dfc462
dzn: Use D3D12 constants instead of naked numbers for device limits
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17915 >
2022-08-08 21:49:42 +00:00
Jesse Natalie
d48ce281f8
dzn: Disable extensions that require multi-view
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17915 >
2022-08-08 21:49:42 +00:00
Erik Faye-Lund
1a3b086b06
docs: fixup link to virgl docs
...
Fixes: 6897266ce0 ("docs: import virgl docs")
Acked-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17881 >
2022-08-08 20:04:56 +00:00
Caleb Cornett
9efb1d7fbc
wgl: Release the context before deleting it in wglDeleteContext
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17848 >
2022-08-08 19:33:38 +00:00
Caleb Cornett
7dafdb58b8
wgl: Always release local references in stw_make_current_by_handles
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17848 >
2022-08-08 19:33:38 +00:00
Caleb Cornett
3fcd030979
wgl: Homogenize read framebuffer reference counting logic
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17848 >
2022-08-08 19:33:38 +00:00
Marek Olšák
a60181e8f2
radeonsi: use do..while loops and other cosmetic changes in display list path
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933 >
2022-08-08 19:12:12 +00:00
Marek Olšák
e9a0cae1a1
radeonsi: use si_cp_dma_prefetch_inline for prefetching VBO descriptors
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933 >
2022-08-08 19:12:12 +00:00
Marek Olšák
0e574c801c
radeonsi: remove temporary si_context::vb_descriptor_user_sgprs
...
We were writing descriptors into si_context and then copying them into
the command buffer. Just write them into the command buffer directly.
Also set the pointer to VBO descriptors right after them.
When we start a new command buffer or we finish blitting, we no longer
restore precomputed VBO descriptors. Instead, we just reupload them again.
It's a compromise to have the common path simpler and faster (maybe).
This removes a lot of stuff. Now the VBO descriptor upload path looks
very similar to the display list path.
There was an accidental hidden optimization that is now documented as
"last_const_upload_buffer".
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933 >
2022-08-08 19:12:12 +00:00
Marek Olšák
a5d37e161d
radeonsi: remove vb_descriptors_gpu_list only used for debugging
...
While this is nice to have, it doesn't include VBO descriptors in user
SGPRs, and we need to remove it, so that we can simplify the VBO code.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933 >
2022-08-08 19:12:12 +00:00
Marek Olšák
b4cef2487b
radeonsi: add vertex buffers into the BO list in set_vertex_buffers
...
This is more straightforward. Also, radeon_add_to_buffer_list makes
writing VBO descriptors into the command buffer slower after that code
is reordered in following commits. This seems to be the only way that
isn't slower.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933 >
2022-08-08 19:12:12 +00:00
Marek Olšák
c4ffac8a17
radeonsi: merge both fail paths in si_set_vb_descriptor
...
I removed the assertion because apps are allowed to set an offset greater
than the size.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17933 >
2022-08-08 19:12:12 +00:00
Connor Abbott
a7e64ab63c
tu: Fix sysmem depth attachment clear flushing
...
We can't invalidate CCU if there is any dirty data that hasn't been
flushed yet. In the case where we clear depth, we know that the depth
attachment itself isn't dirty but there may be dirty data from other
renderpasses. Therefore we need to flush before invalidating depth.
Fixes: 487aa80 ("tu: Rewrite flushing to use barriers")
Closes : #6987
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17940 >
2022-08-08 17:30:00 +00:00
Pierre-Eric Pelloux-Prayer
de55058cbc
docs: document DRI_PRIME
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17298 >
2022-08-08 16:52:44 +00:00
Pierre-Eric Pelloux-Prayer
903e99150f
vulkan/device_select: allow DRI_PRIME=vendor_id:device_id
...
To match the GL side.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17298 >
2022-08-08 16:52:44 +00:00
Pierre-Eric Pelloux-Prayer
a71b92fff8
vulkan/device_select: print the dri_prime warning only if needed
...
The next commit will allow a different DRI_PRIME syntax, so move
this printf in the right if block.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17298 >
2022-08-08 16:52:44 +00:00
Pierre-Eric Pelloux-Prayer
4005ba3ed4
loader: allow DRI_PRIME=vendor_id:device_id syntax
...
This syntax allows to select a specific GPU without depending on
the pci bus information.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17298 >
2022-08-08 16:52:44 +00:00
Pierre-Eric Pelloux-Prayer
6d50e4cdc1
loader: don't return empty string in loader_get_dri_config_device_id
...
The caller expects a NULL return value if the option isn't set.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17298 >
2022-08-08 16:52:44 +00:00
Jesse Natalie
6daf99fcb2
ci/windows: Re-enable Windows runners
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17942 >
2022-08-08 16:10:21 +00:00
Samuel Pitoiset
d4b8abe511
radv: simplify radv_bind_dynamic_state() slightly
...
This adds RADV_CMP_COPY to compact copies. Based on ANV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Samuel Pitoiset
18e9ba3e3b
radv: remove unused states parameter from some radv_emit_XXX() helpers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Samuel Pitoiset
1f6e32ff7c
radv: simplify saving/restoring all dynamic states
...
Instead of copying every field individually, just use a whole memcpy.
This could be optimized but that's not the point here.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Samuel Pitoiset
1d82ec1b3f
radv: remove RADV_META_SAVE_SAMPLE_LOCATIONS
...
We already save/restore all other dynamic states unconditionally, it's
not really useful to make an exception for sample locations.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17649 >
2022-08-08 14:59:47 +00:00
Rhys Perry
bf0af80045
aco: improve VcmpxPermlaneHazard workaround
...
According to LLVM, we only need to care about VOPC which writes exec.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Rhys Perry
5912c7d3fa
aco: only add vscnt wait when visiting VMEM/DS
...
This prevents issues where we insert a s_waitcnt_vscnt(0) at the start of
a block or very end of the shader because we're joining two blocks (for
example, one with has_VMEM=true and the other with
has_branch_after_DS=true).
fossil-db (navi10):
Totals from 2441 (1.51% of 161220) affected shaders:
Instrs: 1383964 -> 1384094 (+0.01%); split: -0.07%, +0.08%
CodeSize: 7438212 -> 7438760 (+0.01%); split: -0.05%, +0.06%
Latency: 13780665 -> 13679664 (-0.73%); split: -1.53%, +0.80%
InvThroughput: 2950835 -> 2921511 (-0.99%); split: -1.06%, +0.07%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Rhys Perry
52156d6b26
aco: set has_VMEM,has_DS=false after a branch
...
fossil-db (navi10):
Totals from 161 (0.10% of 161220) affected shaders:
Instrs: 206726 -> 207179 (+0.22%); split: -0.02%, +0.24%
CodeSize: 1114152 -> 1116032 (+0.17%); split: -0.01%, +0.18%
Latency: 2119380 -> 2147403 (+1.32%); split: -0.16%, +1.48%
InvThroughput: 462960 -> 461922 (-0.22%); split: -0.42%, +0.19%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Rhys Perry
b17e59a03b
aco: fix LdsBranchVmemWARHazard with 2+ branch chains
...
For example, "DS -> branch -> VMEM -> branch -> DS".
fossil-db (navi10):
Totals from 639 (0.40% of 161220) affected shaders:
Instrs: 629090 -> 628254 (-0.13%); split: -0.19%, +0.06%
CodeSize: 3410164 -> 3406748 (-0.10%); split: -0.14%, +0.04%
Latency: 7834755 -> 7821011 (-0.18%); split: -0.70%, +0.52%
InvThroughput: 1369698 -> 1374495 (+0.35%); split: -0.12%, +0.47%
A lot of the fossil-db changes are noise.
threekingdoms.8db138826c386a62.1.foz/0b222ed175eebad0 is an example of a
shader that actually has this issue.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Fixes: c037ba1bb7 ("aco/gfx10: Mitigate LdsBranchVmemWARHazard.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697 >
2022-08-08 13:59:17 +00:00
Jonathan
c7f52551a7
gallium/u_threaded: buffer subdata merging (v2)
...
In a scenario where a sequence of calls happens like:
* subdata(buffer_a, offset=0, size=64)
* subdata(buffer_a, offset=64, size=64)
* subdata(buffer_a, offset=128, size=64)
* subdata(buffer_a, offset=192, size=64)
and the buffer can't be directly mapped (e.g., because it has bindings), the
subdata calls will now be merged together into one larger subdata call.
This achieves a 3x perf gain in
KHR-GL46.CommonBugs.CommonBug_SparseBuffersWithCopyOps on radeonsi
Before:
real 0m1,923s
user 0m1,017s
sys 0m0,051s
After:
real 0m0,686s
user 0m0,502s
sys 0m0,071s
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17741 >
2022-08-08 13:27:36 +00:00
Danylo Piliaiev
293298de65
tu: Flush depth on depth img transition from undef layout
...
Same logic as in tu_subpass_barrier.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17911 >
2022-08-08 13:01:28 +00:00
Timur Kristóf
dccd6f495a
ac/nir/cull: Fix typo in bounding box culling.
...
Bounding box culling is only viable when the W of all
vertices are positive. Always accept triangles whose any
W is negative.
Fixes: 0d527bb1aa
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7018
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17929 >
2022-08-08 11:16:04 +00:00
Samuel Pitoiset
1fb12d2cce
radv: use ref counting for VS prologs and PS epilogs
...
With GPL, it will be possible to create VS prologs and PS epilogs
from libraries, so reference counting is useful here too.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17628 >
2022-08-08 10:52:31 +00:00
Samuel Pitoiset
a2b8a92c72
radv: rework shaders ref counting
...
Introduce helpers like for descriptor set layouts. This will also
help graphics pipeline libraries.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17628 >
2022-08-08 10:52:31 +00:00
Guilherme Gallo
6f4b6b4d11
ci/radeonsi: Add zork jobs and rules
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
6c22601048
ci/radeonsi: skqp: Add fail test files for raven
...
Lots of models are missing.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
d4338c9df0
ci/freedreno: skqp: run with new tests files
...
Settings as flakes tests that passed in the exhaustive run, to keep the
same state as it was before
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
7801a17b54
ci/skqp: Add gitlab sections for uncluttering
...
skqp output is verbose, as we are running multiple backends at the same
job, normally the trace will surpass the Gitlab UI line limit.
This commit wraps every skqp execution in a Gitlab section and removes
some `set -xtrace` from skqp-runner.sh for a cleaner output.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
d4dcee7a8a
ci/skqp: Remove .baremetal-skqp-test in favor of .skqp-test
...
Both hidden jobs has the same content, let's reuse it.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
eece545d79
ci/skqp: Supress irrelevant shellcheck warnings
...
To fix some warnings, one should write a much complex bash code, such as
SC2086, so prefer to be simple and functional.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
57e7459377
ci/skqp: Put generated tests files in artifacts
...
Showing the resulting test file can help the developer to debug skqp
runs by coping this file locally.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
e50d461fec
ci/skqp: Use SKQP_BIN_DIR instead of hardcoded /skqp dir
...
This will make skqp-runner.sh more generic, making it easier to test
locally.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
5001d818da
ci/skqp: Add support for commenting tests files
...
The files are now separated in three: crashes, fails and flakes.
They should be located inside $INSTALL folder at:
- $GPU_VERSION_$SKQP_BACKEND_rendertests-$MODE.txt
- $GPU_VERSION_unittests-$MODE.txt
Where:
- $MODES can be crashes, fails, and flakes
- $SKQP_BACKEND can be gl, gles and vk
crashes and flakes removes tests from skqp, so they will not be run.
As skqp does not have support for flaky test detection, let's not run
them.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
f0f5601a9b
ci/skqp: Build list_gpu_unit_tests and list_gms
...
These binaries are used to generate a list of tests that can be run in a
target device and are useful for testing new devices
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
23732b4732
ci/skqp: Fix Nima-Cpp fetching error
...
Nima-Cpp is not available anymore inside googlesource, revert to github
one
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
5c91397042
ci/skqp: Fix paths in skqp-runner
...
Default results directory was fixed via $PWD variable, but it is safer
to use the same as init-stage2.sh uses: $CI_PROJECT_DIR to indicate the
results folder.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
6f387b7848
ci/skqp: Show reports on crashes
...
Some skqp tests may crash the entire job run, assure that the reports
will be showed to the user after the test started to run.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Guilherme Gallo
2d77c7f9c9
ci/skqp: Add an option to run all tests
...
When the skqp is introduced to a new driver, the best practice is to
run all available tests from skqp and classifying the
failing/crashing/flaking ones.
The default behavior of skqp is to run the tests from the commit where
the skqp built, which may not be adequate for the target driver.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17835 >
2022-08-08 08:51:24 +00:00
Samuel Pitoiset
2012246075
radv: ignore out-of-order rasterization if stencil write mask is dynamic
...
This might break out-of-order rasterization on GFX8-GFX9 because it
relies on the stencil write mask which can be dynamic.
Found by inspection.
Cc: 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/17673 >
2022-08-08 08:49:19 +02:00
Timothy Arceri
8bffd601ed
Revert "nir: Preserve offsets in lower_io_to_scalar_early"
...
This reverts commit 96fa23bca5 .
The correct fix to the problem was a1bc152340 , making this
change obsolete as the pass skips any vars marked with
always_active_io. There was no real advantage to allowing these
vars to be split because they can't be removed anyway. Also there
is no way to split varying arrays gracefully here due to the xfb
layout rules, and this change didn't handle arrays at all.
Removing this obsolete code also fixes an assert in the new CTS
test KHR-Single-GL45.enhanced_layouts.xfb_all_stages. The test
was legally adding xfb offsets to all vertex stages but since
we only mark the varyings in the final vertex stage with the
always_active_io flag the other stages were correctly lowering
to scalars but when an array with an offset hit this code it
asserted since it couldn't handle it.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Fixes: a1bc152340 ("spirv: mark variables decorated with XfbBuffer as always active")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6928
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17878 >
2022-08-08 01:37:20 +00:00
Alyssa Rosenzweig
3712609ee3
agx: Only emit the used components of gl_FragCoord
...
In case a shader only use gl_FragCoord.xy, this avoids wasting
coefficient registers for gl_FragCoord.zw which should be a small
optimization. It's also less work for DCE but I'm less worried about
that.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
17168162fb
agx: Remove p_extract
...
It's now unused. We didn't have coalescing for it anyway, splits are the
preferred alternative.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
c1900cb951
agx: Handle type-changing splits
...
If we want to break down a 64-bit value into its 32-bit halves, we want
to be able to use a split for this:
lo, hi = split long
Extend the RA to handle this case.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
f86ad382c5
agx: Stop using broken idiv lowering
...
It is, as the name suggests, broken. Instruction count goes from 50->53
on the shader in
dEQP-GLES2.functional.shaders.operator.binary_operator.div.highp_int_fragment.
I'm happy to eat that cost in exchange for correct results!
There are lots more low-hanging opportunities for optimizations to that
shader:
- fuse double icmpsel for the b2i32(cmp) sequences
- promoting big immediates to uniforms
- fusing integer multiply+add
But for now this is acceptable and anyway I'm doing this on "fix broken
NIR lowering" time and not Asahi time.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
f28c631a89
agx: Implement nir_op_umul_high
...
This is crucial to the efficiency of the accurate idiv path.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
aab535ffda
agx: Extract umul_high implementation
...
We can implement umul_high (for both 16-bit and 32-bit types)
efficiently by multiplying in the next larger type size and extracting
the upper word. We already have such an implementation (for instancing).
Extract it so we can use it for emit_alu too.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
a8cea8679d
agx: Assert that registers are naturally aligned
...
This seems to be an architectural constraint. Ensure that RA satisfies
it, because otherwise we're left with mysterious fails.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
8c2e626064
agx: Align 64-bit register pairs
...
This seems to be necessary for correct operation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
5631b3352e
agx: Lower more ALU operations
...
Noticed while switching idiv lowerings. We could do better on some of these.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
f759459cd6
agx: Implement noperspective interpolation
...
We need to get a matching coefficient register and change the encoding
of the iter instruction slightly, but otherwise this is normal.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
638d7f542e
agx: Use split instead of extract for ldcf
...
For more uniform handling in the RA. This gets rid of the extra moves
with flat shading.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:54 -04:00
Alyssa Rosenzweig
744b4a0f7f
agx: Rename varying load instructions
...
Unlike Mali (where I borrowed the old names from), these are not loads
in the memory sense. They are simply register loads and arithmetic.
Rename accordingly, using PowerVR names and public Apple names as a
guide.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:53 -04:00
Alyssa Rosenzweig
14bf020d75
agx: Model perspective coefficient reg in the IR
...
For perspective-correct interpolation, the W coefficient register is
needed. Instead of hardcoding this to cf0 and special casing, model this
in the IR and let the general handling kick in.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:53 -04:00
Alyssa Rosenzweig
24c3084411
agx: Add AGX_MESA_DEBUG=noopt option
...
To disable the optimizer. Trying to root cause a Neverball bug, this
gives one less thing to worry.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:53 -04:00
Alyssa Rosenzweig
f3877f56ba
asahi,agx: Rewrite varying linking
...
Instead of using driver_location magic and hoping things work, make the
linkage between vertex and fragment shaders explicit. Thanks to the
coefficient register mechanism reverse-engineered and documented earlier
in this series, this does not require any shader keys to support
separable shaders. It just requires that we regenerate the coefficient
register binding tables at draw time, based on the varying layouts
decided by the compiler independently for the VS and FS. This is more
robust in the face of separate shaders.
This also gets us glProvokingVertex() support without shader keys.
After that, we don't need any of the remapping prepasses. For fragment
shaders, any old mapping will do, so we can assign coefficient registers
as we go (based on what the program actually uses, not nir_variable
information that might be stale by this point). We do want to cache
coefficient registers, particularly for fragcoord.w which is used for
perspective interpolation everywhere.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:43:26 -04:00
Alyssa Rosenzweig
4b21db4111
asahi: Decode Interpolation packets
...
These have been known, just were missed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:38:11 -04:00
Alyssa Rosenzweig
c67169d218
asahi: Fix varying XML
...
Lots of changes from reverse-engineering harder the interactions with
fp16 and noperspective and such, and comparing against the PowerVR
driver code in Mesa that's been released since this XML was
originally written.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:38:11 -04:00
Alyssa Rosenzweig
ed215183e2
asahi: Encode known bits of Linkage in the XML
...
I'm pretty sure about these. There's too much hex anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
034d52643c
asahi: Correct bind fragment pipeline size
...
A number of structures encode their size, but we were ignoring it just
for this fragment pipeline bind. Fix that.
This fix might also apply to bind vertex pipeline. Unsure.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
651e4677ca
asahi: Split vertex/fragment pipeline binds
...
Although these are similar data structures, they are not identical and
trying to cover both in the same struct is causing problems with
aliasing. Split them out to get a more accurate representation.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
0fa5b05e91
asahi: Use a single bind texture/sampler per pipeline
...
Matches what Metal does. This is simpler and in the future could be
better optimized.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
b1180fe2f6
asahi: Fix using multiple textures/samplers
...
The counts for textures/samplers are specified in the bind
texture/sampler packets. What's in the bind pipeline appear to be...
hints? of some kind? It's a direct function of the numbers of textures
and samplers, but much more coarse. Unknown purpose.
This should be correct for up to 48 textures and at least 8 samplers.
For more than 48 textures, Metal switches to a "bindless" mode, where
the textures are instead bound with a bind uniform packet, ts* is no
longer read in the shader, and instead registers and immediates are used
to index the texture with a substantial preshader. Details TBD. We don't
need to worry about that for a long while, though.
Fixes a number of dEQPs.
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_both,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_fragment,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct.sampler2D_samplerCube_vertex,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_both,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_fragment,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays.sampler2D_samplerCube_vertex,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_both,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_fragment,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.array_in_struct.sampler2D_samplerCube_vertex,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_both,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_fragment,Crash
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays.sampler2D_samplerCube_vertex,Crash
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
d2fef02cc0
asahi: Dump all textures&samplers
...
This confirms the actual size of the texture descriptor -- 24 bytes.
The last 8 bytes have so far only been zeroed. It also confirms we got
the sampler descriptor size right.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
6d6dd44f82
asahi: Allow large uniform records
...
Now that we've fixed the binding XML, it's obvious how to bind lots of
uniforms in a single record. This is simpler and more efficient.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
c045d3761c
asahi: Extend counts in BIND packets
...
We can bind at least 16 textures. Fix the sizes in the XML so this can
be decoded correctly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
8a1050082f
asahi: Plumb through lower_clip_fs
...
Key to rast->clip_plane_enable and lower. This fixes translucency of one
of the surfaces in the Neverball title screen.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
e441896eb8
agx: Fix ld_var cf packing
...
Make it handle larger coefficient registers.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
47a3f1226c
agx: Fix packing of samplers in texture instrs
...
Typo in the handwritten packing code, oof!
Fixes incorrectly repeated shadows in Neverball (among many other bugs,
I assume). Huge thanks to Lina for the idea that this was the
bug -- fixing it was a breeze from there :-)
Fixes: 9f55538834 ("agx: Pack texture ops")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Suggested-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Alyssa Rosenzweig
9bd32fb33a
docs/asahi: Document varying interpolation
...
Varying interpolation is quite involved in the hardware. Now that I
understand how it works, add some documentation. This documentation is
too long and uses too much fancy formatting to put inline with the XML,
so put in our external documentation space.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17198 >
2022-08-07 20:15:03 -04:00
Konstantin Seurer
6b86c0ba90
radv: Switch to the GLSL leaf implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
e55c852600
radv: Add a GLSL leaf kernel implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
60a91dddf4
radv: Switch to the GLSL internal implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
f3a457656b
radv: Add a GLSL internal kernel implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
b1a8797de9
radv: Switch to the GLSL morton implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
f79fe32cdc
radv: Add a GLSL morton kernel implementation
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
46c723c7c0
radv: Add the basics for GLSL bvh kerrnels
...
Adds a meson build file for compiling GLSL compute shaders and a file with helpers for common acceleration structure build functionality.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
83a59403ae
radv: Add create_build_pipeline_spv helper
...
Just a copy of the non SPIR-V version that creates the shader module from SPIR-V.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
dfa5612067
radv: Remove unused push constant structs
...
Those are left over from !15648 and were never used in the final version.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
de75d9d1d0
radv: Remove accel_struct_build
...
Now that we always use LBVH this is not useful anymore.
In the future, when we have more options, we will use a different approach.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
c39271bb4b
radv: Always emulate fmin/fmax
...
The native path is not faster and float atomics won't be supported by
ancient glslangValidator versions, so just get rid of it.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
4f5da7939c
radv: Remove acceleration structure host builds
...
This code path is unmaintained and barely used.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
d0e2013633
radv: Move radv_acceleration_structure
...
Moves radv_acceleration_structure from radv_private to radv_acceleration_structure.
If we already have a acceleration structure header, we can also use it instead of radv_private.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
Konstantin Seurer
0e48165411
radv: Move accel struct structs to bvh/bvh.h
...
Moves all the acceleration structure structs to bvh/bvh.h so that thay can be used in build kernels.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17028 >
2022-08-07 09:26:08 +00:00
David Heidelberg
ec45430205
ci/lavapipe: implement traces
...
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17838 >
2022-08-07 08:46:26 +00:00
David Heidelberg
f6e59fa513
ci: prepare piglit-traces for WINE and DXVK
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17838 >
2022-08-07 08:46:26 +00:00
Chia-I Wu
6aa81bfb30
vulkan: disallow VK_KHR_performance_query on android
...
It turns out the extension was later blocked by
android.graphics.cts.VulkanFeaturesTest#testVulkanBlockedExtensions.
Fixes: 77b67a747e ("vulkan: Enable VK_KHR_performance_query on android")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6991
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Tested-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17891 >
2022-08-07 06:07:43 +00:00
Emma Anholt
cbbd9f3402
ci: Upgrade deqp-runner to 0.15.0.
...
This includes the new timeout fixes so that tests that throw lots of debug
don't delay the timeout triggering, and the fraction vs shuffling behavior
change so that "--fraction 2" doesn't just skip every other test as it
appears in the caselist (every vertex shader variant, for example).
The fraction vs shuffling change does mean we see some different fails on
some drivers now.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17876 >
2022-08-07 02:11:46 +00:00
Emma Anholt
f01ae0203d
ci: Add testing of the khr-single tests.
...
These got split out from gl4[3456]-master a while back, so we were missing
coverage in CI.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17876 >
2022-08-07 02:11:46 +00:00
Emma Anholt
478626fd94
ci/swrast: Add some flakes I've noticed in the IRC channel.
...
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17876 >
2022-08-07 02:11:46 +00:00
Iago Toral Quiroga
9d6770d20a
nir/lower_alu: drop unnecessary iand on uadd_carry result
...
uadd_carry returns 1 or 0, so ANDing with 1 is unnecessary. Probably
this was implemented thinking that it was returning a boolean value.
shader-db results for V3D:
total instructions in shared programs: 12463571 -> 12462964 (<.01%)
instructions in affected programs: 28994 -> 28387 (-2.09%)
helped: 110
HURT: 1
total uniforms in shared programs: 3704591 -> 3704588 (<.01%)
uniforms in affected programs: 247 -> 244 (-1.21%)
helped: 3
HURT: 0
total max-temps in shared programs: 2148138 -> 2148117 (<.01%)
max-temps in affected programs: 729 -> 708 (-2.88%)
helped: 23
HURT: 2
total sfu-stalls in shared programs: 21230 -> 21232 (<.01%)
sfu-stalls in affected programs: 0 -> 2
helped: 0
HURT: 2
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17903 >
2022-08-06 23:11:40 +00:00
Iago Toral Quiroga
8ecea47f06
broadcom/compiler: simplify code emitted for centroid coordinates
...
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17909 >
2022-08-06 22:34:25 +00:00
Timur Kristóf
e035c289b5
ac/nir/cull: Tweak phi for cull_small_primitive branch.
...
cull_small_primitive will now allow the caller to pass an
SSA def that it will use to determine if the primitive was
initially rejected.
This allows ACO to remove an s_branch instruction from every
NGG culling shader.
Fossil DB stats on Navi 21:
Totals from 60918 (45.16% of 134906) affected shaders:
CodeSize: 160086644 -> 159355824 (-0.46%); split: -0.46%, +0.00%
Instrs: 30477916 -> 30356092 (-0.40%); split: -0.40%, +0.00%
Latency: 139587915 -> 139611487 (+0.02%); split: -0.00%, +0.02%
InvThroughput: 21184261 -> 21184346 (+0.00%)
Copies: 2762930 -> 2702024 (-2.20%); split: -2.20%, +0.00%
Branches: 1236970 -> 1176052 (-4.92%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17919 >
2022-08-06 20:43:36 +00:00
Tatsuyuki Ishi
abc4eda846
radv: Implement radv_flush_before_query_copy to workaround UE Vulkan bugs.
...
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5740
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14208 >
2022-08-06 14:06:48 +00:00
David Heidelberg
4148a52520
ci: Windows runner is experiencing DNS issues; disable Microsoft farm
...
Ref: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7008
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17925 >
2022-08-06 11:09:18 +02:00
Dmitry Osipenko
46396e97be
virgl: Fix unmapping of blob resources
...
OpenGL API calls like glClearBufferData() result in mapping/unmapping
of a given buffer by Mesa and unmapping of a host blob fails in
virglrenderer because VirGL driver uses command that is intended for
unmapping of a guest buffer. In particular this causes problem for the
"Total War: Warhammer" game that gets GL_OUT_OF_MEMORY error due to the
failed unmapping command. Fix this by setting the mapping usage flag in
accordance to the resource flags, allowing virgl_buffer_transfer_unmap()
to differentiate host buffer from guest.
Fixes: 3b54e5837a ("virgl: support PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17914 >
2022-08-06 07:10:12 +00:00
Timur Kristóf
b731be2e96
aco: Remove branch instruction when exec is constant non-zero.
...
This mainly helps the "if (elect())" that is used in
NGG culling shaders, effectively removing a useless branch
from every culling shader.
Totals from 58346 (45.35% of 128653) affected shaders:
CodeSize: 153238668 -> 153005284 (-0.15%)
Instrs: 29066198 -> 29007852 (-0.20%)
Latency: 133626003 -> 133598182 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 20208765 -> 20208689 (-0.00%)
Branches: 1190209 -> 1131863 (-4.90%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13383 >
2022-08-05 23:58:57 +00:00
Timur Kristóf
baab6f18c9
aco: Optimize branching sequence during SSA elimination.
...
Totals from 63245 (49.16% of 128653) affected shaders:
CodeSize: 166703680 -> 166436164 (-0.16%)
Instrs: 31618383 -> 31551504 (-0.21%)
Latency: 149404811 -> 149337729 (-0.04%); split: -0.05%, +0.00%
InvThroughput: 23996388 -> 23994734 (-0.01%); split: -0.01%, +0.00%
Copies: 2794107 -> 2727228 (-2.39%)
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13383 >
2022-08-05 23:58:57 +00:00
Timur Kristóf
e4b0caae61
ac/nir/cull: Make cull functions more consistent.
...
Now they all return whether the primitive was rejected.
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
c721f751f2
ac/nir/ngg: Move LDS store of accepted flag into the inner branch.
...
For primitives which are rejected based on only W and face, this
will reduce the number of executed branches.
Fossil DB stats on Navi 21:
Totals from 60918 (45.16% of 134906) affected shaders:
CodeSize: 160330564 -> 160086644 (-0.15%)
Instrs: 30477385 -> 30477916 (+0.00%); split: -0.00%, +0.00%
Latency: 139802763 -> 139587915 (-0.15%); split: -0.15%, +0.00%
InvThroughput: 21198444 -> 21184261 (-0.07%); split: -0.07%, +0.00%
SClause: 749811 -> 749810 (-0.00%)
Copies: 2701482 -> 2762930 (+2.27%); split: -0.00%, +2.28%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
0d527bb1aa
ac/nir/cull: Change if condition for bounding box culling.
...
The previous code checked all_w_positive in the if condition.
Instead, always execute the bbox culling code and include
all_w_positive at the end.
We assume checking in the if is not beneficial because it's
very unlikely that there is no primitive in a wave whose W are
not all positive.
This allows moving other things to the condition
in the next commit.
Fossil DB stats on Navi 21:
Totals from 60918 (45.16% of 134906) affected shaders:
CodeSize: 160574204 -> 160330564 (-0.15%); split: -0.15%, +0.00%
Instrs: 30538297 -> 30477385 (-0.20%); split: -0.20%, +0.00%
Latency: 139810902 -> 139802763 (-0.01%); split: -0.01%, +0.00%
InvThroughput: 21198449 -> 21198444 (-0.00%); split: -0.00%, +0.00%
SClause: 749810 -> 749811 (+0.00%)
Copies: 2701474 -> 2701482 (+0.00%); split: -0.00%, +0.00%
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
fb4e68b724
ac/nir/cull: Move the contents of cull_bbox into ac_nir_cull_triangle.
...
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:28 +00:00
Timur Kristóf
e2ca24063a
ac/nir/cull: Move some code from cull_bbox into helper functions.
...
No Fossil DB changes.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17870 >
2022-08-05 22:10:27 +00:00
Samuel Pitoiset
239363f3c6
radv: implement VK_EXT_attachment_feedback_loop_layout
...
This extension introduces a new layout which allows applications
to both render and sample from the same image inside the same draw
(aka. feedback loops).
Previously, the GENERAL layout was used and this introduced some
rendering artifacts because the hw can't read&write DCC/HTILE for
the same image, and we try to keep it compressed on GFX10+.
This helps fixing corruption with D3D9 and RPCS3 games which
are candidate for feedback loops.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4411
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17883 >
2022-08-05 18:10:57 +00:00
Samuel Pitoiset
5992b8bbf7
vulkan: add support for VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17883 >
2022-08-05 18:10:57 +00:00
Mike Blumenkrantz
58858c9d00
vulkan: Update the XML and headers to 1.3.224
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17883 >
2022-08-05 18:10:57 +00:00
Rob Clark
2d7f00d5c8
freedreno: Drop fixed upper bound on # of tiles
...
Placate things that think 16k x 16k FBO is a good idea.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6997
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17888 >
2022-08-05 17:31:55 +00:00
Rob Clark
2497741a1b
freedreno/gmem: Fix col0 calc
...
Fix typo in calculation of position of start of a row of tiles. This
could otherwise cause an out-of-bounds access in the next patch.
Fixes: 81d85be9a5 freedreno/gmem: Reverse order of alternative tile rows
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17888 >
2022-08-05 17:31:55 +00:00
Rob Clark
8b3f2a9e5d
freedreno/drm: Fix potential bo cache vs export crash
...
Keep the list head valid (empty) after allocation from bo cache. Avoids
a potential later crash in lookup_bo in the following sequence:
1. alloc, bo cache hit
2. export
3. re-import
Cc: mesa-stable
Fixes: f3cc0d2747 ("freedreno: import libdrm_freedreno + redesign submit")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6988
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17888 >
2022-08-05 17:31:55 +00:00
Corentin Noël
0a0205f045
virgl/ci: Update virglrenderer
...
Update virglrenderer to the latest version on time.
Signed-off-by: Corentin Noël <corentin.noel@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17853 >
2022-08-05 15:12:29 +00:00
David Heidelberg
0fc06daabb
ci: separate wine setup into own script
...
It will be used by LAVA jobs too.
Reviewed-by: "Sergi Blanch Torne" <sergi.blanch.torne@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17887 >
2022-08-05 14:34:42 +00:00
David Heidelberg
ceb52f6460
ci: make shellcheck happy on dxvk script
...
Reviewed-by: "Sergi Blanch Torne" <sergi.blanch.torne@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17887 >
2022-08-05 14:34:42 +00:00
David Heidelberg
1d8cf2ecdd
ci: move DXVK instalation outside of x86_test-vk
...
It will be used by LAVA jobs.
Reviewed-by: "Sergi Blanch Torne" <sergi.blanch.torne@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17887 >
2022-08-05 14:34:42 +00:00
Yonggang Luo
b6fb2da6f2
d3d12: Fixes compile error with mingw/gcc-x64 when static linkage to runtime library
...
Closes #6968
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Suggested-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Tested-by: Prodea Alexandru-Liviu <liviuprodea@yahoo.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17889 >
2022-08-05 14:17:20 +00:00
David Heidelberg
f9b95667fd
ci: Turn off the entire Lima farm (devices report out-of-space)
...
Reference: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7009
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17910 >
2022-08-05 12:49:54 +00:00
Jason Ekstrand
239623ecee
anv: Don't require 32-bit addresses for scratch on Gen12.5+
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Jason Ekstrand
d82cea5fc3
genxml: Add BVH data structures
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Jason Ekstrand
a680083546
intel/rt: Handle multiple exits in lower_shader_returns
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Jason Ekstrand
a329e6e511
intel/rt: Handle halts in any-hit shaders properly
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Jason Ekstrand
caed8df146
intel/fs_reg_allocate: Improve compressed instruction self-interference
...
The old version worked fine for SIMD16 instructions but SIMD8
instructions where the destination spans two registers have the same
problem.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Lionel Landwerlin
1ce5be916f
intel/nir: specify synchronous value for tracing op
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Lionel Landwerlin
03ab1d6aaa
intel/compiler: document units of brw_ubo_range fields
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Lionel Landwerlin
734384e8bc
intel/fs: fixup simd selection with shader calls
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Lionel Landwerlin
9cb9390962
intel/fs: store num of resume shaders in prog_data
...
That way we can look at the SBT entries for debug purposes.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17908 >
2022-08-05 11:51:31 +00:00
Filip Gawin
b2bf792ea5
r300: add khr r400 failures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17895 >
2022-08-05 11:06:18 +00:00
Filip Gawin
dce6409e6d
r300: add list of deqp gles2 r400 failures
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17895 >
2022-08-05 11:06:18 +00:00
Iago Toral Quiroga
20591573f1
broadcom/compiler: use nir_opt_idiv_const
...
total instructions in shared programs: 12463625 -> 12463571 (<.01%)
instructions in affected programs: 1758 -> 1704 (-3.07%)
helped: 12
HURT: 0
total uniforms in shared programs: 3704589 -> 3704591 (<.01%)
uniforms in affected programs: 17 -> 19 (11.76%)
helped: 0
HURT: 1
total max-temps in shared programs: 2148088 -> 2148138 (<.01%)
max-temps in affected programs: 170 -> 220 (29.41%)
helped: 0
HURT: 10
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17871 >
2022-08-05 09:28:22 +00:00
Iago Toral Quiroga
73e8fc3efb
broadcom/compiler: don't use imprecise_32bit_lowering for idiv lowering
...
This is known to produce bogus results for certain combinations of
operands, so don't use it. See this issue for details:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/6555
With this change, the idiv lowering will produce mul_high instructions,
so we need to instruct the compiler to lower those with the ALU lowering
right after the idiv lowering by adding the lower_mul_high option (we
only need to add this to V3D, since V3DV already had it set). This will
cause injection of uadd_carry instructions, for which we have backend
implementations that produce better code for us than the NIR lowering.
total instructions in shared programs: 12457692 -> 12463625 (0.05%)
instructions in affected programs: 23115 -> 29048 (25.67%)
helped: 0
HURT: 111
total threads in shared programs: 416372 -> 416368 (<.01%)
threads in affected programs: 8 -> 4 (-50.00%)
helped: 0
HURT: 2
total uniforms in shared programs: 3704067 -> 3704589 (0.01%)
uniforms in affected programs: 5804 -> 6326 (8.99%)
helped: 2
HURT: 109
total max-temps in shared programs: 2147845 -> 2148088 (0.01%)
max-temps in affected programs: 2456 -> 2699 (9.89%)
helped: 6
HURT: 91
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17871 >
2022-08-05 09:28:22 +00:00
Marek Olšák
0c1801706e
ac/llvm: handle external textures in ac_nir_lower_resinfo
...
Fixes: 4f622d62d0 - ac/nir: add ac_nir_lower_resinfo
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6993
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17902 >
2022-08-05 09:04:17 +00:00
Marek Olšák
bdfaf51014
radeonsi: fix a regression due to reordering PIPE_SHADER_*
...
Fixes: 27f46465c7 - gallium/tgsi: reorder pipe shader type defines.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17902 >
2022-08-05 09:04:17 +00:00
Marek Olšák
7e45622728
radeonsi/ci: update failing tests on navi21
...
These pass now.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17902 >
2022-08-05 09:04:17 +00:00
Marek Olšák
279315fd73
radeonsi: don't assume that TC_ACTION_ENA invalidates L1 cache on gfx9
...
Just got into a midnight discussion with a hw guy.
TC_ACTION_ENA apparently doesn't invalidate L1, so don't clear
the INV_VCACHE flag.
Fixes: 4056e953fe - radeonsi: move emit_cache_flush functions into si_gfx_cs.c
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17902 >
2022-08-05 09:04:17 +00:00
Sagar Ghuge
50802f96a8
iris: Handle new untyped dataport cache flush PIPE_CONTROL field
...
Also while switching to GPGPU pipeline, make sure to flush the untyped
dataport cache. HDC pipeline flush bit must be set if we are flushing
untyped dataport L1 data cache.
v2: Add utrace support (Lionel)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:44:22 +03:00
Sagar Ghuge
845ab3d627
anv: Handle bits to flush data-port's Untyped L1 data cache
...
v2: Drop ANV_PIPE_UNTYPED_DATAPORT_CACHE_FLUSH_BIT from invalidate bits (Lionel)
Add utrace support
Expand on comment about PIPE_CONTROL::UntypedDataPortCache
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Lionel Landwerlin
1f34ce7e8e
intel/ds: track untyped dataport flushes
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Sagar Ghuge
8aead60434
iris: Specify Untyped L1 cache policy for stateless accesses
...
Set write back L1 cache policy in STATE_BASE_ADDRESS instruction for A64
messages.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Suggested-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Sagar Ghuge
79cd2c2759
anv: Specify Untyped L1 cache policy for stateless accesses
...
Set write back L1 cache policy in STATE_BASE_ADDRESS instruction for A64
messages.
v2: Also set the value in genX_state.c (Lionel)
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Suggested-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Sagar Ghuge
d4b2b769d1
intel/isl: Setting L1 caching policy to Write-back mode
...
For a RW L1 cache, both reads and writes are cached in the L1, at high
priority (MRU position). For a RO L1 cache, reads are cached at higher
priority and writes bypass the cache.
v1: (Ken)
- Set caching policy for buffer surfaces too
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:43:50 +03:00
Lionel Landwerlin
5e21f47428
anv: fixup PIPE_CONTROL restriction on gfx8
...
We're missing a condition that is currently papered over by having
ANV_PIPE_HDC_PIPELINE_FLUSH_BIT in the invalidate bits.
v2: rework with simplication (Caio)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16905 >
2022-08-05 10:42:16 +03:00
Juan A. Suarez Romero
644daa9743
vc4: properly restore vc4 debug option
...
Otherwise VC4_DEBUG does not work.
Fixes: c3f5d27631 ("vc4/v3d: restore calling debug_get_option_vc4/v3d_debug")
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17882 >
2022-08-05 07:16:00 +00:00
Dave Airlie
5449e6d14c
draw: don't touch info values that aren't valid.
...
These shouldn't be accessed, and shows up as an uninit access in
valgrind with piglit rasterpos
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10641 >
2022-08-05 06:18:44 +00:00
Dave Airlie
f4abd32749
llvmpipe/ci: update ci results for clover.
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10641 >
2022-08-05 06:18:44 +00:00
Dave Airlie
0d41c4b3d9
lavapipe: scan shader for info before lowering images.
...
Otherwise the values will be wrong.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10641 >
2022-08-05 06:18:44 +00:00
Dave Airlie
5036e0a08e
lavapipe: lower images to non-derefs in vulkan side
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10641 >
2022-08-05 06:18:44 +00:00
Dave Airlie
a17635e988
gallivm/nir/st: lower image derefs in advance.
...
This improves clover from crashing to just failing, but I mainly
want it this to cleanup the nir code first
It's also important the shaders coming from the state tracker
for feedback get images lowered when they are draw shaders now.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10641 >
2022-08-05 06:18:44 +00:00
Feng Jiang
060936fe0d
virgl/vtest: fix memory overwrite problem in virgl_vtest_send_get_caps()
...
Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17901 >
2022-08-05 06:07:11 +00:00
Yiwei Zhang
f54aa49c14
venus: double the abort timeout to allow long shader compiles
...
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17898 >
2022-08-05 04:47:39 +00:00
Yiwei Zhang
ecd5509969
venus: increase busy wait order in vn_relax
...
This is mainly to workaround a platform issue that has huge sleep
penalty, which could lead to a timeout if the small synchronous queries
are going to sleep.
This change adjusts the warn and abort order correspondingly so that to
match prior timing.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Reviewed-by: Ryan Neph <ryanneph@google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17898 >
2022-08-05 04:47:39 +00:00
Mike Blumenkrantz
1911dc5abb
zink: remove an old RGBA4 nvidia workaround
...
this should be automatically handled
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:05 +00:00
Mike Blumenkrantz
32446f51a8
zink: don't fixup sparse texops
...
this is broken, and these will never need to be fixed
Fixes: 3a47576687 ("zink: add a compiler pass to match up tex op dest types")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:05 +00:00
Mike Blumenkrantz
247b8f2924
zink: add all format modifiers when adding for dmabuf export
...
adding LINEAR before was a good starter step, but LINEAR
might not actually be supported (e.g., nvidia)
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:05 +00:00
Mike Blumenkrantz
5e8ec87b68
zink: don't add modifiers if EXT_image_drm_format_modifier isn't present
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
c824a53f35
zink: use modifier_aspect to check for modifier plane in zink_resource_get_param
...
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
b59eb9c8b7
zink: demote dmabuf tiling to linear if modifiers aren't supported
...
this is effectively the same as LINEAR, and it still allows dmabuf creation
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
b9c413e8ec
zink: add u_queue.h to kopper header
...
types are used, so include the header
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
188721d6d3
nine: check return on resource_get_handle
...
this has a return code, and if it return false, this is probably an
exit condition
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
b55b63991a
zink: support PIPE_QUERY_TIMESTAMP_DISJOINT
...
the key point here is that disjoint is always false, but also return a handwavy
guess at frequency value based on timestampPeriod
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
758f60467e
zink: export PIPE_CAP_MULTISAMPLE_Z_RESOLVE
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
0f97e317e3
zink: rewrite all undefined shader reads as 0001 instead of undef
...
this is a little less hostile towards broken/buggy apps
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
2bbc2c49ec
zink: handle invalid gl_TexCoord reads
...
if a texcoord input is read in a fragment shader but not written in
the previous stage, the texcoord variable must be preserved until
nir_lower_texcoord_replace has (possibly) run, and only then can it
be replaced with a 0000 read
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
f60f246426
zink: explicitly set nir cursor in rewrite_and_discard_read
...
not sure if this is a bug but it looks weird
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
721f33cd0f
zink: fix return for PIPE_CAP_DEPTH_CLIP_DISABLE
...
this uses the extension now
Fixes: 21ea19d504 ("zink: Always enable depth clamping, make depth clipping independent.")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
55a4a6b8dc
zink: handle !half_pixel_center
...
the shader is already getting a -0.5,-0.5 bias, but the viewport also
needs to be shifted by 0.5 to match
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
8a8edb310d
zink: handle unscaled depth bias from nine
...
nine uses this to pass unscaled units for depth bias, which means
the units must be scaled based on the format of the depth buffer
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
a912952c3e
zink: drop mode_changed check from linewidth/depthbias draw updates
...
this doesn't need to be updated on primtype change since it's always
set
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
8f7b892957
zink: allow sw loading with D3D_ALWAYS_SOFTWARE for nine
...
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
cbbf25abfd
zink: use maintenance4
...
just by enabling this there are fewer validation warnings
truly incredible.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
ff1fb9101f
zink: force a new framebuffer for clear_depth_stencil if the clear region is big
...
can't clear outside the framebuffer, so set a new one if necessary
Fixes: f1f08e3529 ("zink: massively simplify zink_clear_depth_stencil")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Mike Blumenkrantz
80364c4d19
zink: force flush clears on fb change if fb geometry changes
...
Fixes: 66ceea7ed9 ("zink: lift clearing on fb state change up a level")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17775 >
2022-08-05 03:51:04 +00:00
Connor Abbott
7c7feab4e1
tu: Implement VK_EXT_vertex_input_dynamic_state
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17554 >
2022-08-05 03:22:00 +00:00
Connor Abbott
c82af0c43b
tu: Decouple vertex input state from shader
...
Emit VFD_DECODE and VFD_DEST separately, similarly to what Gallium does.
This means we emit a few more VFD_DECODE for binning shaders and when
there are unused attributes, but hopefully the overhead won't be too
much. In exchange we lose one draw state, and in the future we can
pre-compute the dynamic vertex state independently of the shader, so
there should be lower CPU overhead with dynamic vertex inputs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17554 >
2022-08-05 03:22:00 +00:00
Rob Clark
35dc99924a
freedreno: Disable UBWC for frontbuffer rendering
...
Note that glamor would still need to set this new
GBM_BO_USE_FRONT_RENDERING flag.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6865
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17799 >
2022-08-05 00:57:38 +00:00
Rob Clark
0c6d4cf9a2
gbm: Add USE_FRONT_RENDERING flag
...
Provide a use flag to let the driver know that the allocated buffer will
be used for frontbuffer rendering. For example, bandwidth compressed
formats should usually be avoided for frontbuffer rendering to avoid the
visual corruption that results from this display racing with the GPU
writing header data vs. pixel data.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17799 >
2022-08-05 00:57:38 +00:00
Emma Anholt
126e83d970
ci/zink: Re-enable a630 zink-on-turnip traces job using gbm as the backend.
...
This is a workaround for #6753 , without having to build and install a
custom xlib in our containers. Maybe some day debian will have a
backport?
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17549 >
2022-08-05 00:23:16 +00:00
Emma Anholt
a3113fbcfc
zink: Replace the "optimal_tiling" flag with a "linear" flag instead.
...
That's what it actually means now.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17549 >
2022-08-05 00:23:16 +00:00
Emma Anholt
01ce65da72
zink: Take the tiling path for resources with modifiers.
...
transfer_map (the only consumer of the flag now) was doing direct mapping
on resources with modifiers (UBWC compressed images on turnip) and
accessing them as linear. We definitely want the staging blit path
instead.
Fixes glReadPixels() from gbm surfaces on turnip.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17549 >
2022-08-05 00:23:16 +00:00
Karol Herbst
c1b0eb8de4
util/memstream: insert null terminator on windows
...
Libc's open_memstream is doing so on Unix systems already.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
d1427563e3
gallium: mark the input data as const in pipe_grid_info
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
caf2794f6f
vtn: silence warning about linkage
...
For OpenCL kernels we simply link together SPIR-V files, so the only case
where we are left with linking shaders together is libclc and we handle
that just fine.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
6637b1f41e
clc: undefine spirv defs to work around LLVMs headers
...
Clang unconditionally adds those definitions if using a spirv LLVM target.
That's not a problem on its own, but clang's internal OpenCL header enable
a bunch of OpenCL extensions if those are set.
Lucky for us, we can simply undefine them and spare us the trouble of
finding an upstream solution to this problem :)
This fixes the OpenCL CTS' compiler features_macro test.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
6b38114ed7
microsoft/clc: drop inline sampler reordering
...
nir_dedup_inline_samplers is now taking care of it.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Jason Ekstrand
de2065496a
nir: Clean up and improve nir_dedup_inline_samplers
...
It now removes dead inline sampler variables and moves everything to the
end so we no longer need nir_move_inline_samplers_to_end().
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
2b12985465
nir: extract the clc inline sampler dedup pass from clc
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
31ed24cec7
nir/lower_images: extract from clover
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:50 +00:00
Karol Herbst
01500198a6
nir: serialize printf metadata for CL kernels
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:49 +00:00
Karol Herbst
bdc0a8624c
printf: add some unit tests
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:49 +00:00
Karol Herbst
aa82808645
printf: extract clovers printf impl
...
Also make the code cleaner and simplier.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17334 >
2022-08-04 23:53:49 +00:00
David Heidelberg
160aa603f5
ci/bin: ignore Gitlab GQL cache
...
Fixes: 266e3a627f ("ci/bin: Cache GQL queries")
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17885 >
2022-08-04 22:00:21 +00:00
Konstantin Seurer
12a4581a06
radv/nir_lower_abi: Use instructions_pass
...
nir_shader_instructions_pass is sufficient and it should be a bit faster
than nir_shader_lower_instructions.
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17727 >
2022-08-04 21:22:29 +00:00
Yonggang Luo
1b7b74db06
meson: Cleanup usage dri_drivers as it's a dead option
...
Initial value of with_dri have no relation with dri_drivers.length()
Do not show useless `DRI drivers:`
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17821 >
2022-08-04 19:07:06 +00:00
Yonggang Luo
56b0e3a575
meson: Place all pre_args about HAVE_DRI* into single place
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17821 >
2022-08-04 19:07:06 +00:00
Dylan Baker
9d6204c799
docs: update calendar for 22.2.0-rc1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
0fcdcf2103
docs: update calendar and link releases notes for 22.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
17355d0dcf
docs: update calendar and link releases notes for 22.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
fcc547328f
docs: Add sha256 sum for 22.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:32 +00:00
Dylan Baker
7b65653900
docs: add release notes for 22.1.4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:31 +00:00
Dylan Baker
aa14d6144b
docs: Add sha256 sum for 22.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:31 +00:00
Dylan Baker
604b48b641
docs: add release notes for 22.1.5
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17890 >
2022-08-04 18:31:31 +00:00
Dmitry Osipenko
32211788d0
util/disk_cache: Add new mesa-db cache type
...
Introduce new cache type, the Mesa-DB. This is a single-file read/write
cache that is based on the read-only Fossilize DB cache. Mesa-DB supports
cache size capping. It's a much more efficient cache than the multi-file
cache because Mesa-DB doesn't have the inode overhead. The plan is to make
Mesa-DB the default cache implementation once it will be deemed as stable
and well tested. For now users have to set the new MESA_DISK_CACHE_DATABASE
environment variable in order to active the Mesa-DB cache.
Mesa-DB cache is resilient to corrupted cache files and doesn't require
maintenance from users and developers. The size capping is implemented
by evicting least recently used cache items and compacting the cache
database files with the evicted entries. In order to prevent frequent
compaction of the cache, at minimum a half of cache is evicted when cache
is full.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
f64f74b8f2
util/disk_cache: Make disk_cache_os.h usable by C++ code
...
The cache tests are written in C++ and the upcoming new Mese-DB cache
tests will need to include disk_cache_os.h that misses extern "C"
modifier required by C++ linkage. Add the modifier.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
517e523a2a
util/disk_cache: Move struct cache_entry_file_data to the disk_cache_os.h
...
Relocate struct cache_entry_file_data to the header file, making it
accessible to the cache testing code. This is a preparatory step towards
addition of the new Mesa-DB cache type.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
d86335dd49
util/disk_cache: Append to disk_cache_load_cache_index() with _foz
...
The disk_cache_load_cache_index() is solely about the foz-db cache and
we're going to add the new cache type. Append the function name with
_foz postfix to improve the naming, making clear what that function is
about.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
d423a4b2aa
util/disk_cache: Enable testing of uncompressed caches
...
Mesa caches are compressed by default and we just added option to disable
compression that will be needed by the new Mesa-DB cache. Let's enable
testing of uncompressed caches for the multi-file and foz-db caches in
addition to the compressed to increase test coverage of the new code.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Suggested-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Dmitry Osipenko
2a9b4ad177
util/disk_cache: Add option to disable compression
...
The shader cache files produced by multi-file cache have a minimum size
limitation imposed by filesystem, usually it's 4KB. In order to make
cache tests suitable for a single file caches, we need to bypass the data
compression, making size of written out data determined for the eviction
testing.
The disk_cache_create() now checks whether driver_id name is set to
"make_check_uncompressed" in order to disable cache data compression.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16888 >
2022-08-04 17:52:49 +00:00
Omar Akkila
8e6bdb2ed3
ci: Add vulkan dEQP tests for venus
...
Co-authored-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:15:33 +02:00
Omar Akkila
5ac14a97e2
ci: Enable virtio-experimental in testing
...
Enable building the virtio vulkan (venus) driver.
Co-authored-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:15:31 +02:00
Omar Akkila
91ab35efab
ci: Build crosvm with opaque fd mapping support
...
This enables crosvm to map opaque-fd-backed external memory
into the guest.
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:15:13 +02:00
Omar Akkila
486a24c520
ci: Move crosvm to the base test image
...
This allows crosvm to be used in the test-gl and test-vk images
Co-authored-by: Corentin Noël <corentin.noel@collabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:14:49 +02:00
Omar Akkila
46ba0f0ffa
ci: Merge common builds in debian test jobs
...
Co-authored-by: Corentin Noël <corentin.noel@colabora.com >
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692 >
2022-08-04 15:14:20 +02:00
Mike Blumenkrantz
6915d1978a
tgsi_to_nir: handle compact arrays for clipdistance
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17770 >
2022-08-04 12:17:15 +00:00
Mike Blumenkrantz
26317f16fd
tgsi_to_nir: fix clipdistance store writemask
...
this shouldn't be writing undefs to pad out the clipdistance vec4,
it should just be doing the writes using the mask of the array size
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17770 >
2022-08-04 12:17:15 +00:00
David Heidelberg
95a7b65c14
ci: replace gzip usage with zstd where posible
...
v2: added missing zstd to arm_build.sh
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17776 >
2022-08-04 11:21:45 +00:00
David Heidelberg
784642f773
ci: compress LAVA rootfs with zstd instead of gzip
...
Visible size reduction and minor performance improvement at no cost.
rootfs measure:
```
2022-07-27 11:15:16.235268: 475MB downloaded in 111.59s (4.26MB/s)
2022-07-27 15:07:40.984857: 425MB downloaded in 85.57s (4.97MB/s)
```
So let say approx. 95s vs 85s if we assume 5MB/s, which can bring us
10s speedup...
Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17776 >
2022-08-04 11:21:45 +00:00
Juan A. Suarez Romero
29ccd991a8
vc4/simulator: use i915/amd ioctls for BO
...
So far we create dumb buffers to emulate the ioctls in VC4, but these
doesn't work when using an Intel or AMD GPUs.
As in the case of V3D, let's use specific ioctls for these cases.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Tested-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Iago Toral Quroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17872 >
2022-08-04 11:03:19 +00:00
Frank Binns
e3b7fad356
pvr: get free list min size from the runtime info
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17850 >
2022-08-04 10:55:50 +00:00
Dave Airlie
0bb03ffc76
gallium: use gl shader types as the basis for the gallium ones
...
This should enable a rename transistion.
Trace needs to swap over to a non-generated version, but that should be fine.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747 >
2022-08-04 08:17:39 +00:00
Dave Airlie
9edd861eb1
gallium: fixup some inconsistent uses of enum pipe_shader_type.
...
These should be the enum not unsigned.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com > (panfrost)
Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com > (v3d)
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747 >
2022-08-04 08:17:39 +00:00
Dave Airlie
49253c9c1b
gallium/iris/crocus: collapse a bunch of conversion functions.
...
Add some static asserts.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747 >
2022-08-04 08:17:39 +00:00
Dave Airlie
27f46465c7
gallium/tgsi: reorder pipe shader type defines.
...
Line these up with Mesa, prepare for fallout.
zink: the one where Mike gets overfriendly with enum layouts.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747 >
2022-08-04 08:17:39 +00:00
Dave Airlie
9bbf235fd9
svga: compare shader type against compute not tess eval.
...
To get all graphics stages compare < COMPUTE not <= TESS_EVAL
should make it more robust against reordering.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747 >
2022-08-04 08:17:39 +00:00
Dave Airlie
a26543f636
virgl: abstract virgl shader stages from pipe shader stages.
...
If the gallium ones get reordered, add the abstraction to the virgl
wire types.
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747 >
2022-08-04 08:17:39 +00:00
Dave Airlie
64e8993476
zink: add defines for the shader stage templates.
...
This just allows fixing these up easier later.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17747 >
2022-08-04 08:17:39 +00:00
Dave Airlie
a9d8d606cc
llvmpipe/gallivm/draw: introduce a buffer type.
...
In order to do vulkan properly we need to move towards proper descriptor
based operations for the shader.
This is a bit of a precursor, this consolidates the ubo/ssbo stuff into
a buffer type and uses that in the backend.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17783 >
2022-08-04 16:48:07 +10:00
Dave Airlie
118d61df59
draw: fix up jit type creation for gs/tcs/tes
...
These were using numbers instead of defines, which makes
reordering them harder.
This should have no functional differences.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17783 >
2022-08-04 16:48:03 +10:00
Dave Airlie
e145912654
lavapipe: enable shader clock
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17868 >
2022-08-04 04:21:49 +00:00
Dave Airlie
c6cc3dece0
llvmpipe: add shader clock support
...
Add support for calling out to the os time functions from the llvm side.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17868 >
2022-08-04 04:21:49 +00:00
pal1000
25e2c4d784
Microsoft clc: strip lib prefix
...
Otherwise OpenCLon12 ICD can't load it
Ref: https://github.com/microsoft/OpenCLOn12/search?q=clon12compiler
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17856 >
2022-08-04 04:13:51 +00:00
pal1000
ec46a85c4f
d3d12/dzn/spirv2dxil: Require version library
...
Fixes: b8328c9 ("microsoft/compiler: Blacklist DXIL validator 1.6 from 20348 SDK")
Closes : #6952
Closes : #6959
v2: Always lookup version library on Windows
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17837 >
2022-08-04 03:15:41 +00:00
Emma Anholt
42a52a8be1
ci/bare-metal: Re-open serial and everything after test phase timeout.
...
If we got a "Reached the end of the CPU serial log without finding a
result" because the test phase timed out, then the CPU serial would have
been closed as part of the timeout process, so we need to close the rest
and re-instantiate the servo run class.
fastboot and poe already re-instantiate the class on retry.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17689 >
2022-08-04 02:48:26 +00:00
Julia Tatz
4e2f6e5b4c
zink: Advertise PIPE_CAP_NATIVE_FENCE_FD
...
Enables EGL_ANDROID_native_fence_sync
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17478 >
2022-08-04 02:33:58 +00:00
Mike Blumenkrantz
86e4fcd9a9
zink: add a graphics pipeline library implementation
...
this is only for driver debugging/validation and will not
activate unless ZINK_PIPELINE_LIBRARY_FORCE=1 is specified since it
can only ever add overhead and slow things down
...for now
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
e20aa7eb3a
zink: set program pipeline array idx earlier in zink_get_gfx_pipeline
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
ed733d934e
zink: reorganize zink_gfx_pipeline_state a little
...
this is more optimal for library-based hashing
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
5b7eb0d9d3
zink: break out program primtype->idx conversion function
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
2215377aa0
zink: change zink_create_gfx_program signature
...
no functional changes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
80fac34d92
zink: hook up pipeline_library extensions
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
ae022b784c
zink: always set vertex dynamic states
...
even if there are no bindings, this should be set in order to further
deduplicate the number of pipelines needed
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Mike Blumenkrantz
3d58642984
zink: init cache_put program fence on program creation
...
re-initializing here might overwrite an existing cache_put job
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17225 >
2022-08-04 02:16:18 +00:00
Dave Airlie
4c0a7a169d
gallivm: fix printf hook for cached shaders.
...
I've noticed this before but never tracked it down, but it's annoying.
The printf hooks would crash with debug shaders when they were loaded
from the cache. This was because nothing was initing the printf hook
in the cached path so the global was never set.
No problems just always creating this afaics.
Fixes: 333ee94285 ("gallivm: rework debug printf hook to use global mapping.")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17867 >
2022-08-04 01:35:39 +00:00
Chia-I Wu
f0558c6f1c
turnip: use SPDX-License-Identifier
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
8977913a23
turnip: remove headers from libtu_files
...
meson can work out the dependencies.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
381f234ab8
turnip: remove tu_private.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
5f7538f241
turnip: move away from tu_private.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
46baf86414
turnip: update tu_util.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
e99703b515
turnip: add tu_android.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
8e61bee30c
turnip: add tu_cmd_buffer.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
6666ec3945
turnip: add tu_device.h
...
Also drop unused
- tu_instance_extension_supported
- tu_physical_device_api_version
- tu_physical_device_extension_supported
- tu_device_submit_deferred_locked
- tu_get_perftest_option_name
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
9d9bf78565
turnip: update tu_autotune.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
4fc31e4af3
turnip: add tu_wsi.h
...
Also drop unused x11 and wayland type definitions.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
543fac108d
turnip: add tu_pass.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
3c607309c9
turnip: add tu_lrz.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
79dd12478f
turnip: add tu_dynamic_rendering.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
4f759fddba
turnip: add tu_clear_blit.h
...
Also drop unused tu_emit_load_gmem_attachment.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
6430efcab7
turnip: add tu_pipeline.h
...
Also drop unused tu_pipeline_key.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
ec5bc3d8ff
turnip: add tu_shader.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
a7fe90434c
turnip: update tu_descriptor_set.h
...
Also drop unused tu_descriptor_range.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
216f19e62f
turnip: add tu_formats.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
095dfcae45
turnip: add tu_image.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
65a5fbcb15
turnip: add tu_query.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
51d416a7e4
turnip: update tu_cs.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
2e337f05ab
turnip: add tu_suballoc.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
4d9ac3d0df
turnip: add tu_drm.h
...
Also define tu_syncobj_from_handle only when TU_USE_KGSL.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
120469efea
turnip: remove includes that are already in tu_common.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:12 +00:00
Chia-I Wu
0312157101
turnip: add tu_common.h as the common header
...
Move most includes and defines in tu_private.h to the new tu_common.h.
tu_common.h is a header that all other files include, mostly indirectly
through tu_private.h. The only exceptions are tu_perfetto.h and
tu_tracepoints.h, because ir3 headers are not compatible with C++.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17811 >
2022-08-04 00:40:11 +00:00
Constantine Shablya
2af624706a
anv: use nir_opt_uniform_access
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17558 >
2022-08-03 23:57:50 +00:00
Constantine Shablya
d2754b12cd
radv: use nir_opt_uniform_access
...
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17558 >
2022-08-03 23:57:50 +00:00
Constantine Shablya
fa5559f272
nir: add a pass to remove non-uniform access qualifier when the operands are uniform
...
Signed-off-by: Constantine Shablya <constantine.shablya@collabora.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17558 >
2022-08-03 23:57:50 +00:00
Guilherme Gallo
fcbfce4e18
ci/bin: Print job needs DAG in ci_run_n_monitor
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17791 >
2022-08-03 23:10:37 +00:00
Guilherme Gallo
266e3a627f
ci/bin: Cache GQL queries
...
To avoid abusing fd.o Gitlab instance, let's cache API queries that
should have the same response. This will speedup the use of the client
tools as well.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17791 >
2022-08-03 23:10:37 +00:00
Guilherme Gallo
101697ceb3
ci/bin: Add script to expand jobs manifest
...
Normally, Mesa devs bump into CI errors and need to replicate the CI job
environment locally, but that is not an easy task, since one needs to
find the merged YAML CI file from Gitlab interface.
As it can happen often, here is a script that use Gitlab's GraphQL and
finds all the variables set by it, alongside with the container image
used to run it and the script that it will run.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17791 >
2022-08-03 23:10:37 +00:00
Guilherme Gallo
39cdcea251
ci/bin: Make ci_run_n_monitor finds dependencies automatically
...
Use the GraphQL util to find dependencies accurately saving up time for
both developers and runners.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17791 >
2022-08-03 23:10:37 +00:00
Guilherme Gallo
caf9900b3d
ci/bin: Sort imports from ci_run_n_monitor.py
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17791 >
2022-08-03 23:10:37 +00:00
Guilherme Gallo
65b6edee3e
ci/bin: Add utility to find jobs dependencies
...
Use GraphQL API from Gitlab to find jobs dependencies in a pipeline.
E.g: Find all dependencies for jobs starting with "iris-"
```sh
.gitlab-ci/bin/gitlab_gql.py --sha $(git -C ../mesa-fast-fix rev-parse HEAD) --print-dag --regex "iris-.*"
```
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17791 >
2022-08-03 23:10:37 +00:00
Guilherme Gallo
63082cf709
ci/lava: Add timeout header info for LAVA GL Sections
...
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17703 >
2022-08-03 21:50:34 +00:00
Guilherme Gallo
69400a0762
ci/lava: Customise sections timeouts via envvars
...
Refer to environment variables before falling back to the default
timeouts for each Gitlab section.
This makes more explicit in the job definition that there is a
particular case where the job may obey different timeouts.
Closes : #6908
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17703 >
2022-08-03 21:50:34 +00:00
Chia-I Wu
ceb9892c1c
vulkan: extend ALLOWED_ANDROID_VERSION up to api level 31
...
Compiled from the extension lists on android11-tests-release and
android12-tests-release branches.
v2: remove VK_EXT_color_write_enable that slipped in
Reviewed-by: Emma Anholt <emma@anholt.net > (v1)
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17526 >
2022-08-03 20:09:46 +00:00
Chia-I Wu
e7bd099dea
vulkan: fix ALLOWED_ANDROID_VERSION up to api level 29
...
Compiled from the extension lists on oreo-mr1-cts-release,
pie-cts-release, and android10-tests-release branches.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17526 >
2022-08-03 20:09:46 +00:00
Chia-I Wu
ccf5481a6c
vulkan: fix ALLOWED_ANDROID_VERSION for api level 26
...
I mainly wanted to document that the list is compiled from
dEQP-VK.info.device_extensions and
dEQP-VK.api.info.android.no_unknown_extensions on various Android CTS
release branches. But then I noticed that some extensions should have
api level 26.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17526 >
2022-08-03 20:09:46 +00:00
Chia-I Wu
6bb524e48e
vulkan: sort ALLOWED_ANDROID_VERSION by api levels
...
v2: fix ordering of VK_KHR_driver_properties
Reviewed-by: Emma Anholt <emma@anholt.net > (v1)
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17526 >
2022-08-03 20:09:46 +00:00
Eric Engestrom
446d2039cb
bin/gen_release_notes.py: bump advertised vulkan version to 1.3
...
Fixes: df8ac77af8 ("anv: Advertise Vulkan 1.3")
Fixes: 08c6f437cf ("radv: advertise Vulkan 1.3")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17759 >
2022-08-03 19:12:25 +00:00
Marek Olšák
49237c0eb3
radeonsi: implement a non-scaled compute blit+resolve and use it on gfx11
...
This was written from scratch. Only a few pieces were taken from Indrajit's
code. This is also much simpler, and hopefully easier to review. For example,
out-of-bounds coordinates are handled trivially.
The new blit test proves that this is identical to u_blitter except for
a few precision differences (NaNs, sRGB) where the compute blit should be
more precise.
This is only enabled on gfx11 because it's slower than the gfx blit on gfx10.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17782 >
2022-08-03 14:39:17 -04:00
Marek Olšák
098b9a8d02
ac/llvm: remove all resinfo code now that it's lowered
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
9c1014f312
radeonsi,radv: run ac_nir_lower_resinfo
...
Emulating image_get_resinfo should be faster than using the hw.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
4f622d62d0
ac/nir: add ac_nir_lower_resinfo
...
Emulating image_get_resinfo should be faster than using the hw.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
5f772a2b75
ac/llvm: implement nir_texop_descriptor_amd
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
995beca09e
ac/llvm: implement nir_intrinsic_image_deref_descriptor_amd
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
9a574d3802
ac/llvm: implement nir_intrinsic_image_deref_samples_identical
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
e075769a53
nir: add shader_info::uses_resource_info_query for txs, levels, samples, etc.
...
AMD will use this to execute a lowering pass conditionally.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
3098000e71
nir: add nir_texop_descriptor_amd
...
AMD will use it to emulate resinfo.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
6483fd394e
nir: add nir_intrinsic_image_descriptor_amd
...
This returns the AMD shader resource descriptor.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Marek Olšák
ea6993f9c7
nir: add nir_intrinsic_image_samples_identical
...
radeonsi will use it
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17693 >
2022-08-03 17:44:15 +00:00
Mike Blumenkrantz
22eff86eaf
zink: use modifier feature flags during surface creation when necessary
...
cc: mesa-stable
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17773 >
2022-08-03 17:25:27 +00:00
Mike Blumenkrantz
c9250d3ee3
zink: use stored format features for blit functionality
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17773 >
2022-08-03 17:25:27 +00:00
Mike Blumenkrantz
fffd57ef61
zink: store VkFormatFeatureFlags on creation
...
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17773 >
2022-08-03 17:25:27 +00:00
Mike Blumenkrantz
28ee911ad6
zink: handle mutable swapchain images with dmabuf
...
if a non-kopper swapchain image supports srgb, add a VkImageFormatListCreateInfo
to permit srgb mutability and avoid violating spec
cc: mesa-stable
Acked-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17773 >
2022-08-03 17:25:27 +00:00
Dylan Baker
0a4e599918
docs: reset new features
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17875 >
2022-08-03 17:16:14 +00:00