diff options
author | martin <martin> | 2004-06-30 20:21:35 +0000 |
---|---|---|
committer | martin <martin> | 2004-06-30 20:21:35 +0000 |
commit | 7b78be09e273cae17e99091190825477ad4c2d8d (patch) | |
tree | 48f955e92571f59565e8ff08b53cae6e5f34c048 /include | |
parent | f18b7d8e8d30669f1bb2f8ab8f8de45b35f4dce8 (diff) |
141. Add Distributed Multihead X (DMX) support (Kevin Martin and
Rik Faith).
Diffstat (limited to 'include')
-rw-r--r-- | include/GL/glxint.h | 65 | ||||
-rw-r--r-- | include/GL/glxproto.h | 99 | ||||
-rw-r--r-- | include/GL/glxtokens.h | 9 | ||||
-rw-r--r-- | include/extensions/Imakefile | 7 |
4 files changed, 173 insertions, 7 deletions
diff --git a/include/GL/glxint.h b/include/GL/glxint.h index 74e9efe63..0792dc1fb 100644 --- a/include/GL/glxint.h +++ b/include/GL/glxint.h @@ -1,7 +1,7 @@ #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 $ */ +/* $XFree86: xc/include/GL/glxint.h,v 1.4 2001/08/01 00:44:34 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 @@ -25,8 +25,10 @@ #include <X11/X.h> #include <X11/Xdefs.h> +#include "GL/gl.h" typedef struct __GLXvisualConfigRec __GLXvisualConfig; +typedef struct __GLXFBConfigRec __GLXFBConfig; struct __GLXvisualConfigRec { VisualID vid; @@ -48,12 +50,15 @@ struct __GLXvisualConfigRec { /* 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 7 +#define __GLX_EXT_CONFIG_PROPS 10 /* ** Since we send all non-core visual properties as token, value pairs, @@ -65,4 +70,60 @@ struct __GLXvisualConfigRec { #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__ */ diff --git a/include/GL/glxproto.h b/include/GL/glxproto.h index 58c099339..ceefc353f 100644 --- a/include/GL/glxproto.h +++ b/include/GL/glxproto.h @@ -1,7 +1,7 @@ #ifndef _GLX_glxproto_h_ #define _GLX_glxproto_h_ -/* $XFree86: xc/include/GL/glxproto.h,v 1.7 2004/01/28 18:11:37 alanh Exp $ */ +/* $XFree86: xc/include/GL/glxproto.h,v 1.8 2004/04/08 10:07:32 alanh Exp $ */ /* ** License Applicability. Except to the extent portions of this file are ** made subject to an alternative license as permitted in the SGI Free @@ -962,6 +962,20 @@ typedef struct GLXMakeCurrentReadSGI { } xGLXMakeCurrentReadSGIReq; #define sz_xGLXMakeCurrentReadSGIReq 24 +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + GLXContextTag contextTag B32; + CARD32 writeVid B32; + CARD32 writeType B32; + CARD32 readVid B32; + CARD32 readType B32; + CARD32 pad6 B32; +} xGLXMakeCurrentReadSGIReply; +#define sz_xGLXMakeCurrentReadSGIReply 32 + /* ** glXGetFBConfigsSGIX request */ @@ -1013,6 +1027,61 @@ typedef struct GLXCreateGLXPixmapWithConfigSGIX { } xGLXCreateGLXPixmapWithConfigSGIXReq; #define sz_xGLXCreateGLXPixmapWithConfigSGIXReq 28 +/* +** glXJoinSwapGroupSGIX request +*/ +typedef struct GLXJoinSwapGroupSGIX { + CARD8 reqType; + CARD8 glxCode; + CARD16 length B16; + CARD32 vendorCode B32; /* vendor-specific opcode */ + CARD32 unused B32; /* corresponds to contextTag in hdr */ + GLXDrawable drawable B32; + GLXDrawable member B32; +} xGLXJoinSwapGroupSGIXReq; +#define sz_xGLXJoinSwapGroupSGIXReq 20 + +/* +** glXBindSwapBarrierSGIX request +*/ +typedef struct GLXBindSwapBarrierSGIX { + CARD8 reqType; + CARD8 glxCode; + CARD16 length B16; + CARD32 vendorCode B32; /* vendor-specific opcode */ + CARD32 unused B32; /* corresponds to contextTag in hdr */ + GLXDrawable drawable B32; + CARD32 barrier B32; +} xGLXBindSwapBarrierSGIXReq; +#define sz_xGLXBindSwapBarrierSGIXReq 20 + +/* +** glXQueryMaxSwapBarriersSGIX request +*/ +typedef struct GLXQueryMaxSwapBarriersSGIX { + CARD8 reqType; + CARD8 glxCode; + CARD16 length B16; + CARD32 vendorCode B32; /* vendor-specific opcode */ + CARD32 unused B32; /* corresponds to contextTag in hdr */ + CARD32 screen B32; +} xGLXQueryMaxSwapBarriersSGIXReq; +#define sz_xGLXQueryMaxSwapBarriersSGIXReq 16 + +typedef struct { + BYTE type; /* X_Reply */ + CARD8 unused; /* not used */ + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 max B32; + CARD32 size B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xGLXQueryMaxSwapBarriersSGIXReply; +#define sz_xGLXQueryMaxSwapBarriersSGIXReply 32 + /************************************************************************/ /* @@ -1705,6 +1774,12 @@ typedef struct { __GLX_COLOR_SUBTABLE_HDR; } __GLXdispatchColorSubTableHeader; +#define GLX_WINDOW_TYPE 1 +#define GLX_PIXMAP_TYPE 2 +#define GLX_VIDEO_SOURCE_TYPE 3 +#define GLX_PBUFFER_TYPE 4 +/* 5 is for DM_PBUFFER */ +#define GLX_GLXWINDOW_TYPE 6 /*****************************************************************************/ @@ -2101,6 +2176,17 @@ typedef struct { /* Opcodes for Vendor Private commands */ + +#define X_GLvop_GetConvolutionFilterEXT 1 +#define X_GLvop_GetConvolutionParameterfvEXT 2 +#define X_GLvop_GetConvolutionParameterivEXT 3 +#define X_GLvop_GetSeparableFilterEXT 4 +#define X_GLvop_GetHistogramEXT 5 +#define X_GLvop_GetHistogramParameterfvEXT 6 +#define X_GLvop_GetHistogramParameterivEXT 7 +#define X_GLvop_GetMinmaxEXT 8 +#define X_GLvop_GetMinmaxParameterfvEXT 9 +#define X_GLvop_GetMinmaxParameterivEXT 10 #define X_GLvop_AreTexturesResidentEXT 11 #define X_GLvop_DeleteTexturesEXT 12 #define X_GLvop_GenTexturesEXT 13 @@ -2136,7 +2222,16 @@ typedef struct { #define X_GLvop_GetProgramNamedParameter4dvNV 1311 #define X_GLvop_SampleMaskSGIS 2048 #define X_GLvop_SamplePatternSGIS 2049 - +#define X_GLvop_GetDetailTexFuncSGIS 4096 +#define X_GLvop_GetSharpenTexFuncSGIS 4097 +#define X_GLvop_GetColorTableSGI 4098 +#define X_GLvop_GetColorTableParameterfvSGI 4099 +#define X_GLvop_GetColorTableParameterivSGI 4100 +#define X_GLvop_GetTexFilterFuncSGIS 4101 +#define X_GLvop_GetInstrumentsSGIX 4102 +#define X_GLvop_InstrumentsBufferSGIX 4103 +#define X_GLvop_PollInstrumentsSGIX 4104 +#define X_GLvop_FlushRasterSGIX 4105 /* Opcodes for GLX vendor private commands */ diff --git a/include/GL/glxtokens.h b/include/GL/glxtokens.h index 0005b43a9..32e551c43 100644 --- a/include/GL/glxtokens.h +++ b/include/GL/glxtokens.h @@ -1,7 +1,7 @@ #ifndef __GLX_glxtokens_h__ #define __GLX_glxtokens_h__ -/* $XFree86: xc/include/GL/glxtokens.h,v 1.6 2002/02/22 21:32:50 dawes Exp $ */ +/* $XFree86: xc/include/GL/glxtokens.h,v 1.7 2004/04/08 10:07:32 alanh Exp $ */ /* ** License Applicability. Except to the extent portions of this file are ** made subject to an alternative license as permitted in the SGI Free @@ -85,6 +85,10 @@ extern "C" { #define GLX_MAX_PBUFFER_PIXELS 0x8018 #define GLX_VISUAL_ID 0x800B +/* FBConfigSGIX Attributes */ +#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 +#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A + /* ** Error return values from glXGetConfig. Success is indicated by ** a value of 0. @@ -210,6 +214,9 @@ extern "C" { #define GLX_SWAP_COPY_OML 0x8062 #define GLX_SWAP_UNDEFINED_OML 0x8063 +/* Property values for multi-sampling */ +#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 /* visuals grouped by select priority */ + /* ** Names for attributes to glXGetClientString. */ diff --git a/include/extensions/Imakefile b/include/extensions/Imakefile index ab8c67512..f74a268c1 100644 --- a/include/extensions/Imakefile +++ b/include/extensions/Imakefile @@ -3,7 +3,7 @@ XCOMM $Xorg: Imakefile,v 1.3 2000/08/18 04:05:44 coskrey Exp $ -XCOMM $XFree86: xc/include/extensions/Imakefile,v 3.56tsi Exp $ +XCOMM $XFree86: xc/include/extensions/Imakefile,v 3.57 2004/04/03 22:38:52 tsi Exp $ #if BuildScreenSaverExt || BuildScreenSaverLibrary SCREENSAVERHEADERS = saver.h saverproto.h scrnsaver.h @@ -51,12 +51,15 @@ XTRAPHEADERS = xtrapbits.h xtrapddmi.h xtrapdi.h xtrapemacros.h xtraplib.h \ #if BuildXResExt || BuildXResLibrary XRESHEADERS = XRes.h XResproto.h #endif +#if BuildDmxExt || BuildDmxLibrary +XDMXHEADERS = dmxext.h dmxproto.h +#endif EXTRAHEADERS = $(SCREENSAVERHEADERS) $(XF86MISCHEADERS) $(XF86BIGFONTHEADERS) \ $(XF86VIDMODEHEADERS) $(XF86DGAHEADERS) $(XINERAMAHEADERS) \ $(LBXHEADERS) $(XVHEADERS) $(XVMCHEADERS) $(XF86RUSHHEADERS) \ $(FONTCACHEHEADERS) $(RENDERHEADERS) $(RANDRHEADERS) \ - $(XTRAPHEADERS) $(XRESHEADERS) + $(XTRAPHEADERS) $(XRESHEADERS) $(XDMXHEADERS) |