Mike Blumenkrantz
66fc13d3d5
zink: flag all shaders for create during gfx program init
...
now we can avoid needing extra conditionals in the update hotpath
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11740 >
2021-07-07 03:21:41 +00:00
Mike Blumenkrantz
876ead6dad
zink: remove zink_shader_module refcounting
...
this is no longer necessary
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11740 >
2021-07-07 03:21:41 +00:00
Mike Blumenkrantz
69e07603a6
features: mark off VK_EXT_multi_draw for radv
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11750 >
2021-07-07 03:17:05 +00:00
Mike Blumenkrantz
a793067387
zink: consolidate and optimize index buffer handling during draw
...
this can be reorganized to have more readable handling
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11746 >
2021-07-07 03:06:00 +00:00
Mike Blumenkrantz
47ba3b799f
zink: move descriptor update closer to start of draw
...
this can trigger flushes, so ensure that it doesn't break the cmdbuf
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11746 >
2021-07-07 03:06:00 +00:00
Mike Blumenkrantz
6f4dc4b6b8
zink: update streamout buffer strides inline
...
loops--
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11746 >
2021-07-07 03:06:00 +00:00
Mike Blumenkrantz
129b26909d
zink: use last_vertex_stage pointer to optimize streamout emission during draw
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11746 >
2021-07-07 03:06:00 +00:00
Mike Blumenkrantz
cc438ba58a
zink: store the last vertex stage to the context during bind
...
make this more readily accessible
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11746 >
2021-07-07 03:06:00 +00:00
Timothy Arceri
80a377ad81
util/radeonsi: add radeonsi workaround for Nuclear Throne
...
Without radeonsi_sync_compile the game crashes at startup. The
game engine uses a custom global new operator which doesn't
play well with multithreading.
Fixes: f1cc13727c
("radeonsi: enable workarounds for YoYo engine based games")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5023
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11701 >
2021-07-07 02:45:23 +00:00
Mike Blumenkrantz
50d6c58abb
relnotes: EXT_extended_dynamic_state2 for lavapipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11736 >
2021-07-07 02:13:20 +00:00
Mike Blumenkrantz
a25e5c6f42
features: EXT_extended_dynamic_state2 for lavapipe
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11736 >
2021-07-07 02:13:20 +00:00
Mike Blumenkrantz
6741e4be31
lavapipe: implement EXT_extended_dynamic_state2
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11736 >
2021-07-07 02:13:20 +00:00
Mike Blumenkrantz
e0fbaac242
lavapipe: only apply pipeline state for depth bias if it's enabled
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11736 >
2021-07-07 02:13:20 +00:00
Mike Blumenkrantz
c4c279bd7a
zink: remove unnecessary stall during device-local map case
...
this stalls after the copy already, no need to also stall before it
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11749 >
2021-07-07 01:55:45 +00:00
Mike Blumenkrantz
6fbcf335c2
zink: redo streamout and texture components of memory_barrier hook
...
this is more consolidated (and legal)
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11748 >
2021-07-07 01:43:49 +00:00
Mike Blumenkrantz
59cc9c8df1
zink: optimize buffer rebinds
...
this leverages all the slot masks to more optimally run through all
the rebinds, also enabling some code consolidation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11747 >
2021-07-06 20:41:03 -04:00
Mike Blumenkrantz
f6e058ea4a
zink: remove barriers from buffer rebinds
...
these aren't needed anymore
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11747 >
2021-07-06 20:40:36 -04:00
Mike Blumenkrantz
9603f3bd01
zink: make image_bind_count work for buffers
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11747 >
2021-07-06 20:40:32 -04:00
Mike Blumenkrantz
de903ae0c7
zink: make samplerview bind mask apply to buffer resources too
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11747 >
2021-07-06 20:39:38 -04:00
Mike Blumenkrantz
d48367fbad
zink: add a per-stage bind mask for ssbos
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11747 >
2021-07-06 20:39:33 -04:00
Mike Blumenkrantz
4a194b7bbf
zink: add a per-stage mask for ubo binds
...
optimizing buffer replacement was never so difficult
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11747 >
2021-07-06 20:39:30 -04:00
Mike Blumenkrantz
496b794b10
zink: remove some descriptor_refs_dirty checks from resource binding
...
these no longer provide any optimization
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
2f46f0328f
zink: remove fb surface resource refs
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
e03d15141b
zink: remove fb surface refs
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
1771ba8f96
zink: remove samplerview refs
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
8fa3f3e6a8
zink: remove imageview refs from shader images
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
7dfb9486dc
zink: set new batch usage during surface rebinds
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
447ba04d87
zink: add surface ref during rebind if unflushed usage
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
59b142ae03
zink: remove refs from desc ref updating
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
b036215594
zink: remove resource refs from samplerviews
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
b8311567ed
zink: remove refs from shader images
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:10 +00:00
Mike Blumenkrantz
f0be412c8a
zink: remove refs from shader buffers
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:09 +00:00
Mike Blumenkrantz
a52e2048f7
zink: remove refs from ubos
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:09 +00:00
Mike Blumenkrantz
03c3630cc1
zink: remove refs from vertex buffers
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:09 +00:00
Mike Blumenkrantz
4846fb149a
zink: remove refs from buffer rebinds
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:09 +00:00
Mike Blumenkrantz
b9ada09ca3
zink: move resource object ref to batch in init_storage_object
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:09 +00:00
Mike Blumenkrantz
08b3847215
zink: move resource object ref to batch in invalidate hook
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:09 +00:00
Mike Blumenkrantz
db32c3aff3
zink: add util function for transferring resource refs to batch
...
there's no point in doing unref->ref if it's known that this will happen
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11692 >
2021-07-07 00:22:09 +00:00
Mike Blumenkrantz
bd4120a67f
relnotes: more lavapipe features
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11738 >
2021-07-06 17:09:31 -04:00
Mike Blumenkrantz
542fbd0acb
features: more lavapipe extensions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11738 >
2021-07-06 17:09:31 -04:00
Mike Blumenkrantz
ac07ad8414
lavapipe: implement KHR_separate_depth_stencil_layouts
...
this is a conformant implementation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11738 >
2021-07-06 17:09:31 -04:00
Mike Blumenkrantz
9bbe80accd
lavapipe: implement EXT_separate_stencil_usage
...
this is a conformant implementation
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11738 >
2021-07-06 17:09:31 -04:00
Alyssa Rosenzweig
7040051589
pan/decode: Handle IDVS jobs on Bifrost
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11413 >
2021-07-06 15:50:28 -04:00
Alyssa Rosenzweig
73e80994d5
panfrost: Add secondary shader XML fields
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11413 >
2021-07-06 15:50:28 -04:00
Daniel Stone
f505d6f5de
panfrost/genxml: Decode Bifrost index-driven vertex jobs
...
Bifrost has a new type of job called 'index-driven vertex', which takes
in two shaders. The primary shader, called for all values, performs
position shading to a cacheline-aligned attribute buffer. The secondary
shader, called for values still live after culling, performs varying
shading.
It is the responsiblilty of the implementation to ensure that vertices
from different instances do not share a cacheline.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11413 >
2021-07-06 15:50:28 -04:00
Jason Ekstrand
60568d5dce
iris: Use isl_surf_get_uncompressed_surf
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11647 >
2021-07-06 19:29:42 +00:00
Jason Ekstrand
98faa09bb5
iris: Don't leak the surface if uncompressed re-interp fails
...
Fixes: a032a9665f
"iris: Enable PIPE_CAP_SURFACE_REINTERPRET_BLOCKS"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11647 >
2021-07-06 19:29:42 +00:00
Jason Ekstrand
9946120d2b
intel/isl: Add more cases to isl_surf_get_uncompressed_surf
...
We can actually create array surfaces instead of requiring single-slice
in a few cases. This does require us to be very careful about our
checks, though.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11647 >
2021-07-06 19:29:42 +00:00
Jason Ekstrand
2001a26309
intel/blorp: Use isl_surf_get_uncompressed_surf
...
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11647 >
2021-07-06 19:29:42 +00:00
Jason Ekstrand
20f075c270
intel/blorp: Adjust the compressed copy rectangle before convert_to_single_slice
...
It doesn't matter for the actual copy rectangle and this makes the
asserts a bit nicer as we don't need to bother with the intratile
offsets because there aren't any yet.
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11647 >
2021-07-06 19:29:42 +00:00