aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/glamor/glamor_gl_dispatch.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-01-26 20:05:50 +0100
committermarha <marha@users.sourceforge.net>2014-01-26 20:10:14 +0100
commit30af30b78075159fce477ae99cc72540133714d0 (patch)
tree1028af42bd030d09bf9c9cb6085665300326abc6 /xorg-server/glamor/glamor_gl_dispatch.h
parent775780ea274e6602c2d64de33a98ee35979cc330 (diff)
downloadvcxsrv-30af30b78075159fce477ae99cc72540133714d0.tar.gz
vcxsrv-30af30b78075159fce477ae99cc72540133714d0.tar.bz2
vcxsrv-30af30b78075159fce477ae99cc72540133714d0.zip
xserver randrproto libxtrans fontconfig libxcb xcb-proto mesa git update 26 Jan 2014
xserver commit c1ce807d9f18f215332d7eeb844e8c640f71c53c libxcb commit e7263931aff3e3450dc938ad465a7577f943549f libxcb/xcb-proto commit d898fd39ad6c82207eb78666b2daad982dd757b5 randrproto commit a4a6694c059d74247c16527eef4a0ec9f56bbef6 libxtrans commit e1e6121a1638d43d9929589b4723da2b38cb6b44 fontconfig commit e2b406053c2937799da8636c56b72a77998bcab0 mesa commit 07149f0252c52b4ac58b6df4e307fd786b49b490
Diffstat (limited to 'xorg-server/glamor/glamor_gl_dispatch.h')
-rw-r--r--xorg-server/glamor/glamor_gl_dispatch.h138
1 files changed, 138 insertions, 0 deletions
diff --git a/xorg-server/glamor/glamor_gl_dispatch.h b/xorg-server/glamor/glamor_gl_dispatch.h
new file mode 100644
index 000000000..76dadd49e
--- /dev/null
+++ b/xorg-server/glamor/glamor_gl_dispatch.h
@@ -0,0 +1,138 @@
+typedef struct glamor_gl_dispatch {
+ /* Transformation functions */
+ void (*glMatrixMode) (GLenum mode);
+ void (*glLoadIdentity) (void);
+ void (*glViewport) (GLint x, GLint y, GLsizei width,
+ GLsizei height);
+ /* Drawing functions */
+ void (*glRasterPos2i) (GLint x, GLint y);
+
+ /* Vertex Array */
+ void (*glDrawArrays) (GLenum mode, GLint first, GLsizei count);
+
+ /* Elements Array*/
+ void (*glDrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices);
+ void (*glDrawRangeElements) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices);
+
+ /* Raster functions */
+ void (*glReadPixels) (GLint x, GLint y,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type, GLvoid * pixels);
+
+ void (*glDrawPixels) (GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ const GLvoid * pixels);
+ void (*glPixelStorei) (GLenum pname, GLint param);
+ /* Texture Mapping */
+
+ void (*glTexParameteri) (GLenum target, GLenum pname, GLint param);
+ void (*glTexImage2D) (GLenum target, GLint level,
+ GLint internalFormat,
+ GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ const GLvoid * pixels);
+ /* 1.1 */
+ void (*glGenTextures) (GLsizei n, GLuint * textures);
+ void (*glDeleteTextures) (GLsizei n, const GLuint * textures);
+ void (*glBindTexture) (GLenum target, GLuint texture);
+ void (*glTexSubImage2D) (GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ const GLvoid * pixels);
+ /* MISC */
+ void (*glFlush) (void);
+ void (*glFinish) (void);
+ void (*glGetIntegerv) (GLenum pname, GLint * params);
+ const GLubyte *(*glGetString) (GLenum name);
+ void (*glScissor) (GLint x, GLint y, GLsizei width,
+ GLsizei height);
+ void (*glEnable) (GLenum cap);
+ void (*glDisable) (GLenum cap);
+ void (*glBlendFunc) (GLenum sfactor, GLenum dfactor);
+ void (*glLogicOp) (GLenum opcode);
+
+ /* 1.3 */
+ void (*glActiveTexture) (GLenum texture);
+
+ /* GL Extentions */
+ void (*glGenBuffers) (GLsizei n, GLuint * buffers);
+ void (*glBufferData) (GLenum target, GLsizeiptr size,
+ const GLvoid * data, GLenum usage);
+ GLvoid *(*glMapBuffer) (GLenum target, GLenum access);
+ GLvoid *(*glMapBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+ GLboolean (*glUnmapBuffer) (GLenum target);
+ void (*glBindBuffer) (GLenum target, GLuint buffer);
+ void (*glDeleteBuffers) (GLsizei n, const GLuint * buffers);
+
+ void (*glFramebufferTexture2D) (GLenum target, GLenum attachment,
+ GLenum textarget, GLuint texture,
+ GLint level);
+ void (*glBindFramebuffer) (GLenum target, GLuint framebuffer);
+ void (*glDeleteFramebuffers) (GLsizei n,
+ const GLuint * framebuffers);
+ void (*glGenFramebuffers) (GLsizei n, GLuint * framebuffers);
+ GLenum (*glCheckFramebufferStatus) (GLenum target);
+ void (*glBlitFramebuffer) (GLint srcX0, GLint srcY0, GLint srcX1,
+ GLint srcY1, GLint dstX0, GLint dstY0,
+ GLint dstX1, GLint dstY1,
+ GLbitfield mask, GLenum filter);
+
+ void (*glVertexAttribPointer) (GLuint index, GLint size,
+ GLenum type, GLboolean normalized,
+ GLsizei stride,
+ const GLvoid * pointer);
+ void (*glDisableVertexAttribArray) (GLuint index);
+ void (*glEnableVertexAttribArray) (GLuint index);
+ void (*glBindAttribLocation) (GLuint program, GLuint index,
+ const GLchar * name);
+
+ void (*glLinkProgram) (GLuint program);
+ void (*glShaderSource) (GLuint shader, GLsizei count,
+ const GLchar * *string,
+ const GLint * length);
+ void (*glUseProgram) (GLuint program);
+ void (*glUniform1i) (GLint location, GLint v0);
+ void (*glUniform1f) (GLint location, GLfloat v0);
+ void (*glUniform4f) (GLint location, GLfloat v0, GLfloat v1,
+ GLfloat v2, GLfloat v3);
+ void (*glUniform1fv) (GLint location, GLsizei count,
+ const GLfloat * value);
+ void (*glUniform2fv) (GLint location, GLsizei count,
+ const GLfloat * value);
+ void (*glUniform4fv) (GLint location, GLsizei count,
+ const GLfloat * value);
+ void (*glUniformMatrix3fv) (GLint location, GLsizei count,
+ GLboolean transpose, const GLfloat* value);
+ GLuint (*glCreateProgram) (void);
+ GLuint (*glDeleteProgram) (GLuint);
+ GLuint (*glCreateShader) (GLenum type);
+ void (*glCompileShader) (GLuint shader);
+ void (*glAttachShader) (GLuint program, GLuint shader);
+ void (*glDeleteShader) (GLuint shader);
+ void (*glGetShaderiv) (GLuint shader, GLenum pname,
+ GLint * params);
+ void (*glGetShaderInfoLog) (GLuint shader, GLsizei bufSize,
+ GLsizei * length, GLchar * infoLog);
+ void (*glGetProgramiv) (GLuint program, GLenum pname,
+ GLint * params);
+ void (*glGetProgramInfoLog) (GLuint program, GLsizei bufSize,
+ GLsizei * length, GLchar * infoLog);
+ GLint (*glGetUniformLocation) (GLuint program,
+ const GLchar * name);
+
+} glamor_gl_dispatch;
+
+
+typedef void *(*get_proc_address_t) (const char *);
+
+_X_EXPORT Bool
+glamor_gl_dispatch_init_impl(struct glamor_gl_dispatch *dispatch,
+ int gl_version,
+ get_proc_address_t get_proc_address);
+
+
+_X_EXPORT Bool
+glamor_gl_dispatch_init(ScreenPtr screen,
+ struct glamor_gl_dispatch *dispatch,
+ int gl_version);