void
dri_swap_buffers(__DRIdrawablePrivate * dPriv)
{
- struct dri_drawable *drawable = dri_drawable(dPriv);
- struct pipe_surface *back_surf;
-
- assert(drawable);
- assert(drawable->stfb);
-
- st_get_framebuffer_surface(drawable->stfb,
- ST_SURFACE_BACK_LEFT,
- &back_surf);
- if (back_surf) {
- st_notify_swapbuffers(drawable->stfb);
- /* TODO do stuff here */
- st_notify_swapbuffers_complete(drawable->stfb);
- }
+ /* not needed for dri2 */
+ assert(0);
}
-/**
- * Called via glXCopySubBufferMESA() to copy a subrect of the back
- * buffer to the front buffer/screen.
- */
void
dri_copy_sub_buffer(__DRIdrawablePrivate * dPriv, int x, int y, int w, int h)
{
- struct dri_drawable *drawable = dri_drawable(dPriv);
- struct pipe_surface *back_surf;
-
- assert(drawable);
- assert(drawable->stfb);
-
- st_get_framebuffer_surface(drawable->stfb,
- ST_SURFACE_BACK_LEFT,
- &back_surf);
- if (back_surf) {
- drm_clip_rect_t rect;
- rect.x1 = x;
- rect.y1 = y;
- rect.x2 = w;
- rect.y2 = h;
-
- /* do stuff here */
- }
+ /* not needed for dri2 */
+ assert(0);
}
}
+/**
+ * NULL stub for old dri loaders
+ */
+const __DRIconfig **
+dri_init_screen(__DRIscreenPrivate *sPriv)
+{
+ return NULL;
+}
+
+
/**
* This is the driver specific part of the createNewScreen entry point.
*
PUBLIC const struct __DriverAPIRec driDriverAPI = {
- .InitScreen = NULL,
+ .InitScreen = dri_init_screen, /* not supported but exported */
.DestroyScreen = dri_destroy_screen,
.CreateContext = dri_create_context,
.DestroyContext = dri_destroy_context,
.CreateBuffer = dri_create_buffer,
.DestroyBuffer = dri_destroy_buffer,
- .SwapBuffers = dri_swap_buffers,
+ .SwapBuffers = dri_swap_buffers, /* not supported but exported */
.MakeCurrent = dri_make_current,
.UnbindContext = dri_unbind_context,
.GetSwapInfo = dri_get_swap_info,
.GetDrawableMSC = driDrawableGetMSC32,
.WaitForMSC = driWaitForMSC32,
- .CopySubBuffer = dri_copy_sub_buffer,
+ .CopySubBuffer = dri_copy_sub_buffer, /* not supported but exported */
.InitScreen2 = dri_init_screen2,
};