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 |
|
Samuel Pitoiset
|
e8a69b782d
|
radv: add support for dynamic and scissor count
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
|
d6c1e5051e
|
radv: add support for dynamic 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/5718>
|
2020-07-13 08:31:54 +00:00 |
|
Samuel Pitoiset
|
52bf1035a6
|
radv: add support for dynamic cull mode and front face
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
|
77499414d7
|
radv: declare new extended 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/5718>
|
2020-07-13 08:31:54 +00:00 |
|
Samuel Pitoiset
|
2693770806
|
radv: add VK_EXT_extended_dynamic_state but leave it disabled
To make sure the new prototypes are declared.
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
|
ac575f4215
|
radv: rework dynamic viewports/scissors support
The number of viewports/scissors is currently static because it can
only be specified at pipeline creation, but it doesn't hurt to
assume it's dynamic. Will help for supporting setting the number
of viewports/scissors 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 |
|