Mike Blumenkrantz
3eea7fc88b
zink: rework query handling
...
this hooks up query objects to the batches that they're actively running on
(and the related fence) in order to manage the lifetimes of queries more
efficiently by calling vkCmdResetQueryPool only on init and when the query
pool has been completely used up. additionally, this resolves some vk spec
issues related to destroying pools with active queries
note that any time a query pool is completely used up, results are lost,
which is a very slight improvement on the previous abort() that was triggered
in that scenario
ref mesa/mesa#3000
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5533 >
2020-07-13 20:59:07 +00:00
Italo Nicola
2096903a05
panfrost: Fix outmods on int to float conversions
...
No shader-db changes (Alyssa).
Signed-off-by: Italo Nicola <italonicola@collabora.com >
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5883 >
2020-07-13 20:38:03 +00:00
Eric Engestrom
be8a8edb1e
docs/submittingpatches: add more than one Cc: mesa-stable example to the examples list
...
Starting with that very example :)
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5880 >
2020-07-13 19:33:25 +00:00
Alyssa Rosenzweig
da23a31726
docs/features: Update ASTC entries for Panfrost
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:24:41 -04:00
Alyssa Rosenzweig
f34b8d3609
panfrost: Map PIPE_{DXT, RGTC, BPTC} to MALI_BCn
...
Mali (and Vulkan) uses D3D naming conventions for these formats where
Gallium/Mesa uses OpenGL names, but the formats are equivalent. sRGB is
communicated out-of-band on Mali; otherwise, it appears to be a 1:1
mapping.
On supported devices, this exposes GL_EXT_texture_compression_rgtc and
GL_ARB_texture_compression_bptc, so update features.txt
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:24:41 -04:00
Alyssa Rosenzweig
6da405ca77
panfrost: Filter compressed texture formats
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:22:00 -04:00
Alyssa Rosenzweig
407a052ced
panfrost: Pipe in compressed texture feature mask
...
So we can query at run-time as part of Gallium's checks.
v2: More explicit naming.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:21:59 -04:00
Alyssa Rosenzweig
d5a9cd1b7d
panfrost: Add format codes for new compressed textures
...
Compressed formats line up with CONFIG_TEX_COMPRESSED_FORMAT_ENABLE
documented on
https://releases.linaro.org/archive/14.07/android/images/armv8-android-juno-lsk/
None of the new formats have been seen in the wild.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5856 >
2020-07-13 11:21:35 -04:00
Alyssa Rosenzweig
64608b4bcf
panfrost: Compact unused BO flag bits
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Suggested-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
c6ebff3ecd
panfrost: Remove panfrost_bo_access type
...
It's just whether it writes or not, which is already implied by the
presence/absence of a writer. So no need to track explicitly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
62ec4e02f6
panfrost: Remove PAN_BO_DONT_REUSE
...
Equivalent to SHARED.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
d6e3808e7e
panfrost: Remove PAN_BO_COHERENT_LOCAL
...
Ancient relic from kbase. Panfrost kernel doesn't need this.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
baa1a8fbba
panfrost: Merge PAN_BO_IMPORTED/PAN_BO_EXPORTED
...
Always checked together and really signal the same property from
different perspectives.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
0aa6de967b
panfrost: Index BOs from the BO map sparse array
...
Now we have a central store of them, so we may remove active_bo.
v2: Squash two patches together to prevent a race condition mid-series.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
169dbb5b08
panfrost: Add a sparse array to map GEM handles to BOs
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
37d89e0f93
panfrost: Fix write to free'd memory
...
No clue how this worked before.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Fixes: 82f18b713a ("panfrost: Keep track of active BOs")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Alyssa Rosenzweig
20dd37024b
panfrost: Fix fence leak
...
When overwriting the writer, we need to release the old reference.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Fixes: 2dad9fde50 ("panfrost: Start tracking inter-batch dependencies")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5859 >
2020-07-13 14:42:33 +00:00
Rhys Perry
15a17fddad
aco: add 32-bit integer addition to can_swap_operands
...
fossil-db (Navi):
Totals from 167 (0.12% of 135946) affected shaders:
CodeSize: 484892 -> 482628 (-0.47%)
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
ec9920e72b
radv: use lower_shuffle_to_swizzle_amd
...
Affects a few shaders in Detroit: Become Human and Doom Eternal.
fossil-db (Navi):
Totals from 9 (0.01% of 135946) affected shaders:
CodeSize: 31188 -> 25096 (-19.53%)
Instrs: 6136 -> 4999 (-18.53%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
7ba645d5cb
nir/lower_subgroups: add lower_shuffle_to_swizzle_amd
...
masked_swizzle_amd can be much faster than shuffle.
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
9c317cb278
nir/lower_subgroups: pass options struct to lower_shuffle
...
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
a6a731bea5
aco: implement <32-bit masked_swizzle_amd
...
This is needed since we will be lowering some 8/16-bit shuffles to
masked_swizzle_amd.
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
d377fbf95d
aco: optimize some masked swizzles to DPP
...
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/5695 >
2020-07-13 14:11:50 +00:00
Rhys Perry
09f48de582
aco: read 0 from inactive lanes when using dpp
...
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/5695 >
2020-07-13 14:11:50 +00:00
Icecream95
c417172751
panfrost: Enable framebuffer fetch
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Alyssa Rosenzweig
317be5a16d
panfrost: Extend fetched framebuffer results
...
So NIR doesn't complain about invalid swizzles when reading a format
with less than 4 channels.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Alyssa Rosenzweig
d94584c5a6
panfrost: Always use SOFTWARE for pure formats
...
Otherwise we end up implicitly converting ints to floating point.
Likewise for floats which again have strange interactions.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Alyssa Rosenzweig
b9869e0e5e
panfrost: Generate shader variants on framebuffer bind
...
If we keyed the shader for the framebuffer.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
a3952e927e
panfrost: Use f2fmp for framebuffer lowering conversions
...
This allows the conversion to be removed when the output is needed as
f32 anyway, for example for highp framebuffer fetch.
v2: Also change operations such as i2i16 to i2imp (Alyssa).
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
d16d136734
panfrost: Stop keying on rt format when using native loads
...
Native loads are the same for any format, so we can use the same
shader variant for all framebuffer formats with a native load.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
391ad72812
panfrost: Implement texture_barrier
...
This is needed for KHR_blend_equation_advanced with a blend
barrier.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
2fbe7ca9d9
pan/mdg: Use a 32-bit ld_color_buffer op when needed
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
18059f48f8
pan/mdg: Set the z/s store intrinsic base correctly
...
When EXT_shader_framebuffer_fetch is used and only depth and/or
stencil are written, we can't rely on the first output being to
depth/stencil.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
7781d2c2ea
pan/mdg: Support MRT in output load lowering
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
2fa60b70e0
pan/mdg: Handle non-blend framebuffer lowering
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
ed4d2739fe
pan/mdg: Emit a tilebuffer wait loop when needed
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
1e1eee992e
pan/mdg: Do the pan_lower_framebuffer pass later
...
The pass is useful for EXT_shader_framebuffer_fetch, not just blend
shaders, so we should do it with the other lowering passes in
midgard_compile_shader_nir.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
e603248e07
panfrost: Add a bitset of render targets read by shaders
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
75018f6495
panfrost: Add rt formats to shader state
...
load_output lowering will depend on the framebuffer formats.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
f2eced9660
pan/mdg: Use the writeout tag for tilebuffer wait loops
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
61dfc3c693
pan/mdg: Handle tilebuffer wait loops
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Alyssa Rosenzweig
b29027f9dc
panfrost: Clamp pure int pixels
...
We need saturate, not wrap semantic. Could optimize to a .isat/.usat
modifier but that's for future.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
4141d26ee1
panfrost: Fix MALI_READS_TILEBUFFER
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
2e3a589e6c
nir: Add a base value to load_raw_output_pan
...
This is the render target the read instruction uses.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Eric Engestrom
69ef180837
glx: drop always-true #ifdef
...
Meson already guarantees we have at least xdamage >= 1.1
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5862 >
2020-07-13 09:08:00 +00:00
Eric Engestrom
3900659051
egl/wayland: add missing newline between functions
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5862 >
2020-07-13 09:08:00 +00:00
Roman Stratiienko
ae5ac4cbb6
egl: Build surfaceless platform on Android
...
Fixes: a38e21d668 ("egl: always compile surfaceless")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5866 >
2020-07-13 08:46:55 +00:00
Samuel Pitoiset
00ca9b8142
radv: advertise VK_EXT_extended_dynamic_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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
b262284300
radv: add support for dynamic vertex input binding stride
...
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/5718 >
2020-07-13 08:31:54 +00:00
Samuel Pitoiset
9cc99baa4a
radv: add support for dynamic depth/stencil states
...
Out-of-order rasterization is disabled if a pipeline uses an
extended dynamic depth/stencil state because the driver doesn't
support enabling/disabling out-of-order dynamically.
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/5718 >
2020-07-13 08:31:54 +00:00