Alyssa Rosenzweig
afc18c62d7
panfrost: Passthrough NATIVE loads/stores
...
Now that we handle load_output directly, this works for e.g. RGB565 on
Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
36af05bbde
pan/mdg: Handle regular nir_intrinsic_load_output
...
Instead of the vendored version. Only for blend shaders at the moment,
frag shaders fb_fetch has a lot more going on.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
293d37e19d
pan/mdg: Allow f2u8 and friends thru
...
Now that we can handle destination sizes directly, this keeps us from
needing to chew through so many conversions.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
0ae0141f5b
pan/mdg: Handle f2u8
...
This is similar to f2u16.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
f8b881f161
pan/mdg: Fold roundmode into applicable instructions
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
93513cd9ff
pan/mdg: Implement *_rtz conversions with roundmode
...
Use rte as the canonical type.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
6290e83190
pan/mdg: Lower roundmodes
...
So now we can use the IR field semantically.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
1bef784867
pan/mdg: Add opcode roundmode property
...
When the output is rounded in a specified direction.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
2eb4c85e42
pan/mdg: Add roundmode enum
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Alyssa Rosenzweig
014d2e46a7
pan/mdg: Distinguish blend shaders in internal shader-db
...
Since these shaders are purely internal, the optimization criteria are a
bit different, so it's worth calling attention to this when dumping.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5285 >
2020-06-03 15:36:57 +00:00
Icecream95
99446c9f7d
panfrost: Only use AFBC YTR with RGB and RGBA
...
The "lossless colorspace transform" is lossy for R and RG formats.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5293 >
2020-06-03 15:19:43 +00:00
Icecream95
9ac106defe
panfrost: Decode AFBC flag bits
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5293 >
2020-06-03 15:19:43 +00:00
Alyssa Rosenzweig
7ac617c117
pan/mdg: Don't double-replicate blend on T720
...
We already do this unconditionally in NIR.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5305 >
2020-06-03 00:32:24 +00:00
Dylan Baker
a8e2d79e02
meson: use gnu_symbol_visibility argument
...
This uses a meson builtin to handle -fvisibility=hidden. This is nice
because we don't need to track which languages are used, if C++ is
suddenly added meson just does the right thing.
Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-01 18:59:18 +00:00
Alyssa Rosenzweig
30a393f458
pan/mdg: Enable out-of-order execution after texture ops
...
We don't make great use of it (due to the scheduler not being aware
yet), but we can pack for it regardless and maybe pick up some win.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286 >
2020-06-01 18:38:49 +00:00
Alyssa Rosenzweig
7c0e82d4ab
pan/mdg: Add quirk for missing out-of-order support
...
Added in T760, like the other good parts of Midgard.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286 >
2020-06-01 18:38:49 +00:00
Alyssa Rosenzweig
31de10c434
pan/mdg: Disassemble out-of-order bits
...
Optimization for texture instructions, allowing ALU and LD/ST within a
single thread while a texture read is still in flight.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5286 >
2020-06-01 18:38:49 +00:00
Alyssa Rosenzweig
975238dc2a
panfrost: Use VTX tag for vertex texturing
...
Fixes BARRIER faults.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284 >
2020-06-01 18:10:59 +00:00
Alyssa Rosenzweig
89a9cc7645
panfrost: Permit AFBC of RGB8
...
Ugly but hey.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5284 >
2020-06-01 18:10:59 +00:00
Alyssa Rosenzweig
7c793a4867
pan/mdg: Fuse f2f16 into load_interpolated_input
...
To become a ld_vary intrinsic.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5283 >
2020-06-01 12:37:03 -04:00
Alyssa Rosenzweig
5f8dd413bc
pan/mdg: Handle 16-bit ld_vary
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5283 >
2020-06-01 12:36:46 -04:00
Alyssa Rosenzweig
4c286cc0a2
panfrost: Un/pack sRGB via NIR
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
5d14757c03
panfrost: Un/pack R11G11B10
...
NIR has a helper for it already; we can reuse.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e24e248b84
panfrost: Un/pack RGB10_A2_UINT
...
It's different. Because forget me.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
91cc678551
panfrost: Un/pack RGB10_A2_UNORM
...
It's a funny one.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
7de0e5500b
panfrost: Un/pack RGB565 and RGB5A1
...
Basically the same as RGBA4
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
ff590702da
panfrost: Un/pack UNORM 4
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
eab8701e7c
panfrost: Flesh out dispatch
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e937dd521b
panfrost: Un/pack 8-bit UNORM
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
f01aabb829
panfrost: Un/pack pure 8-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
9a6483bb47
panfrost: Un/pack pure 16-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
c31bcca48e
panfrost: Un/pack pure 32-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e5fcc193f7
panfrost: Stub out lowering boilerplate
...
Structure ourselves as a NIR pass replacing loads/stores with
unpacked/packed versions as necessary. Not actually functional yet.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
dbd72a8f94
panfrost: Determine classes for stores
...
Fewer special cases here, thankfully.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
18a767df35
panfrost: Determine load classes for formats
...
Via quirks.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e53d27de61
panfrost: Add quirks for blend shader types
...
Every hardware has its own set of what it can and can't do... let's
document it all as quirks so the lowering code is GPU-agnostic.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
60d647f9de
panfrost: Determine unpacked type for formats
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
5c82f8a097
panfrost: Add theory for new framebuffer lowering
...
We take a somewhat different strategy that should be more flexible.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
5a175e4a1b
pan/mdg: Implement raw colourbuf loads on T720
...
Uses a similar path to the fp16 cbuf loads on T760. It should make sense
given the symmetry with T860.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
4f82aad7a2
pan/mdg: Drop the u8 from the colorbuf op names
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
49840a8a58
pan/mdg: Print 8-bit constants
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
0ff0291896
pan/mdg: Handle bitsize for packs
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
e9c780b1d0
pan/mdg: Treat packs "specially"
...
We maybe would prefer synthetic ops? We'll find out in due time..
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
c495c6c295
pan/mdg: Add pack_unorm_4x8 via 8-bit
...
More efficient than the 32-bit version in NIR.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Alyssa Rosenzweig
551d990a7c
pan/mdg: Handle un/pack opcodes as moves
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265 >
2020-06-01 15:46:23 +00:00
Vinson Lee
13735c4f47
panfrost: Fix printf format specifier.
...
bifrost_sampler_descriptor.zero1 is of type uint8_t.
Fix warning reported by Coverity.
Invalid type in argument to printf format specifier (PRINTF_ARGS)
invalid_type: Argument s->zero1 to format specifier %lx was expected to
have type unsigned long but has type unsigned char.
Fixes: 6148d1be4b ("panfrost: Fix size of bifrost sampler descriptor")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5248 >
2020-05-30 02:10:12 +00:00
Alyssa Rosenzweig
bccb3deee2
panfrost: Probe G31/G52 if PAN_MESA_DEBUG=bifrost
...
We're not *quite* ready to open the flood gates on Bifrost (a major
blocker is CI, which is itself blocked on the lockdowns - expected to be
resolved in the coming months..)
Nevertheless, let's add a debug option to probe on compatible Bifrost
devices to avoid keeping out-of-tree patches around.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5272 >
2020-05-29 19:24:45 -04:00
Alyssa Rosenzweig
be8cbe0b41
panfrost: Add GPU IDs for G31/G52
...
Dvalin/Gondul respectively.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5272 >
2020-05-29 19:24:05 -04:00
Alyssa Rosenzweig
4be2cd604b
pan/bi: Passthrough deps of the branch target
...
Now that we have the infrastructure, follow the branch.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:56 +00:00
Alyssa Rosenzweig
8230a04f51
pan/bi: Allow two successors in header packing
...
We need to take the union of the dependencies.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5260 >
2020-05-29 20:34:56 +00:00