summaryrefslogtreecommitdiff
path: root/glx
diff options
context:
space:
mode:
Diffstat (limited to 'glx')
-rw-r--r--glx/indirect_dispatch.c109
-rw-r--r--glx/indirect_dispatch.h24
-rw-r--r--glx/indirect_dispatch_swap.c149
-rw-r--r--glx/indirect_size_get.c28
-rw-r--r--glx/indirect_size_get.h3
-rw-r--r--glx/indirect_table.c27
-rw-r--r--glx/rensize.c1
7 files changed, 310 insertions, 31 deletions
diff --git a/glx/indirect_dispatch.c b/glx/indirect_dispatch.c
index 24784e693..b5e00e1ab 100644
--- a/glx/indirect_dispatch.c
+++ b/glx/indirect_dispatch.c
@@ -4035,6 +4035,99 @@ __glXDisp_DrawBuffers(GLbyte * pc)
DrawBuffers(n, (const GLenum *) (pc + 4));
}
+int
+__glXDisp_GetVertexAttribdv(__GLXclientState * cl, GLbyte * pc)
+{
+ PFNGLGETVERTEXATTRIBDVPROC GetVertexAttribdv =
+ __glGetProcAddress("glGetVertexAttribdv");
+ xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if (cx != NULL) {
+ const GLenum pname = *(GLenum *) (pc + 4);
+
+ const GLuint compsize = __glGetVertexAttribdv_size(pname);
+ GLdouble answerBuffer[200];
+ GLdouble *params =
+ __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
+ sizeof(answerBuffer), 8);
+
+ if (params == NULL)
+ return BadAlloc;
+ __glXClearErrorOccured();
+
+ GetVertexAttribdv(*(GLuint *) (pc + 0), pname, params);
+ __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
+}
+
+int
+__glXDisp_GetVertexAttribfv(__GLXclientState * cl, GLbyte * pc)
+{
+ PFNGLGETVERTEXATTRIBFVPROC GetVertexAttribfv =
+ __glGetProcAddress("glGetVertexAttribfv");
+ xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if (cx != NULL) {
+ const GLenum pname = *(GLenum *) (pc + 4);
+
+ const GLuint compsize = __glGetVertexAttribfv_size(pname);
+ GLfloat answerBuffer[200];
+ GLfloat *params =
+ __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
+ sizeof(answerBuffer), 4);
+
+ if (params == NULL)
+ return BadAlloc;
+ __glXClearErrorOccured();
+
+ GetVertexAttribfv(*(GLuint *) (pc + 0), pname, params);
+ __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
+}
+
+int
+__glXDisp_GetVertexAttribiv(__GLXclientState * cl, GLbyte * pc)
+{
+ PFNGLGETVERTEXATTRIBIVPROC GetVertexAttribiv =
+ __glGetProcAddress("glGetVertexAttribiv");
+ xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if (cx != NULL) {
+ const GLenum pname = *(GLenum *) (pc + 4);
+
+ const GLuint compsize = __glGetVertexAttribiv_size(pname);
+ GLint answerBuffer[200];
+ GLint *params =
+ __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
+ sizeof(answerBuffer), 4);
+
+ if (params == NULL)
+ return BadAlloc;
+ __glXClearErrorOccured();
+
+ GetVertexAttribiv(*(GLuint *) (pc + 0), pname, params);
+ __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
+}
+
void
__glXDisp_VertexAttrib1dv(GLbyte * pc)
{
@@ -5125,3 +5218,19 @@ __glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
__glGetProcAddress("glActiveStencilFaceEXT");
ActiveStencilFaceEXT(*(GLenum *) (pc + 0));
}
+
+void
+__glXDisp_BindFramebufferEXT(GLbyte * pc)
+{
+ PFNGLBINDFRAMEBUFFEREXTPROC BindFramebufferEXT =
+ __glGetProcAddress("glBindFramebufferEXT");
+ BindFramebufferEXT(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+}
+
+void
+__glXDisp_BindRenderbufferEXT(GLbyte * pc)
+{
+ PFNGLBINDRENDERBUFFEREXTPROC BindRenderbufferEXT =
+ __glGetProcAddress("glBindRenderbufferEXT");
+ BindRenderbufferEXT(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+}
diff --git a/glx/indirect_dispatch.h b/glx/indirect_dispatch.h
index 536be60ac..8f8b5ae22 100644
--- a/glx/indirect_dispatch.h
+++ b/glx/indirect_dispatch.h
@@ -116,6 +116,10 @@ extern _X_HIDDEN void __glXDisp_LightModeliv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_LightModeliv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_VertexAttribs1dvNV(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_VertexAttribs1dvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetVertexAttribfv(struct __GLXclientStateRec *,
+ GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribfv(struct __GLXclientStateRec
+ *, GLbyte *);
extern _X_HIDDEN void __glXDisp_Normal3bv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Normal3bv(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_VendorPrivate(struct __GLXclientStateRec *,
@@ -413,6 +417,10 @@ extern _X_HIDDEN void __glXDisp_TexGenfv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_TexGenfv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_VertexAttrib4dvNV(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetVertexAttribiv(struct __GLXclientStateRec *,
+ GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribiv(struct __GLXclientStateRec
+ *, GLbyte *);
extern _X_HIDDEN void __glXDisp_DrawBuffers(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_DrawBuffers(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_CreateContextWithConfigSGIX(struct
@@ -552,6 +560,8 @@ extern _X_HIDDEN void __glXDisp_MultiTexCoord1sv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1sv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_RasterPos3sv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_RasterPos3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BindFramebufferEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BindFramebufferEXT(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_PushAttrib(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_PushAttrib(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_DestroyPbuffer(struct __GLXclientStateRec *,
@@ -676,6 +686,8 @@ extern _X_HIDDEN int __glXDisp_GetTexParameteriv(struct __GLXclientStateRec *,
GLbyte *);
extern _X_HIDDEN int __glXDispSwap_GetTexParameteriv(struct __GLXclientStateRec
*, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttribs4dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_VertexAttrib3sv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_VertexAttrib3sv(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_IsQuery(struct __GLXclientStateRec *, GLbyte *);
@@ -776,8 +788,6 @@ extern _X_HIDDEN void __glXDisp_ColorMaterial(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ColorMaterial(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_VertexAttribs1svNV(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_VertexAttribs1svNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_VertexAttrib1fvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_GetSeparableFilter(struct __GLXclientStateRec *,
GLbyte *);
extern _X_HIDDEN int __glXDispSwap_GetSeparableFilter(struct __GLXclientStateRec
@@ -803,6 +813,10 @@ extern _X_HIDDEN int __glXDispSwap_RenderLarge(struct __GLXclientStateRec *,
GLbyte *);
extern _X_HIDDEN void __glXDisp_PolygonOffset(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_PolygonOffset(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetVertexAttribdv(struct __GLXclientStateRec *,
+ GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribdv(struct __GLXclientStateRec
+ *, GLbyte *);
extern _X_HIDDEN void __glXDisp_Normal3dv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Normal3dv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Lightf(GLbyte * pc);
@@ -960,6 +974,8 @@ extern _X_HIDDEN void __glXDisp_CopyTexImage1D(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_CopyTexImage1D(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_RasterPos2dv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_RasterPos2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib1fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Fogiv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Fogiv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_EndQuery(GLbyte * pc);
@@ -1010,6 +1026,8 @@ extern _X_HIDDEN void __glXDisp_MultiTexCoord1iv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1iv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Vertex2fv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Vertex2fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BindRenderbufferEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BindRenderbufferEXT(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Vertex3sv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Vertex3sv(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_GetQueryObjectiv(struct __GLXclientStateRec *,
@@ -1156,8 +1174,6 @@ extern _X_HIDDEN int __glXDisp_GetConvolutionFilterEXT(struct
extern _X_HIDDEN int __glXDispSwap_GetConvolutionFilterEXT(struct
__GLXclientStateRec
*, GLbyte *);
-extern _X_HIDDEN void __glXDisp_VertexAttribs4dvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc);
extern _X_HIDDEN int __glXDisp_GetTexGenfv(struct __GLXclientStateRec *,
GLbyte *);
extern _X_HIDDEN int __glXDispSwap_GetTexGenfv(struct __GLXclientStateRec *,
diff --git a/glx/indirect_dispatch_swap.c b/glx/indirect_dispatch_swap.c
index 7ebcc6330..b2c0b39e4 100644
--- a/glx/indirect_dispatch_swap.c
+++ b/glx/indirect_dispatch_swap.c
@@ -3847,8 +3847,8 @@ __glXDispSwap_MultiTexCoord1dv(GLbyte * pc)
#endif
glMultiTexCoord1dvARB((GLenum) bswap_ENUM(pc + 8),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 1));
+ (const GLdouble *)
+ bswap_64_array((uint64_t *) (pc + 0), 1));
}
void
@@ -3871,8 +3871,8 @@ void
__glXDispSwap_MultiTexCoord1sv(GLbyte * pc)
{
glMultiTexCoord1svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 1));
+ (const GLshort *)
+ bswap_16_array((uint16_t *) (pc + 4), 1));
}
void
@@ -3886,8 +3886,8 @@ __glXDispSwap_MultiTexCoord2dv(GLbyte * pc)
#endif
glMultiTexCoord2dvARB((GLenum) bswap_ENUM(pc + 16),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 2));
+ (const GLdouble *)
+ bswap_64_array((uint64_t *) (pc + 0), 2));
}
void
@@ -3910,8 +3910,8 @@ void
__glXDispSwap_MultiTexCoord2sv(GLbyte * pc)
{
glMultiTexCoord2svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 2));
+ (const GLshort *)
+ bswap_16_array((uint16_t *) (pc + 4), 2));
}
void
@@ -3925,8 +3925,8 @@ __glXDispSwap_MultiTexCoord3dv(GLbyte * pc)
#endif
glMultiTexCoord3dvARB((GLenum) bswap_ENUM(pc + 24),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 3));
+ (const GLdouble *)
+ bswap_64_array((uint64_t *) (pc + 0), 3));
}
void
@@ -3949,8 +3949,8 @@ void
__glXDispSwap_MultiTexCoord3sv(GLbyte * pc)
{
glMultiTexCoord3svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 3));
+ (const GLshort *)
+ bswap_16_array((uint16_t *) (pc + 4), 3));
}
void
@@ -3964,8 +3964,8 @@ __glXDispSwap_MultiTexCoord4dv(GLbyte * pc)
#endif
glMultiTexCoord4dvARB((GLenum) bswap_ENUM(pc + 32),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 4));
+ (const GLdouble *)
+ bswap_64_array((uint64_t *) (pc + 0), 4));
}
void
@@ -3988,8 +3988,8 @@ void
__glXDispSwap_MultiTexCoord4sv(GLbyte * pc)
{
glMultiTexCoord4svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ (const GLshort *)
+ bswap_16_array((uint16_t *) (pc + 4), 4));
}
void
@@ -4451,6 +4451,105 @@ __glXDispSwap_DrawBuffers(GLbyte * pc)
DrawBuffers(n, (const GLenum *) bswap_32_array((uint32_t *) (pc + 4), 0));
}
+int
+__glXDispSwap_GetVertexAttribdv(__GLXclientState * cl, GLbyte * pc)
+{
+ PFNGLGETVERTEXATTRIBDVPROC GetVertexAttribdv =
+ __glGetProcAddress("glGetVertexAttribdv");
+ xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext *const cx =
+ __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if (cx != NULL) {
+ const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
+
+ const GLuint compsize = __glGetVertexAttribdv_size(pname);
+ GLdouble answerBuffer[200];
+ GLdouble *params =
+ __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
+ sizeof(answerBuffer), 8);
+
+ if (params == NULL)
+ return BadAlloc;
+ __glXClearErrorOccured();
+
+ GetVertexAttribdv((GLuint) bswap_CARD32(pc + 0), pname, params);
+ (void) bswap_64_array((uint64_t *) params, compsize);
+ __glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
+}
+
+int
+__glXDispSwap_GetVertexAttribfv(__GLXclientState * cl, GLbyte * pc)
+{
+ PFNGLGETVERTEXATTRIBFVPROC GetVertexAttribfv =
+ __glGetProcAddress("glGetVertexAttribfv");
+ xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext *const cx =
+ __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if (cx != NULL) {
+ const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
+
+ const GLuint compsize = __glGetVertexAttribfv_size(pname);
+ GLfloat answerBuffer[200];
+ GLfloat *params =
+ __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
+ sizeof(answerBuffer), 4);
+
+ if (params == NULL)
+ return BadAlloc;
+ __glXClearErrorOccured();
+
+ GetVertexAttribfv((GLuint) bswap_CARD32(pc + 0), pname, params);
+ (void) bswap_32_array((uint32_t *) params, compsize);
+ __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
+}
+
+int
+__glXDispSwap_GetVertexAttribiv(__GLXclientState * cl, GLbyte * pc)
+{
+ PFNGLGETVERTEXATTRIBIVPROC GetVertexAttribiv =
+ __glGetProcAddress("glGetVertexAttribiv");
+ xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext *const cx =
+ __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if (cx != NULL) {
+ const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
+
+ const GLuint compsize = __glGetVertexAttribiv_size(pname);
+ GLint answerBuffer[200];
+ GLint *params =
+ __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
+ sizeof(answerBuffer), 4);
+
+ if (params == NULL)
+ return BadAlloc;
+ __glXClearErrorOccured();
+
+ GetVertexAttribiv((GLuint) bswap_CARD32(pc + 0), pname, params);
+ (void) bswap_32_array((uint32_t *) params, compsize);
+ __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
+}
+
void
__glXDispSwap_VertexAttrib1dv(GLbyte * pc)
{
@@ -5695,3 +5794,21 @@ __glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc)
__glGetProcAddress("glActiveStencilFaceEXT");
ActiveStencilFaceEXT((GLenum) bswap_ENUM(pc + 0));
}
+
+void
+__glXDispSwap_BindFramebufferEXT(GLbyte * pc)
+{
+ PFNGLBINDFRAMEBUFFEREXTPROC BindFramebufferEXT =
+ __glGetProcAddress("glBindFramebufferEXT");
+ BindFramebufferEXT((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4));
+}
+
+void
+__glXDispSwap_BindRenderbufferEXT(GLbyte * pc)
+{
+ PFNGLBINDRENDERBUFFEREXTPROC BindRenderbufferEXT =
+ __glGetProcAddress("glBindRenderbufferEXT");
+ BindRenderbufferEXT((GLenum) bswap_ENUM(pc + 0),
+ (GLuint) bswap_CARD32(pc + 4));
+}
diff --git a/glx/indirect_size_get.c b/glx/indirect_size_get.c
index 7e81e6288..d3ab42999 100644
--- a/glx/indirect_size_get.c
+++ b/glx/indirect_size_get.c
@@ -603,7 +603,11 @@ __glGetBooleanv_size(GLenum e)
case GL_OCCLUSION_TEST_RESULT_HP:
case GL_LIGHT_MODEL_COLOR_CONTROL:
case GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB:
+/* case GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH:*/
case GL_RESET_NOTIFICATION_STRATEGY_ARB:
+/* case GL_MAX_DEBUG_GROUP_STACK_DEPTH: */
+/* case GL_DEBUG_GROUP_STACK_DEPTH: */
+/* case GL_MAX_LABEL_LENGTH: */
case GL_CURRENT_FOG_COORD:
case GL_FOG_COORDINATE_ARRAY_TYPE:
case GL_FOG_COORDINATE_ARRAY_STRIDE:
@@ -749,8 +753,11 @@ __glGetBooleanv_size(GLenum e)
/* case GL_MAX_SAMPLES_EXT:*/
case GL_MAX_SERVER_WAIT_TIMEOUT:
case GL_MAX_DEBUG_MESSAGE_LENGTH_ARB:
+/* case GL_MAX_DEBUG_MESSAGE_LENGTH:*/
case GL_MAX_DEBUG_LOGGED_MESSAGES_ARB:
+/* case GL_MAX_DEBUG_LOGGED_MESSAGES:*/
case GL_DEBUG_LOGGED_MESSAGES_ARB:
+/* case GL_DEBUG_LOGGED_MESSAGES:*/
case GL_RASTER_POSITION_UNCLIPPED_IBM:
return 1;
case GL_SMOOTH_POINT_SIZE_RANGE:
@@ -928,7 +935,9 @@ __glGetPointerv_size(GLenum e)
{
switch (e) {
case GL_DEBUG_CALLBACK_FUNCTION_ARB:
+/* case GL_DEBUG_CALLBACK_FUNCTION:*/
case GL_DEBUG_CALLBACK_USER_PARAM_ARB:
+/* case GL_DEBUG_CALLBACK_USER_PARAM:*/
return 1;
default:
return 0;
@@ -1105,6 +1114,23 @@ __glGetQueryiv_size(GLenum e)
}
_X_INTERNAL PURE FASTCALL GLint
+__glGetVertexAttribdv_size(GLenum e)
+{
+ switch (e) {
+ case GL_VERTEX_PROGRAM_ARB:
+ case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB:
+ case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB:
+ case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB:
+ case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB:
+ case GL_CURRENT_VERTEX_ATTRIB_ARB:
+ case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+_X_INTERNAL PURE FASTCALL GLint
__glGetProgramivARB_size(GLenum e)
{
switch (e) {
@@ -1216,5 +1242,7 @@ ALIAS(Fogiv, Fogfv)
ALIAS(GetMinmaxParameteriv, GetMinmaxParameterfv)
ALIAS(PointParameteriv, PointParameterfv)
ALIAS(GetQueryObjectuiv, GetQueryObjectiv)
+ ALIAS(GetVertexAttribfv, GetVertexAttribdv)
+ ALIAS(GetVertexAttribiv, GetVertexAttribdv)
#undef PURE
#undef FASTCALL
diff --git a/glx/indirect_size_get.h b/glx/indirect_size_get.h
index 5af11d378..e6d010f49 100644
--- a/glx/indirect_size_get.h
+++ b/glx/indirect_size_get.h
@@ -83,6 +83,9 @@ extern _X_INTERNAL PURE FASTCALL GLint __glGetMinmaxParameteriv_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryObjectiv_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryObjectuiv_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryiv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribdv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribiv_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetProgramivARB_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint
__glGetFramebufferAttachmentParameteriv_size(GLenum);
diff --git a/glx/indirect_table.c b/glx/indirect_table.c
index f0f0b83c8..b500e39b3 100644
--- a/glx/indirect_table.c
+++ b/glx/indirect_table.c
@@ -636,8 +636,10 @@ static const void *Render_function_table[408][2] = {
/* [ 232] = 232 */ {__glXDisp_EndQuery, __glXDispSwap_EndQuery},
/* [ 233] = 233 */ {__glXDisp_DrawBuffers, __glXDispSwap_DrawBuffers},
/* [ 234] = 234 */ {__glXDisp_ClampColor, __glXDispSwap_ClampColor},
- /* [ 235] = 235 */ {NULL, NULL},
- /* [ 236] = 236 */ {NULL, NULL},
+ /* [ 235] = 235 */ {__glXDisp_BindRenderbuffer,
+ __glXDispSwap_BindRenderbuffer},
+ /* [ 236] = 236 */ {__glXDisp_BindFramebuffer,
+ __glXDispSwap_BindFramebuffer},
/* [ 237] = 237 */ {__glXDisp_FramebufferTextureLayer,
__glXDispSwap_FramebufferTextureLayer},
/* [ 238] = 238 */ {NULL, NULL},
@@ -903,14 +905,14 @@ static const void *Render_function_table[408][2] = {
/* [ 401] = 4313 */ {NULL, NULL},
/* [ 402] = 4314 */ {NULL, NULL},
/* [ 403] = 4315 */ {NULL, NULL},
- /* [ 404] = 4316 */ {__glXDisp_BindRenderbuffer,
- __glXDispSwap_BindRenderbuffer},
+ /* [ 404] = 4316 */ {__glXDisp_BindRenderbufferEXT,
+ __glXDispSwap_BindRenderbufferEXT},
/* [ 405] = 4317 */ {__glXDisp_DeleteRenderbuffers,
__glXDispSwap_DeleteRenderbuffers},
/* [ 406] = 4318 */ {__glXDisp_RenderbufferStorage,
__glXDispSwap_RenderbufferStorage},
- /* [ 407] = 4319 */ {__glXDisp_BindFramebuffer,
- __glXDispSwap_BindFramebuffer},
+ /* [ 407] = 4319 */ {__glXDisp_BindFramebufferEXT,
+ __glXDispSwap_BindFramebufferEXT},
};
static const int_fast16_t Render_size_table[408][2] = {
@@ -1149,8 +1151,8 @@ static const int_fast16_t Render_size_table[408][2] = {
/* [232] = 232 */ {8, ~0},
/* [233] = 233 */ {8, 36},
/* [234] = 234 */ {12, ~0},
- /* [235] = 235 */ {0, ~0},
- /* [236] = 236 */ {0, ~0},
+ /* [235] = 235 */ {12, ~0},
+ /* [236] = 236 */ {12, ~0},
/* [237] = 237 */ {24, ~0},
/* [238] = 238 */ {0, ~0},
/* [239] = 239 */ {0, ~0},
@@ -1697,9 +1699,12 @@ static const void *VendorPriv_function_table[104][2] = {
/* [ 26] = 1298 */ {NULL, NULL},
/* [ 27] = 1299 */ {NULL, NULL},
/* [ 28] = 1300 */ {NULL, NULL},
- /* [ 29] = 1301 */ {NULL, NULL},
- /* [ 30] = 1302 */ {NULL, NULL},
- /* [ 31] = 1303 */ {NULL, NULL},
+ /* [ 29] = 1301 */ {__glXDisp_GetVertexAttribdv,
+ __glXDispSwap_GetVertexAttribdv},
+ /* [ 30] = 1302 */ {__glXDisp_GetVertexAttribfv,
+ __glXDispSwap_GetVertexAttribfv},
+ /* [ 31] = 1303 */ {__glXDisp_GetVertexAttribiv,
+ __glXDispSwap_GetVertexAttribiv},
/* [ 32] = 1304 */ {__glXDisp_IsProgramARB, __glXDispSwap_IsProgramARB},
/* [ 33] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB,
__glXDispSwap_GetProgramLocalParameterfvARB},
diff --git a/glx/rensize.c b/glx/rensize.c
index 55ad4a2af..021eee44f 100644
--- a/glx/rensize.c
+++ b/glx/rensize.c
@@ -234,6 +234,7 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
case GL_LUMINANCE_INTEGER_EXT:
elementsPerGroup = 1;
break;
+ case GL_RG:
case GL_422_EXT:
case GL_422_REV_EXT:
case GL_422_AVERAGE_EXT: