Commit Graph

142245 Commits

Author SHA1 Message Date
Roman Stratiienko
80f42e1d15 AOSP: Do not add '-Wl,--gc-sections' to the linker arguments
With '-Wl,--gc-sections' meson.build cc.has_function() will never fail,
providing wrong input to the build system.

Fixes: 8621bd8d5e ("android: Add scripts to build using meson")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Tested-by: Mauro Rossi <issor.oruam@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11637>
2021-07-07 18:32:28 +00:00
Mike Blumenkrantz
97c19ac358 lavapipe: disable line rasterization ext
need to add some gallium hooks for line drawing mode before this can
be reliably supported

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11762>
2021-07-07 14:32:16 +00:00
Mike Blumenkrantz
b67a4ba4ad nir/format_convert: add ssa version of uint packing
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10619>
2021-07-07 13:41:37 +00:00
Mike Blumenkrantz
c948251d2b nir/format_convert: nir_shift -> nir_shift_imm
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10619>
2021-07-07 13:41:37 +00:00
Alyssa Rosenzweig
d09948e006 panfrost: Remove unused midgard-pack.h includes
Now only included from the per-gen file.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
6b2fc9f718 panfrost: Remove pan_cmdstream.h
Now empty.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
b7975c3e90 panfrost: Move sample accessor to pan_cmdstream
Not really arch-dependent but technically uses GenXML. This is pretty
trivial anyway.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
ed56d8f7b7 panfrost: Clean up pan_cmdstream.h
We don't want other files accessing these functions except through the
vtables, since they will soon be architecture dependent.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
035434658e panfrost: Use vtable for fragment descriptor functions
Arch dependent and not directly from Gallium.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
d4e3f4858c panfrost: Move panfrost_emit_tile_map to pan_job
...where it's actually called. Saves us from using the vtable since this
isn't version-dependent.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
fa2d70aad8 panfrost: Move launch_grid to pan_cmdstream
Same issues apply as for draw_vbo.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
c08dd038dc panfrost: Don't ralloc panfrost_blend_state
Pointless divergence from other CSO creates.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
25a879e5f9 panfrost: Move blend CSO to cmdstream/context
Create is hardware specifc, bind/delete/set_colour is not.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
5e992e17de panfrost: Split out prepare_rsd into a vtbl
This needs to be per-gen, but the rest of the caller does not, so let's
split this out. iris makes extensive use of this vtbl pattern for cold
paths like this one.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
cf557909eb panfrost: Move most CSO creates to pan_cmdstream.c
These need to be conditionally compiled per-generation.

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/11745>
2021-07-07 13:19:35 +00:00
Alyssa Rosenzweig
a13eb5fcc5 panfrost: Move draw_vbo to pan_cmdstream.c
This needs to be conditionally compiled per-generation.

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/11745>
2021-07-07 13:19:35 +00:00
Samuel Pitoiset
265a900229 aco: fix emitting a16 for MIMG instructions on GFX10+
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/11734>
2021-07-07 14:44:13 +02:00
Samuel Pitoiset
ffdb980a12 aco: fix emitting d16 for MIMG instructions on GFX9+
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/11734>
2021-07-07 14:44:11 +02:00
Iago Toral Quiroga
b103855abc v3dv: account for dst offset of copy query results operations
This fixes several CTS tests with this pattern:
  dEQP-VK.query_pool.occlusion_query.copy_results*dstoffset

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11758>
2021-07-07 10:41:06 +00:00
Corentin Noël
d080262524 ci: Bump virglrenderer
Use the latest commit from master branch

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11572>
2021-07-07 10:04:10 +00:00
Corentin Noël
441b480a5f ci: Re-enable virgl tesselation shader
Partially undoes c8c7450fc7 ("llvmpipe: move coroutines out of noopt case")
as the required features are now implemented in llvmpipe.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11572>
2021-07-07 10:04:10 +00:00
Alyssa Rosenzweig
1d0008734c agx: Ensure we don't overallocate registers
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11751>
2021-07-07 03:31:43 +00:00
Alyssa Rosenzweig
7e65e47d19 agx: Pipe in nir_register
This is kind of lazy...

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11751>
2021-07-07 03:31:43 +00:00
Alyssa Rosenzweig
85e18deb18 agx: Assign registers locally
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11751>
2021-07-07 03:31:43 +00:00
Alyssa Rosenzweig
15b49a6795 agx: Count read registers as well
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11751>
2021-07-07 03:31:43 +00:00
Alyssa Rosenzweig
f03cecf05f agx: Don't choke on registers in the optimizer
Just skip over them.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11751>
2021-07-07 03:31:43 +00:00
Mike Blumenkrantz
997e5cf440 zink: store the default variant hash for a program
the first created pipeline with a program is the default variants, and
this is likely to be the most common, so we can store the hash to avoid
needing to recalc it later

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11740>
2021-07-07 03:21:42 +00:00
Mike Blumenkrantz
02287fe42d zink: flag shader modules as default
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11740>
2021-07-07 03:21:42 +00:00
Mike Blumenkrantz
e551f2c557 zink: keep a mask of stages present in a gfx program
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11740>
2021-07-07 03:21:42 +00:00
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