glthread: sync in glFlush for multiple contexts
[mesa.git] / src / mapi / glapi / gen / EXT_direct_state_access.xml
index 3888dd34e6e25bdf4ea212d6e90c9b87367c8467..4314973cc01c751f47a8b225949972c5b6062729 100644 (file)
 
    <!-- OpenGL 1.1 -->
 
-    <function name="ClientAttribDefaultEXT">
+    <function name="ClientAttribDefaultEXT"
+              marshal_call_after="if (COMPAT) _mesa_glthread_ClientAttribDefault(ctx, mask);">
        <param name="mask" type="GLbitfield" />
     </function>
 
-    <function name="PushClientAttribDefaultEXT">
+    <function name="PushClientAttribDefaultEXT"
+              marshal_call_after="if (COMPAT) _mesa_glthread_PushClientAttrib(ctx, mask, true);">
        <param name="mask" type="GLbitfield" />
     </function>
 
    </function>
 
    <function name="MultiTexCoordPointerEXT" marshal="async"
-             marshal_call_after="_mesa_glthread_AttribPointer(ctx);">
+             marshal_call_after="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_TEX(texunit - GL_TEXTURE0), size, type, stride,  pointer);">
       <param name="texunit" type="GLenum" />
       <param name="size" type="GLint" />
       <param name="type" type="GLenum" />
       <param name="params" type="GLint *" />
    </function>
 
-   <function name="EnableClientStateiEXT">
+   <function name="EnableClientStateiEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_TEX(index), true);">
       <param name="array" type="GLenum" />
       <param name="index" type="GLuint" />
    </function>
 
-   <function name="DisableClientStateiEXT">
+   <function name="DisableClientStateiEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_TEX(index), false);">
       <param name="array" type="GLenum" />
       <param name="index" type="GLuint" />
    </function>
       <param name="size" type="GLsizeiptr" />
    </function>
 
-   <function name="VertexArrayVertexOffsetEXT">
+   <function name="VertexArrayVertexOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_POS, size, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="size" type="GLint" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayColorOffsetEXT">
+   <function name="VertexArrayColorOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR0, size, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="size" type="GLint" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayEdgeFlagOffsetEXT">
+   <function name="VertexArrayEdgeFlagOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_EDGEFLAG, 1, GL_UNSIGNED_BYTE, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="stride" type="GLsizei" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayIndexOffsetEXT">
+   <function name="VertexArrayIndexOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR_INDEX, 1, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="type" type="GLenum" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayNormalOffsetEXT">
+   <function name="VertexArrayNormalOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_NORMAL, 3, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="type" type="GLenum" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayTexCoordOffsetEXT">
+   <function name="VertexArrayTexCoordOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_TEX(ctx->GLThread.ClientActiveTexture), size, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="size" type="GLint" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayMultiTexCoordOffsetEXT">
+   <function name="VertexArrayMultiTexCoordOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_TEX(texunit - GL_TEXTURE0), size, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="texunit" type="GLenum" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayFogCoordOffsetEXT">
+   <function name="VertexArrayFogCoordOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_FOG, 1, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="type" type="GLenum" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArraySecondaryColorOffsetEXT">
+   <function name="VertexArraySecondaryColorOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR1, size, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="size" type="GLint" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayVertexAttribOffsetEXT">
+   <function name="VertexArrayVertexAttribOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_GENERIC(index), size, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="index" type="GLuint" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="VertexArrayVertexAttribIOffsetEXT">
+   <function name="VertexArrayVertexAttribIOffsetEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_GENERIC(index), size, type, stride, offset);">
       <param name="vaobj" type="GLuint" />
       <param name="buffer" type="GLuint" />
       <param name="index" type="GLuint" />
       <param name="offset" type="GLintptr" />
    </function>
 
-   <function name="EnableVertexArrayEXT">
+   <function name="EnableVertexArrayEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, _mesa_array_to_attrib(ctx, array), true);">
       <param name="vaobj" type="GLuint" />
       <param name="array" type="GLenum" />
    </function>
 
-   <function name="DisableVertexArrayEXT">
+   <function name="DisableVertexArrayEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, _mesa_array_to_attrib(ctx, array), false);">
       <param name="vaobj" type="GLuint" />
       <param name="array" type="GLenum" />
    </function>
 
-   <function name="EnableVertexArrayAttribEXT">
+   <function name="EnableVertexArrayAttribEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, VERT_ATTRIB_GENERIC(index), true);">
       <param name="vaobj" type="GLuint" />
       <param name="index" type="GLuint" />
    </function>
 
-   <function name="DisableVertexArrayAttribEXT">
+   <function name="DisableVertexArrayAttribEXT"
+             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, VERT_ATTRIB_GENERIC(index), false);">
       <param name="vaobj" type="GLuint" />
       <param name="index" type="GLuint" />
    </function>