[Freedreno] [RFC PATCH 5/5] freedreno: HACK: Missing alloc for vertex shader pixsize
Martin Fuzzey
mfuzzey at parkeon.com
Tue Aug 4 10:53:07 PDT 2015
The simplest vertex shader was missing ALLOC PARAM/PIXEL SIZE(0x0) which,
on A205 at least, causes GPU hang.
This is a hack until I figure out the right way of fixing it.
Signed-off-by: Martin Fuzzey <mfuzzey at parkeon.com>
---
src/gallium/drivers/freedreno/a2xx/fd2_compiler.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_compiler.c b/src/gallium/drivers/freedreno/a2xx/fd2_compiler.c
index b48fb46..251aa43 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_compiler.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_compiler.c
@@ -983,8 +983,15 @@ translate_instruction(struct fd2_compile_context *ctx,
struct ir2_instruction *instr;
static struct ir2_cf *cf;
- if (opc == TGSI_OPCODE_END)
+ if (opc == TGSI_OPCODE_END) {
+ /* MF Hack */
+ if (ctx->type == TGSI_PROCESSOR_VERTEX) {
+ ctx->cf = NULL;
+ ir2_cf_create_alloc(ctx->so->ir, SQ_PARAMETER_PIXEL, 0);
+ next_exec_cf(ctx);
+ }
return;
+ }
if (inst->Dst[0].Register.File == TGSI_FILE_OUTPUT) {
unsigned num = inst->Dst[0].Register.Index;
More information about the Freedreno
mailing list