X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fglthread.h;fp=src%2Fmesa%2Fmain%2Fglthread.h;h=2c6e59adac9c4208e2d56f058dba17205a2d2f42;hb=47cf310a671b75b1552a7b5d8accc8baa8ecdefb;hp=c13ca9e823695ce89ea666bbeeb0299d94b42947;hpb=9037005d6034d6bcbeb508e0f783622e2351b957;p=mesa.git diff --git a/src/mesa/main/glthread.h b/src/mesa/main/glthread.h index c13ca9e8236..2c6e59adac9 100644 --- a/src/mesa/main/glthread.h +++ b/src/mesa/main/glthread.h @@ -43,6 +43,9 @@ */ #define MARSHAL_MAX_BATCHES 8 +/* Special value for glEnableClientState(GL_PRIMITIVE_RESTART_NV). */ +#define VERT_ATTRIB_PRIMITIVE_RESTART_NV -1 + #include #include #include "util/u_queue.h" @@ -127,6 +130,13 @@ struct glthread_state /** Caps. */ GLboolean SupportsBufferUploads; + /** Primitive restart state. */ + bool PrimitiveRestart; + bool PrimitiveRestartFixedIndex; + bool _PrimitiveRestart; + GLuint RestartIndex; + GLuint _RestartIndex[4]; /**< Restart index for index_size = 1,2,4. */ + /** Vertex Array objects tracked by glthread independently of Mesa. */ struct _mesa_HashTable *VAOs; struct glthread_vao *CurrentVAO; @@ -162,6 +172,9 @@ void _mesa_glthread_DeleteVertexArrays(struct gl_context *ctx, GLsizei n, const GLuint *ids); void _mesa_glthread_GenVertexArrays(struct gl_context *ctx, GLsizei n, GLuint *arrays); +void _mesa_glthread_set_prim_restart(struct gl_context *ctx, GLenum cap, + bool value); +void _mesa_glthread_PrimitiveRestartIndex(struct gl_context *ctx, GLuint index); void _mesa_glthread_ClientState(struct gl_context *ctx, GLuint *vaobj, gl_vert_attrib attrib, bool enable); void _mesa_glthread_AttribDivisor(struct gl_context *ctx, const GLuint *vaobj,