aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/glx/indirect_program.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-10-31 08:40:01 +0100
committermarha <marha@users.sourceforge.net>2013-10-31 08:40:01 +0100
commite4ef724e06621be9325fc41ed886fd404467fdc0 (patch)
treebe445314647f682fbb4a1e8b94aeb6ee79cede5f /xorg-server/glx/indirect_program.c
parent270d3a1aa4137dc15d7b7e5a0958cc8c0bef9a1a (diff)
downloadvcxsrv-e4ef724e06621be9325fc41ed886fd404467fdc0.tar.gz
vcxsrv-e4ef724e06621be9325fc41ed886fd404467fdc0.tar.bz2
vcxsrv-e4ef724e06621be9325fc41ed886fd404467fdc0.zip
fontconfig glproto libX11 mesa xserver xkeyboard-config git update 31 oct 2013
xserver commit 902ff0b3497d202b86bf9a411e17db7b694d6eaa xkeyboard-config commit 70bbf18d6cddb7271db1b2e042765ace3c4ac485 libX11 commit 6cb02b166361200da35ba14f52cd9aaa493eb0ea glproto commit aacc7a51b6161c765b04524e0d2ab31e5e586834 fontconfig commit 525a135ccf53e4bf3363c3143d9cfdf15fba55ab mesa commit b16b3c8703f198ca0f025b730d582600df79c19c
Diffstat (limited to 'xorg-server/glx/indirect_program.c')
-rw-r--r--xorg-server/glx/indirect_program.c49
1 files changed, 16 insertions, 33 deletions
diff --git a/xorg-server/glx/indirect_program.c b/xorg-server/glx/indirect_program.c
index 0114d7347..db22d845d 100644
--- a/xorg-server/glx/indirect_program.c
+++ b/xorg-server/glx/indirect_program.c
@@ -40,28 +40,15 @@
#include "unpack.h"
#include "indirect_size_get.h"
#include "indirect_dispatch.h"
-#include "glapitable.h"
-#include "glapi.h"
-#include "glthread.h"
-#include "dispatch.h"
-
-static int DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc,
- unsigned get_programiv_offset,
- unsigned get_program_string_offset, Bool do_swap);
/**
* Handle both types of glGetProgramString calls.
- *
- * This single function handles both \c glGetProgramStringARB and
- * \c glGetProgramStringNV. The dispatch offsets for the functions to use
- * for \c glGetProgramivARB and \c glGetProgramStringARB are passed in by the
- * caller. These can be the offsets of either the ARB versions or the NV
- * versions.
*/
-int
+static int
DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc,
- unsigned get_programiv_offset,
- unsigned get_program_string_offset, Bool do_swap)
+ PFNGLGETPROGRAMIVARBPROC get_programiv,
+ PFNGLGETPROGRAMSTRINGARBPROC get_program_string,
+ Bool do_swap)
{
xGLXVendorPrivateWithReplyReq *const req =
(xGLXVendorPrivateWithReplyReq *) pc;
@@ -88,19 +75,13 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc,
/* The value of the GL_PROGRAM_LENGTH_ARB and GL_PROGRAM_LENGTH_NV
* enumerants is the same.
*/
- CALL_by_offset(GET_DISPATCH(),
- (void (GLAPIENTRYP) (GLuint, GLenum, GLint *)),
- get_programiv_offset,
- (target, GL_PROGRAM_LENGTH_ARB, &compsize));
+ get_programiv(target, GL_PROGRAM_LENGTH_ARB, &compsize);
if (compsize != 0) {
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
__glXClearErrorOccured();
- CALL_by_offset(GET_DISPATCH(),
- (void (GLAPIENTRYP) (GLuint, GLenum, GLubyte *)),
- get_program_string_offset,
- (target, pname, (GLubyte *) answer));
+ get_program_string(target, pname, (GLubyte *) answer);
}
if (__glXErrorOccured()) {
@@ -123,27 +104,29 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc,
int
__glXDisp_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, _gloffset_GetProgramivARB,
- _gloffset_GetProgramStringARB, False);
+ return DoGetProgramString(cl, pc, glGetProgramivARB,
+ glGetProgramStringARB, False);
}
int
__glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, _gloffset_GetProgramivARB,
- _gloffset_GetProgramStringARB, True);
+ return DoGetProgramString(cl, pc, glGetProgramivARB,
+ glGetProgramStringARB, True);
}
int
__glXDisp_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, _gloffset_GetProgramivNV,
- _gloffset_GetProgramStringNV, False);
+ return DoGetProgramString(cl, pc, (PFNGLGETPROGRAMIVARBPROC)glGetProgramivNV,
+ (PFNGLGETPROGRAMSTRINGARBPROC)glGetProgramStringNV,
+ False);
}
int
__glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
{
- return DoGetProgramString(cl, pc, _gloffset_GetProgramivNV,
- _gloffset_GetProgramStringNV, True);
+ return DoGetProgramString(cl, pc, (PFNGLGETPROGRAMIVARBPROC)glGetProgramivNV,
+ (PFNGLGETPROGRAMSTRINGARBPROC)glGetProgramStringNV,
+ True);
}