aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/glx/singlepix.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/glx/singlepix.c')
-rwxr-xr-x[-rw-r--r--]xorg-server/glx/singlepix.c87
1 files changed, 55 insertions, 32 deletions
diff --git a/xorg-server/glx/singlepix.c b/xorg-server/glx/singlepix.c
index cf1200fc0..10fd651df 100644..100755
--- a/xorg-server/glx/singlepix.c
+++ b/xorg-server/glx/singlepix.c
@@ -39,6 +39,10 @@
#include "unpack.h"
#include "indirect_size_get.h"
#include "indirect_dispatch.h"
+#include "glapitable.h"
+#include "glapi.h"
+#include "glthread.h"
+#include "dispatch.h"
int
__glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc)
@@ -68,13 +72,16 @@ __glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc)
if (compsize < 0)
compsize = 0;
- glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
- glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes));
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_LSB_FIRST, lsbFirst));
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
__glXClearErrorOccured();
- glReadPixels(*(GLint *) (pc + 0), *(GLint *) (pc + 4),
- *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12),
- *(GLenum *) (pc + 16), *(GLenum *) (pc + 20), answer);
+ CALL_ReadPixels(GET_DISPATCH(), (*(GLint *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLsizei *) (pc + 8),
+ *(GLsizei *) (pc + 12),
+ *(GLenum *) (pc + 16),
+ *(GLenum *) (pc + 20), answer));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);
@@ -113,10 +120,13 @@ __glXDisp_GetTexImage(__GLXclientState * cl, GLbyte * pc)
target = *(GLenum *) (pc + 0);
swapBytes = *(GLboolean *) (pc + 16);
- glGetTexLevelParameteriv(target, level, GL_TEXTURE_WIDTH, &width);
- glGetTexLevelParameteriv(target, level, GL_TEXTURE_HEIGHT, &height);
+ CALL_GetTexLevelParameteriv(GET_DISPATCH(),
+ (target, level, GL_TEXTURE_WIDTH, &width));
+ CALL_GetTexLevelParameteriv(GET_DISPATCH(),
+ (target, level, GL_TEXTURE_HEIGHT, &height));
if (target == GL_TEXTURE_3D) {
- glGetTexLevelParameteriv(target, level, GL_TEXTURE_DEPTH, &depth);
+ CALL_GetTexLevelParameteriv(GET_DISPATCH(),
+ (target, level, GL_TEXTURE_DEPTH, &depth));
}
/*
* The three queries above might fail if we're in a state where queries
@@ -127,11 +137,13 @@ __glXDisp_GetTexImage(__GLXclientState * cl, GLbyte * pc)
if (compsize < 0)
compsize = 0;
- glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes));
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
__glXClearErrorOccured();
- glGetTexImage(*(GLenum *) (pc + 0), *(GLint *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLenum *) (pc + 12), answer);
+ CALL_GetTexImage(GET_DISPATCH(), (*(GLenum *) (pc + 0),
+ *(GLint *) (pc + 4),
+ *(GLenum *) (pc + 8),
+ *(GLenum *) (pc + 12), answer));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);
@@ -166,11 +178,11 @@ __glXDisp_GetPolygonStipple(__GLXclientState * cl, GLbyte * pc)
pc += __GLX_SINGLE_HDR_SIZE;
lsbFirst = *(GLboolean *) (pc + 0);
- glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_LSB_FIRST, lsbFirst));
__GLX_GET_ANSWER_BUFFER(answer, cl, 128, 1);
__glXClearErrorOccured();
- glGetPolygonStipple((GLubyte *) answer);
+ CALL_GetPolygonStipple(GET_DISPATCH(), ((GLubyte *) answer));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);
@@ -209,8 +221,10 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
/* target must be SEPARABLE_2D, however I guess we can let the GL
barf on this one.... */
- glGetConvolutionParameteriv(target, GL_CONVOLUTION_WIDTH, &width);
- glGetConvolutionParameteriv(target, GL_CONVOLUTION_HEIGHT, &height);
+ CALL_GetConvolutionParameteriv(GET_DISPATCH(),
+ (target, GL_CONVOLUTION_WIDTH, &width));
+ CALL_GetConvolutionParameteriv(GET_DISPATCH(),
+ (target, GL_CONVOLUTION_HEIGHT, &height));
/*
* The two queries above might fail if we're in a state where queries
* are illegal, but then width and height would still be zero anyway.
@@ -225,11 +239,13 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
compsize = __GLX_PAD(compsize);
compsize2 = __GLX_PAD(compsize2);
- glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes));
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize + compsize2, 1);
__glXClearErrorOccured();
- glGetSeparableFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), answer, answer + compsize, NULL);
+ CALL_GetSeparableFilter(GET_DISPATCH(), (*(GLenum *) (pc + 0),
+ *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8),
+ answer, answer + compsize, NULL));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);
@@ -284,12 +300,15 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
target = *(GLenum *) (pc + 0);
swapBytes = *(GLboolean *) (pc + 12);
- glGetConvolutionParameteriv(target, GL_CONVOLUTION_WIDTH, &width);
+ CALL_GetConvolutionParameteriv(GET_DISPATCH(),
+ (target, GL_CONVOLUTION_WIDTH, &width));
if (target == GL_CONVOLUTION_1D) {
height = 1;
}
else {
- glGetConvolutionParameteriv(target, GL_CONVOLUTION_HEIGHT, &height);
+ CALL_GetConvolutionParameteriv(GET_DISPATCH(),
+ (target, GL_CONVOLUTION_HEIGHT,
+ &height));
}
/*
* The two queries above might fail if we're in a state where queries
@@ -299,11 +318,12 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
if (compsize < 0)
compsize = 0;
- glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes));
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
__glXClearErrorOccured();
- glGetConvolutionFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), answer);
+ CALL_GetConvolutionFilter(GET_DISPATCH(), (*(GLenum *) (pc + 0),
+ *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), answer));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);
@@ -359,7 +379,8 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
swapBytes = *(GLboolean *) (pc + 12);
reset = *(GLboolean *) (pc + 13);
- glGetHistogramParameteriv(target, GL_HISTOGRAM_WIDTH, &width);
+ CALL_GetHistogramParameteriv(GET_DISPATCH(),
+ (target, GL_HISTOGRAM_WIDTH, &width));
/*
* The one query above might fail if we're in a state where queries
* are illegal, but then width would still be zero anyway.
@@ -368,10 +389,10 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
if (compsize < 0)
compsize = 0;
- glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes));
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
__glXClearErrorOccured();
- glGetHistogram(target, reset, format, type, answer);
+ CALL_GetHistogram(GET_DISPATCH(), (target, reset, format, type, answer));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);
@@ -429,10 +450,10 @@ GetMinmax(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
if (compsize < 0)
compsize = 0;
- glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes));
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
__glXClearErrorOccured();
- glGetMinmax(target, reset, format, type, answer);
+ CALL_GetMinmax(GET_DISPATCH(), (target, reset, format, type, answer));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);
@@ -485,7 +506,8 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
type = *(GLenum *) (pc + 8);
swapBytes = *(GLboolean *) (pc + 12);
- glGetColorTableParameteriv(target, GL_COLOR_TABLE_WIDTH, &width);
+ CALL_GetColorTableParameteriv(GET_DISPATCH(),
+ (target, GL_COLOR_TABLE_WIDTH, &width));
/*
* The one query above might fail if we're in a state where queries
* are illegal, but then width would still be zero anyway.
@@ -494,11 +516,12 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
if (compsize < 0)
compsize = 0;
- glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
+ CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes));
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
__glXClearErrorOccured();
- glGetColorTable(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), answer);
+ CALL_GetColorTable(GET_DISPATCH(), (*(GLenum *) (pc + 0),
+ *(GLenum *) (pc + 4),
+ *(GLenum *) (pc + 8), answer));
if (__glXErrorOccured()) {
__GLX_BEGIN_REPLY(0);