mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
i965/fs: Fix GPU hangs with 16-wide integer div/mod on gen7.
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
108cba21de
commit
83dc891b41
1 changed files with 6 additions and 0 deletions
|
|
@ -306,11 +306,17 @@ fs_visitor::visit(ir_expression *ir)
|
|||
}
|
||||
break;
|
||||
case ir_binop_div:
|
||||
if (intel->gen >= 7 && c->dispatch_width == 16)
|
||||
fail("16-wide INTDIV unsupported\n");
|
||||
|
||||
/* Floating point should be lowered by DIV_TO_MUL_RCP in the compiler. */
|
||||
assert(ir->type->is_integer());
|
||||
emit_math(SHADER_OPCODE_INT_QUOTIENT, this->result, op[0], op[1]);
|
||||
break;
|
||||
case ir_binop_mod:
|
||||
if (intel->gen >= 7 && c->dispatch_width == 16)
|
||||
fail("16-wide INTDIV unsupported\n");
|
||||
|
||||
/* Floating point should be lowered by MOD_TO_FRACT in the compiler. */
|
||||
assert(ir->type->is_integer());
|
||||
emit_math(SHADER_OPCODE_INT_REMAINDER, this->result, op[0], op[1]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue