From: Eric Anholt Date: Wed, 18 Aug 2010 02:51:00 +0000 (-0700) Subject: i965: Throw a link error when we see a "return" in main(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1cdef8e90a33d982d8ce5ae73eb224e078a2054b;p=mesa.git 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. --- 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,