aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-04-06 19:45:30 -0400
committerTomeu Vizoso <[email protected]>2020-04-24 06:53:26 +0200
commit81a31911ddcf640d602ec104f7bbc3188dad3b7b (patch)
tree49714c8512fa1b6477694caff094c7b1ab17fc15 /src/gallium/drivers/panfrost
parent0a0b670d633b007e0d6394919fa0afa261614d32 (diff)
panfrost: Set clear_color_[12] in the extra fb desc
Signed-off-by: Alyssa Rosenzweig <[email protected]> Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680>
Diffstat (limited to 'src/gallium/drivers/panfrost')
-rw-r--r--src/gallium/drivers/panfrost/pan_mfbd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/panfrost/pan_mfbd.c b/src/gallium/drivers/panfrost/pan_mfbd.c
index c4063c317ea..562a05ff2df 100644
--- a/src/gallium/drivers/panfrost/pan_mfbd.c
+++ b/src/gallium/drivers/panfrost/pan_mfbd.c
@@ -161,6 +161,10 @@ panfrost_mfbd_clear(
struct mali_render_target *rts,
unsigned rt_count)
{
+ struct panfrost_context *ctx = batch->ctx;
+ struct pipe_context *gallium = (struct pipe_context *) ctx;
+ struct panfrost_device *dev = pan_device(gallium->screen);
+
for (unsigned i = 0; i < rt_count; ++i) {
if (!(batch->clear & (PIPE_CLEAR_COLOR0 << i)))
continue;
@@ -178,6 +182,11 @@ panfrost_mfbd_clear(
if (batch->clear & PIPE_CLEAR_STENCIL) {
fb->clear_stencil = batch->clear_stencil;
}
+
+ if (dev->quirks & IS_BIFROST) {
+ fbx->clear_color_1 = batch->clear_color[0][0];
+ fbx->clear_color_2 = 0xc0000000 | (fbx->clear_color_1 & 0xffff); /* WTF? */
+ }
}
static void