From 397f9ba69fcaef17de5c8f639957743890fa7805 Mon Sep 17 00:00:00 2001 From: Arnaud Patard Date: Tue, 23 Jul 2019 06:42:00 -0700 Subject: [PATCH] panfrost: Fix T6XX Support While testing kmscube with mesa master, it turns out that kmscube is not working anymore. After bisecting, commit 5a7688fdecd76c7d9cd87f6f6c93eb32870a2146 is the culprit. A short trial and error session allowed to find the removed bit of code making kmscube working again. This patch adds it back. Fixes: 5a7688fde ("panfrost: Use 64-bit descriptors globally") v2: Add comment pointing out this is magic. [Alyssa, trivial] Signed-off-by: Arnaud Patard Reviewed-by: Alyssa Rosenzweig --- src/gallium/drivers/panfrost/pan_context.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index 20da92a230b..2f19113e703 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -453,7 +453,15 @@ panfrost_default_shader_backend(struct panfrost_context *ctx) .unknown2_4 = MALI_NO_MSAA | 0x4e0, }; - /* unknown2_4 has 0x10 bit set on 32-bit T6XX */ + /* unknown2_4 has 0x10 bit set on T6XX. We don't know why this is + * required (independent of 32-bit/64-bit descriptors), or why it's not + * used on later GPU revisions. Otherwise, all shader jobs fault on + * these earlier chips (perhaps this is a chicken bit of some kind). + * More investigation is needed. */ + + if (ctx->is_t6xx) { + shader.unknown2_4 |= 0x10; + } struct pipe_stencil_state default_stencil = { .enabled = 0, -- 2.30.2