summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-08-17 19:41:27 -0700
committerEric Anholt <[email protected]>2010-08-17 19:55:14 -0700
commit35220fc5981045331b4f048f0fc2e1371a0673ed (patch)
treecbcebbd5bf0d0253d169b454284fdbb574ac874a
parent1cdef8e90a33d982d8ce5ae73eb224e078a2054b (diff)
ir_to_mesa: Allow ir_return in main().
I didn't expect that this would really work, but it turns out there are shaders in the wild that do it. Fixes: (with swrast) glsl-fs-main-return glsl-vs-main-return
-rw-r--r--src/mesa/program/ir_to_mesa.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 7b65fa4203b..7de1939b63f 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -2129,12 +2129,12 @@ ir_to_mesa_visitor::visit(ir_texture *ir)
void
ir_to_mesa_visitor::visit(ir_return *ir)
{
- assert(current_function);
-
if (ir->get_value()) {
ir_to_mesa_dst_reg l;
int i;
+ assert(current_function);
+
ir->get_value()->accept(this);
ir_to_mesa_src_reg r = this->result;