summaryrefslogtreecommitdiff
path: root/src/i830.h
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2009-05-01 14:52:26 -0700
committerJesse Barnes <jbarnes@virtuousgeek.org>2010-01-13 13:25:45 -0500
commit51c75906329a4727e37c8d1f64f257ea9602caa2 (patch)
treeb8372acc439d3291acfbaf53af04d0ff6ec24b27 /src/i830.h
parent4902f546be19e3d5bb47f6c75e2199dc4856c0f4 (diff)
DRI2: support new DRI2 APIs
The new interfaces allow for improved buffer swap, and support for the SGI_swap_control, SGI_video_sync and OML_sync_control GLX extensions. The Intel implementation allows page flipping to occur for swaps that are full screen and not rotated. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'src/i830.h')
-rw-r--r--src/i830.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/i830.h b/src/i830.h
index 4aba2f78..49e00432 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -65,6 +65,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "sarea.h"
#define _XF86DRI_SERVER_
#include "dri.h"
+#include "dri2.h"
#include "GL/glxint.h"
#include "i830_dri.h"
#include "intel_bufmgr.h"
@@ -287,6 +288,8 @@ typedef struct intel_screen_private {
CreateScreenResourcesProcPtr CreateScreenResources;
+ Bool shadow_present;
+
Bool need_mi_flush;
Bool tiling;
@@ -372,6 +375,8 @@ typedef struct intel_screen_private {
int drmSubFD;
char *deviceName;
+ Bool use_pageflipping;
+
/* Broken-out options. */
OptionInfoPtr Options;
@@ -393,6 +398,11 @@ enum {
DEBUG_FLUSH_WAIT = 0x4,
};
+extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp);
+extern int drmmode_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, xf86CrtcPtr crtc);
+extern int drmmode_output_dpms_status(xf86OutputPtr output);
+extern Bool drmmode_do_pageflip(ScreenPtr screen, dri_bo *new_front,
+ dri_bo *old_front, void *data);
static inline intel_screen_private *
intel_get_screen_private(ScrnInfoPtr scrn)
@@ -424,6 +434,10 @@ extern xf86CrtcPtr i830_pipe_to_crtc(ScrnInfoPtr scrn, int pipe);
Bool I830DRI2ScreenInit(ScreenPtr pScreen);
void I830DRI2CloseScreen(ScreenPtr pScreen);
+void I830DRI2FrameEventHandler(unsigned int frame, unsigned int tv_sec,
+ unsigned int tv_usec, void *user_data);
+void I830DRI2FlipEventHandler(unsigned int frame, unsigned int tv_sec,
+ unsigned int tv_usec, void *user_data);
extern Bool drmmode_pre_init(ScrnInfoPtr scrn, int fd, int cpp);
extern void drmmode_closefb(ScrnInfoPtr scrn);