From ce3350770c91f07a86466d59dfdab2a0c16cf282 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Thu, 8 Sep 2005 00:12:57 +0000 Subject: add a bunch of FLUSH_VERTICES to some of the ATI_fs functions, most notably when changing the global ati fragment shader constants. --- src/mesa/shader/atifragshader.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/mesa/shader/atifragshader.c') diff --git a/src/mesa/shader/atifragshader.c b/src/mesa/shader/atifragshader.c index 3117467c3cf..b86396afc8b 100644 --- a/src/mesa/shader/atifragshader.c +++ b/src/mesa/shader/atifragshader.c @@ -246,6 +246,7 @@ _mesa_DeleteFragmentShaderATI(GLuint id) else if (prog) { if (ctx->ATIFragmentShader.Current && ctx->ATIFragmentShader.Current->Base.Id == id) { + FLUSH_VERTICES(ctx, _NEW_PROGRAM); _mesa_BindFragmentShaderATI(0); } } @@ -280,6 +281,8 @@ _mesa_BeginFragmentShaderATI(void) return; } + FLUSH_VERTICES(ctx, _NEW_PROGRAM); + /* if the shader was already defined free instructions and get new ones (or, could use the same mem but would need to reinitialize) */ /* no idea if it's allowed to redefine a shader */ @@ -715,6 +718,7 @@ _mesa_SetFragmentShaderConstantATI(GLuint dst, const GLfloat * value) curProg->localConstDef |= 1 << dstindex; } else { + FLUSH_VERTICES(ctx, _NEW_PROGRAM); COPY_4V(ctx->ATIFragmentShader.globalConstants[dstindex], value); } } -- cgit v1.2.3