34,6 → 34,7 |
extern int init_vgapci(void); |
extern int nv3_test(void); |
extern int savage_test(void); |
extern int r128_test(void); |
|
/* If == 0 then nothing is defined by the user... */ |
int __svgalib_default_mode = 10; |
823,6 → 824,16 |
graph_mem = GM; /* Exported variable. */ |
} |
|
void __svgalib_emul_setpage(int page) |
{ |
static int oldpage = -2; |
|
if (page != oldpage) |
{ |
oldpage = page; |
} |
} |
|
static void map_vgaio(void) |
{ |
__svgalib_inmisc=__svgalib_vga_inmisc; |
972,9 → 983,10 |
|
/* SHARK: Supported Graphics Drivers |
* |
* NVIDIA |
* SAVAGE |
* |
* NV3 (NVIDIA: GEFORCE/TNT/TNT2) |
* SAVAGE (S3: VIRGE/SAVAGE |
* R128 (ATI: RAGE 128/RADEON) |
* |
*/ |
|
CHIPSET = set_chipset; |
991,6 → 1003,9 |
case SAVAGE: |
savage_test(); |
break; |
case R128: |
r128_test(); |
break; |
} |
|
} |
999,6 → 1014,40 |
|
} |
|
int vga_getxdim(void) |
{ |
return CI.xdim; |
} |
|
|
int vga_getydim(void) |
{ |
return CI.ydim; |
} |
|
|
int vga_getcolors(void) |
{ |
return CI.colors; |
} |
|
int vga_white(void) |
{ |
switch (CI.colors) { |
case 2: |
case 16: |
case 256: |
return 15; |
case 1 << 15: |
return 32767; |
case 1 << 16: |
return 65535; |
case 1 << 24: |
return (1 << 24) - 1; |
} |
return CI.colors - 1; |
} |
|
void __svgalib_delay(void) |
{ |
int i; |
1346,3 → 1395,20 |
: "c" (memdiv2), "a" (src), "b" (dst)); |
|
} |
|
inline void copy_videomem_16to16(void *src, void *dst, unsigned long int memdiv4) |
{ |
__asm__ __volatile__("push %%esi |
push %%edi |
movl %1, %%esi |
movl %2, %%edi |
cld |
rep |
movsl |
|
pop %%edi |
pop %%esi" |
: |
: "c" (memdiv4), "a" (src), "b" (dst)); |
|
} |