diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-08-26 13:18:37 +0200 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-08-26 13:18:37 +0200 |
commit | b2e1b258812167ce8d33f5978f877439e280a1e4 (patch) | |
tree | 03a7ea0b11fd9bc65072ca637690673bbc518495 /src/gallium/state_trackers/xorg/xorg_tracker.h | |
parent | dadf138ddbaecd7fff239df7961aac25e74f14f6 (diff) |
st/xorg: Add support for dirty framebuffer region reporting.
Add a BlockHandler which flushes the context and reports the dirty region
gathered using the X server damage layer.
In the interim, with dirty region reporting only allocate textures for the
framebuffer and shared pixmaps (e.g. DRI2 buffers) and fall back to software
for other pixmaps. This will be improved in the future.
Diffstat (limited to 'src/gallium/state_trackers/xorg/xorg_tracker.h')
-rw-r--r-- | src/gallium/state_trackers/xorg/xorg_tracker.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/xorg/xorg_tracker.h b/src/gallium/state_trackers/xorg/xorg_tracker.h index 910782dbc4..da850bbf64 100644 --- a/src/gallium/state_trackers/xorg/xorg_tracker.h +++ b/src/gallium/state_trackers/xorg/xorg_tracker.h @@ -41,6 +41,10 @@ #include <xf86.h> #include <exa.h> +#ifdef DRM_MODE_FEATURE_DIRTYFB +#include <damage.h> +#endif + #include "pipe/p_screen.h" #include "state_tracker/drm_api.h" @@ -76,6 +80,7 @@ typedef struct _modesettingRec unsigned int SaveGeneration; + void (*blockHandler)(int, pointer, pointer, pointer); CreateScreenResourcesProcPtr createScreenResources; /* gallium */ @@ -87,6 +92,9 @@ typedef struct _modesettingRec void *exa; Bool noEvict; +#ifdef DRM_MODE_FEATURE_DIRTYFB + DamagePtr damage; +#endif } modesettingRec, *modesettingPtr; #define modesettingPTR(p) ((modesettingPtr)((p)->driverPrivate)) |