From e5fea0d621af2b14cf6c5e364eeaf293db460f2a Mon Sep 17 00:00:00 2001 From: Stefan Schake Date: Fri, 20 Oct 2017 16:16:44 +0200 Subject: [PATCH] broadcom/vc4: Fix aliasing issue This was causing Android clang version 3.8.256229 to miscompile, presumably due to strict aliasing. Fixes: 14dc281c1332 ("vc4: Enforce one-uniform-per-instruction after optimization.") --- src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c b/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c index 9ecfe65..ad19f06 100644 --- a/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c +++ b/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c @@ -66,7 +66,7 @@ remove_uniform(struct hash_table *ht, struct qreg reg) entry = _mesa_hash_table_search(ht, key); assert(entry); - entry->data--; + entry->data = (void *)(((uintptr_t) entry->data) - 1); if (entry->data == NULL) _mesa_hash_table_remove(ht, entry); } -- 2.7.4