From 1cdef8e90a33d982d8ce5ae73eb224e078a2054b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 Aug 2010 19:51:00 -0700 Subject: 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. --- src/mesa/drivers/dri/i965/brw_program.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/mesa/drivers/dri/i965/brw_program.c') 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, -- cgit v1.2.3