TerraLib 4.1
__DRIdrawableRec Struct Reference

#include <dri_interface.h>

List of all members.

Public Attributes

void(* destroyDrawable )(__DRInativeDisplay *dpy, void *drawablePrivate)
void(* swapBuffers )(__DRInativeDisplay *dpy, void *drawablePrivate)
void * private
int(* getSBC )(__DRInativeDisplay *dpy, void *drawablePrivate, int64_t *sbc)
int(* waitForSBC )(__DRInativeDisplay *dpy, void *drawablePriv, int64_t target_sbc, int64_t *msc, int64_t *sbc)
int(* waitForMSC )(__DRInativeDisplay *dpy, void *drawablePriv, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *msc, int64_t *sbc)
int64_t(* swapBuffersMSC )(__DRInativeDisplay *dpy, void *drawablePrivate, int64_t target_msc, int64_t divisor, int64_t remainder)
int(* frameTracking )(__DRInativeDisplay *dpy, void *drawablePrivate, GLboolean enable)
int(* queryFrameTracking )(__DRInativeDisplay *dpy, void *drawablePrivate, int64_t *sbc, int64_t *missedFrames, float *lastMissedUsage, float *usage)
unsigned swap_interval

Detailed Description

Drawable dependent methods. This structure is initialized during the __DRIscreenRec::createDrawable call. createDrawable is not called by libGL at this time. It's currently used via the dri_util.c utility code instead.


Member Data Documentation

void(* __DRIdrawableRec::destroyDrawable)(__DRInativeDisplay *dpy, void *drawablePrivate)

Method to destroy the private DRI drawable data.

int(* __DRIdrawableRec::frameTracking)(__DRInativeDisplay *dpy, void *drawablePrivate, GLboolean enable)

Enable or disable frame usage tracking.

Since:
Internal API version 20030317.
int(* __DRIdrawableRec::getSBC)(__DRInativeDisplay *dpy, void *drawablePrivate, int64_t *sbc)

Get the number of completed swap buffers for this drawable.

Since:
Internal API version 20030317.

Opaque pointer to private per drawable direct rendering data. NULL if direct rendering is not supported on the display or screen used to create this drawable. Never dereferenced in libGL.

int(* __DRIdrawableRec::queryFrameTracking)(__DRInativeDisplay *dpy, void *drawablePrivate, int64_t *sbc, int64_t *missedFrames, float *lastMissedUsage, float *usage)

Retrieve frame usage information.

Since:
Internal API version 20030317.

Used by drivers that implement the GLX_SGI_swap_control or GLX_MESA_swap_control extension.

Since:
Internal API version 20030317.
void(* __DRIdrawableRec::swapBuffers)(__DRInativeDisplay *dpy, void *drawablePrivate)

Method to swap the front and back buffers.

int64_t(* __DRIdrawableRec::swapBuffersMSC)(__DRInativeDisplay *dpy, void *drawablePrivate, int64_t target_msc, int64_t divisor, int64_t remainder)

Like swapBuffers, but does NOT have an implicit glFlush. Once rendering is complete, waits until MSC is equal to target_msc, or if that has already passed, waits until (MSC % divisor) is equal to remainder. If divisor is zero, the swap will happen as soon as MSC is greater than or equal to target_msc.

Since:
Internal API version 20030317.
int(* __DRIdrawableRec::waitForMSC)(__DRInativeDisplay *dpy, void *drawablePriv, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *msc, int64_t *sbc)

Wait for the MSC to equal target_msc, or, if that has already passed, the next time (MSC % divisor) is equal to remainder. If divisor is zero, the function will return as soon as MSC is greater than or equal to target_msc.

Since:
Internal API version 20030317.
int(* __DRIdrawableRec::waitForSBC)(__DRInativeDisplay *dpy, void *drawablePriv, int64_t target_sbc, int64_t *msc, int64_t *sbc)

Wait for the SBC to be greater than or equal target_sbc.

Since:
Internal API version 20030317.

The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines