797ed93386
One year after Ilja van Sprundel, discovered and reported a large number of issues in the way the X server code base handles requests from X clients, they have been fixed.
5128 lines
129 KiB
C
5128 lines
129 KiB
C
/* DO NOT EDIT - This file generated automatically by glX_proto_recv.py (from Mesa) script */
|
|
|
|
/*
|
|
* (C) Copyright IBM Corporation 2005
|
|
* All Rights Reserved.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
* to deal in the Software without restriction, including without limitation
|
|
* the rights to use, copy, modify, merge, publish, distribute, sub license,
|
|
* and/or sell copies of the Software, and to permit persons to whom the
|
|
* Software is furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice (including the next
|
|
* paragraph) shall be included in all copies or substantial portions of the
|
|
* Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
|
* IBM,
|
|
* AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
|
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
* SOFTWARE.
|
|
*/
|
|
|
|
#include <inttypes.h>
|
|
#include "glxserver.h"
|
|
#include "indirect_size.h"
|
|
#include "indirect_size_get.h"
|
|
#include "indirect_dispatch.h"
|
|
#include "glxbyteorder.h"
|
|
#include "indirect_util.h"
|
|
#include "singlesize.h"
|
|
|
|
#define __GLX_PAD(x) (((x) + 3) & ~3)
|
|
|
|
typedef struct {
|
|
__GLX_PIXEL_3D_HDR;
|
|
} __GLXpixel3DHeader;
|
|
|
|
extern GLboolean __glXErrorOccured(void);
|
|
extern void __glXClearErrorOccured(void);
|
|
|
|
static const unsigned dummy_answer[2] = { 0, 0 };
|
|
|
|
int
|
|
__glXDisp_NewList(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
glNewList(*(GLuint *) (pc + 0), *(GLenum *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_EndList(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
glEndList();
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_CallList(GLbyte * pc)
|
|
{
|
|
glCallList(*(GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CallLists(GLbyte * pc)
|
|
{
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
const GLenum type = *(GLenum *) (pc + 4);
|
|
const GLvoid *lists = (const GLvoid *) (pc + 8);
|
|
|
|
lists = (const GLvoid *) (pc + 8);
|
|
|
|
glCallLists(n, type, lists);
|
|
}
|
|
|
|
int
|
|
__glXDisp_DeleteLists(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
glDeleteLists(*(GLuint *) (pc + 0), *(GLsizei *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GenLists(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLuint retval;
|
|
|
|
retval = glGenLists(*(GLsizei *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_ListBase(GLbyte * pc)
|
|
{
|
|
glListBase(*(GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Begin(GLbyte * pc)
|
|
{
|
|
glBegin(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Bitmap(GLbyte * pc)
|
|
{
|
|
const GLubyte *const bitmap = (const GLubyte *) ((pc + 44));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glBitmap(*(GLsizei *) (pc + 20),
|
|
*(GLsizei *) (pc + 24),
|
|
*(GLfloat *) (pc + 28),
|
|
*(GLfloat *) (pc + 32),
|
|
*(GLfloat *) (pc + 36), *(GLfloat *) (pc + 40), bitmap);
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3bv(GLbyte * pc)
|
|
{
|
|
glColor3bv((const GLbyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glColor3dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3fv(GLbyte * pc)
|
|
{
|
|
glColor3fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3iv(GLbyte * pc)
|
|
{
|
|
glColor3iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3sv(GLbyte * pc)
|
|
{
|
|
glColor3sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3ubv(GLbyte * pc)
|
|
{
|
|
glColor3ubv((const GLubyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3uiv(GLbyte * pc)
|
|
{
|
|
glColor3uiv((const GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color3usv(GLbyte * pc)
|
|
{
|
|
glColor3usv((const GLushort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4bv(GLbyte * pc)
|
|
{
|
|
glColor4bv((const GLbyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 32);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glColor4dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4fv(GLbyte * pc)
|
|
{
|
|
glColor4fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4iv(GLbyte * pc)
|
|
{
|
|
glColor4iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4sv(GLbyte * pc)
|
|
{
|
|
glColor4sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4ubv(GLbyte * pc)
|
|
{
|
|
glColor4ubv((const GLubyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4uiv(GLbyte * pc)
|
|
{
|
|
glColor4uiv((const GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Color4usv(GLbyte * pc)
|
|
{
|
|
glColor4usv((const GLushort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EdgeFlagv(GLbyte * pc)
|
|
{
|
|
glEdgeFlagv((const GLboolean *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_End(GLbyte * pc)
|
|
{
|
|
glEnd();
|
|
}
|
|
|
|
void
|
|
__glXDisp_Indexdv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 8);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glIndexdv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Indexfv(GLbyte * pc)
|
|
{
|
|
glIndexfv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Indexiv(GLbyte * pc)
|
|
{
|
|
glIndexiv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Indexsv(GLbyte * pc)
|
|
{
|
|
glIndexsv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Normal3bv(GLbyte * pc)
|
|
{
|
|
glNormal3bv((const GLbyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Normal3dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glNormal3dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Normal3fv(GLbyte * pc)
|
|
{
|
|
glNormal3fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Normal3iv(GLbyte * pc)
|
|
{
|
|
glNormal3iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Normal3sv(GLbyte * pc)
|
|
{
|
|
glNormal3sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos2dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 16);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glRasterPos2dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos2fv(GLbyte * pc)
|
|
{
|
|
glRasterPos2fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos2iv(GLbyte * pc)
|
|
{
|
|
glRasterPos2iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos2sv(GLbyte * pc)
|
|
{
|
|
glRasterPos2sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos3dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glRasterPos3dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos3fv(GLbyte * pc)
|
|
{
|
|
glRasterPos3fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos3iv(GLbyte * pc)
|
|
{
|
|
glRasterPos3iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos3sv(GLbyte * pc)
|
|
{
|
|
glRasterPos3sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos4dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 32);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glRasterPos4dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos4fv(GLbyte * pc)
|
|
{
|
|
glRasterPos4fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos4iv(GLbyte * pc)
|
|
{
|
|
glRasterPos4iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RasterPos4sv(GLbyte * pc)
|
|
{
|
|
glRasterPos4sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Rectdv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 32);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glRectdv((const GLdouble *) (pc + 0), (const GLdouble *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Rectfv(GLbyte * pc)
|
|
{
|
|
glRectfv((const GLfloat *) (pc + 0), (const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Rectiv(GLbyte * pc)
|
|
{
|
|
glRectiv((const GLint *) (pc + 0), (const GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Rectsv(GLbyte * pc)
|
|
{
|
|
glRectsv((const GLshort *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord1dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 8);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glTexCoord1dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord1fv(GLbyte * pc)
|
|
{
|
|
glTexCoord1fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord1iv(GLbyte * pc)
|
|
{
|
|
glTexCoord1iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord1sv(GLbyte * pc)
|
|
{
|
|
glTexCoord1sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord2dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 16);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glTexCoord2dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord2fv(GLbyte * pc)
|
|
{
|
|
glTexCoord2fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord2iv(GLbyte * pc)
|
|
{
|
|
glTexCoord2iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord2sv(GLbyte * pc)
|
|
{
|
|
glTexCoord2sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord3dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glTexCoord3dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord3fv(GLbyte * pc)
|
|
{
|
|
glTexCoord3fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord3iv(GLbyte * pc)
|
|
{
|
|
glTexCoord3iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord3sv(GLbyte * pc)
|
|
{
|
|
glTexCoord3sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord4dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 32);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glTexCoord4dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord4fv(GLbyte * pc)
|
|
{
|
|
glTexCoord4fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord4iv(GLbyte * pc)
|
|
{
|
|
glTexCoord4iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexCoord4sv(GLbyte * pc)
|
|
{
|
|
glTexCoord4sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex2dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 16);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glVertex2dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex2fv(GLbyte * pc)
|
|
{
|
|
glVertex2fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex2iv(GLbyte * pc)
|
|
{
|
|
glVertex2iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex2sv(GLbyte * pc)
|
|
{
|
|
glVertex2sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex3dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glVertex3dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex3fv(GLbyte * pc)
|
|
{
|
|
glVertex3fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex3iv(GLbyte * pc)
|
|
{
|
|
glVertex3iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex3sv(GLbyte * pc)
|
|
{
|
|
glVertex3sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex4dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 32);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glVertex4dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex4fv(GLbyte * pc)
|
|
{
|
|
glVertex4fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex4iv(GLbyte * pc)
|
|
{
|
|
glVertex4iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Vertex4sv(GLbyte * pc)
|
|
{
|
|
glVertex4sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ClipPlane(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 36);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glClipPlane(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ColorMaterial(GLbyte * pc)
|
|
{
|
|
glColorMaterial(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CullFace(GLbyte * pc)
|
|
{
|
|
glCullFace(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Fogf(GLbyte * pc)
|
|
{
|
|
glFogf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Fogfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 4);
|
|
|
|
glFogfv(pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_Fogi(GLbyte * pc)
|
|
{
|
|
glFogi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Fogiv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 4);
|
|
|
|
glFogiv(pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_FrontFace(GLbyte * pc)
|
|
{
|
|
glFrontFace(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Hint(GLbyte * pc)
|
|
{
|
|
glHint(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Lightf(GLbyte * pc)
|
|
{
|
|
glLightf(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Lightfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 8);
|
|
|
|
glLightfv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_Lighti(GLbyte * pc)
|
|
{
|
|
glLighti(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Lightiv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 8);
|
|
|
|
glLightiv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_LightModelf(GLbyte * pc)
|
|
{
|
|
glLightModelf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_LightModelfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 4);
|
|
|
|
glLightModelfv(pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_LightModeli(GLbyte * pc)
|
|
{
|
|
glLightModeli(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_LightModeliv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 4);
|
|
|
|
glLightModeliv(pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_LineStipple(GLbyte * pc)
|
|
{
|
|
glLineStipple(*(GLint *) (pc + 0), *(GLushort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_LineWidth(GLbyte * pc)
|
|
{
|
|
glLineWidth(*(GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Materialf(GLbyte * pc)
|
|
{
|
|
glMaterialf(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Materialfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 8);
|
|
|
|
glMaterialfv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_Materiali(GLbyte * pc)
|
|
{
|
|
glMateriali(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Materialiv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 8);
|
|
|
|
glMaterialiv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_PointSize(GLbyte * pc)
|
|
{
|
|
glPointSize(*(GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PolygonMode(GLbyte * pc)
|
|
{
|
|
glPolygonMode(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PolygonStipple(GLbyte * pc)
|
|
{
|
|
const GLubyte *const mask = (const GLubyte *) ((pc + 20));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glPolygonStipple(mask);
|
|
}
|
|
|
|
void
|
|
__glXDisp_Scissor(GLbyte * pc)
|
|
{
|
|
glScissor(*(GLint *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ShadeModel(GLbyte * pc)
|
|
{
|
|
glShadeModel(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexParameterf(GLbyte * pc)
|
|
{
|
|
glTexParameterf(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexParameterfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 8);
|
|
|
|
glTexParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexParameteri(GLbyte * pc)
|
|
{
|
|
glTexParameteri(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexParameteriv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 8);
|
|
|
|
glTexParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexImage1D(GLbyte * pc)
|
|
{
|
|
const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glTexImage1D(*(GLenum *) (pc + 20),
|
|
*(GLint *) (pc + 24),
|
|
*(GLint *) (pc + 28),
|
|
*(GLsizei *) (pc + 32),
|
|
*(GLint *) (pc + 40),
|
|
*(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexImage2D(GLbyte * pc)
|
|
{
|
|
const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glTexImage2D(*(GLenum *) (pc + 20),
|
|
*(GLint *) (pc + 24),
|
|
*(GLint *) (pc + 28),
|
|
*(GLsizei *) (pc + 32),
|
|
*(GLsizei *) (pc + 36),
|
|
*(GLint *) (pc + 40),
|
|
*(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexEnvf(GLbyte * pc)
|
|
{
|
|
glTexEnvf(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexEnvfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 8);
|
|
|
|
glTexEnvfv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexEnvi(GLbyte * pc)
|
|
{
|
|
glTexEnvi(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexEnviv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 8);
|
|
|
|
glTexEnviv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexGend(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 16);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glTexGend(*(GLenum *) (pc + 8),
|
|
*(GLenum *) (pc + 12), *(GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexGendv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLdouble *params;
|
|
|
|
#ifdef __GLX_ALIGN64
|
|
const GLuint compsize = __glTexGendv_size(pname);
|
|
const GLuint cmdlen = 12 + __GLX_PAD((compsize * 8)) - 4;
|
|
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, cmdlen);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
params = (const GLdouble *) (pc + 8);
|
|
|
|
glTexGendv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexGenf(GLbyte * pc)
|
|
{
|
|
glTexGenf(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexGenfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 8);
|
|
|
|
glTexGenfv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexGeni(GLbyte * pc)
|
|
{
|
|
glTexGeni(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexGeniv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 8);
|
|
|
|
glTexGeniv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_InitNames(GLbyte * pc)
|
|
{
|
|
glInitNames();
|
|
}
|
|
|
|
void
|
|
__glXDisp_LoadName(GLbyte * pc)
|
|
{
|
|
glLoadName(*(GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PassThrough(GLbyte * pc)
|
|
{
|
|
glPassThrough(*(GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PopName(GLbyte * pc)
|
|
{
|
|
glPopName();
|
|
}
|
|
|
|
void
|
|
__glXDisp_PushName(GLbyte * pc)
|
|
{
|
|
glPushName(*(GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_DrawBuffer(GLbyte * pc)
|
|
{
|
|
glDrawBuffer(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Clear(GLbyte * pc)
|
|
{
|
|
glClear(*(GLbitfield *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ClearAccum(GLbyte * pc)
|
|
{
|
|
glClearAccum(*(GLfloat *) (pc + 0),
|
|
*(GLfloat *) (pc + 4),
|
|
*(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ClearIndex(GLbyte * pc)
|
|
{
|
|
glClearIndex(*(GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ClearColor(GLbyte * pc)
|
|
{
|
|
glClearColor(*(GLclampf *) (pc + 0),
|
|
*(GLclampf *) (pc + 4),
|
|
*(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ClearStencil(GLbyte * pc)
|
|
{
|
|
glClearStencil(*(GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ClearDepth(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 8);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glClearDepth(*(GLclampd *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_StencilMask(GLbyte * pc)
|
|
{
|
|
glStencilMask(*(GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ColorMask(GLbyte * pc)
|
|
{
|
|
glColorMask(*(GLboolean *) (pc + 0),
|
|
*(GLboolean *) (pc + 1),
|
|
*(GLboolean *) (pc + 2), *(GLboolean *) (pc + 3));
|
|
}
|
|
|
|
void
|
|
__glXDisp_DepthMask(GLbyte * pc)
|
|
{
|
|
glDepthMask(*(GLboolean *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_IndexMask(GLbyte * pc)
|
|
{
|
|
glIndexMask(*(GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Accum(GLbyte * pc)
|
|
{
|
|
glAccum(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Disable(GLbyte * pc)
|
|
{
|
|
glDisable(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Enable(GLbyte * pc)
|
|
{
|
|
glEnable(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PopAttrib(GLbyte * pc)
|
|
{
|
|
glPopAttrib();
|
|
}
|
|
|
|
void
|
|
__glXDisp_PushAttrib(GLbyte * pc)
|
|
{
|
|
glPushAttrib(*(GLbitfield *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MapGrid1d(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 20);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glMapGrid1d(*(GLint *) (pc + 16),
|
|
*(GLdouble *) (pc + 0), *(GLdouble *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MapGrid1f(GLbyte * pc)
|
|
{
|
|
glMapGrid1f(*(GLint *) (pc + 0),
|
|
*(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MapGrid2d(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 40);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glMapGrid2d(*(GLint *) (pc + 32),
|
|
*(GLdouble *) (pc + 0),
|
|
*(GLdouble *) (pc + 8),
|
|
*(GLint *) (pc + 36),
|
|
*(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MapGrid2f(GLbyte * pc)
|
|
{
|
|
glMapGrid2f(*(GLint *) (pc + 0),
|
|
*(GLfloat *) (pc + 4),
|
|
*(GLfloat *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLfloat *) (pc + 16), *(GLfloat *) (pc + 20));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalCoord1dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 8);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glEvalCoord1dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalCoord1fv(GLbyte * pc)
|
|
{
|
|
glEvalCoord1fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalCoord2dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 16);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glEvalCoord2dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalCoord2fv(GLbyte * pc)
|
|
{
|
|
glEvalCoord2fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalMesh1(GLbyte * pc)
|
|
{
|
|
glEvalMesh1(*(GLenum *) (pc + 0), *(GLint *) (pc + 4), *(GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalPoint1(GLbyte * pc)
|
|
{
|
|
glEvalPoint1(*(GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalMesh2(GLbyte * pc)
|
|
{
|
|
glEvalMesh2(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12), *(GLint *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_EvalPoint2(GLbyte * pc)
|
|
{
|
|
glEvalPoint2(*(GLint *) (pc + 0), *(GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_AlphaFunc(GLbyte * pc)
|
|
{
|
|
glAlphaFunc(*(GLenum *) (pc + 0), *(GLclampf *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BlendFunc(GLbyte * pc)
|
|
{
|
|
glBlendFunc(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_LogicOp(GLbyte * pc)
|
|
{
|
|
glLogicOp(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_StencilFunc(GLbyte * pc)
|
|
{
|
|
glStencilFunc(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4), *(GLuint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_StencilOp(GLbyte * pc)
|
|
{
|
|
glStencilOp(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLenum *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_DepthFunc(GLbyte * pc)
|
|
{
|
|
glDepthFunc(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PixelZoom(GLbyte * pc)
|
|
{
|
|
glPixelZoom(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PixelTransferf(GLbyte * pc)
|
|
{
|
|
glPixelTransferf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PixelTransferi(GLbyte * pc)
|
|
{
|
|
glPixelTransferi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
|
|
}
|
|
|
|
int
|
|
__glXDisp_PixelStoref(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
glPixelStoref(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_PixelStorei(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
glPixelStorei(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_PixelMapfv(GLbyte * pc)
|
|
{
|
|
const GLsizei mapsize = *(GLsizei *) (pc + 4);
|
|
|
|
glPixelMapfv(*(GLenum *) (pc + 0), mapsize, (const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PixelMapuiv(GLbyte * pc)
|
|
{
|
|
const GLsizei mapsize = *(GLsizei *) (pc + 4);
|
|
|
|
glPixelMapuiv(*(GLenum *) (pc + 0), mapsize, (const GLuint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PixelMapusv(GLbyte * pc)
|
|
{
|
|
const GLsizei mapsize = *(GLsizei *) (pc + 4);
|
|
|
|
glPixelMapusv(*(GLenum *) (pc + 0), mapsize, (const GLushort *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ReadBuffer(GLbyte * pc)
|
|
{
|
|
glReadBuffer(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyPixels(GLbyte * pc)
|
|
{
|
|
glCopyPixels(*(GLint *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLsizei *) (pc + 8),
|
|
*(GLsizei *) (pc + 12), *(GLenum *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_DrawPixels(GLbyte * pc)
|
|
{
|
|
const GLvoid *const pixels = (const GLvoid *) ((pc + 36));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glDrawPixels(*(GLsizei *) (pc + 20),
|
|
*(GLsizei *) (pc + 24),
|
|
*(GLenum *) (pc + 28), *(GLenum *) (pc + 32), pixels);
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetBooleanv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
|
|
const GLuint compsize = __glGetBooleanv_size(pname);
|
|
GLboolean answerBuffer[200];
|
|
GLboolean *params =
|
|
__glXGetAnswerBuffer(cl, compsize, answerBuffer,
|
|
sizeof(answerBuffer), 1);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetBooleanv(pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 1, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetClipPlane(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLdouble equation[4];
|
|
|
|
glGetClipPlane(*(GLenum *) (pc + 0), equation);
|
|
__glXSendReply(cl->client, equation, 4, 8, GL_TRUE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetDoublev(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
|
|
const GLuint compsize = __glGetDoublev_size(pname);
|
|
GLdouble answerBuffer[200];
|
|
GLdouble *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
|
|
sizeof(answerBuffer), 8);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetDoublev(pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetError(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLenum retval;
|
|
|
|
retval = glGetError();
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetFloatv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
|
|
const GLuint compsize = __glGetFloatv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetFloatv(pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetIntegerv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
|
|
const GLuint compsize = __glGetIntegerv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetIntegerv(pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetLightfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetLightfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetLightfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetLightiv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetLightiv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetLightiv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMapdv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum target = *(GLenum *) (pc + 0);
|
|
const GLenum query = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetMapdv_size(target, query);
|
|
GLdouble answerBuffer[200];
|
|
GLdouble *v =
|
|
__glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
|
|
sizeof(answerBuffer), 8);
|
|
|
|
if (v == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMapdv(target, query, v);
|
|
__glXSendReply(cl->client, v, compsize, 8, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMapfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum target = *(GLenum *) (pc + 0);
|
|
const GLenum query = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetMapfv_size(target, query);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *v =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (v == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMapfv(target, query, v);
|
|
__glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMapiv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum target = *(GLenum *) (pc + 0);
|
|
const GLenum query = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetMapiv_size(target, query);
|
|
GLint answerBuffer[200];
|
|
GLint *v =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (v == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMapiv(target, query, v);
|
|
__glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMaterialfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetMaterialfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMaterialfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMaterialiv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetMaterialiv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMaterialiv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum map = *(GLenum *) (pc + 0);
|
|
|
|
const GLuint compsize = __glGetPixelMapfv_size(map);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *values =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (values == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetPixelMapfv(map, values);
|
|
__glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum map = *(GLenum *) (pc + 0);
|
|
|
|
const GLuint compsize = __glGetPixelMapuiv_size(map);
|
|
GLuint answerBuffer[200];
|
|
GLuint *values =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (values == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetPixelMapuiv(map, values);
|
|
__glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum map = *(GLenum *) (pc + 0);
|
|
|
|
const GLuint compsize = __glGetPixelMapusv_size(map);
|
|
GLushort answerBuffer[200];
|
|
GLushort *values =
|
|
__glXGetAnswerBuffer(cl, compsize * 2, answerBuffer,
|
|
sizeof(answerBuffer), 2);
|
|
|
|
if (values == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetPixelMapusv(map, values);
|
|
__glXSendReply(cl->client, values, compsize, 2, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetTexEnvfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexEnvfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexEnviv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetTexEnviv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexEnviv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexGendv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetTexGendv_size(pname);
|
|
GLdouble answerBuffer[200];
|
|
GLdouble *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
|
|
sizeof(answerBuffer), 8);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexGendv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexGenfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetTexGenfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexGenfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexGeniv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetTexGeniv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexGeniv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetTexParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetTexParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 8);
|
|
|
|
const GLuint compsize = __glGetTexLevelParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexLevelParameterfv(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 8);
|
|
|
|
const GLuint compsize = __glGetTexLevelParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetTexLevelParameteriv(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsEnabled(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = glIsEnabled(*(GLenum *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsList(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = glIsList(*(GLuint *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_DepthRange(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 16);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glDepthRange(*(GLclampd *) (pc + 0), *(GLclampd *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Frustum(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 48);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glFrustum(*(GLdouble *) (pc + 0),
|
|
*(GLdouble *) (pc + 8),
|
|
*(GLdouble *) (pc + 16),
|
|
*(GLdouble *) (pc + 24),
|
|
*(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40));
|
|
}
|
|
|
|
void
|
|
__glXDisp_LoadIdentity(GLbyte * pc)
|
|
{
|
|
glLoadIdentity();
|
|
}
|
|
|
|
void
|
|
__glXDisp_LoadMatrixf(GLbyte * pc)
|
|
{
|
|
glLoadMatrixf((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_LoadMatrixd(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 128);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glLoadMatrixd((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MatrixMode(GLbyte * pc)
|
|
{
|
|
glMatrixMode(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultMatrixf(GLbyte * pc)
|
|
{
|
|
glMultMatrixf((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultMatrixd(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 128);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glMultMatrixd((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Ortho(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 48);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glOrtho(*(GLdouble *) (pc + 0),
|
|
*(GLdouble *) (pc + 8),
|
|
*(GLdouble *) (pc + 16),
|
|
*(GLdouble *) (pc + 24),
|
|
*(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PopMatrix(GLbyte * pc)
|
|
{
|
|
glPopMatrix();
|
|
}
|
|
|
|
void
|
|
__glXDisp_PushMatrix(GLbyte * pc)
|
|
{
|
|
glPushMatrix();
|
|
}
|
|
|
|
void
|
|
__glXDisp_Rotated(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 32);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glRotated(*(GLdouble *) (pc + 0),
|
|
*(GLdouble *) (pc + 8),
|
|
*(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Rotatef(GLbyte * pc)
|
|
{
|
|
glRotatef(*(GLfloat *) (pc + 0),
|
|
*(GLfloat *) (pc + 4),
|
|
*(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Scaled(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glScaled(*(GLdouble *) (pc + 0),
|
|
*(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Scalef(GLbyte * pc)
|
|
{
|
|
glScalef(*(GLfloat *) (pc + 0),
|
|
*(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Translated(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glTranslated(*(GLdouble *) (pc + 0),
|
|
*(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Translatef(GLbyte * pc)
|
|
{
|
|
glTranslatef(*(GLfloat *) (pc + 0),
|
|
*(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Viewport(GLbyte * pc)
|
|
{
|
|
glViewport(*(GLint *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BindTexture(GLbyte * pc)
|
|
{
|
|
glBindTexture(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Indexubv(GLbyte * pc)
|
|
{
|
|
glIndexubv((const GLubyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PolygonOffset(GLbyte * pc)
|
|
{
|
|
glPolygonOffset(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
}
|
|
|
|
int
|
|
__glXDisp_AreTexturesResident(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLboolean retval;
|
|
GLboolean answerBuffer[200];
|
|
GLboolean *residences =
|
|
__glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
|
|
|
|
if (residences == NULL)
|
|
return BadAlloc;
|
|
retval =
|
|
glAreTexturesResident(n, (const GLuint *) (pc + 4), residences);
|
|
__glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLboolean retval;
|
|
GLboolean answerBuffer[200];
|
|
GLboolean *residences =
|
|
__glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
|
|
|
|
if (residences == NULL)
|
|
return BadAlloc;
|
|
retval =
|
|
glAreTexturesResident(n, (const GLuint *) (pc + 4), residences);
|
|
__glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyTexImage1D(GLbyte * pc)
|
|
{
|
|
glCopyTexImage1D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLenum *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16),
|
|
*(GLsizei *) (pc + 20), *(GLint *) (pc + 24));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyTexImage2D(GLbyte * pc)
|
|
{
|
|
glCopyTexImage2D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLenum *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16),
|
|
*(GLsizei *) (pc + 20),
|
|
*(GLsizei *) (pc + 24), *(GLint *) (pc + 28));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyTexSubImage1D(GLbyte * pc)
|
|
{
|
|
glCopyTexSubImage1D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16), *(GLsizei *) (pc + 20));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyTexSubImage2D(GLbyte * pc)
|
|
{
|
|
glCopyTexSubImage2D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16),
|
|
*(GLint *) (pc + 20),
|
|
*(GLsizei *) (pc + 24), *(GLsizei *) (pc + 28));
|
|
}
|
|
|
|
int
|
|
__glXDisp_DeleteTextures(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
glDeleteTextures(n, (const GLuint *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_DeleteTexturesEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
glDeleteTextures(n, (const GLuint *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GenTextures(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLuint answerBuffer[200];
|
|
GLuint *textures =
|
|
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
|
|
4);
|
|
|
|
if (textures == NULL)
|
|
return BadAlloc;
|
|
glGenTextures(n, textures);
|
|
__glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLuint answerBuffer[200];
|
|
GLuint *textures =
|
|
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
|
|
4);
|
|
|
|
if (textures == NULL)
|
|
return BadAlloc;
|
|
glGenTextures(n, textures);
|
|
__glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsTexture(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = glIsTexture(*(GLuint *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsTextureEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = glIsTexture(*(GLuint *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_PrioritizeTextures(GLbyte * pc)
|
|
{
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
glPrioritizeTextures(n,
|
|
(const GLuint *) (pc + 4),
|
|
(const GLclampf *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexSubImage1D(GLbyte * pc)
|
|
{
|
|
const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glTexSubImage1D(*(GLenum *) (pc + 20),
|
|
*(GLint *) (pc + 24),
|
|
*(GLint *) (pc + 28),
|
|
*(GLsizei *) (pc + 36),
|
|
*(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexSubImage2D(GLbyte * pc)
|
|
{
|
|
const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glTexSubImage2D(*(GLenum *) (pc + 20),
|
|
*(GLint *) (pc + 24),
|
|
*(GLint *) (pc + 28),
|
|
*(GLint *) (pc + 32),
|
|
*(GLsizei *) (pc + 36),
|
|
*(GLsizei *) (pc + 40),
|
|
*(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
|
|
}
|
|
|
|
void
|
|
__glXDisp_BlendColor(GLbyte * pc)
|
|
{
|
|
glBlendColor(*(GLclampf *) (pc + 0),
|
|
*(GLclampf *) (pc + 4),
|
|
*(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BlendEquation(GLbyte * pc)
|
|
{
|
|
glBlendEquation(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ColorTable(GLbyte * pc)
|
|
{
|
|
const GLvoid *const table = (const GLvoid *) ((pc + 40));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glColorTable(*(GLenum *) (pc + 20),
|
|
*(GLenum *) (pc + 24),
|
|
*(GLsizei *) (pc + 28),
|
|
*(GLenum *) (pc + 32), *(GLenum *) (pc + 36), table);
|
|
}
|
|
|
|
void
|
|
__glXDisp_ColorTableParameterfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 8);
|
|
|
|
glColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_ColorTableParameteriv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 8);
|
|
|
|
glColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyColorTable(GLbyte * pc)
|
|
{
|
|
glCopyColorTable(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetColorTableParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetColorTableParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetColorTableParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetColorTableParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_ColorSubTable(GLbyte * pc)
|
|
{
|
|
const GLvoid *const data = (const GLvoid *) ((pc + 40));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glColorSubTable(*(GLenum *) (pc + 20),
|
|
*(GLsizei *) (pc + 24),
|
|
*(GLsizei *) (pc + 28),
|
|
*(GLenum *) (pc + 32), *(GLenum *) (pc + 36), data);
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyColorSubTable(GLbyte * pc)
|
|
{
|
|
glCopyColorSubTable(*(GLenum *) (pc + 0),
|
|
*(GLsizei *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ConvolutionFilter1D(GLbyte * pc)
|
|
{
|
|
const GLvoid *const image = (const GLvoid *) ((pc + 44));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glConvolutionFilter1D(*(GLenum *) (pc + 20),
|
|
*(GLenum *) (pc + 24),
|
|
*(GLsizei *) (pc + 28),
|
|
*(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image);
|
|
}
|
|
|
|
void
|
|
__glXDisp_ConvolutionFilter2D(GLbyte * pc)
|
|
{
|
|
const GLvoid *const image = (const GLvoid *) ((pc + 44));
|
|
__GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glConvolutionFilter2D(*(GLenum *) (pc + 20),
|
|
*(GLenum *) (pc + 24),
|
|
*(GLsizei *) (pc + 28),
|
|
*(GLsizei *) (pc + 32),
|
|
*(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image);
|
|
}
|
|
|
|
void
|
|
__glXDisp_ConvolutionParameterf(GLbyte * pc)
|
|
{
|
|
glConvolutionParameterf(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ConvolutionParameterfv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 8);
|
|
|
|
glConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_ConvolutionParameteri(GLbyte * pc)
|
|
{
|
|
glConvolutionParameteri(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLint *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ConvolutionParameteriv(GLbyte * pc)
|
|
{
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 8);
|
|
|
|
glConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyConvolutionFilter1D(GLbyte * pc)
|
|
{
|
|
glCopyConvolutionFilter1D(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyConvolutionFilter2D(GLbyte * pc)
|
|
{
|
|
glCopyConvolutionFilter2D(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLsizei *) (pc + 16), *(GLsizei *) (pc + 20));
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetConvolutionParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetConvolutionParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetConvolutionParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetConvolutionParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetHistogramParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetHistogramParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetHistogramParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetHistogramParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetMinmaxParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetMinmaxParameterfv_size(pname);
|
|
GLfloat answerBuffer[200];
|
|
GLfloat *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetMinmaxParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
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 = __glGetMinmaxParameteriv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_Histogram(GLbyte * pc)
|
|
{
|
|
glHistogram(*(GLenum *) (pc + 0),
|
|
*(GLsizei *) (pc + 4),
|
|
*(GLenum *) (pc + 8), *(GLboolean *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_Minmax(GLbyte * pc)
|
|
{
|
|
glMinmax(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), *(GLboolean *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ResetHistogram(GLbyte * pc)
|
|
{
|
|
glResetHistogram(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ResetMinmax(GLbyte * pc)
|
|
{
|
|
glResetMinmax(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexImage3D(GLbyte * pc)
|
|
{
|
|
const CARD32 ptr_is_null = *(CARD32 *) (pc + 76);
|
|
const GLvoid *const pixels =
|
|
(const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80));
|
|
__GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glTexImage3D(*(GLenum *) (pc + 36),
|
|
*(GLint *) (pc + 40),
|
|
*(GLint *) (pc + 44),
|
|
*(GLsizei *) (pc + 48),
|
|
*(GLsizei *) (pc + 52),
|
|
*(GLsizei *) (pc + 56),
|
|
*(GLint *) (pc + 64),
|
|
*(GLenum *) (pc + 68), *(GLenum *) (pc + 72), pixels);
|
|
}
|
|
|
|
void
|
|
__glXDisp_TexSubImage3D(GLbyte * pc)
|
|
{
|
|
const GLvoid *const pixels = (const GLvoid *) ((pc + 88));
|
|
__GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
|
|
|
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes);
|
|
glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst);
|
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength);
|
|
glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight);
|
|
glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows);
|
|
glPixelStorei(GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages);
|
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels);
|
|
glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment);
|
|
|
|
glTexSubImage3D(*(GLenum *) (pc + 36),
|
|
*(GLint *) (pc + 40),
|
|
*(GLint *) (pc + 44),
|
|
*(GLint *) (pc + 48),
|
|
*(GLint *) (pc + 52),
|
|
*(GLsizei *) (pc + 60),
|
|
*(GLsizei *) (pc + 64),
|
|
*(GLsizei *) (pc + 68),
|
|
*(GLenum *) (pc + 76), *(GLenum *) (pc + 80), pixels);
|
|
}
|
|
|
|
void
|
|
__glXDisp_CopyTexSubImage3D(GLbyte * pc)
|
|
{
|
|
glCopyTexSubImage3D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16),
|
|
*(GLint *) (pc + 20),
|
|
*(GLint *) (pc + 24),
|
|
*(GLsizei *) (pc + 28), *(GLsizei *) (pc + 32));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ActiveTexture(GLbyte * pc)
|
|
{
|
|
glActiveTextureARB(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord1dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 12);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glMultiTexCoord1dvARB(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord1fvARB(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord1fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord1iv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord1ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord1sv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord1svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord2dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 20);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glMultiTexCoord2dvARB(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord2fvARB(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord2fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord2iv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord2ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord2sv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord2svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord3dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 28);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glMultiTexCoord3dvARB(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord3fvARB(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord3fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord3iv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord3ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord3sv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord3svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord4dv(GLbyte * pc)
|
|
{
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 36);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
glMultiTexCoord4dvARB(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord4fvARB(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord4fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord4iv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord4ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_MultiTexCoord4sv(GLbyte * pc)
|
|
{
|
|
glMultiTexCoord4svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CompressedTexImage1D(GLbyte * pc)
|
|
{
|
|
PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D =
|
|
__glGetProcAddress("glCompressedTexImage1D");
|
|
const GLsizei imageSize = *(GLsizei *) (pc + 20);
|
|
|
|
CompressedTexImage1D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLenum *) (pc + 8),
|
|
*(GLsizei *) (pc + 12),
|
|
*(GLint *) (pc + 16),
|
|
imageSize, (const GLvoid *) (pc + 24));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CompressedTexImage2D(GLbyte * pc)
|
|
{
|
|
PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D =
|
|
__glGetProcAddress("glCompressedTexImage2D");
|
|
const GLsizei imageSize = *(GLsizei *) (pc + 24);
|
|
|
|
CompressedTexImage2D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLenum *) (pc + 8),
|
|
*(GLsizei *) (pc + 12),
|
|
*(GLsizei *) (pc + 16),
|
|
*(GLint *) (pc + 20),
|
|
imageSize, (const GLvoid *) (pc + 28));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CompressedTexImage3D(GLbyte * pc)
|
|
{
|
|
PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D =
|
|
__glGetProcAddress("glCompressedTexImage3D");
|
|
const GLsizei imageSize = *(GLsizei *) (pc + 28);
|
|
|
|
CompressedTexImage3D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLenum *) (pc + 8),
|
|
*(GLsizei *) (pc + 12),
|
|
*(GLsizei *) (pc + 16),
|
|
*(GLsizei *) (pc + 20),
|
|
*(GLint *) (pc + 24),
|
|
imageSize, (const GLvoid *) (pc + 32));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CompressedTexSubImage1D(GLbyte * pc)
|
|
{
|
|
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D =
|
|
__glGetProcAddress("glCompressedTexSubImage1D");
|
|
const GLsizei imageSize = *(GLsizei *) (pc + 20);
|
|
|
|
CompressedTexSubImage1D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLsizei *) (pc + 12),
|
|
*(GLenum *) (pc + 16),
|
|
imageSize, (const GLvoid *) (pc + 24));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CompressedTexSubImage2D(GLbyte * pc)
|
|
{
|
|
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D =
|
|
__glGetProcAddress("glCompressedTexSubImage2D");
|
|
const GLsizei imageSize = *(GLsizei *) (pc + 28);
|
|
|
|
CompressedTexSubImage2D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLsizei *) (pc + 16),
|
|
*(GLsizei *) (pc + 20),
|
|
*(GLenum *) (pc + 24),
|
|
imageSize, (const GLvoid *) (pc + 32));
|
|
}
|
|
|
|
void
|
|
__glXDisp_CompressedTexSubImage3D(GLbyte * pc)
|
|
{
|
|
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D =
|
|
__glGetProcAddress("glCompressedTexSubImage3D");
|
|
const GLsizei imageSize = *(GLsizei *) (pc + 36);
|
|
|
|
CompressedTexSubImage3D(*(GLenum *) (pc + 0),
|
|
*(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8),
|
|
*(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16),
|
|
*(GLsizei *) (pc + 20),
|
|
*(GLsizei *) (pc + 24),
|
|
*(GLsizei *) (pc + 28),
|
|
*(GLenum *) (pc + 32),
|
|
imageSize, (const GLvoid *) (pc + 40));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SampleCoverage(GLbyte * pc)
|
|
{
|
|
PFNGLSAMPLECOVERAGEPROC SampleCoverage =
|
|
__glGetProcAddress("glSampleCoverage");
|
|
SampleCoverage(*(GLclampf *) (pc + 0), *(GLboolean *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BlendFuncSeparate(GLbyte * pc)
|
|
{
|
|
PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate =
|
|
__glGetProcAddress("glBlendFuncSeparate");
|
|
BlendFuncSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
|
|
*(GLenum *) (pc + 8), *(GLenum *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_FogCoorddv(GLbyte * pc)
|
|
{
|
|
PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv");
|
|
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 8);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
FogCoorddv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PointParameterf(GLbyte * pc)
|
|
{
|
|
PFNGLPOINTPARAMETERFPROC PointParameterf =
|
|
__glGetProcAddress("glPointParameterf");
|
|
PointParameterf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PointParameterfv(GLbyte * pc)
|
|
{
|
|
PFNGLPOINTPARAMETERFVPROC PointParameterfv =
|
|
__glGetProcAddress("glPointParameterfv");
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
const GLfloat *params;
|
|
|
|
params = (const GLfloat *) (pc + 4);
|
|
|
|
PointParameterfv(pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_PointParameteri(GLbyte * pc)
|
|
{
|
|
PFNGLPOINTPARAMETERIPROC PointParameteri =
|
|
__glGetProcAddress("glPointParameteri");
|
|
PointParameteri(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_PointParameteriv(GLbyte * pc)
|
|
{
|
|
PFNGLPOINTPARAMETERIVPROC PointParameteriv =
|
|
__glGetProcAddress("glPointParameteriv");
|
|
const GLenum pname = *(GLenum *) (pc + 0);
|
|
const GLint *params;
|
|
|
|
params = (const GLint *) (pc + 4);
|
|
|
|
PointParameteriv(pname, params);
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3bv(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv =
|
|
__glGetProcAddress("glSecondaryColor3bv");
|
|
SecondaryColor3bv((const GLbyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3dv(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv =
|
|
__glGetProcAddress("glSecondaryColor3dv");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 24);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
SecondaryColor3dv((const GLdouble *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3iv(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv =
|
|
__glGetProcAddress("glSecondaryColor3iv");
|
|
SecondaryColor3iv((const GLint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3sv(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv =
|
|
__glGetProcAddress("glSecondaryColor3sv");
|
|
SecondaryColor3sv((const GLshort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3ubv(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv =
|
|
__glGetProcAddress("glSecondaryColor3ubv");
|
|
SecondaryColor3ubv((const GLubyte *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3uiv(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv =
|
|
__glGetProcAddress("glSecondaryColor3uiv");
|
|
SecondaryColor3uiv((const GLuint *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3usv(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv =
|
|
__glGetProcAddress("glSecondaryColor3usv");
|
|
SecondaryColor3usv((const GLushort *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_WindowPos3fv(GLbyte * pc)
|
|
{
|
|
PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv");
|
|
|
|
WindowPos3fv((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BeginQuery(GLbyte * pc)
|
|
{
|
|
PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery");
|
|
|
|
BeginQuery(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
|
|
}
|
|
|
|
int
|
|
__glXDisp_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLDELETEQUERIESPROC DeleteQueries =
|
|
__glGetProcAddress("glDeleteQueries");
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
DeleteQueries(n, (const GLuint *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_EndQuery(GLbyte * pc)
|
|
{
|
|
PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery");
|
|
|
|
EndQuery(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
int
|
|
__glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries");
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLuint answerBuffer[200];
|
|
GLuint *ids =
|
|
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
|
|
4);
|
|
|
|
if (ids == NULL)
|
|
return BadAlloc;
|
|
GenQueries(n, ids);
|
|
__glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv =
|
|
__glGetProcAddress("glGetQueryObjectiv");
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetQueryObjectiv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
GetQueryObjectiv(*(GLuint *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv =
|
|
__glGetProcAddress("glGetQueryObjectuiv");
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetQueryObjectuiv_size(pname);
|
|
GLuint answerBuffer[200];
|
|
GLuint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
GetQueryObjectuiv(*(GLuint *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv");
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLenum pname = *(GLenum *) (pc + 4);
|
|
|
|
const GLuint compsize = __glGetQueryiv_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
GetQueryiv(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery");
|
|
xGLXSingleReq *const req = (xGLXSingleReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_SINGLE_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = IsQuery(*(GLuint *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_BlendEquationSeparate(GLbyte * pc)
|
|
{
|
|
PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate =
|
|
__glGetProcAddress("glBlendEquationSeparate");
|
|
BlendEquationSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_DrawBuffers(GLbyte * pc)
|
|
{
|
|
PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers");
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
DrawBuffers(n, (const GLenum *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib1dv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv =
|
|
__glGetProcAddress("glVertexAttrib1dv");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 12);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib1dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib1sv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv =
|
|
__glGetProcAddress("glVertexAttrib1sv");
|
|
VertexAttrib1sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib2dv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv =
|
|
__glGetProcAddress("glVertexAttrib2dv");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 20);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib2dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib2sv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv =
|
|
__glGetProcAddress("glVertexAttrib2sv");
|
|
VertexAttrib2sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib3dv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv =
|
|
__glGetProcAddress("glVertexAttrib3dv");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 28);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib3dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib3sv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv =
|
|
__glGetProcAddress("glVertexAttrib3sv");
|
|
VertexAttrib3sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4Nbv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv =
|
|
__glGetProcAddress("glVertexAttrib4Nbv");
|
|
VertexAttrib4Nbv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4Niv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv =
|
|
__glGetProcAddress("glVertexAttrib4Niv");
|
|
VertexAttrib4Niv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4Nsv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv =
|
|
__glGetProcAddress("glVertexAttrib4Nsv");
|
|
VertexAttrib4Nsv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4Nubv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv =
|
|
__glGetProcAddress("glVertexAttrib4Nubv");
|
|
VertexAttrib4Nubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4Nuiv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv =
|
|
__glGetProcAddress("glVertexAttrib4Nuiv");
|
|
VertexAttrib4Nuiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4Nusv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv =
|
|
__glGetProcAddress("glVertexAttrib4Nusv");
|
|
VertexAttrib4Nusv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4bv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv =
|
|
__glGetProcAddress("glVertexAttrib4bv");
|
|
VertexAttrib4bv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4dv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv =
|
|
__glGetProcAddress("glVertexAttrib4dv");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 36);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib4dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4iv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv =
|
|
__glGetProcAddress("glVertexAttrib4iv");
|
|
VertexAttrib4iv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4sv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv =
|
|
__glGetProcAddress("glVertexAttrib4sv");
|
|
VertexAttrib4sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4ubv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv =
|
|
__glGetProcAddress("glVertexAttrib4ubv");
|
|
VertexAttrib4ubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4uiv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv =
|
|
__glGetProcAddress("glVertexAttrib4uiv");
|
|
VertexAttrib4uiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4usv(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv =
|
|
__glGetProcAddress("glVertexAttrib4usv");
|
|
VertexAttrib4usv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ClampColor(GLbyte * pc)
|
|
{
|
|
PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor");
|
|
|
|
ClampColor(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BindProgramARB(GLbyte * pc)
|
|
{
|
|
PFNGLBINDPROGRAMARBPROC BindProgramARB =
|
|
__glGetProcAddress("glBindProgramARB");
|
|
BindProgramARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
|
|
}
|
|
|
|
int
|
|
__glXDisp_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB =
|
|
__glGetProcAddress("glDeleteProgramsARB");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
DeleteProgramsARB(n, (const GLuint *) (pc + 4));
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGENPROGRAMSARBPROC GenProgramsARB =
|
|
__glGetProcAddress("glGenProgramsARB");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLuint answerBuffer[200];
|
|
GLuint *programs =
|
|
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
|
|
4);
|
|
|
|
if (programs == NULL)
|
|
return BadAlloc;
|
|
GenProgramsARB(n, programs);
|
|
__glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB =
|
|
__glGetProcAddress("glGetProgramEnvParameterdvARB");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLdouble params[4];
|
|
|
|
GetProgramEnvParameterdvARB(*(GLenum *) (pc + 0),
|
|
*(GLuint *) (pc + 4), params);
|
|
__glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB =
|
|
__glGetProcAddress("glGetProgramEnvParameterfvARB");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLfloat params[4];
|
|
|
|
GetProgramEnvParameterfvARB(*(GLenum *) (pc + 0),
|
|
*(GLuint *) (pc + 4), params);
|
|
__glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB =
|
|
__glGetProcAddress("glGetProgramLocalParameterdvARB");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLdouble params[4];
|
|
|
|
GetProgramLocalParameterdvARB(*(GLenum *) (pc + 0),
|
|
*(GLuint *) (pc + 4), params);
|
|
__glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB =
|
|
__glGetProcAddress("glGetProgramLocalParameterfvARB");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLfloat params[4];
|
|
|
|
GetProgramLocalParameterfvARB(*(GLenum *) (pc + 0),
|
|
*(GLuint *) (pc + 4), params);
|
|
__glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETPROGRAMIVARBPROC GetProgramivARB =
|
|
__glGetProcAddress("glGetProgramivARB");
|
|
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 = __glGetProgramivARB_size(pname);
|
|
GLint answerBuffer[200];
|
|
GLint *params =
|
|
__glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
|
|
sizeof(answerBuffer), 4);
|
|
|
|
if (params == NULL)
|
|
return BadAlloc;
|
|
__glXClearErrorOccured();
|
|
|
|
GetProgramivARB(*(GLenum *) (pc + 0), pname, params);
|
|
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = IsProgramARB(*(GLuint *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc)
|
|
{
|
|
PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB =
|
|
__glGetProcAddress("glProgramEnvParameter4dvARB");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 40);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
ProgramEnvParameter4dvARB(*(GLenum *) (pc + 0),
|
|
*(GLuint *) (pc + 4),
|
|
(const GLdouble *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc)
|
|
{
|
|
PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB =
|
|
__glGetProcAddress("glProgramEnvParameter4fvARB");
|
|
ProgramEnvParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
|
|
(const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
|
|
{
|
|
PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB =
|
|
__glGetProcAddress("glProgramLocalParameter4dvARB");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 40);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
ProgramLocalParameter4dvARB(*(GLenum *) (pc + 0),
|
|
*(GLuint *) (pc + 4),
|
|
(const GLdouble *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc)
|
|
{
|
|
PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB =
|
|
__glGetProcAddress("glProgramLocalParameter4fvARB");
|
|
ProgramLocalParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
|
|
(const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ProgramStringARB(GLbyte * pc)
|
|
{
|
|
PFNGLPROGRAMSTRINGARBPROC ProgramStringARB =
|
|
__glGetProcAddress("glProgramStringARB");
|
|
const GLsizei len = *(GLsizei *) (pc + 8);
|
|
|
|
ProgramStringARB(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), len, (const GLvoid *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib1fvARB(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB =
|
|
__glGetProcAddress("glVertexAttrib1fvARB");
|
|
VertexAttrib1fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib2fvARB(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB =
|
|
__glGetProcAddress("glVertexAttrib2fvARB");
|
|
VertexAttrib2fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib3fvARB(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB =
|
|
__glGetProcAddress("glVertexAttrib3fvARB");
|
|
VertexAttrib3fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4fvARB(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB =
|
|
__glGetProcAddress("glVertexAttrib4fvARB");
|
|
VertexAttrib4fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BindFramebuffer(GLbyte * pc)
|
|
{
|
|
PFNGLBINDFRAMEBUFFERPROC BindFramebuffer =
|
|
__glGetProcAddress("glBindFramebuffer");
|
|
BindFramebuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BindRenderbuffer(GLbyte * pc)
|
|
{
|
|
PFNGLBINDRENDERBUFFERPROC BindRenderbuffer =
|
|
__glGetProcAddress("glBindRenderbuffer");
|
|
BindRenderbuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_BlitFramebuffer(GLbyte * pc)
|
|
{
|
|
PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer =
|
|
__glGetProcAddress("glBlitFramebuffer");
|
|
BlitFramebuffer(*(GLint *) (pc + 0), *(GLint *) (pc + 4),
|
|
*(GLint *) (pc + 8), *(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16), *(GLint *) (pc + 20),
|
|
*(GLint *) (pc + 24), *(GLint *) (pc + 28),
|
|
*(GLbitfield *) (pc + 32), *(GLenum *) (pc + 36));
|
|
}
|
|
|
|
int
|
|
__glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus =
|
|
__glGetProcAddress("glCheckFramebufferStatus");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLenum retval;
|
|
|
|
retval = CheckFramebufferStatus(*(GLenum *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_DeleteFramebuffers(GLbyte * pc)
|
|
{
|
|
PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers =
|
|
__glGetProcAddress("glDeleteFramebuffers");
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
DeleteFramebuffers(n, (const GLuint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_DeleteRenderbuffers(GLbyte * pc)
|
|
{
|
|
PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers =
|
|
__glGetProcAddress("glDeleteRenderbuffers");
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
DeleteRenderbuffers(n, (const GLuint *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_FramebufferRenderbuffer(GLbyte * pc)
|
|
{
|
|
PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer =
|
|
__glGetProcAddress("glFramebufferRenderbuffer");
|
|
FramebufferRenderbuffer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
|
|
*(GLenum *) (pc + 8), *(GLuint *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_FramebufferTexture1D(GLbyte * pc)
|
|
{
|
|
PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D =
|
|
__glGetProcAddress("glFramebufferTexture1D");
|
|
FramebufferTexture1D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
|
|
*(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
|
|
*(GLint *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_FramebufferTexture2D(GLbyte * pc)
|
|
{
|
|
PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D =
|
|
__glGetProcAddress("glFramebufferTexture2D");
|
|
FramebufferTexture2D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
|
|
*(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
|
|
*(GLint *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_FramebufferTexture3D(GLbyte * pc)
|
|
{
|
|
PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D =
|
|
__glGetProcAddress("glFramebufferTexture3D");
|
|
FramebufferTexture3D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
|
|
*(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
|
|
*(GLint *) (pc + 16), *(GLint *) (pc + 20));
|
|
}
|
|
|
|
void
|
|
__glXDisp_FramebufferTextureLayer(GLbyte * pc)
|
|
{
|
|
PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer =
|
|
__glGetProcAddress("glFramebufferTextureLayer");
|
|
FramebufferTextureLayer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
|
|
*(GLuint *) (pc + 8), *(GLint *) (pc + 12),
|
|
*(GLint *) (pc + 16));
|
|
}
|
|
|
|
int
|
|
__glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGENFRAMEBUFFERSPROC GenFramebuffers =
|
|
__glGetProcAddress("glGenFramebuffers");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLuint answerBuffer[200];
|
|
GLuint *framebuffers =
|
|
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
|
|
4);
|
|
|
|
if (framebuffers == NULL)
|
|
return BadAlloc;
|
|
|
|
GenFramebuffers(n, framebuffers);
|
|
__glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGENRENDERBUFFERSPROC GenRenderbuffers =
|
|
__glGetProcAddress("glGenRenderbuffers");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
const GLsizei n = *(GLsizei *) (pc + 0);
|
|
|
|
GLuint answerBuffer[200];
|
|
GLuint *renderbuffers =
|
|
__glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
|
|
4);
|
|
|
|
if (renderbuffers == NULL)
|
|
return BadAlloc;
|
|
GenRenderbuffers(n, renderbuffers);
|
|
__glXSendReply(cl->client, renderbuffers, n, 4, GL_TRUE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_GenerateMipmap(GLbyte * pc)
|
|
{
|
|
PFNGLGENERATEMIPMAPPROC GenerateMipmap =
|
|
__glGetProcAddress("glGenerateMipmap");
|
|
GenerateMipmap(*(GLenum *) (pc + 0));
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
|
|
GLbyte * pc)
|
|
{
|
|
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
|
|
GetFramebufferAttachmentParameteriv =
|
|
__glGetProcAddress("glGetFramebufferAttachmentParameteriv");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLint params[1];
|
|
|
|
GetFramebufferAttachmentParameteriv(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4),
|
|
*(GLenum *) (pc + 8), params);
|
|
__glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv =
|
|
__glGetProcAddress("glGetRenderbufferParameteriv");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLint params[1];
|
|
|
|
GetRenderbufferParameteriv(*(GLenum *) (pc + 0),
|
|
*(GLenum *) (pc + 4), params);
|
|
__glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLISFRAMEBUFFERPROC IsFramebuffer =
|
|
__glGetProcAddress("glIsFramebuffer");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = IsFramebuffer(*(GLuint *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
int
|
|
__glXDisp_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
|
|
{
|
|
PFNGLISRENDERBUFFERPROC IsRenderbuffer =
|
|
__glGetProcAddress("glIsRenderbuffer");
|
|
xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
|
|
int error;
|
|
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
|
|
|
|
pc += __GLX_VENDPRIV_HDR_SIZE;
|
|
if (cx != NULL) {
|
|
GLboolean retval;
|
|
|
|
retval = IsRenderbuffer(*(GLuint *) (pc + 0));
|
|
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
|
|
error = Success;
|
|
}
|
|
|
|
return error;
|
|
}
|
|
|
|
void
|
|
__glXDisp_RenderbufferStorage(GLbyte * pc)
|
|
{
|
|
PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage =
|
|
__glGetProcAddress("glRenderbufferStorage");
|
|
RenderbufferStorage(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
|
|
*(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
|
|
}
|
|
|
|
void
|
|
__glXDisp_RenderbufferStorageMultisample(GLbyte * pc)
|
|
{
|
|
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample =
|
|
__glGetProcAddress("glRenderbufferStorageMultisample");
|
|
RenderbufferStorageMultisample(*(GLenum *) (pc + 0), *(GLsizei *) (pc + 4),
|
|
*(GLenum *) (pc + 8), *(GLsizei *) (pc + 12),
|
|
*(GLsizei *) (pc + 16));
|
|
}
|
|
|
|
void
|
|
__glXDisp_SecondaryColor3fvEXT(GLbyte * pc)
|
|
{
|
|
PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT =
|
|
__glGetProcAddress("glSecondaryColor3fvEXT");
|
|
SecondaryColor3fvEXT((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_FogCoordfvEXT(GLbyte * pc)
|
|
{
|
|
PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT =
|
|
__glGetProcAddress("glFogCoordfvEXT");
|
|
FogCoordfvEXT((const GLfloat *) (pc + 0));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib1dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV =
|
|
__glGetProcAddress("glVertexAttrib1dvNV");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 12);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib1dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib1fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV =
|
|
__glGetProcAddress("glVertexAttrib1fvNV");
|
|
VertexAttrib1fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib1svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV =
|
|
__glGetProcAddress("glVertexAttrib1svNV");
|
|
VertexAttrib1svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib2dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV =
|
|
__glGetProcAddress("glVertexAttrib2dvNV");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 20);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib2dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib2fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV =
|
|
__glGetProcAddress("glVertexAttrib2fvNV");
|
|
VertexAttrib2fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib2svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV =
|
|
__glGetProcAddress("glVertexAttrib2svNV");
|
|
VertexAttrib2svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib3dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV =
|
|
__glGetProcAddress("glVertexAttrib3dvNV");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 28);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib3dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib3fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV =
|
|
__glGetProcAddress("glVertexAttrib3fvNV");
|
|
VertexAttrib3fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib3svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV =
|
|
__glGetProcAddress("glVertexAttrib3svNV");
|
|
VertexAttrib3svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV =
|
|
__glGetProcAddress("glVertexAttrib4dvNV");
|
|
#ifdef __GLX_ALIGN64
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, 36);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttrib4dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV =
|
|
__glGetProcAddress("glVertexAttrib4fvNV");
|
|
VertexAttrib4fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV =
|
|
__glGetProcAddress("glVertexAttrib4svNV");
|
|
VertexAttrib4svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttrib4ubvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV =
|
|
__glGetProcAddress("glVertexAttrib4ubvNV");
|
|
VertexAttrib4ubvNV(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs1dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV =
|
|
__glGetProcAddress("glVertexAttribs1dvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
#ifdef __GLX_ALIGN64
|
|
const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4;
|
|
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, cmdlen);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttribs1dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs1fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV =
|
|
__glGetProcAddress("glVertexAttribs1fvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs1fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs1svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV =
|
|
__glGetProcAddress("glVertexAttribs1svNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs1svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs2dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV =
|
|
__glGetProcAddress("glVertexAttribs2dvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
#ifdef __GLX_ALIGN64
|
|
const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4;
|
|
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, cmdlen);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttribs2dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs2fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV =
|
|
__glGetProcAddress("glVertexAttribs2fvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs2fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs2svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV =
|
|
__glGetProcAddress("glVertexAttribs2svNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs2svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs3dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV =
|
|
__glGetProcAddress("glVertexAttribs3dvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
#ifdef __GLX_ALIGN64
|
|
const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4;
|
|
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, cmdlen);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttribs3dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs3fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV =
|
|
__glGetProcAddress("glVertexAttribs3fvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs3fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs3svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV =
|
|
__glGetProcAddress("glVertexAttribs3svNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs3svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs4dvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV =
|
|
__glGetProcAddress("glVertexAttribs4dvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
#ifdef __GLX_ALIGN64
|
|
const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4;
|
|
|
|
if ((unsigned long) (pc) & 7) {
|
|
(void) memmove(pc - 4, pc, cmdlen);
|
|
pc -= 4;
|
|
}
|
|
#endif
|
|
|
|
VertexAttribs4dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs4fvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV =
|
|
__glGetProcAddress("glVertexAttribs4fvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs4fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs4svNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV =
|
|
__glGetProcAddress("glVertexAttribs4svNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs4svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_VertexAttribs4ubvNV(GLbyte * pc)
|
|
{
|
|
PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV =
|
|
__glGetProcAddress("glVertexAttribs4ubvNV");
|
|
const GLsizei n = *(GLsizei *) (pc + 4);
|
|
|
|
VertexAttribs4ubvNV(*(GLuint *) (pc + 0), n, (const GLubyte *) (pc + 8));
|
|
}
|
|
|
|
void
|
|
__glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
|
|
{
|
|
PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT =
|
|
__glGetProcAddress("glActiveStencilFaceEXT");
|
|
ActiveStencilFaceEXT(*(GLenum *) (pc + 0));
|
|
}
|