Karol Herbst
e18512fe88
nir: set range and base for load_kernel_input
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18581 >
2022-11-02 23:36:56 +00:00
Karol Herbst
2a52297141
gallium: drop pipe_compute_state.req_private_mem
...
nothing used it and nothing will use it, so just drop it and clean up some
dead struct fields in drivers.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
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/18581 >
2022-11-02 23:36:56 +00:00
Karol Herbst
b5a3b9f555
gallium/tests: drop compute test
...
The TGSIs don't compile and are rather an annoyence when touching gallium
APIs.
Originally they were written with adding CL support to TGSI, but that
never panned out.
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18581 >
2022-11-02 23:36:56 +00:00
António Monteiro
f804f8065d
nouveau/nvc0: Remove unused validate_zcull function
...
Signed-off-by: António Monteiro <antonio.fmr.monteiro@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19271 >
2022-11-02 23:25:47 +00:00
António Monteiro
e1a7bcb49a
nouveau/nv50: Remove unused alternative sample position ms8
...
Signed-off-by: António Monteiro <antonio.fmr.monteiro@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19271 >
2022-11-02 23:25:47 +00:00
António Monteiro
9ea6973ca6
nouveau/nvc0: Remove unused alternative sample position ms8
...
Signed-off-by: António Monteiro <antonio.fmr.monteiro@gmail.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19271 >
2022-11-02 23:25:47 +00:00
Yonggang Luo
287435134c
glx: Fixes apple/apple_visual.c that include non-exist util/debug.h
...
Fixes: aa4ac5ff8b ("utils: Merge util/debug.* into util/u_debug.* and remove util/debug.*")
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Illia Abernikhin <illia.abernikhin@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19486 >
2022-11-02 22:51:12 +00:00
Alyssa Rosenzweig
2d8f28df73
panfrost: Replace resource shadowing flush
...
The entire point of resource shadowing is to avoid unnecessary flushing.
Flushing readers after shadowing is counterproductive. A refresher on
how resource shadowing is supposed to work:
First, we determine if it's beneficial to shadow resources. If so, we
create a new backing buffer object. We flush the current writer of the
resource, if there is one, so the current contents become known to the
CPU. If we are not discarding the original resource, we then copy the
existing contents of the buffer to the new shadow buffer on the CPU.
Finally, we swap the resource's backing buffer for our shadow. Any batch
that reads the resource will continue to read the old copy of the
resource, and any future draw calls will see the new copy with the
change implemented.
Where did we go wrong?
In 988d5aae74 ("panfrost: Flush resources when shadowing"), we started
flushing all readers. We didn't actually need to flush, we just needed
to avoid dangling references on the batches reading the old copy of the
resource. But that's easily enough avoided: just remove the references.
The batches still hold a reference to the underlying BO, which will be
freed at the right time regardless.
Originally motivated by glmark2 -bbuffer:update-method=subdata, which
has some pathological access paterns.
Firefox is a lot faster anecdotally (now scrolling at 60fps in firefox).
But what actually motivated this is an apitrace from Duckstation's GLES
renderer. With this patch, the in-game portion is improved 3fps to 21fps.
Closes : #4028
Fixes: 988d5aae74 ("panfrost: Flush resources when shadowing")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19361 >
2022-11-02 22:27:30 +00:00
Alyssa Rosenzweig
0b26a9f773
panfrost: Don't copy resources if replaced
...
If a synchronized transfer_map is going to overwrite an entire resource,
there's no need to memcpy in the original contents ahead-of-time. This
memcpy is particularly bad for large buffers where it's copying WC->WC,
although that could be mitigated with threaded_context's cpu_storage in
the future if needed.
Prevents a performance regression in glmark2's buffer scenes from the
next patch, hence the Cc.
Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19361 >
2022-11-02 22:27:30 +00:00
Eric Engestrom
dfa8600a2d
zink: add missing build_id linker args
...
Fixes: 4e14da056d ("zink: Enable mesa/st frontend shader caching.")
Signed-off-by: Eric Engestrom <eric@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19485 >
2022-11-02 21:39:12 +00:00
Eric Engestrom
f0a29496bb
docs: update calendar for 22.3.0-rc1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19483 >
2022-11-02 21:18:02 +00:00
Jordan Justen
d911eb17d8
intel/dev: Set has_lsc in XEHP_FEATURES rather than DG2_FEATURES
...
MTL will want this set as well.
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/19447 >
2022-11-02 20:00:08 +00:00
Eric Engestrom
dfbc142b7a
docs: reset new_features.txt
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
2022-11-02 19:19:44 +00:00
Eric Engestrom
53c109944d
VERSION: bump to 22.4
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
2022-11-02 19:19:35 +00:00
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