diff options
author | Eric Anholt <[email protected]> | 2010-08-17 19:51:00 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-08-17 19:55:14 -0700 |
commit | 1cdef8e90a33d982d8ce5ae73eb224e078a2054b (patch) | |
tree | 89be81808076847062e0cc90aa9f40d2da216aaa /src/mesa/drivers | |
parent | 03c59e4ab16b0ee362f189b549bd13491dba71e4 (diff) |
i965: Throw a link error when we see a "return" in main().
We'll need to use the HALT instruction to do this right, like returns
from other functions.
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_program.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c index c6d11fed064..1cdc8c6411b 100644 --- a/src/mesa/drivers/dri/i965/brw_program.c +++ b/src/mesa/drivers/dri/i965/brw_program.c @@ -175,6 +175,14 @@ static GLboolean brwProgramStringNotify( GLcontext *ctx, "the end of the function to work around it.\n"); return GL_FALSE; } + + if (prog->Instructions[i].Opcode == OPCODE_RET) { + shader_error(ctx, prog, + "i965 driver doesn't yet support \"return\" " + "from main().\n"); + return GL_FALSE; + } + if (prog->Instructions[i].DstReg.RelAddr && prog->Instructions[i].DstReg.File == PROGRAM_INPUT) { shader_error(ctx, prog, |