[Unichrome] Making 1024x768Over even more pretty
Stefan de Konink <
stefan@...>
2010-10-16 22:20:22 GMT
Hi,
Attached is my dirty work of the last two days. Currently in my X the
Modes dirrective doesn't work at all. But you probably see how I solved
that.
Next to that I have optimised the output to the TV encoder in such way
that it does full overscan, even in a proper TV card. Maybe the left
side of the screen could be optimized even more. This is not my final
stop, because next step is to add TTX support like I did for nVidia at
<http://ttxinsert.sf.net/>
For that I have to decrease the vertical start position of the
framebuffer deeper into the VBI. But this also gives the oppurtunity to
do other fun stuff such as WideScreenSignalling.
Stefan
diff --git a/src/via_memory.h b/src/via_memory.h
index e623969..99045d4 100644
--- a/src/via_memory.h
+++ b/src/via_memory.h
<at> <at> -30,7 +30,7 <at> <at>
/* don't include local via_drm.h when using modular */
#ifdef HAVE_CONFIG_H
-#include "drm/via_drm.h"
+#include "libdrm/via_drm.h"
#else
#include "via_drm.h"
#endif
diff --git a/src/via_output.c b/src/via_output.c
index 8eee3d2..4056a9b 100644
--- a/src/via_output.c
+++ b/src/via_output.c
<at> <at> -610,7 +610,7 <at> <at> ViaModeOutputValid(struct ViaOutput *Output, DisplayModePtr Mode)
((Mode->CrtcVSyncStart - Mode->CrtcVDisplay) == 3)) {
if (!Output->ReducedAllowed)
return MODE_NO_REDUCED;
- } else if ((Mode->CrtcHDisplay * 1.10) > Mode->CrtcHTotal)
+ } else if ((Mode->CrtcHDisplay * 1.0) > Mode->CrtcHTotal)
return MODE_HSYNC_NARROW;
}
diff --git a/src/via_vt162x_tables.c b/src/via_vt162x_tables.c
index 74dabb5..4e5a462 100644
--- a/src/via_vt162x_tables.c
+++ b/src/via_vt162x_tables.c
<at> <at> -69,7 +69,7 <at> <at> static DisplayModeRec VT1621ModesPAL[] = {
{ MODEPREFIX("800x600"), 36000, 800, 824, 904, 960, 0, 600, 604, 620, 750, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
{ MODEPREFIX("640x480Over"), 24000, 640, 672, 888, 960, 0, 480, 485, 491, 500, 0, V_NHSYNC | V_NVSYNC,
MODESUFFIXPAL },
{ MODEPREFIX("800x600Over"), 29500, 800, 824, 896, 944, 0, 600, 599, 604, 625, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX(NULL), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIXNTSC },
+ { MODEPREFIX(NULL), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIXPAL },
};
struct VT1621TableRec {
<at> <at> -189,18 +189,18 <at> <at> static DisplayModeRec VT1622ModesNTSC[] = {
* vrefresh: 50.00
*/
static DisplayModeRec VT1622ModesPAL[] = {
- { MODEPREFIX("640x480"), 30000, 640, 680, 808, 1000, 0, 480, 520, 523, 600, 0, V_NHSYNC | V_NVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("800x600"), 34500, 800, 816, 880, 920, 0, 600, 604, 620, 750, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("1024x768"), 57000, 1024, 1040, 1112, 1200, 0, 768, 829, 840, 950, 0, V_NHSYNC | V_NVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("848x480"), 36000, 848, 872, 1032, 1200, 0, 480, 498, 509, 600, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("720x576"), 28500, 720, 728, 744, 760, 0, 576, 635, 643, 750, 0, V_NHSYNC | V_PVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("640x480Over"), 21000, 640, 664, 792, 840, 0, 480, 485, 491, 500, 0, V_NHSYNC | V_NVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("800x600Over"), 32500, 800, 832, 928, 1000, 0, 600, 600, 604, 650, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("1024x768Over"), 49500, 1024, 1032, 1112, 1200, 0, 768, 771, 776, 825, 0, V_NHSYNC |
V_NVSYNC, MODESUFFIXPAL },
- { MODEPREFIX("848x480Over"), 33000, 848, 872, 1032, 1200, 0, 480, 490, 493, 550, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("720x576Over"), 30000, 720, 728, 864, 1000, 0, 576, 576, 579, 600, 0, V_NHSYNC | V_PVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX("720x576Noscale"), 28000, 720, 728, 864, 896, 0, 576, 576, 579, 625, 0, V_NHSYNC |
V_NVSYNC, MODESUFFIXPAL },
- { MODEPREFIX(NULL), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIXNTSC },
+// { MODEPREFIX("640x480"), 30000, 640, 680, 808, 1000, 0, 480, 520, 523, 600, 0, V_NHSYNC | V_NVSYNC,
MODESUFFIXPAL },
+// { MODEPREFIX("800x600"), 34500, 800, 816, 880, 920, 0, 600, 604, 620, 750, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
+// { MODEPREFIX("1024x768"), 57000, 1024, 1040, 1112, 1200, 0, 768, 829, 840, 950, 0, V_NHSYNC |
V_NVSYNC, MODESUFFIXPAL },
+// { MODEPREFIX("848x480"), 36000, 848, 872, 1032, 1200, 0, 480, 498, 509, 600, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
+// { MODEPREFIX("720x576"), 28500, 720, 728, 744, 760, 0, 576, 635, 643, 750, 0, V_NHSYNC | V_PVSYNC,
MODESUFFIXPAL },
+// { MODEPREFIX("640x480Over"), 21000, 640, 664, 792, 840, 0, 480, 485, 491, 500, 0, V_NHSYNC | V_NVSYNC,
MODESUFFIXPAL },
+// { MODEPREFIX("800x600Over"), 32500, 800, 832, 928, 1000, 0, 600, 600, 604, 650, 0, V_PHSYNC |
V_PVSYNC, MODESUFFIXPAL },
+ { MODEPREFIX("1024x768Over"), 49500, 1022, 1032, 1112, 1200, 0, 768, 772, 776, 825, 0, V_NHSYNC |
V_NVSYNC, MODESUFFIXPAL },
+// { MODEPREFIX("848x480Over"), 33000, 848, 872, 1032, 1200, 0, 480, 490, 493, 550, 0, V_PHSYNC |
V_PVSYNC, MODESUFFIXPAL },
+// { MODEPREFIX("720x576Over"), 30000, 720, 728, 864, 1000, 0, 576, 576, 579, 600, 0, V_NHSYNC |
V_PVSYNC, MODESUFFIXPAL },
+// { MODEPREFIX("720x576Noscale"), 28000, 720, 724, 864, 896, 0, 576, 576, 579, 625, 0, V_NHSYNC |
V_NVSYNC, MODESUFFIXPAL },
+ { MODEPREFIX(NULL), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIXPAL },
};
struct VT162XTableRec {
<at> <at> -369,11 +369,11 <at> <at> VT1622Table[] = {
0x1844440E, 0x18443D63,
},
{ "1024x768Over", 1024, 768, TVSTANDARD_PAL,
- { 0x84, 0, 0, 0xC0, 0, 0, 0x10, 0xA8, 0xC5, 0x36, 0x5D, 0, 0x4E, 0x43, 0x0F, 0,
- 0, 0, 0xC9, 0x0A, 0x79, 0x1C, 0, 0, 0, 0, 0x6E, 0, 0x03, 0, 0, 0x85,
+ { 0x84, 0, 0, 0xC0, 0, 0, 0x10, 0xA7, 0xC5, 0x36, 0x5D, 0, 0x4E, 0x43, 0x0F, 0,
+ 0, 0, 0xC9, 0x0A, 0x79, 0x1C, 0, 0, 0, 0, 0x6E, 0, 0x03, 0, 0, 0x84,
0x0C, 0x0C, 0x04, 0x7B, 0, 0x64, 0x4B, 0x93, 0x6F, 0x5F, 0x15, 0xA5, 0x23, 0xBE, 0x5A, 0x10 },
- { 0xDD, 0x60, 0x04, 0, 0, 0x43, 0xAF, 0xFF, 0x34, 0x38, 0x03, 0xCF, 0xDF, 0xB4, 0x34, 0xD6,
- 0x35, 0x75, 0x47, 0x59, 0x47, 0x20, 0x05, 0, 0x01, 0x2F, 0x06 },
+ { 0xDD, 0x60, 0x04, 0, 0, 0x43, 0xAF, 0xFE, 0x34, 0x38, 0x03, 0xCF, 0xEC, 0xB4, 0x34, 0xD6,
+ 0x35, 0x75, 0x61, 0x59, 0x47, 0x12, 0x05, 0, 0x01, 0x2F, 0x06 },
{ 0xA9, 0xA6, 0xA6, 0x90, 0x99, 0 },
{ 0x51, 0x49, 0x49 },
0x1D7B0E38, 0,
<at> <at> -489,7 +489,7 <at> <at> static DisplayModeRec VT1623ModesPAL[] = {
{ MODEPREFIX("848x480Over"), 33000, 848, 872, 1032, 1200, 0, 480, 490, 493, 550, 0, V_PHSYNC | V_PVSYNC,
MODESUFFIXPAL },
{ MODEPREFIX("720x576Over"), 27000, 720, 768, 800, 864, 0, 576, 577, 579, 625, 0, V_NHSYNC | V_PVSYNC,
MODESUFFIXPAL },
{ MODEPREFIX("720x576Noscale"), 28000, 720, 728, 864, 896, 0, 576, 576, 579, 625, 0, V_NHSYNC | V_NVSYNC,
MODESUFFIXPAL },
- { MODEPREFIX(NULL), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIXNTSC },
+ { MODEPREFIX(NULL), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, MODESUFFIXPAL },
};
static struct VT162XTableRec
------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
Unichrome-users mailing list
Unichrome-users@...
https://lists.sourceforge.net/lists/listinfo/unichrome-users