st/nine: Fix some shader failures not triggering error

Some failures during shader translation would not
raise errors before this patch.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
This commit is contained in:
Axel Davy 2016-02-09 23:15:21 +01:00
parent a77d8cd710
commit 44068af92e

View file

@ -3116,6 +3116,7 @@ static void
sm1_parse_instruction(struct shader_translator *tx)
{
struct sm1_instruction *insn = &tx->insn;
HRESULT hr;
DWORD tok;
struct sm1_op_info *info = NULL;
unsigned i;
@ -3180,11 +3181,13 @@ sm1_parse_instruction(struct shader_translator *tx)
sm1_instruction_check(insn);
if (info->handler)
info->handler(tx);
hr = info->handler(tx);
else
NineTranslateInstruction_Generic(tx);
hr = NineTranslateInstruction_Generic(tx);
tx_apply_dst0_modifiers(tx);
if (hr != D3D_OK)
tx->failure = TRUE;
tx->num_scratch = 0; /* reset */
TOKEN_JUMP(tx);