Add GLAPIENTRY function decorations for correct operation on Windows.
[mesa.git] / src / mesa / main / arbprogram.c
index 5102758656a6cc0bca2875ac2073db9756563418..ab27e086770ab781334941d7d9d81af2056a31bd 100644 (file)
@@ -56,6 +56,7 @@ _mesa_EnableVertexAttribArrayARB(GLuint index)
       return;
    }
 
+   FLUSH_VERTICES(ctx, _NEW_ARRAY);
    ctx->Array.VertexAttrib[index].Enabled = GL_TRUE;
    ctx->Array._Enabled |= _NEW_ARRAY_ATTRIB(index);
    ctx->Array.NewState |= _NEW_ARRAY_ATTRIB(index);
@@ -74,6 +75,7 @@ _mesa_DisableVertexAttribArrayARB(GLuint index)
       return;
    }
 
+   FLUSH_VERTICES(ctx, _NEW_ARRAY);
    ctx->Array.VertexAttrib[index].Enabled = GL_FALSE;
    ctx->Array._Enabled &= ~_NEW_ARRAY_ATTRIB(index);
    ctx->Array.NewState |= _NEW_ARRAY_ATTRIB(index);
@@ -178,7 +180,7 @@ _mesa_GetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer)
       return;
    }
 
-   *pointer = ctx->Array.VertexAttrib[index].Ptr;;
+   *pointer = (GLvoid *) ctx->Array.VertexAttrib[index].Ptr;;
 }
 
 
@@ -189,6 +191,8 @@ _mesa_ProgramStringARB(GLenum target, GLenum format, GLsizei len,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END(ctx);
 
+   FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+
    if (target == GL_VERTEX_PROGRAM_ARB
        && ctx->Extensions.ARB_vertex_program) {
       struct vertex_program *prog = ctx->VertexProgram.Current;
@@ -241,6 +245,8 @@ _mesa_ProgramEnvParameter4fARB(GLenum target, GLuint index,
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END(ctx);
 
+   FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+
    if (target == GL_FRAGMENT_PROGRAM_ARB
        && ctx->Extensions.ARB_fragment_program) {
       if (index >= ctx->Const.MaxFragmentProgramEnvParams) {
@@ -296,6 +302,8 @@ _mesa_GetProgramEnvParameterfvARB(GLenum target, GLuint index,
 {
    GET_CURRENT_CONTEXT(ctx);
 
+   FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+
    if (!ctx->_CurrentProgram)
       ASSERT_OUTSIDE_BEGIN_END(ctx);
 
@@ -333,6 +341,8 @@ _mesa_ProgramLocalParameter4fARB(GLenum target, GLuint index,
    struct program *prog;
    ASSERT_OUTSIDE_BEGIN_END(ctx);
 
+   FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+
    if ((target == GL_FRAGMENT_PROGRAM_NV
         && ctx->Extensions.NV_fragment_program) ||
        (target == GL_FRAGMENT_PROGRAM_ARB