summaryrefslogtreecommitdiff
path: root/driver/xf86-video-nv/compat/modes/xf86Crtc.h
diff options
context:
space:
mode:
Diffstat (limited to 'driver/xf86-video-nv/compat/modes/xf86Crtc.h')
-rw-r--r--driver/xf86-video-nv/compat/modes/xf86Crtc.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/driver/xf86-video-nv/compat/modes/xf86Crtc.h b/driver/xf86-video-nv/compat/modes/xf86Crtc.h
index cc045b229..83b1f13e8 100644
--- a/driver/xf86-video-nv/compat/modes/xf86Crtc.h
+++ b/driver/xf86-video-nv/compat/modes/xf86Crtc.h
@@ -215,8 +215,15 @@ typedef struct _xf86CrtcFuncs {
Rotation rotation, int x, int y);
} xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
+#define XF86_CRTC_VERSION 1
+
struct _xf86Crtc {
/**
+ * ABI versioning
+ */
+ int version;
+
+ /**
* Associated ScrnInfo
*/
ScrnInfoPtr scrn;
@@ -410,6 +417,21 @@ typedef struct _xf86OutputFuncs {
Atom property,
RRPropertyValuePtr value);
#endif
+#ifdef RANDR_13_INTERFACE
+ /**
+ * Callback to get an updated property value
+ */
+ Bool
+ (*get_property)(xf86OutputPtr output,
+ Atom property);
+#endif
+#ifdef RANDR_GET_CRTC_INTERFACE
+ /**
+ * Callback to get current CRTC for a given output
+ */
+ xf86CrtcPtr
+ (*get_crtc)(xf86OutputPtr output);
+#endif
/**
* Clean up driver-specific bits of the output
*/
@@ -417,8 +439,16 @@ typedef struct _xf86OutputFuncs {
(*destroy) (xf86OutputPtr output);
} xf86OutputFuncsRec, *xf86OutputFuncsPtr;
+
+#define XF86_OUTPUT_VERSION 1
+
struct _xf86Output {
/**
+ * ABI versioning
+ */
+ int version;
+
+ /**
* Associated ScrnInfo
*/
ScrnInfoPtr scrn;
@@ -635,6 +665,12 @@ Bool
xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation);
/*
+ * free shadow memory allocated for all crtcs
+ */
+void
+xf86RotateFreeShadow(ScrnInfoPtr pScrn);
+
+/*
* Clean up rotation during CloseScreen
*/
void
@@ -669,7 +705,11 @@ xf86ProbeOutputModes (ScrnInfoPtr pScrn, int maxX, int maxY);
void
xf86SetScrnInfoModes (ScrnInfoPtr pScrn);
+#ifdef RANDR_13_INTERFACE
+int
+#else
Bool
+#endif
xf86CrtcScreenInit (ScreenPtr pScreen);
Bool