130 lines
4.2 KiB
C
130 lines
4.2 KiB
C
#ifndef __GLX_glxint_h__
|
|
#define __GLX_glxint_h__
|
|
|
|
/* $XFree86: xc/include/GL/glxint.h,v 1.3 2000/11/18 19:37:04 tsi Exp $ */
|
|
/*
|
|
** The contents of this file are subject to the GLX Public License Version 1.0
|
|
** (the "License"). You may not use this file except in compliance with the
|
|
** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
|
|
** attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
|
|
** or at http://www.sgi.com/software/opensource/glx/license.html.
|
|
**
|
|
** Software distributed under the License is distributed on an "AS IS"
|
|
** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
|
|
** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
|
|
** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
|
|
** language governing rights and limitations under the License.
|
|
**
|
|
** The Original Software is GLX version 1.2 source code, released February,
|
|
** 1999. The developer of the Original Software is Silicon Graphics, Inc.
|
|
** Those portions of the Subject Software created by Silicon Graphics, Inc.
|
|
** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
|
|
**
|
|
** $SGI$
|
|
*/
|
|
|
|
#include <X11/X.h>
|
|
#include <X11/Xdefs.h>
|
|
#include "GL/gl.h"
|
|
|
|
typedef struct __GLXvisualConfigRec __GLXvisualConfig;
|
|
typedef struct __GLXFBConfigRec __GLXFBConfig;
|
|
|
|
struct __GLXvisualConfigRec {
|
|
VisualID vid;
|
|
int class;
|
|
Bool rgba;
|
|
int redSize, greenSize, blueSize, alphaSize;
|
|
unsigned long redMask, greenMask, blueMask, alphaMask;
|
|
int accumRedSize, accumGreenSize, accumBlueSize, accumAlphaSize;
|
|
Bool doubleBuffer;
|
|
Bool stereo;
|
|
int bufferSize;
|
|
int depthSize;
|
|
int stencilSize;
|
|
int auxBuffers;
|
|
int level;
|
|
/* Start of Extended Visual Properties */
|
|
int visualRating; /* visual_rating extension */
|
|
int transparentPixel; /* visual_info extension */
|
|
/* colors are floats scaled to ints */
|
|
int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
|
|
int transparentIndex;
|
|
int multiSampleSize;
|
|
int nMultiSampleBuffers;
|
|
int visualSelectGroup;
|
|
};
|
|
|
|
#define __GLX_MIN_CONFIG_PROPS 18
|
|
#define __GLX_MAX_CONFIG_PROPS 500
|
|
|
|
#define __GLX_EXT_CONFIG_PROPS 10
|
|
|
|
/*
|
|
** Since we send all non-core visual properties as token, value pairs,
|
|
** we require 2 words across the wire. In order to maintain backwards
|
|
** compatibility, we need to send the total number of words that the
|
|
** VisualConfigs are sent back in so old libraries can simply "ignore"
|
|
** the new properties.
|
|
*/
|
|
#define __GLX_TOTAL_CONFIG (__GLX_MIN_CONFIG_PROPS + \
|
|
2 * __GLX_EXT_CONFIG_PROPS)
|
|
|
|
struct __GLXFBConfigRec {
|
|
int visualType;
|
|
int transparentType;
|
|
/* colors are floats scaled to ints */
|
|
int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
|
|
int transparentIndex;
|
|
|
|
int visualCaveat;
|
|
|
|
int associatedVisualId;
|
|
int screen;
|
|
|
|
int drawableType;
|
|
int renderType;
|
|
|
|
int maxPbufferWidth, maxPbufferHeight, maxPbufferPixels;
|
|
int optimalPbufferWidth, optimalPbufferHeight; /* for SGIX_pbuffer */
|
|
|
|
int visualSelectGroup; /* visuals grouped by select priority */
|
|
|
|
unsigned int id;
|
|
|
|
GLboolean rgbMode;
|
|
GLboolean colorIndexMode;
|
|
GLboolean doubleBufferMode;
|
|
GLboolean stereoMode;
|
|
GLboolean haveAccumBuffer;
|
|
GLboolean haveDepthBuffer;
|
|
GLboolean haveStencilBuffer;
|
|
|
|
/* The number of bits present in various buffers */
|
|
GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
|
|
GLint depthBits;
|
|
GLint stencilBits;
|
|
GLint indexBits;
|
|
GLint redBits, greenBits, blueBits, alphaBits;
|
|
GLuint redMask, greenMask, blueMask, alphaMask;
|
|
|
|
GLuint multiSampleSize; /* Number of samples per pixel (0 if no ms) */
|
|
|
|
GLuint nMultiSampleBuffers; /* Number of availble ms buffers */
|
|
GLint maxAuxBuffers;
|
|
|
|
/* frame buffer level */
|
|
GLint level;
|
|
|
|
/* color ranges (for SGI_color_range) */
|
|
GLboolean extendedRange;
|
|
GLdouble minRed, maxRed;
|
|
GLdouble minGreen, maxGreen;
|
|
GLdouble minBlue, maxBlue;
|
|
GLdouble minAlpha, maxAlpha;
|
|
};
|
|
|
|
#define __GLX_TOTAL_FBCONFIG_PROPS 35
|
|
|
|
#endif /* !__GLX_glxint_h__ */
|