From 537d117ed57734d034560cc64fe1bed65a6375e3 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Mon, 26 Apr 2010 04:52:28 +0200 Subject: r300g: use the dummy FS shader for shaders with zero instructions --- src/gallium/drivers/r300/r300_fs.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/gallium/drivers/r300/r300_fs.c') diff --git a/src/gallium/drivers/r300/r300_fs.c b/src/gallium/drivers/r300/r300_fs.c index 4d61f63853..88303f074c 100644 --- a/src/gallium/drivers/r300/r300_fs.c +++ b/src/gallium/drivers/r300/r300_fs.c @@ -275,6 +275,14 @@ static void r300_translate_fragment_shader( /* Invoke the compiler */ r3xx_compile_fragment_program(&compiler); + /* Shaders with zero instructions are invalid, + * use the dummy shader instead. */ + if (shader->code.code.r500.inst_end == -1) { + rc_destroy(&compiler.Base); + r300_dummy_fragment_shader(r300, shader); + return; + } + if (compiler.Base.Error) { fprintf(stderr, "r300 FP: Compiler Error:\n%sUsing a dummy shader" " instead.\n", compiler.Base.ErrorMsg); -- cgit v1.2.3