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
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
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
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
9630012060
panfrost: RGBA4 and RGB5_A1 framebuffer support
...
Tested with fbo_firecube.
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573 >
2020-06-22 12:15:05 +00:00
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
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
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