diff options
Diffstat (limited to 'xorg-server/hw/xfree86/modes/xf86Crtc.h')
-rw-r--r-- | xorg-server/hw/xfree86/modes/xf86Crtc.h | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/xorg-server/hw/xfree86/modes/xf86Crtc.h b/xorg-server/hw/xfree86/modes/xf86Crtc.h index a6a3c2e95..802303f74 100644 --- a/xorg-server/hw/xfree86/modes/xf86Crtc.h +++ b/xorg-server/hw/xfree86/modes/xf86Crtc.h @@ -218,9 +218,14 @@ typedef struct _xf86CrtcFuncs { void (*set_origin) (xf86CrtcPtr crtc, int x, int y); + /** + */ + Bool + (*set_scanout_pixmap)(xf86CrtcPtr crtc, PixmapPtr pixmap); + } xf86CrtcFuncsRec, *xf86CrtcFuncsPtr; -#define XF86_CRTC_VERSION 4 +#define XF86_CRTC_VERSION 5 struct _xf86Crtc { /** @@ -371,6 +376,10 @@ struct _xf86Crtc { * Added in ABI version 4 */ Bool driverIsPerformingTransform; + + /* Added in ABI version 5 + */ + PixmapPtr current_scanout; }; typedef struct _xf86OutputFuncs { @@ -607,6 +616,29 @@ struct _xf86Output { INT16 initialBorder[4]; }; +typedef struct _xf86ProviderFuncs { + /** + * Called to allow the provider a chance to create properties after the + * RandR objects have been created. + */ + void + (*create_resources) (ScrnInfoPtr scrn); + + /** + * Callback when an provider's property has changed. + */ + Bool + (*set_property) (ScrnInfoPtr scrn, + Atom property, RRPropertyValuePtr value); + + /** + * Callback to get an updated property value + */ + Bool + (*get_property) (ScrnInfoPtr provider, Atom property); + +} xf86ProviderFuncsRec, *xf86ProviderFuncsPtr; + typedef struct _xf86CrtcConfigFuncs { /** * Requests that the driver resize the screen. @@ -681,6 +713,13 @@ typedef struct _xf86CrtcConfig { /* callback when crtc configuration changes */ xf86_crtc_notify_proc_ptr xf86_crtc_notify; + char *name; + const xf86ProviderFuncsRec *provider_funcs; +#ifdef RANDR_12_INTERFACE + RRProviderPtr randr_provider; +#else + void *randr_provider; +#endif } xf86CrtcConfigRec, *xf86CrtcConfigPtr; extern _X_EXPORT int xf86CrtcConfigPrivateIndex; @@ -975,4 +1014,11 @@ extern _X_EXPORT void extern _X_EXPORT Bool xf86_crtc_supports_gamma(ScrnInfoPtr pScrn); +extern _X_EXPORT void +xf86ProviderSetup(ScrnInfoPtr scrn, + const xf86ProviderFuncsRec * funcs, const char *name); + +extern _X_EXPORT void +xf86DetachAllCrtc(ScrnInfoPtr scrn); + #endif /* _XF86CRTC_H_ */ |