summaryrefslogtreecommitdiff
path: root/src/i830.h
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2006-06-28 13:10:02 +0200
committerEric Anholt <anholt@FreeBSD.org>2006-06-28 13:10:02 +0200
commit367f69f8e7710e53dcd286f1b62506a3276e80f9 (patch)
tree770e165708f0ba56cc9d8a0d205cb13538ea23bc /src/i830.h
parent9fbd3d8f4befb75ed6f6bd9a9ffe0175626e8785 (diff)
Replace xf86ValidateModes usage with a set of custom validators and pruning.
This moves us to maintaining MonPtrs per pipe instead of using the EDID structure "xf86MonPtr", which is closer to what we want to be looking at when doing validation. The new validation isn't enough yet -- particularly, we aren't importing and validating the custom modelines to the pipes when applicable, but this will be easier than (for example) trying to make flat panel modes pass xf86ValidateModes through various gross hacks. Hotplug turn-on/off also happens at SwitchMode time now, instead of at randr probe time.
Diffstat (limited to 'src/i830.h')
-rw-r--r--src/i830.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/i830.h b/src/i830.h
index 9bd02275..f1b97745 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -227,6 +227,10 @@ typedef struct _I830Rec {
int fixedPipe;
DisplayModePtr currentMode;
+ /* Mode saved during randr reprobe, which will need to be freed at the point
+ * of the next SwitchMode, when we lose this last reference to it.
+ */
+ DisplayModePtr savedCurrentMode;
Bool Clone;
int CloneRefresh;
@@ -401,8 +405,7 @@ typedef struct _I830Rec {
int availablePipes;
/* [0] is display plane A, [1] is display plane B. */
int planeEnabled[MAX_DISPLAY_PIPES];
- xf86MonPtr pipeMon[MAX_DISPLAY_PIPES];
- DisplayModePtr pipeModes[MAX_DISPLAY_PIPES];
+ MonPtr pipeMon[MAX_DISPLAY_PIPES];
DisplayModeRec pipeCurMode[MAX_DISPLAY_PIPES];
/* Driver phase/state information */