소스 검색

Make the transition to script-genereated GLX code easier.

Move "handcoded" ARB_window_pos / MESA_window_pos functions to their own
file.  Modify the ARB_window_pos functions to use the MESA_window_pos names.
tags/unichrome-last-xinerama
Ian Romanick 21 년 전
부모
커밋
6b89a8363b
5개의 변경된 파일131개의 추가작업 그리고 102개의 파일을 삭제
  1. 1
    0
      src/glx/x11/Makefile
  2. 0
    70
      src/glx/x11/g_render.c
  3. 15
    15
      src/glx/x11/indirect.h
  4. 17
    17
      src/glx/x11/indirect_init.c
  5. 98
    0
      src/glx/x11/indirect_window_pos.c

+ 1
- 0
src/glx/x11/Makefile 파일 보기

@@ -31,6 +31,7 @@ C_SOURCES = \
glxext.c \
glxextensions.c \
indirect_init.c \
indirect_window_pos.c \
indirect_transpose_matrix.c \
pixel.c \
pixelstore.c \

+ 0
- 70
src/glx/x11/g_render.c 파일 보기

@@ -748,73 +748,3 @@ void __indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, G
__GLX_PUT_LONG(36,height);
__GLX_END(40);
}

void __indirect_glWindowPos2dARB(GLdouble x, GLdouble y)
{
__indirect_glWindowPos3fARB(x, y, 0.0);
}

void __indirect_glWindowPos2iARB(GLint x, GLint y)
{
__indirect_glWindowPos3fARB(x, y, 0.0);
}

void __indirect_glWindowPos2fARB(GLfloat x, GLfloat y)
{
__indirect_glWindowPos3fARB(x, y, 0.0);
}

void __indirect_glWindowPos2sARB(GLshort x, GLshort y)
{
__indirect_glWindowPos3fARB(x, y, 0.0);
}

void __indirect_glWindowPos2dvARB(const GLdouble * p)
{
__indirect_glWindowPos3fARB(p[0], p[1], 0.0);
}

void __indirect_glWindowPos2fvARB(const GLfloat * p)
{
__indirect_glWindowPos3fARB(p[0], p[1], 0.0);
}

void __indirect_glWindowPos2ivARB(const GLint * p)
{
__indirect_glWindowPos3fARB(p[0], p[1], 0.0);
}

void __indirect_glWindowPos2svARB(const GLshort * p)
{
__indirect_glWindowPos3fARB(p[0], p[1], 0.0);
}

void __indirect_glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z)
{
__indirect_glWindowPos3fARB(x, y, z);
}

void __indirect_glWindowPos3iARB(GLint x, GLint y, GLint z)
{
__indirect_glWindowPos3fARB(x, y, z);
}

void __indirect_glWindowPos3sARB(GLshort x, GLshort y, GLshort z)
{
__indirect_glWindowPos3fARB(x, y, z);
}

void __indirect_glWindowPos3dvARB(const GLdouble * p)
{
__indirect_glWindowPos3fARB(p[0], p[1], p[2]);
}

void __indirect_glWindowPos3ivARB(const GLint * p)
{
__indirect_glWindowPos3fARB(p[0], p[1], p[2]);
}

void __indirect_glWindowPos3svARB(const GLshort * p)
{
__indirect_glWindowPos3fARB(p[0], p[1], p[2]);
}

+ 15
- 15
src/glx/x11/indirect.h 파일 보기

@@ -407,7 +407,7 @@ glxvendr_enum1_4(MultiTexCoord4d, X_GLrop_MultiTexCoord4dvARB, GLdouble, ARB)
glxvendr_enum1_V(PointParameterf, X_GLrop_PointParameterf, GLfloat, ARB)
glxproto_enum1_V(PointParameteri, X_GLrop_PointParameteri, GLint)

glxvendr_3(WindowPos3f, X_GLrop_WindowPos3fARB, GLfloat, ARB)
glxvendr_3(WindowPos3f, X_GLrop_WindowPos3fARB, GLfloat, MESA)

glxproto_1s(ActiveStencilFaceEXT, X_GLrop_ActiveStencilFaceEXT, GLenum)

@@ -549,20 +549,20 @@ void __indirect_glClientActiveTextureARB(GLenum texture);

void __indirect_glSampleCoverageARB( GLfloat value, GLboolean invert );

void __indirect_glWindowPos2dARB(GLdouble x, GLdouble y);
void __indirect_glWindowPos2iARB(GLint x, GLint y);
void __indirect_glWindowPos2fARB(GLfloat x, GLfloat y);
void __indirect_glWindowPos2sARB(GLshort x, GLshort y);
void __indirect_glWindowPos2dvARB(const GLdouble * p);
void __indirect_glWindowPos2fvARB(const GLfloat * p);
void __indirect_glWindowPos2ivARB(const GLint * p);
void __indirect_glWindowPos2svARB(const GLshort * p);
void __indirect_glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);
void __indirect_glWindowPos3iARB(GLint x, GLint y, GLint z);
void __indirect_glWindowPos3sARB(GLshort x, GLshort y, GLshort z);
void __indirect_glWindowPos3dvARB(const GLdouble * p);
void __indirect_glWindowPos3ivARB(const GLint * p);
void __indirect_glWindowPos3svARB(const GLshort * p);
void __indirect_glWindowPos2dMESA(GLdouble x, GLdouble y);
void __indirect_glWindowPos2iMESA(GLint x, GLint y);
void __indirect_glWindowPos2fMESA(GLfloat x, GLfloat y);
void __indirect_glWindowPos2sMESA(GLshort x, GLshort y);
void __indirect_glWindowPos2dvMESA(const GLdouble * p);
void __indirect_glWindowPos2fvMESA(const GLfloat * p);
void __indirect_glWindowPos2ivMESA(const GLint * p);
void __indirect_glWindowPos2svMESA(const GLshort * p);
void __indirect_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);
void __indirect_glWindowPos3iMESA(GLint x, GLint y, GLint z);
void __indirect_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z);
void __indirect_glWindowPos3dvMESA(const GLdouble * p);
void __indirect_glWindowPos3ivMESA(const GLint * p);
void __indirect_glWindowPos3svMESA(const GLshort * p);

void __indirect_glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
void __indirect_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid ** indices, GLsizei primcount);

+ 17
- 17
src/glx/x11/indirect_init.c 파일 보기

@@ -507,23 +507,23 @@ __GLapi *__glXNewIndirectAPI(void)
glAPI->PointParameterfvEXT = __indirect_glPointParameterfvARB;

/* ARB 15. GL_ARB_window_pos */
glAPI->WindowPos2dMESA = __indirect_glWindowPos2dARB;
glAPI->WindowPos2iMESA = __indirect_glWindowPos2iARB;
glAPI->WindowPos2fMESA = __indirect_glWindowPos2fARB;
glAPI->WindowPos2iMESA = __indirect_glWindowPos2iARB;
glAPI->WindowPos2sMESA = __indirect_glWindowPos2sARB;
glAPI->WindowPos2dvMESA = __indirect_glWindowPos2dvARB;
glAPI->WindowPos2fvMESA = __indirect_glWindowPos2fvARB;
glAPI->WindowPos2ivMESA = __indirect_glWindowPos2ivARB;
glAPI->WindowPos2svMESA = __indirect_glWindowPos2svARB;
glAPI->WindowPos3dMESA = __indirect_glWindowPos3dARB;
glAPI->WindowPos3fMESA = __indirect_glWindowPos3fARB;
glAPI->WindowPos3iMESA = __indirect_glWindowPos3iARB;
glAPI->WindowPos3sMESA = __indirect_glWindowPos3sARB;
glAPI->WindowPos3dvMESA = __indirect_glWindowPos3dvARB;
glAPI->WindowPos3fvMESA = __indirect_glWindowPos3fvARB;
glAPI->WindowPos3ivMESA = __indirect_glWindowPos3ivARB;
glAPI->WindowPos3svMESA = __indirect_glWindowPos3svARB;
glAPI->WindowPos2dMESA = __indirect_glWindowPos2dMESA;
glAPI->WindowPos2iMESA = __indirect_glWindowPos2iMESA;
glAPI->WindowPos2fMESA = __indirect_glWindowPos2fMESA;
glAPI->WindowPos2iMESA = __indirect_glWindowPos2iMESA;
glAPI->WindowPos2sMESA = __indirect_glWindowPos2sMESA;
glAPI->WindowPos2dvMESA = __indirect_glWindowPos2dvMESA;
glAPI->WindowPos2fvMESA = __indirect_glWindowPos2fvMESA;
glAPI->WindowPos2ivMESA = __indirect_glWindowPos2ivMESA;
glAPI->WindowPos2svMESA = __indirect_glWindowPos2svMESA;
glAPI->WindowPos3dMESA = __indirect_glWindowPos3dMESA;
glAPI->WindowPos3fMESA = __indirect_glWindowPos3fMESA;
glAPI->WindowPos3iMESA = __indirect_glWindowPos3iMESA;
glAPI->WindowPos3sMESA = __indirect_glWindowPos3sMESA;
glAPI->WindowPos3dvMESA = __indirect_glWindowPos3dvMESA;
glAPI->WindowPos3fvMESA = __indirect_glWindowPos3fvMESA;
glAPI->WindowPos3ivMESA = __indirect_glWindowPos3ivMESA;
glAPI->WindowPos3svMESA = __indirect_glWindowPos3svMESA;

/* 25. GL_SGIS_multisample */
glAPI->SampleMaskSGIS = __indirect_glSampleMaskSGIS;

+ 98
- 0
src/glx/x11/indirect_window_pos.c 파일 보기

@@ -0,0 +1,98 @@
/*
* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
* (C) Copyright IBM Corporation 2004
* 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
* PRECISION INSIGHT, 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 <GL/gl.h>
#include "indirect.h"

void __indirect_glWindowPos2dMESA(GLdouble x, GLdouble y)
{
__indirect_glWindowPos3fMESA(x, y, 0.0);
}

void __indirect_glWindowPos2iMESA(GLint x, GLint y)
{
__indirect_glWindowPos3fMESA(x, y, 0.0);
}

void __indirect_glWindowPos2fMESA(GLfloat x, GLfloat y)
{
__indirect_glWindowPos3fMESA(x, y, 0.0);
}

void __indirect_glWindowPos2sMESA(GLshort x, GLshort y)
{
__indirect_glWindowPos3fMESA(x, y, 0.0);
}

void __indirect_glWindowPos2dvMESA(const GLdouble * p)
{
__indirect_glWindowPos3fMESA(p[0], p[1], 0.0);
}

void __indirect_glWindowPos2fvMESA(const GLfloat * p)
{
__indirect_glWindowPos3fMESA(p[0], p[1], 0.0);
}

void __indirect_glWindowPos2ivMESA(const GLint * p)
{
__indirect_glWindowPos3fMESA(p[0], p[1], 0.0);
}

void __indirect_glWindowPos2svMESA(const GLshort * p)
{
__indirect_glWindowPos3fMESA(p[0], p[1], 0.0);
}

void __indirect_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z)
{
__indirect_glWindowPos3fMESA(x, y, z);
}

void __indirect_glWindowPos3iMESA(GLint x, GLint y, GLint z)
{
__indirect_glWindowPos3fMESA(x, y, z);
}

void __indirect_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z)
{
__indirect_glWindowPos3fMESA(x, y, z);
}

void __indirect_glWindowPos3dvMESA(const GLdouble * p)
{
__indirect_glWindowPos3fMESA(p[0], p[1], p[2]);
}

void __indirect_glWindowPos3ivMESA(const GLint * p)
{
__indirect_glWindowPos3fMESA(p[0], p[1], p[2]);
}

void __indirect_glWindowPos3svMESA(const GLshort * p)
{
__indirect_glWindowPos3fMESA(p[0], p[1], p[2]);
}

Loading…
취소
저장