summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r600/r700_oglprog.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-02-04 16:49:35 -0700
committerBrian Paul <brianp@vmware.com>2010-02-04 16:53:27 -0700
commit4ac9c80e5beea26e13ccf12ce6bd9ee051c229f5 (patch)
tree80b3ca588ae0befc950beec84fe3fdc89fd2890d /src/mesa/drivers/dri/r600/r700_oglprog.c
parent0f763c5b000ad87c43da12bec014d5e367ae64fe (diff)
mesa: change ctx->Driver.ProgramStringNotify() to return GLboolean
GL_TRUE indicates that the driver accepts the program. GL_FALSE indicates the program can't be compiled/translated by the driver for some reason (too many resources used, etc). Propogate this result up to the GL API: set GL_INVALID_OPERATION error if glProgramString() was called. Set shader program link status to GL_FALSE if glLinkProgram() was called. At this point, drivers still don't do any program checking and always return GL_TRUE.
Diffstat (limited to 'src/mesa/drivers/dri/r600/r700_oglprog.c')
-rw-r--r--src/mesa/drivers/dri/r600/r700_oglprog.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r600/r700_oglprog.c b/src/mesa/drivers/dri/r600/r700_oglprog.c
index 0d476fcd86..2a50361199 100644
--- a/src/mesa/drivers/dri/r600/r700_oglprog.c
+++ b/src/mesa/drivers/dri/r600/r700_oglprog.c
@@ -132,7 +132,7 @@ static void r700DeleteProgram(GLcontext * ctx, struct gl_program *prog)
_mesa_delete_program(ctx, prog);
}
-static void
+static GLboolean
r700ProgramStringNotify(GLcontext * ctx, GLenum target, struct gl_program *prog)
{
struct r700_vertex_program_cont *vpc = (struct r700_vertex_program_cont *)prog;
@@ -153,6 +153,8 @@ r700ProgramStringNotify(GLcontext * ctx, GLenum target, struct gl_program *prog)
break;
}
+ /* XXX check if program is legal, within limits */
+ return GL_TRUE;
}
static GLboolean r700IsProgramNative(GLcontext * ctx, GLenum target, struct gl_program *prog)