nv50: don't segfault on OPCODE_END for empty programs
This commit is contained in:
parent
d225221e70
commit
6df1e5c4aa
|
@ -3169,15 +3169,16 @@ nv50_program_tx_insn(struct nv50_pc *pc,
|
|||
if (pc->p->type == PIPE_SHADER_FRAGMENT)
|
||||
nv50_fp_move_results(pc);
|
||||
|
||||
/* last insn must be long so it can have the exit bit set */
|
||||
if (!is_long(pc->p->exec_tail))
|
||||
convert_to_long(pc, pc->p->exec_tail);
|
||||
else
|
||||
if (is_immd(pc->p->exec_tail) ||
|
||||
if (!pc->p->exec_tail ||
|
||||
is_immd(pc->p->exec_tail) ||
|
||||
is_join(pc->p->exec_tail) ||
|
||||
is_control_flow(pc->p->exec_tail))
|
||||
emit_nop(pc);
|
||||
|
||||
/* last insn must be long so it can have the exit bit set */
|
||||
if (!is_long(pc->p->exec_tail))
|
||||
convert_to_long(pc, pc->p->exec_tail);
|
||||
|
||||
pc->p->exec_tail->inst[1] |= 1; /* set exit bit */
|
||||
|
||||
terminate_mbb(pc);
|
||||
|
|
Loading…
Reference in New Issue