diff options
author | Brian Paul <brian.paul@tungstengraphics.com> | 2008-08-04 13:05:49 -0600 |
---|---|---|
committer | Brian Paul <brian.paul@tungstengraphics.com> | 2008-08-04 17:14:48 -0600 |
commit | 02d223a7812c5cdf4bac5a83a8c9ce94a88fdba1 (patch) | |
tree | 64b66fd8e504d7edc7090d2bbc9e5de4ff47d463 /src/mesa/shader | |
parent | 1028458354773d748278d7719f695eb4c2ffc090 (diff) |
mesa: glsl: stop code emit after error is recorded
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/slang/slang_emit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_emit.c b/src/mesa/shader/slang/slang_emit.c index 3d76c80b58..323fc511a6 100644 --- a/src/mesa/shader/slang/slang_emit.c +++ b/src/mesa/shader/slang/slang_emit.c @@ -1633,12 +1633,18 @@ emit(slang_emit_info *emitInfo, slang_ir_node *n) if (!n) return NULL; + if (emitInfo->log->error_flag) { + return NULL; + } + switch (n->Opcode) { case IR_SEQ: /* sequence of two sub-trees */ assert(n->Children[0]); assert(n->Children[1]); emit(emitInfo, n->Children[0]); + if (emitInfo->log->error_flag) + return NULL; inst = emit(emitInfo, n->Children[1]); #if 0 assert(!n->Store); |