diff options
| author | Eric Anholt <eric@anholt.net> | 2010-08-17 19:51:00 -0700 | 
|---|---|---|
| committer | Eric Anholt <eric@anholt.net> | 2010-08-17 19:55:14 -0700 | 
| commit | 1cdef8e90a33d982d8ce5ae73eb224e078a2054b (patch) | |
| tree | 89be81808076847062e0cc90aa9f40d2da216aaa /src | |
| 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')
| -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 c6d11fed06..1cdc8c6411 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, | 
