VIA gfx driver: fixed overlay on DDR166 and DDR200 memory. v0.19, updated docs.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/* VIA Unichrome Back End Scaler functions */
|
/* VIA Unichrome Back End Scaler functions */
|
||||||
/* Written by Rudolf Cornelissen 05/2002-1/2016 */
|
/* Written by Rudolf Cornelissen 05/2002-2/2016 */
|
||||||
|
|
||||||
#define MODULE_BIT 0x00000200
|
#define MODULE_BIT 0x00000200
|
||||||
|
|
||||||
@@ -49,13 +49,21 @@ bool eng_bes_chk_bandwidth()
|
|||||||
switch (((CRTCR(MEMCLK)) & 0x70) >> 4)
|
switch (((CRTCR(MEMCLK)) & 0x70) >> 4)
|
||||||
{
|
{
|
||||||
case 0: /* SDR 66 */
|
case 0: /* SDR 66 */
|
||||||
case 1: /* SDR 100 */
|
LOG(8,("Overlay: System memory is type SDR 66\n"));
|
||||||
case 2: /* SDR 133 */
|
|
||||||
/* memory is too slow, sorry. */
|
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
case 3: /* DDR 100 */
|
case 1: /* SDR 100 */
|
||||||
|
LOG(8,("Overlay: System memory is type SDR 100\n"));
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 2: /* SDR 133 */
|
||||||
|
/* memory is too slow, sorry. */
|
||||||
|
LOG(8,("Overlay: System memory is type SDR 133\n"));
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 3: /* DDR 100 (PC1600) */
|
||||||
/* DDR100's basic limit... */
|
/* DDR100's basic limit... */
|
||||||
|
LOG(8,("Overlay: System memory is type DDR 100\n"));
|
||||||
if (bandwidth > 921600000.0) return false;
|
if (bandwidth > 921600000.0) return false;
|
||||||
/* ... but we have constraints at higher than 800x600 */
|
/* ... but we have constraints at higher than 800x600 */
|
||||||
if (si->dm.timing.h_display > 800)
|
if (si->dm.timing.h_display > 800)
|
||||||
@@ -65,10 +73,20 @@ bool eng_bes_chk_bandwidth()
|
|||||||
if (refresh > 60.2) return false;
|
if (refresh > 60.2) return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4: /* DDR 133 */
|
case 4: /* DDR 133 (PC2100) */
|
||||||
|
LOG(8,("Overlay: System memory is type DDR 133\n"));
|
||||||
if (bandwidth > 4045440000.0) return false;
|
if (bandwidth > 4045440000.0) return false;
|
||||||
break;
|
break;
|
||||||
|
case 5: /* DDR 166 (PC2700) */
|
||||||
|
LOG(8,("Overlay: System memory is type DDR 166\n"));
|
||||||
|
if (bandwidth > 5210000000.0) return false;//fixme: set more correct limit?
|
||||||
|
break;
|
||||||
|
case 6: /* DDR 200 (PC3200) */
|
||||||
|
LOG(8,("Overlay: System memory is type DDR 200\n"));
|
||||||
|
if (bandwidth > 6170000000.0) return false;//fixme: set more correct limit?
|
||||||
|
break;
|
||||||
default: /* not (yet?) used */
|
default: /* not (yet?) used */
|
||||||
|
LOG(8,("Overlay: System memory is (yet) unknown type!\n"));
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Authors:
|
/* Authors:
|
||||||
Mark Watson 12/1999,
|
Mark Watson 12/1999,
|
||||||
Apsed,
|
Apsed,
|
||||||
Rudolf Cornelissen 10/2002-1/2016
|
Rudolf Cornelissen 10/2002-2/2016
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MODULE_BIT 0x00008000
|
#define MODULE_BIT 0x00008000
|
||||||
@@ -90,7 +90,7 @@ status_t eng_general_powerup()
|
|||||||
{
|
{
|
||||||
status_t status;
|
status_t status;
|
||||||
|
|
||||||
LOG(1,("POWERUP: Haiku VIA Accelerant 0.18 running.\n"));
|
LOG(1,("POWERUP: Haiku VIA Accelerant 0.19 running.\n"));
|
||||||
|
|
||||||
/* preset no laptop */
|
/* preset no laptop */
|
||||||
si->ps.laptop = false;
|
si->ps.laptop = false;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p><h2>Changes done for each driverversion:</h2></p>
|
<p><h2>Changes done for each driverversion:</h2></p>
|
||||||
<p><h1>via_driver (Haiku repository 0.18, Rudolf)</h1></p>
|
<p><h1>via_driver (Haiku repository 0.19, Rudolf)</h1></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Initial setup based on nVidia driver 0.30;
|
<li>Initial setup based on nVidia driver 0.30;
|
||||||
<li>Kerneldriver uses MTR-WC mapping where available;
|
<li>Kerneldriver uses MTR-WC mapping where available;
|
||||||
@@ -24,7 +24,8 @@
|
|||||||
<li>Added returning correct information in GET_ACCELERANT_DEVICE_INFO (displayed in Haiku screenprefs panel);
|
<li>Added returning correct information in GET_ACCELERANT_DEVICE_INFO (displayed in Haiku screenprefs panel);
|
||||||
<li>Fixed wrong PLL registerdefines for K8M800 and added seperate pixelPLL calculation routine: K8M800 now works correctly whereas previously you'd have a black screen (tested different resolutions, refreshrates and colordepths);
|
<li>Fixed wrong PLL registerdefines for K8M800 and added seperate pixelPLL calculation routine: K8M800 now works correctly whereas previously you'd have a black screen (tested different resolutions, refreshrates and colordepths);
|
||||||
<li>Fixed blocking overlay hooks if current videomode is not supported (before overlay could kick in while it should not, resulting in bad video or desktop pictures);
|
<li>Fixed blocking overlay hooks if current videomode is not supported (before overlay could kick in while it should not, resulting in bad video or desktop pictures);
|
||||||
<li>Fixed K8M800 video overlay: apparantly the engine was modified for this revision of the Unichrome video chipset: at least the 'V1' engine doesn't work here, while ' V3' does (using V3 now on K8M800).
|
<li>Fixed K8M800 video overlay: apparantly the engine was modified for this revision of the Unichrome video chipset: at least the 'V1' engine doesn't work here, while ' V3' does (using V3 now on K8M800);
|
||||||
|
<li>Added overlay support on system memory types DDR 166 and DDR 200. Before on these memory types overlay would block.
|
||||||
</ul>
|
</ul>
|
||||||
<p><h1>Still todo:</h1></p>
|
<p><h1>Still todo:</h1></p>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -34,7 +35,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<hr><br>
|
<hr><br>
|
||||||
<br>
|
<br>
|
||||||
<a href="mailto:[email protected]">Rudolf Cornelissen.</a>
|
Rudolf Cornelissen.<br>
|
||||||
<p>(Page last updated on January 28, 2016)</p>
|
<p>(Page last updated on February 7, 2016)</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user