mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 08:50:09 +01:00
basic API work for FBConfigs & Pbuffers
This commit is contained in:
parent
fe54ba3952
commit
fde2b9750e
2 changed files with 89 additions and 3 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: miniglx.h,v 1.1 2003/08/23 01:25:30 jonsmirl Exp $ */
|
||||
/* $Id: miniglx.h,v 1.2 2003/12/06 17:17:42 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
|
|
@ -91,6 +91,15 @@ typedef struct MiniGLXXVisualInfoRec {
|
|||
int bits_per_rgb; /**< \brief total bits per pixel */
|
||||
} XVisualInfo;
|
||||
|
||||
/**
|
||||
* \brief GLX Frame Buffer Configuration (for pbuffers)
|
||||
* \sa \ref datatypes.
|
||||
*/
|
||||
typedef struct MiniGLXFBConfigRec {
|
||||
XVisualInfo *visInfo;
|
||||
} GLXFBConfig;
|
||||
|
||||
|
||||
/**
|
||||
* \brief Display handle.
|
||||
*
|
||||
|
|
@ -132,6 +141,17 @@ typedef struct MiniGLXWindowRec *Drawable;
|
|||
*/
|
||||
typedef struct MiniGLXWindowRec *GLXDrawable;
|
||||
|
||||
/**
|
||||
* \brief GLX pbuffer.
|
||||
*
|
||||
* Alias for the private ::MiniGLXWindowRec structure.
|
||||
*
|
||||
* Same as #Drawable.
|
||||
*
|
||||
* \sa \ref datatypes.
|
||||
*/
|
||||
typedef struct MiniGLXWindowRec *GLXPbuffer;
|
||||
|
||||
/**
|
||||
* \brief GLX context.
|
||||
*
|
||||
|
|
@ -282,6 +302,8 @@ typedef union _XEvent {
|
|||
/*@{*/
|
||||
/** \brief Defined if version 1.0 of Mini GLX is supported. */
|
||||
#define MINI_GLX_VERSION_1_0 1
|
||||
/** \brief Defined if version 1.1 of Mini GLX is supported. */
|
||||
#define MINI_GLX_VERSION_1_1 1
|
||||
/*@}*/
|
||||
|
||||
|
||||
|
|
@ -355,7 +377,8 @@ extern void
|
|||
XFree( void *data );
|
||||
|
||||
extern XVisualInfo *
|
||||
XGetVisualInfo( Display *display, long vinfo_mask, XVisualInfo *vinfo_template, int *nitems_return );
|
||||
XGetVisualInfo( Display *display, long vinfo_mask,
|
||||
XVisualInfo *vinfo_template, int *nitems_return );
|
||||
/*@}*/
|
||||
|
||||
|
||||
|
|
@ -394,6 +417,21 @@ glXGetProcAddress( const GLubyte *procname );
|
|||
|
||||
extern Bool
|
||||
glXQueryVersion( Display *dpy, int *major, int *minor );
|
||||
|
||||
/* Added in MiniGLX 1.1 */
|
||||
extern GLXPbuffer
|
||||
glXCreatePbuffer( Display *dpy, GLXFBConfig config, const int *attribList );
|
||||
|
||||
extern void
|
||||
glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf );
|
||||
|
||||
extern GLXFBConfig *
|
||||
glXChooseFBConfig( Display *dpy, int screen, const int *attribList,
|
||||
int *nitems );
|
||||
|
||||
extern XVisualInfo *
|
||||
glXGetVisualFromFBConfig( Display *dpy, GLXFBConfig config );
|
||||
|
||||
/*@}*/
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: miniglx.c,v 1.2 2003/10/21 06:05:40 jonsmirl Exp $ */
|
||||
/* $Id: miniglx.c,v 1.3 2003/12/06 17:18:09 brianp Exp $ */
|
||||
|
||||
/**
|
||||
* \mainpage Mini GLX
|
||||
|
|
@ -1935,6 +1935,10 @@ glXGetProcAddress( const GLubyte *procName )
|
|||
{ "XFreeColormap", (void *) XFreeColormap },
|
||||
{ "XFree", (void *) XFree },
|
||||
{ "XGetVisualinfo", (void *) XGetVisualInfo },
|
||||
{ "glXCreatePbuffer", (void *) glXCreatePbuffer },
|
||||
{ "glXDestroyPbuffer", (void *) glXDestroyPbuffer },
|
||||
{ "glXChooseFBConfig", (void *) glXChooseFBConfig },
|
||||
{ "glXGetVisualFromFBConfig", (void *) glXGetVisualFromFBConfig },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
const struct name_address *entry;
|
||||
|
|
@ -1972,4 +1976,48 @@ glXQueryVersion( Display *dpy, int *major, int *minor )
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Create a new pbuffer.
|
||||
*/
|
||||
GLXPbuffer
|
||||
glXCreatePbuffer( Display *dpy, GLXFBConfig config, const int *attribList )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf )
|
||||
{
|
||||
free(pbuf);
|
||||
}
|
||||
|
||||
|
||||
GLXFBConfig *
|
||||
glXChooseFBConfig( Display *dpy, int screen, const int *attribList,
|
||||
int *nitems )
|
||||
{
|
||||
GLXFBConfig *f = (GLXFBConfig *) malloc(sizeof(GLXFBConfig));
|
||||
f->visInfo = glXChooseVisual( dpy, screen, (int *) attribList );
|
||||
if (f->visInfo) {
|
||||
*nitems = 1;
|
||||
return f;
|
||||
}
|
||||
else {
|
||||
*nitems = 0;
|
||||
free(f);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XVisualInfo *
|
||||
glXGetVisualFromFBConfig( Display *dpy, GLXFBConfig config )
|
||||
{
|
||||
/* XVisualInfo and GLXFBConfig are the same structure */
|
||||
(void) dpy;
|
||||
return config.visInfo;
|
||||
}
|
||||
|
||||
|
||||
/*@}*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue