fixed a few errors in Proposemode: overriding B_BAD_VALUE is fixed, aborting with B_ERROR for dualhead modes in singlehead only colorspaces is fixed (routine continues with B_BAD_VALUE and in singlehead mode then). Bumped version to 0.21. It's refreshing to look from the Screenprefs app perspective :). Fixes done for 'unofficial prefs panel' Dualhead Setup 0.04 optimum compatibility (will be released soon).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14835 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -157,6 +157,23 @@ status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, con
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* check colorspace versus requested dualhead mode */
|
||||||
|
switch (target->space)
|
||||||
|
{
|
||||||
|
case B_CMAP8:
|
||||||
|
case B_RGB15:
|
||||||
|
/* mode will be made 'outside limits' when dualhead was requested */
|
||||||
|
if (target->flags & DUALHEAD_BITS)
|
||||||
|
{
|
||||||
|
status = B_BAD_VALUE;
|
||||||
|
LOG(4, ("PROPOSEMODE: WARNING: Colorspace can't be done in dualhead mode\n"));
|
||||||
|
}
|
||||||
|
/* clear dualhead bits if colorspace isn't supported to prevent ProposeMode
|
||||||
|
* from aborting */
|
||||||
|
target->flags &= ~(DUALHEAD_BITS | DUALHEAD_CAPABLE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/*find a nearby valid timing from that given*/
|
/*find a nearby valid timing from that given*/
|
||||||
result = gx00_crtc_validate_timing
|
result = gx00_crtc_validate_timing
|
||||||
(
|
(
|
||||||
@@ -207,10 +224,6 @@ status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, con
|
|||||||
{
|
{
|
||||||
status = B_BAD_VALUE;
|
status = B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
status = B_OK;
|
|
||||||
}
|
|
||||||
LOG(4, ("PROPOSEMODE: WARNING: horizontal timing deviates too much\n"));
|
LOG(4, ("PROPOSEMODE: WARNING: horizontal timing deviates too much\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,10 +245,6 @@ status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, con
|
|||||||
{
|
{
|
||||||
status = B_BAD_VALUE;
|
status = B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
status = B_OK;
|
|
||||||
}
|
|
||||||
LOG(4, ("PROPOSEMODE: WARNING: vertical timing deviates too much\n"));
|
LOG(4, ("PROPOSEMODE: WARNING: vertical timing deviates too much\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,10 +269,6 @@ status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, con
|
|||||||
{
|
{
|
||||||
status = B_BAD_VALUE;
|
status = B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
status = B_OK;
|
|
||||||
}
|
|
||||||
LOG(4, ("PROPOSEMODE: WARNING: pixelclock deviates too much\n"));
|
LOG(4, ("PROPOSEMODE: WARNING: pixelclock deviates too much\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ status_t gx00_general_powerup()
|
|||||||
status_t status;
|
status_t status;
|
||||||
uint32 card_class;
|
uint32 card_class;
|
||||||
|
|
||||||
LOG(1,("POWERUP: Haiku Matrox Accelerant 0.20 running.\n"));
|
LOG(1,("POWERUP: Haiku Matrox Accelerant 0.21 running.\n"));
|
||||||
|
|
||||||
/* detect card type and power it up */
|
/* detect card type and power it up */
|
||||||
switch(CFGR(DEVID))
|
switch(CFGR(DEVID))
|
||||||
|
|||||||
Reference in New Issue
Block a user