move few remaining bits of xm_dd.c into xm_api.c

This commit is contained in:
Brian
2007-10-31 15:59:24 -06:00
parent 3023756684
commit 869318db64
3 changed files with 57 additions and 59 deletions
+57
View File
@@ -1365,6 +1365,63 @@ void XMesaDestroyVisual( XMesaVisual v )
static void
finish_or_flush( GLcontext *ctx )
{
#ifdef XFree86Server
/* NOT_NEEDED */
#else
const XMesaContext xmesa = XMESA_CONTEXT(ctx);
if (xmesa) {
_glthread_LOCK_MUTEX(_xmesa_lock);
XSync( xmesa->display, False );
_glthread_UNLOCK_MUTEX(_xmesa_lock);
}
#endif
abort();
}
/**
* Called by glViewport.
* This is a good time for us to poll the current X window size and adjust
* our renderbuffers to match the current window size.
* Remember, we have no opportunity to respond to conventional
* X Resize/StructureNotify events since the X driver has no event loop.
* Thus, we poll.
* Note that this trick isn't fool-proof. If the application never calls
* glViewport, our notion of the current window size may be incorrect.
* That problem led to the GLX_MESA_resize_buffers extension.
*/
static void
xmesa_viewport(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h)
{
XMesaContext xmctx = XMESA_CONTEXT(ctx);
XMesaBuffer xmdrawbuf = XMESA_BUFFER(ctx->WinSysDrawBuffer);
XMesaBuffer xmreadbuf = XMESA_BUFFER(ctx->WinSysReadBuffer);
xmesa_check_and_update_buffer_size(xmctx, xmdrawbuf);
xmesa_check_and_update_buffer_size(xmctx, xmreadbuf);
(void) x;
(void) y;
(void) w;
(void) h;
}
/**
* Initialize the device driver function table with the functions
* we implement in this driver.
*/
static void
xmesa_init_driver_functions( XMesaVisual xmvisual,
struct dd_function_table *driver )
{
driver->Flush = finish_or_flush;
driver->Finish = finish_or_flush;
driver->Viewport = xmesa_viewport;
}
/**
* Create a new XMesaContext.
* \param v the XMesaVisual
-55
View File
@@ -39,58 +39,3 @@
#include "state_tracker/st_draw.h"
static void
finish_or_flush( GLcontext *ctx )
{
#ifdef XFree86Server
/* NOT_NEEDED */
#else
const XMesaContext xmesa = XMESA_CONTEXT(ctx);
if (xmesa) {
_glthread_LOCK_MUTEX(_xmesa_lock);
XSync( xmesa->display, False );
_glthread_UNLOCK_MUTEX(_xmesa_lock);
}
#endif
abort();
}
/**
* Called by glViewport.
* This is a good time for us to poll the current X window size and adjust
* our renderbuffers to match the current window size.
* Remember, we have no opportunity to respond to conventional
* X Resize/StructureNotify events since the X driver has no event loop.
* Thus, we poll.
* Note that this trick isn't fool-proof. If the application never calls
* glViewport, our notion of the current window size may be incorrect.
* That problem led to the GLX_MESA_resize_buffers extension.
*/
static void
xmesa_viewport(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h)
{
XMesaContext xmctx = XMESA_CONTEXT(ctx);
XMesaBuffer xmdrawbuf = XMESA_BUFFER(ctx->WinSysDrawBuffer);
XMesaBuffer xmreadbuf = XMESA_BUFFER(ctx->WinSysReadBuffer);
xmesa_check_and_update_buffer_size(xmctx, xmdrawbuf);
xmesa_check_and_update_buffer_size(xmctx, xmreadbuf);
(void) x;
(void) y;
(void) w;
(void) h;
}
/**
* Initialize the device driver function table with the functions
* we implement in this driver.
*/
void
xmesa_init_driver_functions( XMesaVisual xmvisual,
struct dd_function_table *driver )
{
driver->Flush = finish_or_flush;
driver->Finish = finish_or_flush;
driver->Viewport = xmesa_viewport;
}
-4
View File
@@ -483,10 +483,6 @@ xmesa_get_window_size(XMesaDisplay *dpy, XMesaBuffer b,
extern void
xmesa_check_and_update_buffer_size(XMesaContext xmctx, XMesaBuffer drawBuffer);
extern void
xmesa_init_driver_functions( XMesaVisual xmvisual,
struct dd_function_table *driver );
extern void
xmesa_set_renderbuffer_funcs(struct xmesa_renderbuffer *xrb,
enum pixel_format pixelformat, GLint depth);