lima/ppir: abort compilation in case of unsupported intrinsic

Currently ppir continues compilation when there is an unsupported
intrinsic, resulting in a shader that will surely not work as intended.

This is a problem during piglit runs as some tests don't compile
properly due to this but actually still get submitted to the gpu and
leave the system in an unstable state after executing, causing further
tests to fail.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
This commit is contained in:
Erico Nunes 2019-05-05 10:53:33 +02:00
parent 60a128fe81
commit 11602ccd5d
1 changed files with 4 additions and 2 deletions

View File

@ -380,8 +380,10 @@ static bool ppir_emit_block(ppir_compiler *comp, nir_block *nblock)
nir_foreach_instr(instr, nblock) {
assert(instr->type < nir_instr_type_phi);
ppir_node *node = ppir_emit_instr[instr->type](block, instr);
if (node)
list_addtail(&node->list, &block->node_list);
if (!node)
return false;
list_addtail(&node->list, &block->node_list);
}
return true;