panfrost: Handle RGB16F colour clear
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 31 Dec 2019 22:52:03 +0000 (17:52 -0500)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 2 Jan 2020 20:20:55 +0000 (15:20 -0500)
We don't handle this format yet, but we will soon, and the abort in
pan_pack_color is possible even without exposing the format... Handling
this gracefully might not be required by the spec but let's not crash.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/gallium/drivers/panfrost/pan_job.c

index b193ce6fa765ce3225f6580203d63871896f3309..208e287740a62fb6a139ba7966f1515ede36c99c 100644 (file)
@@ -1208,6 +1208,8 @@ pan_pack_color(uint32_t *packed, const union pipe_color_union *color, enum pipe_
                         pan_pack_color_32(packed, out.ui[0] | (out.ui[0] << 16));
                 else if (size == 3 || size == 4)
                         pan_pack_color_32(packed, out.ui[0]);
+                else if (size == 6)
+                        pan_pack_color_64(packed, out.ui[0], out.ui[1] | (out.ui[1] << 16)); /* RGB16F -- RGBB */
                 else if (size == 8)
                         pan_pack_color_64(packed, out.ui[0], out.ui[1]);
                 else if (size == 16)