debian/0000755000000000000000000000000012146164755007201 5ustar debian/libglide2.prerm0000644000000000000000000000007511201355434012072 0ustar #!/bin/sh set -e rm -f /usr/lib/libglide.so.2 #DEBHELPER# debian/libglide2.config0000644000000000000000000000464411201355434012220 0ustar #!/usr/bin/perl -w # Copyright (C) 2000 Zephaniah E. Hull. # This code is under the GNU GPL, see /usr/share/common-licenses/GPL. use strict; use Debconf::Client::ConfModule ':all'; main(); my (%types, %type_map); BEGIN { %types = ( "Voodoo 2" => "cvg", "Voodoo Banshee" => "h3", "Voodoo Banshee [Velocity 100]" => "h3", "Voodoo 3" => "h3", ); %type_map = ( "cvg" => "/usr/lib/glide2/libglide_cvg.so.2.53", "h3" => "/usr/lib/glide2/libglide_h3.so.2.60", ); } sub main { my (@cards, $driver); version('2.0'); title('glide2 configuration'); @cards = get_devices(); if ($#cards == -1) { my ($choice); input('low', 'libglide2/no_card'); go(); $choice = get('libglide2/no_card'); if ($choice eq "true") { input('low', 'libglide2/driver'); go(); } else { set('libglide2/driver', 'h3'); go(); } } elsif ($#cards == 0) { set('libglide2/driver', ${$cards[0]}{'Driver'}); go(); } else { my (%card, $card, $choices, %choices, $choice, $tmp); for $card (@cards) { %card = %$card; if (defined($card{'SVendor'})) { $tmp = sprintf("%s %s (%s)", $card{'SVendor'}, $card{'SDevice'}, $card{'Device'}); } else { $tmp = sprintf("3Dfx %s", $card{'Device'}); } $tmp =~ s/,//g; $choices{$tmp} = $card{'Driver'}; } $choices = join(', ', keys(%choices)); subst('libglide2/card', 'choices', $choices); input('high', 'libglide2/card'); go(); $choice = get('libglide2/card'); $tmp = $choices{$choice}; set('libglide2/driver', $tmp); } # stop(); } sub select_device { my ($type, $file, $target); $target = '/usr/lib/libglide.so.2'; $type = shift; if (!defined($type_map{$type})) { die("No mapping for type " . $type); } $file = $type_map{$type}; if (!-f $file) { die($file . " does not exist."); } if (-e $target) { if (-l $target) { unlink($target); } else { die($target . " exists but is NOT a symlink!") } } symlink($file, "/usr/lib/libglide.so.2"); } sub get_devices { my ($raw, $dev, $line, $tmp, @cards); $raw = `lspci -vm`; foreach $dev (split(/\n\n/, $raw)) { my (%info); foreach $line (split(/\n/, $dev)) { if($line =~ /^(Class|Vendor|Device|SVendor|SDevice|Rev):\s+(.*)$/) { $info{$1} = $2; } } if (defined($types{$info{'Device'}})) { $info{"Driver"} = $types{$info{"Device"}}; push(@cards, \%info); } } return @cards; } debian/glide3-bin.install0000644000000000000000000000007211201355434012470 0ustar glide3x/h3/glide/tests/test[0-9][0-9] usr/lib/glide3/bin/ debian/libglide2.links0000644000000000000000000000022311201355434012060 0ustar usr/lib/libtexus.so.1.1 usr/lib/libtexus.so.1 usr/lib/libglide.so.2 usr/lib/libglide2x.so usr/lib/libglide.so.2 usr/lib/xorg/modules/libglide2x.so debian/libglide3.shlibs0000644000000000000000000000002611201355434012226 0ustar libglide3 3 libglide3 debian/glide2-bin.install0000644000000000000000000000047111201355434012472 0ustar glide2x/h3/glide/tests/display usr/lib/glide2/bin/ glide2x/h3/glide/tests/h3dtst0[01] usr/lib/glide2/bin/ glide2x/h3/glide/tests/qatest0[01] usr/lib/glide2/bin/ glide2x/h3/glide/tests/test[0-9][0-9] usr/lib/glide2/bin/ glide2x/h3/glide/tests/*.3df usr/lib/glide2/bin/ glide2x/cvg/bin/pass usr/lib/glide2/bin/ debian/libglide2.dirs0000644000000000000000000000005411201355434011703 0ustar usr/lib usr/lib/glide2 usr/lib/xorg/modules debian/libglide3-dev.install0000644000000000000000000000065111201355434013170 0ustar glide3x/h5/glide3/src/g3ext.h usr/include/glide3/ glide3x/h5/glide3/src/glide.h usr/include/glide3/ glide3x/h5/glide3/src/glidesys.h usr/include/glide3/ glide3x/h5/glide3/src/glideutl.h usr/include/glide3/ glide3x/h5/incsrc/sst1vid.h usr/include/glide3/ swlibs/fxmisc/3dfx.h usr/include/glide3/ swlibs/fxmisc/linutil.h usr/include/glide3/ swlibs/texus2/lib/texus.h usr/include/glide3/ debian/glide2-bin.dirs0000644000000000000000000000002311201355434011756 0ustar usr/lib/glide2/bin debian/glide3-bin.dirs0000644000000000000000000000002311201355434011757 0ustar usr/lib/glide3/bin debian/patches/0000755000000000000000000000000012146162064010617 5ustar debian/patches/glide2x-c-trisetup0000644000000000000000000000271411201355434014175 0ustar Index: b/glide2x/cvg/glide/src/makefile.linux =================================================================== --- a/glide2x/cvg/glide/src/makefile.linux +++ b/glide2x/cvg/glide/src/makefile.linux @@ -23,7 +23,7 @@ TAG_REGEXP = $(BUILD_ROOT)/$(FX_GLIDE_H # Compile for specific hardware ifeq ($(FX_GLIDE_HW),cvg) FX_GLIDE_REAL_HW= 1 -FX_GLIDE_CTRISETUP = 0 +FX_GLIDE_CTRISETUP = 1 HWSPEC = fifo.c LCDEFS += -DCVG \ Index: b/glide2x/h3/glide/src/makefile.linux =================================================================== --- a/glide2x/h3/glide/src/makefile.linux +++ b/glide2x/h3/glide/src/makefile.linux @@ -17,6 +17,8 @@ # # COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED +FX_GLIDE_CTRISETUP = 1 + ifeq ($(FX_CHRIS_DENIS_ANTHONY_HACK),1) LCDEFS += -DCHRIS_DENIS_ANTHONY_HACK=1 endif @@ -88,9 +90,10 @@ GL_AMD3D = 1 ifneq ($(GL_AMD3D),) LCDEFS += -DGL_AMD3D LIBOBJS += xtexdl_3dnow.o -CFILES += xtexdl_def.c endif +CFILES += xtexdl_def.c + # Do culling test in sw for independent triangles CULL_MODE = ifneq ($(FX_GLIDE_HW_CULL),1) @@ -129,7 +132,7 @@ endif ifeq ($(FX_GLIDE_CTRISETUP),1) ASMTRISETUP = ATSOPTS = -DGLIDE_USE_C_TRISETUP -CFILES = gxdraw.c +CFILES += gxdraw.c else DSPOPTS += -DGLIDE_DISPATCH_SETUP=1 -DGLIDE_PACKED_RGB=0 debian/patches/z08-non-exec-stack0000644000000000000000000001162611770745124014014 0ustar --- glide2x/cvg/glide/src/cpudtect.S | 3 +++ glide2x/cvg/glide/src/xdraw2.S | 4 ++++ glide2x/cvg/glide/src/xdraw2.gasp | 4 ++++ glide2x/cvg/glide/src/xdraw2.inc.S | 4 ++++ glide2x/h3/glide/src/cpudtect.S | 2 ++ glide2x/h3/glide/src/xdraw2.S | 2 ++ glide2x/h3/glide/src/xdraw2.inc.S | 3 +++ glide2x/h3/glide/src/xtexdl.S | 2 ++ glide3x/h3/glide3/src/cpudtect.S | 3 +++ glide3x/h3/glide3/src/xdraw2.S | 2 ++ glide3x/h3/glide3/src/xdraw2.inc.S | 3 +++ glide3x/h3/glide3/src/xdraw3.S | 2 ++ glide3x/h3/glide3/src/xtexdl.S | 2 ++ glide3x/h5/glide3/src/cpudtect.s | 2 ++ glide3x/h5/glide3/src/xdraw2.inc.s | 3 +++ glide3x/h5/glide3/src/xdraw2.s | 2 ++ glide3x/h5/glide3/src/xdraw3.s | 2 ++ glide3x/h5/glide3/src/xtexdl.s | 2 ++ 18 files changed, 47 insertions(+) --- a/glide3x/h3/glide3/src/cpudtect.S +++ b/glide3x/h3/glide3/src/cpudtect.S @@ -48,6 +48,9 @@ /* 2 3/04/97 9:10p Dow */ /* Neutered mutiplatform multiheaded monster. */ +.section .note.GNU-stack, "", @progbits +.previous + #ifdef __ia64__ .align 32 --- a/glide3x/h3/glide3/src/xdraw2.inc.S +++ b/glide3x/h3/glide3/src/xdraw2.inc.S @@ -58,6 +58,9 @@ .file "xdraw2.inc.S" +.section .note.GNU-stack, "", @progbits +.previous + #ifndef XDRAW2_FIFO_MACROS #define XDRAW2_FIFO_MACROS --- a/glide3x/h3/glide3/src/xdraw2.S +++ b/glide3x/h3/glide3/src/xdraw2.S @@ -96,6 +96,8 @@ /* Definitions of cvg regs and glide root structures. */ #include "fxgasm.h" +.section .note.GNU-stack, "", @progbits +.previous .data .type One,@object --- a/glide3x/h3/glide3/src/xdraw3.S +++ b/glide3x/h3/glide3/src/xdraw3.S @@ -20,6 +20,8 @@ .file "xdraw3.asm" +.section .note.GNU-stack, "", @progbits +.previous #ifdef GL_AMD3D --- a/glide3x/h3/glide3/src/xtexdl.S +++ b/glide3x/h3/glide3/src/xtexdl.S @@ -67,6 +67,8 @@ .file "xtexdl.asm" +.section .note.GNU-stack, "", @progbits +.previous #ifdef USE_PACKET_FIFO #endif --- a/glide3x/h5/glide3/src/cpudtect.s +++ b/glide3x/h5/glide3/src/cpudtect.s @@ -57,6 +57,8 @@ /* */ /* 2 3/04/97 9:10p Dow */ +.section .note.GNU-stack, "", @progbits +.previous #ifdef __ia64__ --- a/glide3x/h5/glide3/src/xdraw2.inc.s +++ b/glide3x/h5/glide3/src/xdraw2.inc.s @@ -72,6 +72,9 @@ /* 1 7/07/97 8:37a Jdt */ /* B4 Chip field fix. */ +.section .note.GNU-stack, "", @progbits +.previous + #ifdef GL_AMD3D /* --------------------------------------------------------------------------- */ --- a/glide3x/h5/glide3/src/xdraw2.s +++ b/glide3x/h5/glide3/src/xdraw2.s @@ -122,6 +122,8 @@ /* Definitions of cvg regs and glide root structures. */ #include "fxgasm.h" +.section .note.GNU-stack, "", @progbits +.previous #ifdef HAL_CSIM #endif --- a/glide3x/h5/glide3/src/xdraw3.s +++ b/glide3x/h5/glide3/src/xdraw3.s @@ -20,6 +20,8 @@ .file "xdraw3.asm" +.section .note.GNU-stack, "", @progbits +.previous #ifdef GL_AMD3D --- a/glide3x/h5/glide3/src/xtexdl.s +++ b/glide3x/h5/glide3/src/xtexdl.s @@ -82,6 +82,8 @@ .file "xtexdl.asm" +.section .note.GNU-stack, "", @progbits +.previous #ifdef USE_PACKET_FIFO #endif --- a/glide2x/cvg/glide/src/cpudtect.S +++ b/glide2x/cvg/glide/src/cpudtect.S @@ -33,6 +33,9 @@ .file "cpudtect.s" +.section .note.GNU-stack, "", @progbits +.previous + # 586P # model FLAT,C --- a/glide2x/cvg/glide/src/xdraw2.gasp +++ b/glide2x/cvg/glide/src/xdraw2.gasp @@ -58,6 +58,10 @@ ## .file "xdraw2.s" + +.section .note.GNU-stack, "", @progbits +.previous + #OPTION OLDSTRUCTS # 586P --- a/glide2x/cvg/glide/src/xdraw2.inc.S +++ b/glide2x/cvg/glide/src/xdraw2.inc.S @@ -41,6 +41,10 @@ ## .file "xdraw2.inc.s" + +.section .note.GNU-stack, "", @progbits +.previous + #.586P #EXTRN _GlideRoot:DWORD --- a/glide2x/cvg/glide/src/xdraw2.S +++ b/glide2x/cvg/glide/src/xdraw2.S @@ -58,6 +58,10 @@ ## .file "xdraw2.s" + +.section .note.GNU-stack, "", @progbits +.previous + #OPTION OLDSTRUCTS # 586P --- a/glide2x/h3/glide/src/cpudtect.S +++ b/glide2x/h3/glide/src/cpudtect.S @@ -50,6 +50,8 @@ .file "cpudtect.asm" +.section .note.GNU-stack, "", @progbits +.previous /* Data for data segment goes here */ /* _DATA SEGMENT DWORD USE32 PUBLIC 'DATA' */ --- a/glide2x/h3/glide/src/xdraw2.inc.S +++ b/glide2x/h3/glide/src/xdraw2.inc.S @@ -41,6 +41,9 @@ .file "xdraw2.inc" +.section .note.GNU-stack, "", @progbits +.previous + #ifndef GR_FIFO_WRITE_MACRO #define GR_FIFO_WRITE_MACRO .MACRO GR_FIFO_WRITE __addr __offset __data --- a/glide2x/h3/glide/src/xdraw2.S +++ b/glide2x/h3/glide/src/xdraw2.S @@ -66,6 +66,8 @@ .file "xdraw2.asm" +.section .note.GNU-stack, "", @progbits +.previous .data .type One,@object --- a/glide2x/h3/glide/src/xtexdl.S +++ b/glide2x/h3/glide/src/xtexdl.S @@ -61,6 +61,8 @@ .file "xtexdl.asm" +.section .note.GNU-stack, "", @progbits +.previous #ifdef USE_PACKET_FIFO #endif debian/patches/swlibs-004-ioctl0000644000000000000000000000542611201355434013461 0ustar Status: applied Index: b/swlibs/newpci/pcilib/fxlinux.c =================================================================== --- a/swlibs/newpci/pcilib/fxlinux.c +++ b/swlibs/newpci/pcilib/fxlinux.c @@ -129,7 +129,7 @@ pciFetchRegisterLinux( FxU32 cmd, FxU32 default: return 0; } - if (ioctl(linuxDevFd, _IOR('3', 3, sizeof(struct pioData)), &desc)==-1) + if (ioctl(linuxDevFd, _IOR('3', 3, struct pioData), &desc)==-1) return 0; switch (size) { case 1: @@ -153,7 +153,7 @@ pciUpdateRegisterLinux(FxU32 cmd, FxU32 desc.size=size; desc.device=device; desc.value=&data; - if (ioctl(linuxDevFd, _IOW('3', 4, sizeof(struct pioData)), &desc)==-1) + if (ioctl(linuxDevFd, _IOW('3', 4, struct pioData), &desc)==-1) return FXFALSE; return FXTRUE; } @@ -253,7 +253,7 @@ pciPortInByteLinux(unsigned short port) desc.size=sizeof(tmp); desc.value=&tmp; /* fprintf(stderr, "Read byte desc at %x tmp at %x\n", &desc, &tmp); */ - ioctl(linuxDevFd, _IOR(0, 0, sizeof(struct pioData)), &desc); + ioctl(linuxDevFd, _IOR(0, 0, struct pioData), &desc); /* fprintf(stderr, "Got byte %d versus %d\n", tmp, inb(port)); */ return tmp; } @@ -273,7 +273,7 @@ pciPortInWordLinux(unsigned short port) desc.size=sizeof(tmp); desc.value=&tmp; /* fprintf(stderr, "Read word desc at %x tmp at %x\n", &desc, &tmp); */ - ioctl(linuxDevFd, _IOR(0, 0, sizeof(struct pioData)), &desc); + ioctl(linuxDevFd, _IOR(0, 0, struct pioData), &desc); /* fprintf(stderr, "Got word %d versus %d\n", tmp, inw(port)); */ return tmp; } @@ -293,7 +293,7 @@ pciPortInLongLinux(unsigned short port) desc.size=sizeof(tmp); desc.value=&tmp; /* fprintf(stderr, "Read long desc at %x tmp at %x\n", &desc, &tmp); */ - ioctl(linuxDevFd, _IOR(0, 0, sizeof(struct pioData)), &desc); + ioctl(linuxDevFd, _IOR(0, 0, struct pioData), &desc); /* fprintf(stderr, "Got long %x versus %x\n", tmp, inl(port)); */ return tmp; } @@ -311,7 +311,7 @@ pciPortOutByteLinux(unsigned short port, desc.port=port; desc.size=sizeof(data); desc.value=&data; - return ioctl(linuxDevFd, _IOW(0, 1, sizeof(struct pioData)), &desc)!=-1; + return ioctl(linuxDevFd, _IOW(0, 1, struct pioData), &desc)!=-1; } static FxBool @@ -327,7 +327,7 @@ pciPortOutWordLinux(unsigned short port, desc.port=port; desc.size=sizeof(data); desc.value=&data; - return ioctl(linuxDevFd, _IOW(0, 1, sizeof(struct pioData)), &desc)!=-1; + return ioctl(linuxDevFd, _IOW(0, 1, struct pioData), &desc)!=-1; } static FxBool @@ -343,7 +343,7 @@ pciPortOutLongLinux(unsigned short port, desc.port=port; desc.size=sizeof(data); desc.value=&data; - return ioctl(linuxDevFd, _IOW(0, 1, sizeof(struct pioData)), &desc)!=-1; + return ioctl(linuxDevFd, _IOW(0, 1, struct pioData), &desc)!=-1; } static FxBool debian/patches/z09-typos0000644000000000000000000000400611770775115012351 0ustar --- glide2x/cvg/init/video.c | 2 +- glide2x/sst1/init/initvg/video.c | 2 +- glide3x/cvg/init/video.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) --- a/glide2x/cvg/init/video.c +++ b/glide2x/cvg/init/video.c @@ -472,7 +472,7 @@ FX_EXPORT FxBool FX_CSTYLE sst1InitVideo ISET(sst->fbiInit1, IGET(sst->fbiInit1) | SST_VIDEO_FILTER_EN); if(GETENV(("SSTV2_VIDEO_FILTER_THRESHOLD"))) { SSCANF(GETENV(("SSTV2_VIDEO_FILTER_THRESHOLD")), "%ld", &n); - INIT_PRINTF(("sst1InitVideo(): Setting Video Filtering Treshold to 0x%x...\n", n)); + INIT_PRINTF(("sst1InitVideo(): Setting Video Filtering Threshold to 0x%x...\n", n)); ISET(sst->videoFilterRgbThreshold, n); } else --- a/glide2x/sst1/init/initvg/video.c +++ b/glide2x/sst1/init/initvg/video.c @@ -582,7 +582,7 @@ FX_EXPORT FxBool FX_CSTYLE sst1InitVideo ISET(sst->fbiInit1, IGET(sst->fbiInit1) | SST_VIDEO_FILTER_EN); if(GETENV(("SST_VIDEO_FILTER_THRESHOLD"))) { SSCANF(GETENV(("SST_VIDEO_FILTER_THRESHOLD")), "%i", &n); - INIT_PRINTF(("sst1InitVideo(): Setting Video Filtering Treshold to 0x%x...\n", n)); + INIT_PRINTF(("sst1InitVideo(): Setting Video Filtering Threshold to 0x%x...\n", n)); ISET(sst->videoFilterRgbThreshold, n); } else --- a/glide3x/cvg/init/video.c +++ b/glide3x/cvg/init/video.c @@ -470,7 +470,7 @@ FX_EXPORT FxBool FX_CSTYLE sst1InitVideo ISET(sst->fbiInit1, IGET(sst->fbiInit1) | SST_VIDEO_FILTER_EN); if(GETENV(("SSTV2_VIDEO_FILTER_THRESHOLD"))) { SSCANF(GETENV(("SSTV2_VIDEO_FILTER_THRESHOLD")), "%i", &n); - INIT_PRINTF(("sst1InitVideo(): Setting Video Filtering Treshold to 0x%x...\n", n)); + INIT_PRINTF(("sst1InitVideo(): Setting Video Filtering Threshold to 0x%x...\n", n)); ISET(sst->videoFilterRgbThreshold, n); } else debian/patches/glide3x-comments-warnings0000644000000000000000000001062711201355434015554 0ustar Status: applied Index: b/glide3x/h3/glide3/src/cpudtect.S =================================================================== --- a/glide3x/h3/glide3/src/cpudtect.S +++ b/glide3x/h3/glide3/src/cpudtect.S @@ -21,9 +21,9 @@ /* $Header: /cvsroot/glide/glide3x/h3/glide3/src/cpudtect.S,v 1.1.1.1 1999/11/24 21:44:53 joseph Exp $ */ /* $Log: cpudtect.S,v $ -/* Revision 1.1.1.1 1999/11/24 21:44:53 joseph -/* Initial checkin for SourceForge -/* */ + * Revision 1.1.1.1 1999/11/24 21:44:53 joseph + * Initial checkin for SourceForge + */ /* */ /* 4 4/06/99 3:54p Dow */ /* Alt tab again. */ Index: b/glide3x/h3/glide3/src/xdraw2.inc.S =================================================================== --- a/glide3x/h3/glide3/src/xdraw2.inc.S +++ b/glide3x/h3/glide3/src/xdraw2.inc.S @@ -23,20 +23,20 @@ /* $Revision: 1.4 $ */ /* $Log: xdraw2.inc.S,v $ /* Revision 1.4 2002/04/09 22:21:43 alanh -/* AMD 3DNow fixes -/* -/* Revision 1.3 2000/10/20 19:07:00 billwhite -/* 1.) Added changes for AMD 3DNow instructions in h5/glide3 and -/* h3/glide3. -/* 2.) Fixed a typographical error in configure.in. The default -/* texture utility library is texus2, not texus. -/* -/* Revision 1.2 2000/02/15 22:35:59 joseph -/* Changes to support FreeBSD (patch submitted by Doug Rabson) -/* -/* Revision 1.1.1.1 1999/11/24 21:44:58 joseph -/* Initial checkin for SourceForge -/* */ + * AMD 3DNow fixes + * + * Revision 1.3 2000/10/20 19:07:00 billwhite + * 1.) Added changes for AMD 3DNow instructions in h5/glide3 and + * h3/glide3. + * 2.) Fixed a typographical error in configure.in. The default + * texture utility library is texus2, not texus. + * + * Revision 1.2 2000/02/15 22:35:59 joseph + * Changes to support FreeBSD (patch submitted by Doug Rabson) + * + * Revision 1.1.1.1 1999/11/24 21:44:58 joseph + * Initial checkin for SourceForge + */ /* */ /* 2 10/30/97 6:53p Peter */ /* first real cut at tri asm */ Index: b/glide3x/h3/glide3/src/xdraw2.S =================================================================== --- a/glide3x/h3/glide3/src/xdraw2.S +++ b/glide3x/h3/glide3/src/xdraw2.S @@ -21,12 +21,12 @@ /* $Header: /cvsroot/glide/glide3x/h3/glide3/src/xdraw2.S,v 1.2 2000/02/15 22:35:59 joseph Exp $ */ /* $Revision: 1.2 $ */ /* $Log: xdraw2.S,v $ -/* Revision 1.2 2000/02/15 22:35:59 joseph -/* Changes to support FreeBSD (patch submitted by Doug Rabson) -/* -/* Revision 1.1.1.1 1999/11/24 21:44:58 joseph -/* Initial checkin for SourceForge -/* */ + * Revision 1.2 2000/02/15 22:35:59 joseph + * Changes to support FreeBSD (patch submitted by Doug Rabson) + * + * Revision 1.1.1.1 1999/11/24 21:44:58 joseph + * Initial checkin for SourceForge + */ /* */ /* 4 4/06/99 3:54p Dow */ /* Alt tab again. */ Index: b/glide3x/h3/glide3/src/xdraw3.S =================================================================== --- a/glide3x/h3/glide3/src/xdraw3.S +++ b/glide3x/h3/glide3/src/xdraw3.S @@ -606,9 +606,9 @@ _grDrawTriangles_3DNow: /* 989 : } */ /* 990 : else { */ -/* 991 : /* */ +/* 991 : * */ /* 992 : * first cut of clip space coordinate code, no optimization. */ -/* 993 : /* */ +/* 993 : * */ /* 994 : float oow */ /* 995 : */ /* 996 : while (count > 0) { */ @@ -623,7 +623,7 @@ _grDrawTriangles_3DNow: /* 1005 : vPtr = *(float **)pointers */ /* 1006 : oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset) */ /* 1007 : */ -/* 1008 : /* x, y /* */ +/* 1008 : * x, y * */ /* 1009 : TRI_SETF(FARRAY(vPtr, 0) */ /* 1010 : *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox) */ /* 1011 : TRI_SETF(FARRAY(vPtr, 4) */ @@ -1849,7 +1849,7 @@ _grDrawVertexList_3DNow_Clip: pfrcpit2 %mm1 , %mm0 /* oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset */ mov paramIndex(%gc) , %esi /* gc->state.paramIndex */ -/* /* x, y /* */ +/* * x, y * */ /* TRI_SETF(FARRAY(vPtr, 0) */ /* *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox) */ /* TRI_SETF(FARRAY(vPtr, 4) */ @@ -2157,7 +2157,7 @@ _grDrawVertexList_3DNow_Clip: .L_grDrawVertexList_3DNow_Clip_strip_done: /* } */ /* #undef FN_NAME */ -/* } /* _grDrawVertexList /* */ +/* } * _grDrawVertexList * */ pop %ebx /* restore caller's register variable */ pop %ebp /* restore frame pointer */ debian/patches/series0000644000000000000000000000124512146156210012032 0ustar glide2x-c-trisetup glide2x-fix-warnings glide2x-link-libm glide2x-pregasp glide2x-preprocessor glide2x-use-3dfx.mak glide3x-autoconf-update glide3x-build-fix glide3x-build-multiargs glide3x-build-with-voodoo5 glide3x-comments-warnings glide3x-debug-vaargs glide3x-fix-warnings glide3x-libtool-patch glide3x-link-libm glide3x-link-unresolved glide3x-preprocessor swlibs-000-fix-warnings swlibs-000-makefile-000 swlibs-001-mcpu-flag swlibs-002-automake swlibs-003-libm swlibs-004-ioctl swlibs-nomore-csh z01-64bit-port z02-64bit-port z03-amd64-port z04-gcc34-port z05-gcc4-fix z06-gcc401-fix z07-cpudetect-no-ia32 z08-non-exec-stack z09-typos z10-ftbfs-gcc-4.8 z11-format-string debian/patches/glide2x-use-3dfx.mak0000644000000000000000000000056111201355434014301 0ustar Status: applied Index: b/glide2x/makefile.linux =================================================================== --- a/glide2x/makefile.linux +++ b/glide2x/makefile.linux @@ -59,4 +59,4 @@ export FX_NO_GET_BOF=1 export FX_GLIDE_HW export SCRIPTDIR=$(TOPDIR)/swlibs/include/make -include swlibs/include/make/3dfx.linux.mak +-include swlibs/include/make/3dfx.mak debian/patches/swlibs-000-makefile-0000000644000000000000000000001311011201355434014402 0ustar Status: applied Index: b/swlibs/bin/makefile.linux =================================================================== --- a/swlibs/bin/makefile.linux +++ b/swlibs/bin/makefile.linux @@ -23,4 +23,4 @@ LDIRT = $(patsubst CVS,,$(patsubst makefile%,,$(wildcard *))) -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/binsrc/makefile.linux =================================================================== --- a/swlibs/binsrc/makefile.linux +++ b/swlibs/binsrc/makefile.linux @@ -27,7 +27,7 @@ INSTALL_DESTINATION=$(BUILD_ROOT_SWLIBS) all: target -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak target: $(BINS) $(foreach bin,$(BINS), $(INSTALL) $(bin) $(INSTALL_DESTINATION)/bin) Index: b/swlibs/fxmemmap/makefile.linux =================================================================== --- a/swlibs/fxmemmap/makefile.linux +++ b/swlibs/fxmemmap/makefile.linux @@ -30,4 +30,4 @@ INSTALL_DESTINATION = $(BUILD_ROOT_SWLIB # targets -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/fxmisc/makefile.linux =================================================================== --- a/swlibs/fxmisc/makefile.linux +++ b/swlibs/fxmisc/makefile.linux @@ -34,6 +34,6 @@ CFILES = fx64.c fximg.c fxo # targets LIBRARIES = libfxmisc.a -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/include/makefile.linux =================================================================== --- a/swlibs/include/makefile.linux +++ b/swlibs/include/makefile.linux @@ -23,4 +23,4 @@ LDIRT = $(wildcard *.h) -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/incsrc/makefile.linux =================================================================== --- a/swlibs/incsrc/makefile.linux +++ b/swlibs/incsrc/makefile.linux @@ -25,5 +25,5 @@ HEADERS= INSTALL_DESTINATION=$(BUILD_ROOT_SWLIBS) -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/lib/makefile.linux =================================================================== --- a/swlibs/lib/makefile.linux +++ b/swlibs/lib/makefile.linux @@ -23,4 +23,4 @@ LDIRT = $(wildcard *.a *.so) -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/libsrc/makefile.linux =================================================================== --- a/swlibs/libsrc/makefile.linux +++ b/swlibs/libsrc/makefile.linux @@ -29,7 +29,7 @@ all: target incs: target -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak target: $(LIBS) $(foreach lib,$(LIBS), $(INSTALL) $(lib) $(INSTALL_DESTINATION)/lib) Index: b/swlibs/makefile.linux =================================================================== --- a/swlibs/makefile.linux +++ b/swlibs/makefile.linux @@ -26,4 +26,4 @@ THISDIR = swlibs SUBDIRS = incsrc binsrc libsrc bin include lib fxmisc texus fxmemmap \ newpci -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/newpci/makefile.linux =================================================================== --- a/swlibs/newpci/makefile.linux +++ b/swlibs/newpci/makefile.linux @@ -23,4 +23,4 @@ THISDIR = newpci SUBDIRS = pcilib -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/newpci/pcilib/makefile.linux =================================================================== --- a/swlibs/newpci/pcilib/makefile.linux +++ b/swlibs/newpci/pcilib/makefile.linux @@ -33,4 +33,4 @@ CFILES = fxpci.c fxinfo.c f # targets LIBRARIES = libfxpci.a -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/texus/cmd/makefile.linux =================================================================== --- a/swlibs/texus/cmd/makefile.linux +++ b/swlibs/texus/cmd/makefile.linux @@ -36,4 +36,4 @@ PROGRAM = texus LLDLIBS = -L$(BUILD_ROOT_SWLIBS)/lib -ltexus -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/texus/lib/makefile.linux =================================================================== --- a/swlibs/texus/lib/makefile.linux +++ b/swlibs/texus/lib/makefile.linux @@ -42,5 +42,5 @@ LIBRARIES = libtexus.a SHARED_LIBRARY = libtexus.so.1.1 SUBLIBRARIES = $(BUILD_ROOT_SWLIBS)/lib/libfxmisc.a -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/texus/makefile.linux =================================================================== --- a/swlibs/texus/makefile.linux +++ b/swlibs/texus/makefile.linux @@ -21,4 +21,4 @@ THISDIR = texus SUBDIRS = lib -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak Index: b/swlibs/texus/tests/makefile.linux =================================================================== --- a/swlibs/texus/tests/makefile.linux +++ b/swlibs/texus/tests/makefile.linux @@ -30,4 +30,4 @@ CFILES = viewppm.c view3df.c PROGRAMS = $(CFILES:.c=) -include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.linux.mak +include $(BUILD_ROOT_SWLIBS)/include/make/3dfx.mak debian/patches/z06-gcc401-fix0000644000000000000000000003235411201355434012727 0ustar Status: applied Index: b/glide2x/cvg/glide/tests/display.c =================================================================== --- a/glide2x/cvg/glide/tests/display.c +++ b/glide2x/cvg/glide/tests/display.c @@ -65,6 +65,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); int main( int argc, char **argv) { @@ -91,11 +95,6 @@ int main( int argc, char **argv) static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - srcfname[0] = 0; dstfname[0] = 0; Index: b/glide2x/cvg/glide/tests/test26.c =================================================================== --- a/glide2x/cvg/glide/tests/test26.c +++ b/glide2x/cvg/glide/tests/test26.c @@ -57,6 +57,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); int main( int argc, char **argv) { char match; @@ -80,11 +84,6 @@ int main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - /* Process Command Line Arguments */ while( (rv = tlGetOpt( argc, argv, "bdnr", &match, &remArgs )) ) { if ( rv == -1 ) { Index: b/glide2x/h3/glide/src/xdraw2.inc.S =================================================================== --- a/glide2x/h3/glide/src/xdraw2.inc.S +++ b/glide2x/h3/glide/src/xdraw2.inc.S @@ -41,13 +41,18 @@ .file "xdraw2.inc" -#ifdef GL_AMD3D - +#ifndef GR_FIFO_WRITE_MACRO +#define GR_FIFO_WRITE_MACRO .MACRO GR_FIFO_WRITE __addr __offset __data mov \__data , \__offset(\__addr) .ENDM /* GR_FIFO_WRITE */ +#endif +#ifdef GL_AMD3D + +#ifndef MM1_FIFO_MACROS +#define MM1_FIFO_MACROS .MACRO WRITE_MM1_FIFO_ALIGNED movq %mm1 , (%ebp) /* store current param | previous param */ .ENDM /* WRITE_MM1_FIFO_ALIGNED */ @@ -55,6 +60,7 @@ .MACRO WRITE_MM1LOW_FIFO movd %mm1 , (%ebp) /* store current param | previous param */ .ENDM /* WRITE_MM1LOW_FIFO */ +#endif #define gc %edi /* points to graphics context */ #define fifo %ebp /* points to fifo entries */ @@ -1103,10 +1109,6 @@ LOCAL(Area_Computation): #define packCol %edi #define tempVal %edi -.MACRO GR_FIFO_WRITE __addr __offset __data - mov \__data , \__offset(\__addr) -.ENDM /* GR_FIFO_WRITE */ - .align 4 LOCAL(__triBegin): mov fifoPtr(gc) , fifo /* Fetch Fifo Ptr */ Index: b/glide2x/h3/glide/tests/display.c =================================================================== --- a/glide2x/h3/glide/tests/display.c +++ b/glide2x/h3/glide/tests/display.c @@ -65,6 +65,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); int main( int argc, char **argv) { @@ -91,11 +95,6 @@ int main( int argc, char **argv) static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - srcfname[0] = 0; dstfname[0] = 0; Index: b/glide2x/h3/glide/tests/test26.c =================================================================== --- a/glide2x/h3/glide/tests/test26.c +++ b/glide2x/h3/glide/tests/test26.c @@ -57,6 +57,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); int main( int argc, char **argv) { char match; @@ -80,11 +84,6 @@ int main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - /* Process Command Line Arguments */ while( (rv = tlGetOpt( argc, argv, "bdnr", &match, &remArgs )) ) { if ( rv == -1 ) { Index: b/glide2x/sst1/glide/tests/display.c =================================================================== --- a/glide2x/sst1/glide/tests/display.c +++ b/glide2x/sst1/glide/tests/display.c @@ -70,6 +70,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -95,11 +99,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - srcfname[0] = 0; dstfname[0] = 0; Index: b/glide2x/sst1/glide/tests/test26.c =================================================================== --- a/glide2x/sst1/glide/tests/test26.c +++ b/glide2x/sst1/glide/tests/test26.c @@ -62,6 +62,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -85,11 +89,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - /* Process Command Line Arguments */ while( rv = tlGetOpt( argc, argv, "bdnr", &match, &remArgs ) ) { if ( rv == -1 ) { Index: b/glide3x/cvg/glide3/tests/display.c =================================================================== --- a/glide3x/cvg/glide3/tests/display.c +++ b/glide3x/cvg/glide3/tests/display.c @@ -56,6 +56,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -81,11 +85,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - srcfname[0] = 0; dstfname[0] = 0; Index: b/glide3x/cvg/glide3/tests/test26.c =================================================================== --- a/glide3x/cvg/glide3/tests/test26.c +++ b/glide3x/cvg/glide3/tests/test26.c @@ -48,6 +48,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -69,11 +73,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - /* Initialize Glide */ grGlideInit(); assert( hwconfig = tlVoodooType() ); Index: b/glide3x/h3/glide3/tests/display.c =================================================================== --- a/glide3x/h3/glide3/tests/display.c +++ b/glide3x/h3/glide3/tests/display.c @@ -56,6 +56,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -81,11 +85,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - srcfname[0] = 0; dstfname[0] = 0; Index: b/glide3x/h3/glide3/tests/test26.c =================================================================== --- a/glide3x/h3/glide3/tests/test26.c +++ b/glide3x/h3/glide3/tests/test26.c @@ -48,6 +48,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -69,11 +73,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - /* Initialize Glide */ grGlideInit(); assert( hwconfig = tlVoodooType() ); Index: b/glide3x/h5/glide3/tests/display.c =================================================================== --- a/glide3x/h5/glide3/tests/display.c +++ b/glide3x/h5/glide3/tests/display.c @@ -72,6 +72,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -97,11 +101,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - srcfname[0] = 0; dstfname[0] = 0; Index: b/glide3x/h5/glide3/tests/test26.c =================================================================== --- a/glide3x/h5/glide3/tests/test26.c +++ b/glide3x/h5/glide3/tests/test26.c @@ -64,6 +64,10 @@ static const char *sourceFormatString[] "GR_LFB_SRC_FMT_ZA16 " }; +static void imageConvert( void *dst, + void *src, + GrLfbSrcFmt_t format, + FxU32 *bpp ); void main( int argc, char **argv) { char match; @@ -86,11 +90,6 @@ void main( int argc, char **argv) { static FxU32 imageWidth; static FxU32 imageHeight; - static void imageConvert( void *dst, - void *src, - GrLfbSrcFmt_t format, - FxU32 *bpp ); - /* Initialize Glide */ grGlideInit(); assert( hwconfig = tlVoodooType() ); Index: b/glide3x/h3/glide3/src/xdraw2.inc.S =================================================================== --- a/glide3x/h3/glide3/src/xdraw2.inc.S +++ b/glide3x/h3/glide3/src/xdraw2.inc.S @@ -59,6 +59,8 @@ .file "xdraw2.inc.S" +#ifndef XDRAW2_FIFO_MACROS +#define XDRAW2_FIFO_MACROS .macro GR_FIFO_WRITE __addr __offset __data mov \__data , \__offset(\__addr) .endm /* GR_FIFO_WRITE */ @@ -72,6 +74,7 @@ .macro WRITE_MM1LOW_FIFO movd %mm1 , (%ebp) /* store current param | previous param */ .endm /* WRITE_MM1LOW_FIFO */ +#endif #if 0 @@ -815,9 +818,12 @@ LOCAL(nocull): #define packCol %edi #define tempVal %edi +#ifndef XDRAW2_FIFO_MACROS +#define XDRAW2_FIFO_MACROS .macro GR_FIFO_WRITE __addr __offset __data mov \__data , \__offset(\__addr) .endm /* GR_FIFO_WRITE */ +#endif .align 4 LOCAL(__triBegin): Index: b/glide3x/h5/glide3/src/xdraw2.inc.s =================================================================== --- a/glide3x/h5/glide3/src/xdraw2.inc.s +++ b/glide3x/h5/glide3/src/xdraw2.inc.s @@ -81,6 +81,8 @@ .file "xdraw2.inc.S" +#ifndef XDRAW2_FIFO_MACROS +#define XDRAW2_FIFO_MACROS .macro GR_FIFO_WRITE __addr __offset __data #ifdef HAL_CSIM pushad @@ -121,6 +123,7 @@ movd %mm1 , (%ebp) /* store current param | previous param */ #endif .endm /* WRITE_MM1LOW_FIFO */ +#endif #if 0 @@ -867,6 +870,8 @@ LOCAL(nocull): #define packCol %edi #define tempVal %edi +#ifndef XDRAW2_FIFO_MACROS +#define XDRAW2_FIFO_MACROS .macro GR_FIFO_WRITE __addr __offset __data #ifdef HAL_CSIM pushad @@ -884,6 +889,7 @@ LOCAL(nocull): mov \__data , \__offset(\__addr) #endif .endm /* GR_FIFO_WRITE */ +#endif .align 4 LOCAL(__triBegin): debian/patches/z03-amd64-port0000644000000000000000000000717411201355434013056 0ustar Status: not-applied Index: b/glide3x/configure.in =================================================================== --- a/glide3x/configure.in +++ b/glide3x/configure.in @@ -146,7 +146,7 @@ AC_ARG_ENABLE([build-architecture], [dnl --enable-build-architecture Enable AMD 3DNow instructions [default=current]], [case ${enableval} in - i[3456]86|alpha) + i[3456]86|x86_64|alpha) FX_GLIDE_BUILD_ARCHITECTURE=${enableval} ;; *) @@ -185,6 +185,10 @@ fi if test "$FX_GLIDE_BUILD_ARCHITECTURE" = "ia64"; then FX_GLIDE_CTRISETUP=true fi +if test "$FX_GLIDE_BUILD_ARCHITECTURE" = "x86_64"; then +FX_GLIDE_CTRISETUP=true +FX_GLIDE_C_CPU_DETECT=true +fi # Next, we read some configuration options # statically. This is to avoid creating a bunch of # not-terribly-useful --enable options. Index: b/glide3x/cvg/init/sst1init.h =================================================================== --- a/glide3x/cvg/init/sst1init.h +++ b/glide3x/cvg/init/sst1init.h @@ -146,7 +146,7 @@ p6Fence(void); # define P6FENCE {_asm xchg eax, p6FenceVar} #elif defined(macintosh) && __POWERPC__ && defined(__MWERKS__) # define P6FENCE __eieio() -#elif defined (__GNUC__) && defined(__i386__) +#elif defined (__GNUC__) && (defined(__i386__) || defined(__x86_64__)) # define P6FENCE asm("xchg %%eax,%0" : /*outputs*/ : "m" (p6FenceVar) : \ "eax"); #else Index: b/glide3x/h3/glide3/src/fxglide.h =================================================================== --- a/glide3x/h3/glide3/src/fxglide.h +++ b/glide3x/h3/glide3/src/fxglide.h @@ -1488,7 +1488,7 @@ extern GrGCFuncs _curGCFuncs; # pragma warning(default : 4035) #elif defined(macintosh) && defined(__POWERPC__) && defined(__MWERKS__) # define P6FENCE __eieio() -#elif defined(__GNUC__) && defined(__i386__) +#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #define P6FENCE asm("xchg %%eax, %0" : : "m" (_GlideRoot.p6Fencer) : "eax"); #elif defined(__GNUC__) && defined(__ia64__) #define P6FENCE asm volatile("mf.a" ::: "memory") Index: b/glide3x/h3/minihwc/linhwc.c.dri =================================================================== --- a/glide3x/h3/minihwc/linhwc.c.dri +++ b/glide3x/h3/minihwc/linhwc.c.dri @@ -71,7 +71,7 @@ static FxU32 fenceVar; #define P6FENCE asm volatile("mf.a" ::: "memory"); #elif defined(__alpha__) #define P6FENCE asm volatile("mb" ::: "memory"); -#elif defined(__i386__) +#elif defined(__i386__) || defined(__x86_64__) #define P6FENCE asm("xchg %%eax, %0" : : "m" (fenceVar) : "eax"); #else #error Need to Define P6FENCE for this architecture Index: b/glide3x/h5/glide3/src/fxglide.h =================================================================== --- a/glide3x/h5/glide3/src/fxglide.h +++ b/glide3x/h5/glide3/src/fxglide.h @@ -2093,7 +2093,7 @@ extern GrGCFuncs _curGCFuncs; # pragma warning(default : 4035) #elif defined(macintosh) && defined(__POWERPC__) && defined(__MWERKS__) # define P6FENCE __sync() -#elif defined(__GNUC__) && defined(__i386__) +#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) /* * This is the __linux__ code. */ Index: b/glide3x/h5/minihwc/linhwc.c =================================================================== --- a/glide3x/h5/minihwc/linhwc.c +++ b/glide3x/h5/minihwc/linhwc.c @@ -67,7 +67,7 @@ hwcCheckMemSize(hwcBoardInfo *bInfo, FxU #include "lindri.h" static FxU32 fenceVar; -#if defined(__i386__) +#if defined(__i386__) || defined(__x86_64__) #define P6FENCE asm("xchg %%eax, %0" : : "m" (fenceVar) : "eax"); #elif defined(__alpha__) #define P6FENCE asm volatile("mb" ::: "memory") debian/patches/glide3x-build-fix0000644000000000000000000000256311201355434013764 0ustar Status: applied Index: b/glide3x/chores.3dfx =================================================================== --- a/glide3x/chores.3dfx +++ b/glide3x/chores.3dfx @@ -117,7 +117,7 @@ while [ ! -z "$1" ] && [ "$DONE" != YES shift ;; --arch*=*) - CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS --enable-build-architecture=`echo $1 | sed s/--arch[^=]*=//`" + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS --enable-build-architecture=`echo $1 | sed 's/--arch[^=]*=//'`" shift ;; --configure) @@ -126,7 +126,7 @@ while [ ! -z "$1" ] && [ "$DONE" != YES ;; --configure=*) DO_CONFIGURE=YES - CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS `echo $1 | sed s/--configure=//`" + CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS `echo $1 | sed 's/--configure=//'`" shift ;; --build-dir*=*) @@ -135,7 +135,7 @@ while [ ! -z "$1" ] && [ "$DONE" != YES ;; --build=*) DO_BUILD=YES - BUILD_DIRECTORY=`echo $1 | sed s/--build=//` + BUILD_DIRECTORY=`echo $1 | sed 's/--build=//'` shift ;; --build) @@ -147,7 +147,7 @@ while [ ! -z "$1" ] && [ "$DONE" != YES shift ;; --make-hst=*) - MAKE_HISTORY_FILE=`echo "$1" | sed s/--make-hst=//'` + MAKE_HISTORY_FILE=`echo "$1" | sed 's/--make-hst=//'` shift ;; *) debian/patches/glide3x-autoconf-update0000644000000000000000000002153011615414167015202 0ustar Status: applied Index: b/glide3x/chores.3dfx =================================================================== --- a/glide3x/chores.3dfx +++ b/glide3x/chores.3dfx @@ -177,7 +177,7 @@ if [ "$DO_GENERATE" = YES ] ; then exit 100 fi echo -n 'Automake...' - if automake ; then + if automake -a -f -c; then do_nothing else echo 'Failed!!' Index: b/glide3x/configure.in =================================================================== --- a/glide3x/configure.in +++ b/glide3x/configure.in @@ -21,11 +21,14 @@ dnl Process this file with autoconf to p # $Revision: 1.8 $ # $Date: 2000/10/20 19:07:00 $ # -AC_INIT(h5/glide3/src/glfb.c) -AM_INIT_AUTOMAKE(glide, 3.0) -AM_CONFIG_HEADER(swlibs/include/config.h) +AC_INIT([glide], [3.0]) +AC_PREREQ(2.53) +AC_CONFIG_SRCDIR([h5/glide3/src/glfb.c]) AC_PREFIX_DEFAULT([/usr]) includedir='${prefix}/include/glide3' +AM_INIT_AUTOMAKE([foreign 1.7]) +AM_MAINTAINER_MODE +AM_CONFIG_HEADER([swlibs/include/config.h]) # # Variables local to the build. # @@ -219,7 +222,7 @@ AM_CONDITIONAL(FX_HOOPTI_TRI_SETUP_COMPA dnl Checks for programs. AC_PROG_CC AC_PROG_CPP -AC_CHECK_TOOL(AS, as, false) +AM_PROG_AS AC_CHECK_TOOL(OBJDUMP, objdump, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(CP, cp, false) @@ -257,7 +260,7 @@ dnl o $makefile.in dnl o swlibs/include/make/makefile.autoconf.bottom dnl where $makefile is the makefile name. dnl -AC_OUTPUT(build.3dfx +AC_CONFIG_FILES([build.3dfx makefile.autoconf:makefile.autoconf.in:swlibs/include/make/makefile.autoconf.bottom cvg/makefile.autoconf:cvg/makefile.autoconf.in:swlibs/include/make/makefile.autoconf.bottom cvg/incsrc/makefile.autoconf:cvg/incsrc/makefile.autoconf.in:swlibs/include/make/makefile.autoconf.bottom @@ -283,6 +286,6 @@ AC_OUTPUT(build.3dfx swlibs/texus2/makefile.autoconf:swlibs/texus2/makefile.autoconf.in:swlibs/include/make/makefile.autoconf.bottom swlibs/texus2/lib/makefile.autoconf:swlibs/texus2/lib/makefile.autoconf.in:swlibs/include/make/makefile.autoconf.bottom swlibs/texus2/cmd/makefile.autoconf:swlibs/texus2/cmd/makefile.autoconf.in:swlibs/include/make/makefile.autoconf.bottom - ) -AC_OUTPUT_COMMANDS([chmod +x build.3dfx]) + ], [chmod +x build.3dfx]) +AC_OUTPUT Index: b/glide3x/cvg/init/makefile.autoconf.am =================================================================== --- a/glide3x/cvg/init/makefile.autoconf.am +++ b/glide3x/cvg/init/makefile.autoconf.am @@ -42,12 +42,8 @@ ## $Revision: 1.1 $ ## $Date: 2000/07/27 02:39:18 $ ## -if GLIDE_DEBUG -else -GLIDE_DEBUG_VDEFS = -g -endif -LDEFS = -DINIT_LINUX $(GLIDE_DEBUG_VDEFS) +LDEFS = -DINIT_LINUX lib_LTLIBRARIES = libsst1init.la libsst1init_la_SOURCES = sst1init.c info.c print.c parse.c \ Index: b/glide3x/h3/glide3/src/makefile.autoconf.am =================================================================== --- a/glide3x/h3/glide3/src/makefile.autoconf.am +++ b/glide3x/h3/glide3/src/makefile.autoconf.am @@ -66,7 +66,7 @@ if FX_GLIDE_CTRISETUP FX_GLIDE_CTRISETUP_VDEFS = -DGLIDE_USE_C_TRISETUP else FX_GLIDE_CTRISETUP_VDEFS = -DGLIDE_PACKED_RGB=0 \ - -DGLIDE_TRI_CULLING=1 + -DGLIDE_TRI_CULLING=1 endif if FX_GLIDE_NO_PLUG @@ -104,6 +104,10 @@ if GL_AMD3D GL_AMD3D_SRC = xtexdl_3dnow.S xdraw2_3dnow.S xdraw3_3dnow.S xdraw2_def.S xdraw3_def.S endif +if HAL_CSIM +HAL_CSIM_INCLUDES = -I@top_srcdir@/@FX_GLIDE_HW@/csim +endif + VDEFS = $(FX_CHRIS_DENIS_ANTHONY_HACK_VDEFS) \ $(FX_GLIDE_ALT_TAB_VDEFS) \ $(FX_GLIDE_DIRECT_WRITE_VDEFS) \ @@ -113,7 +117,8 @@ VDEFS = $(FX_CHRIS_DENIS_ANTHONY_HACK_VD $(FX_GLIDE_CTRISETUP_VDEFS) \ $(FX_GLIDE_NO_PLUG_VDEFS) \ $(FX_GLIDE_NO_SPLASH_VDEFS) \ - $(GLIDE_DEBUG_VDEFS) + $(GLIDE_DEBUG_VDEFS) \ + $(HAL_CSIM_INCLUDES) LDEFS = -DGLIDE_INIT_HWC \ -DGLIDE_LIB \ @@ -122,46 +127,35 @@ LDEFS = -DGLIDE_INIT_HWC \ -DH3 # -# Now, we define the includes, first the variable ones, -# and then the fixed ones. +# Special rules for assembly files. # -if HAL_CSIM -HAL_CSIM_INCLUDES = -I@top_srcdir@/@FX_GLIDE_HW@/csim -endif -VINCLUDES = $(HAL_CSIM_INCLUDES) +CPPASFLAGS = -fdollars-in-identifiers -x assembler-with-cpp -I. -# -# Nothing for CPPFLAGS or OPTS here. -# - -# -# Special rules for assembly files. -# xdraw2.lo : xdraw2.S xdraw2.inc.S fxgasm.h - libtool --mode=compile $(CC) $(AFLAGS) -c -o $@ xdraw2.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -c -o $@ $< xdraw3.lo : xdraw3.S fxgasm.h - libtool --mode=compile $(CC) $(AFLAGS) -c -o $@ xdraw3.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -c -o $@ $< # 3DNow!(tm) dependencies # XXX_def.obj targets are the default targets if GL_AMD3D xdraw2_def.lo: xdraw2.S xdraw2.inc.S fxgasm.h - libtool --mode=compile $(CC) $(AFLAGS) -c -o $@ xdraw2.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -c -o $@ $< xdraw2_3dnow.lo: xdraw2.S xdraw2.inc.S fxgasm.h - libtool --mode=compile $(CC) $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ xdraw2.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ $< xdraw3_def.lo: xdraw3.S fxgasm.h - libtool --mode=compile $(CC) $(AFLAGS) -c -o $@ xdraw3.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -c -o $@ $< xdraw3_3dnow.lo: xdraw3.S fxgasm.h - libtool --mode=compile $(CC) $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ xdraw3.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ $< xtexdl_3dnow.lo: xtexdl.S fxgasm.h - libtool --mode=compile $(CC) $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ xtexdl.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ $< endif @@ -190,6 +184,7 @@ glfb.c: $(top_srcdir)/h3/glide3/src/glfb rm -f gglide.c ln -sf $(top_srcdir)/h3/glide3/src/glfb.c.save glfb.c endif + # # Library definitions. # @@ -207,7 +202,9 @@ include_HEADERS = g3ext.h glide.h noinst_HEADERS = fxglide.h gsstdef.h gsfc.h \ fxcmd.h fxsplash.h tv.h rcver.h qmodes.h \ macglide3.h -fxgasm_SOURCES = fxgasm.c gthread.c +fxgasm_SOURCES = fxgasm.c +fxgasm_LDADD = gthread.lo +fxgasm_DEPENDENCIES = gthread.lo lib_LTLIBRARIES = libglide3.la libglide3_la_SOURCES = fxinline.h fxgasm.h \ Index: b/glide3x/h5/glide3/src/makefile.autoconf.am =================================================================== --- a/glide3x/h5/glide3/src/makefile.autoconf.am +++ b/glide3x/h5/glide3/src/makefile.autoconf.am @@ -114,6 +114,11 @@ FX_GLIDE_CTRISETUP_VDEFS = -DGLIDE_USE_C else FX_GLIDE_CTRISETUP_VDEFS = -DGLIDE_PACKED_RGB=0 -DGLIDE_TRI_CULLING=1 endif + +if HAL_CSIM +HAL_CSIM_INCLUDES = -I@top_srcdir@/@FX_GLIDE_HW@/csim +endif + VDEFS = $(FX_CHRIS_DENIS_ANTHONY_HACK_VDEFS) \ $(FX_GLIDE_ALT_TAB_VDEFS) \ $(FX_GLIDE_DIRECT_WRITE_VDEFS) \ @@ -131,19 +136,14 @@ VDEFS = $(FX_CHRIS_DENIS_ANTHONY_HACK_VD $(HAL_CSIM_VDEFS) \ $(HAL_HW_VDEFS) \ $(FX_GLIDE_HW_CULL_VDEFS) \ - $(FX_GLIDE_CTRISETUP_VDEFS) + $(FX_GLIDE_CTRISETUP_VDEFS) \ + $(HAL_CSIM_INCLUDES) LDEFS = -DGLIDE_LIB -DGLIDE3 -DGLIDE3_ALPHA -DH3 $(CMDXPORTDEFS) # -# Now, we define the includes, first the variable ones, -# and then the fixed ones. +# Special rules for assembly files. # -if HAL_CSIM -HAL_CSIM_INCLUDES = -I@top_srcdir@/@FX_GLIDE_HW@/csim -endif - -VINCLUDES = $(HAL_CSIM_INCLUDES) # # Nothing for CPPFLAGS or OPTS here. @@ -152,7 +152,7 @@ VINCLUDES = $(HAL_CSIM_INCLUDES) # # Special rules for assembly files. # -PREPROCESSOR=/lib/cpp -$$ -I. +PREPROCESSOR=$(CPP) -fdollars-in-identifiers -x assembler-with-cpp -I. xdraw2_def.o xdraw2_def.lo: xdraw2.s xdraw2.inc.s fxgasm.h $(PREPROCESSOR) $< > $*.tmp.s libtool --mode=compile $(CC) $(AFLAGS) -c -o $*.o $*.tmp.s @@ -215,7 +215,8 @@ noinst_HEADERS = fxcmd.h fxs gsfc.h gsstdef.h \ qmodes.h tv.h \ fxgasm.h fxinline.h -fxgasm_SOURCES = fxgasm.c gthread.c +fxgasm_SOURCES = fxgasm.c +fxgasm_LDADD = gthread.lo fxgasm_DEPENDENCIES = gthread.lo lib_LTLIBRARIES = libglide3.la Index: b/glide3x/h5/minihwc/makefile.autoconf.am =================================================================== --- a/glide3x/h5/minihwc/makefile.autoconf.am +++ b/glide3x/h5/minihwc/makefile.autoconf.am @@ -23,13 +23,8 @@ # # First, the variable defs. # -if GLIDE_DEBUG -GLIDE_DEBUG_VDEFS=-DGDBG_INFO_ON -endif -OSDEPC = linhwc.c - -VDEFS = $(GLIDE_DEBUG_VDEFS) +OSDEPC = linhwc.c noinst_LTLIBRARIES = libminihwc.la libminihwc_la_SOURCES = hwcio.c gdebug.c $(OSDEPC) debian/patches/glide3x-build-with-voodoo50000644000000000000000000000075411201355434015541 0ustar Status: applied Index: b/glide3x/h5/glide3/src/gglide.c =================================================================== --- a/glide3x/h5/glide3/src/gglide.c +++ b/glide3x/h5/glide3/src/gglide.c @@ -2903,6 +2903,11 @@ GR_ENTRY(grDRIBufferSwap, void, (FxU32 s GR_END(); #undef FN_NAME } /* grBufferSwap */ + +void grBufferSwap(FxU32 i) { + grDRIBufferSwap(i); +} + #endif /* defined(__linux__) */ /*--------------------------------------------------------------------------- debian/patches/glide3x-libtool-patch0000644000000000000000000000101111201355434014625 0ustar Status: applied Index: b/glide3x/chores.3dfx =================================================================== --- a/glide3x/chores.3dfx +++ b/glide3x/chores.3dfx @@ -169,6 +169,13 @@ if [ "$DO_GENERATE" = YES ] ; then # Regenerate everything. # echo -n 'Regenerating everything...' + echo -n 'Libtoolize...' + if libtoolize --copy --force ; then + do_nothing + else + echo 'Failed!!' + exit 100 + fi echo -n 'Aclocal...' if aclocal ; then do_nothing debian/patches/glide2x-fix-warnings0000644000000000000000000001310111201355434014502 0ustar Status: applied Index: b/glide2x/cvg/glide/src/cpudetect.c =================================================================== --- a/glide2x/cvg/glide/src/cpudetect.c +++ b/glide2x/cvg/glide/src/cpudetect.c @@ -20,6 +20,7 @@ #include #include +#include int _cpu_detect_asm() { struct utsname name; Index: b/glide2x/cvg/glide/src/fxglide.h =================================================================== --- a/glide2x/cvg/glide/src/fxglide.h +++ b/glide2x/cvg/glide/src/fxglide.h @@ -2225,7 +2225,7 @@ do { \ #define REG_GROUP_SETF_CLAMP(__regBase, __regAddr, __val) \ do { \ const FxU32 fpClampVal = FP_FLOAT_CLAMP(__val); \ - REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ + REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ SET(((FxU32*)(__regBase))[offsetof(SstRegs, __regAddr) >> 2], fpClampVal); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) Index: b/glide2x/h3/glide/src/fxglide.h =================================================================== --- a/glide2x/h3/glide/src/fxglide.h +++ b/glide2x/h3/glide/src/fxglide.h @@ -2004,7 +2004,7 @@ _grFifoFWriteDebug((FxU32) a, (float) b, __stwbrx( *((FxU32*)&temp), (void*)&(d), 0 ); \ } # define SET_LINEAR(d, s) SET((d), (s)) -# define SET_LINEAR_16(d, s) SET((d), ((((FxU32)(s)) >> 16UL) | \ +# define SET_LINEAR_16(d, s) SET((d), ((((FxU32)(s)) >> 16UL) | \ (((FxU32)(s)) << 16UL))) # define SET_LINEAR_8(d, s) ((d) = (s)) # else /* !defined(__MWERKS__) && POWERPC */ @@ -3008,7 +3008,7 @@ do { \ #define REG_GROUP_SETF_CLAMP(__regBase, __regAddr, __val) \ do { \ const FxU32 fpClampVal = FP_FLOAT_CLAMP(__val); \ - REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ + REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ SET(((FxU32*)(__regBase))[offsetof(SstRegs, __regAddr) >> 2], fpClampVal); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) Index: b/glide2x/cvg/glide/oem/oeminit.h =================================================================== --- a/glide2x/cvg/glide/oem/oeminit.h +++ b/glide2x/cvg/glide/oem/oeminit.h @@ -89,5 +89,5 @@ FX_EXPORT FxU32 FX_CSTYLE fxoemInitSetVi FX_EXPORT FxU32 FX_CSTYLE fxoemRestoreVideo(OemInitInfo *oem); FX_EXPORT FxU32 FX_CSTYLE fxoemControl(FxU32 mode); -#endif __OEMINIT_H__ +#endif /* __OEMINIT_H__ */ Index: b/glide2x/h3/minihwc/fxhwc.h =================================================================== --- a/glide2x/h3/minihwc/fxhwc.h +++ b/glide2x/h3/minihwc/fxhwc.h @@ -41,8 +41,8 @@ ** I/O Macros */ #warning Here! -#define HWC_IO_LOAD(regInfo, reg, val) -GDBG_INFO(120, "%s: Storing 0x%x to IO Register %s\n", +#define HWC_IO_LOAD(regInfo, reg, val) \ +GDBG_INFO(120, "%s: Storing 0x%x to IO Register %s\n", \ ((SstIORegs *) regInfo.ioMemBase)-> Index: b/glide2x/h3/glide/src/xdraw2.S =================================================================== --- a/glide2x/h3/glide/src/xdraw2.S +++ b/glide2x/h3/glide/src/xdraw2.S @@ -125,10 +125,12 @@ PROC_TYPE(cull): #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" #undef cull -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING + +#undef LOCAL END_PROC_TYPE(cull): .size PROC_TYPE(cull),END_PROC_TYPE(cull)-PROC_TYPE(cull) @@ -147,10 +149,12 @@ PROC_TYPE(cull_rgb): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING + +#undef LOCAL END_PROC_TYPE(cull_rgb): .size PROC_TYPE(cull_rgb),END_PROC_TYPE(cull_rgb)-PROC_TYPE(cull_rgb) @@ -168,10 +172,10 @@ PROC_TYPE(cull_argb): #define GLIDE_PACK_ALPHA 1 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING END_PROC_TYPE(cull_argb): .size PROC_TYPE(cull_argb),END_PROC_TYPE(cull_argb)-PROC_TYPE(cull_argb) @@ -190,10 +194,12 @@ PROC_TYPE(Default): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING + +#undef LOCAL END_PROC_TYPE(Default): .size PROC_TYPE(Default),END_PROC_TYPE(Default)-PROC_TYPE(Default) @@ -212,10 +218,12 @@ PROC_TYPE(rgb): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING + +#undef LOCAL END_PROC_TYPE(rgb): .size PROC_TYPE(rgb),END_PROC_TYPE(rgb)-PROC_TYPE(rgb) @@ -233,10 +241,12 @@ PROC_TYPE(argb): #define GLIDE_PACK_ALPHA 1 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING + +#undef LOCAL END_PROC_TYPE(argb): .size PROC_TYPE(argb),END_PROC_TYPE(argb)-PROC_TYPE(argb) debian/patches/glide3x-link-libm0000644000000000000000000000117511201355434013755 0ustar Index: b/glide3x/h3/glide3/src/makefile.autoconf.am =================================================================== --- a/glide3x/h3/glide3/src/makefile.autoconf.am +++ b/glide3x/h3/glide3/src/makefile.autoconf.am @@ -193,7 +193,7 @@ VGLIDE_SRC=$(FX_GLIDE_CTRISETUP_SRC) WHOLE_LIBS = $(top_builddir)/swlibs/fxmisc/libfxmisc.la \ $(top_builddir)/swlibs/newpci/pcilib/libfxpci.la \ $(top_builddir)/@FX_GLIDE_HW@/minihwc/libminihwc.la -LINK_LIBS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm +LINK_LIBS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm -lm CLEANFILES = fxinline.h fxgasm.h debian/patches/z02-64bit-port0000644000000000000000000001347211201355434013070 0ustar Status: not-applied Index: b/glide3x/h3/glide3/src/makefile.autoconf.am =================================================================== --- a/glide3x/h3/glide3/src/makefile.autoconf.am +++ b/glide3x/h3/glide3/src/makefile.autoconf.am @@ -101,7 +101,7 @@ endif endif if GL_AMD3D -GL_AMD3D_SRC = xtexdl_3dnow.S xdraw2_3dnow.S xdraw3_3dnow.S xdraw2_def.S xdraw3_def.S +GL_AMD3D_SRC = xtexdl_3dnow.S xdraw2_3dnow.S xdraw3_3dnow.S endif if HAL_CSIM @@ -159,6 +159,15 @@ xtexdl_3dnow.lo: xtexdl.S fxgasm.h endif +if FX_GLIDE_C_CPU_DETECT +CPUSOURCES = cpu_alpha.c +cpudtect.o cpudtect.lo: cpu_alpha.c +else +CPUSOURCES = cpudtect.S +cpudtect.o cpudtect.lo: cpudtect.S + libtool --mode=compile $(CCAS) $(CCASFLAGS) $(CPPASFLAGS) -DUSE_PACKET_FIFO=1 -c -o $@ $< +endif + if DRI_BUILD gglide.c: $(top_srcdir)/h3/glide3/src/gglide.c.dri rm -f gglide.c @@ -213,7 +222,7 @@ libglide3_la_SOURCES = fxinline.h fxga gbanner.c gerror.c gaa.c gdraw.c \ gglide.c distate.c gstrip.c distrip.c \ diget.c glfb.c gsst.c gtex.c gtexdl.c \ - fifo.c xtexdl_def.c cpudtect.S \ + fifo.c xtexdl_def.c $(CPUSOURCES) \ $(VGLIDE_SRC) $(ASMTRISETUP) $(GL_AMD3D_SRC) libglide3_la_LDFLAGS = -version-info 13:0:10 Index: b/glide3x/h5/glide3/src/makefile.autoconf.am =================================================================== --- a/glide3x/h5/glide3/src/makefile.autoconf.am +++ b/glide3x/h5/glide3/src/makefile.autoconf.am @@ -178,10 +178,16 @@ xtexdl_3dnow.o xtexdl_3dnow.lo: xtexdl.s libtool --mode=compile $(CC) $(AFLAGS) -c -o $*.o $*.tmp.s $(RM) -f $*.tmp.s +if FX_GLIDE_C_CPU_DETECT +CPUSOURCES = cpu_alpha.c +cpudtect.o cpudtect.lo: cpu_alpha.c +else +CPUSOURCES = cpudtect.s cpudtect.o cpudtect.lo: cpudtect.s $(PREPROCESSOR) -DUSE_PACKET_FIFO=1 $< > $*.tmp.s libtool --mode=compile $(CC) $(AFLAGS) -c -o $*.o $*.tmp.s $(RM) -f $*.tmp.s +endif # # Library definitions. @@ -190,7 +196,7 @@ if FX_GLIDE_CTRISETUP FX_GLIDE_CTRISETUP_SRC = gxdraw.c else if GL_AMD3D -FX_GLIDE_CTRISETUP_SRC = xdraw2_3dnow.s xdraw3_3dnow.s xtexdl_3dnow.s xdraw2_def.s xdraw3_def.s +FX_GLIDE_CTRISETUP_SRC = xdraw2_3dnow.s xdraw3_3dnow.s else FX_GLIDE_CTRISETUP_SRC = xdraw2_def.s xdraw3_def.s endif @@ -226,7 +232,7 @@ libglide3_la_SOURCES = fxinline.h fxga gbanner.c gerror.c gaa.c gdraw.c \ gglide.c distate.c gstrip.c distrip.c \ diget.c glfb.c gsst.c gtex.c gtexdl.c \ - fifo.c cpudtect.s xtexdl_def.c $(VGLIDE_SRC) + fifo.c $(CPUSOURCES) xtexdl_def.c $(VGLIDE_SRC) libglide3_la_LDFLAGS = -version-info 13:0:10 libglide3_la_LIBADD = $(WHOLE_LIBS) $(LINK_LIBS) Index: b/glide3x/h5/glide3/src/makefile.linux =================================================================== --- a/glide3x/h5/glide3/src/makefile.linux +++ b/glide3x/h5/glide3/src/makefile.linux @@ -45,6 +45,13 @@ endif FX_GLIDE_REAL_HW= 1 FX_GLIDE_NO_FIFO= 1 +MACHINETYPE=$(shell $(BUILD_ROOT_SWLIBS)/include/make/machinetype) +ifeq ($(MACHINETYPE),alpha) +FX_GLIDE_CTRISETUP = 1 +else +FX_GLIDE_CTRISETUP = 0 +endif + HWSPEC = fifo.c LCDEFS += -DH3 $(CMDXPORTDEFS) INITLIB = $(BUILD_ROOT)/$(FX_GLIDE_HW)/lib$(FX_GLIDE_HW)init.a @@ -202,8 +209,6 @@ LADEFS += $(ASM_REGMAP_DEF LAINCS = -I$(BUILD_ROOT)/$(FX_GLIDE_HW)/include LAOPTS = $(DBGOPTS) $(DSPOPTS) $(OPTOPTS) -AFILES = $(ASMTRISETUP) cpudtect.s - # sources HEADERS = glide.h glidesys.h glideutl.h g3ext.h PRIVATE_HEADERS = fxglide.h gsstdef.h fxinline.h fxcmd.h fxsplash.h @@ -213,7 +218,7 @@ INSTALL_DESTINATION = $(BUILD_ROOT)/$( CFILES += gsplash.c g3df.c gu.c gthread.c \ gpci.c diglide.c disst.c ditex.c \ gbanner.c gerror.c gaa.c gdraw.c gglide.c $(GLIDE3FILES) \ - glfb.c gsst.c gtex.c gtexdl.c $(HWSPEC) + glfb.c gsst.c gtex.c gtexdl.c cpudtect.c $(HWSPEC) OFILES = $(CFILES:.c=.o) @@ -273,46 +278,30 @@ endif PREPROCESSOR=cpp %.o: %.s - $(PREPROCESSOR) $(PREPROCESSOR_FLAGS) $< > $*.tmp.s + $(PREPROCESSOR) $< > $*.tmp.s $(CC) $(AFLAGS) -c -o $@ $*.tmp.s $(RM) -f $*.tmp.s xdraw2.o : xdraw2.s xdraw2.inc.s fxgasm.h xdraw3.o : xdraw3.s fxgasm.h -cpudtect.o: cpudtect.s # 3DNow!(tm) dependencies # XXX_def.obj targets are the default targets - ifneq ($(GL_AMD3D),) -# I have to copy the build rule from above, because the _def/_3dnow -# causes the object file names not to match up with the source file names. -# And I need to selectively enable the 3DNow flags. - xdraw2_def.o: xdraw2.s xdraw2.inc.s fxgasm.h - $(PREPROCESSOR) $< > $*.tmp.s - $(CC) $(AFLAGS) -c -o $@ $*.tmp.s - $(RM) -f $*.tmp.s + $(CC) $(AFLAGS) -c -o $@ xdraw2.s xdraw2_3dnow.o: xdraw2.s xdraw2.inc.s fxgasm.h - $(PREPROCESSOR) -DGL_AMD3D -DUSE_PACKET_FIFO=1 $< > $*.tmp.s - $(CC) $(AFLAGS) -c -o $@ $*.tmp.s - $(RM) -f $*.tmp.s + $(CC) $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ xdraw2.s xdraw3_def.o: xdraw3.s fxgasm.h - $(PREPROCESSOR) $< > $*.tmp.s - $(CC) $(AFLAGS) -c -o $@ $*.tmp.s - $(RM) -f $*.tmp.s + $(CC) $(AFLAGS) -c -o $@ xdraw3.s xdraw3_3dnow.o: xdraw3.s fxgasm.h - $(PREPROCESSOR) -DGL_AMD3D -DUSE_PACKET_FIFO=1 $< > $*.tmp.s - $(CC) $(AFLAGS) -c -o $@ $*.tmp.s - $(RM) -f $*.tmp.s + $(CC) $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ xdraw3.s xtexdl_3dnow.o: xtexdl.s fxgasm.h - $(PREPROCESSOR) -DGL_AMD3D -DUSE_PACKET_FIFO=1 $< > $*.tmp.s - $(CC) $(AFLAGS) -c -o $@ $*.tmp.s - $(RM) -f $*.tmp.s + $(CC) $(AFLAGS) -DGL_AMD3D -DUSE_PACKET_FIFO=1 -c -o $@ xtexdl.s endif # GL_AMD3D debian/patches/z01-64bit-port0000644000000000000000000067566311201355434013107 0ustar Status: not-applied Index: b/glide3x/configure.in =================================================================== --- a/glide3x/configure.in +++ b/glide3x/configure.in @@ -174,7 +174,17 @@ GLIDE_SANITY_ALL=false GLIDE_SANITY_SIZE=false FX_DLL_BUILD=false FX_GLIDE_HW_CULL=false +# Here we define whether we use C versions of cpu detection and triangle setup FX_GLIDE_CTRISETUP=false +FX_GLIDE_C_CPU_DETECT=false +# Override based on architecture +if test "$FX_GLIDE_BUILD_ARCHITECTURE" = "alpha"; then +FX_GLIDE_CTRISETUP=true +FX_GLIDE_C_CPU_DETECT=true +fi +if test "$FX_GLIDE_BUILD_ARCHITECTURE" = "ia64"; then +FX_GLIDE_CTRISETUP=true +fi # Next, we read some configuration options # statically. This is to avoid creating a bunch of # not-terribly-useful --enable options. @@ -212,6 +222,8 @@ AM_CONDITIONAL(FX_GLIDE_HW_CULL,dnl test x$FX_GLIDE_HW_CULL = xtrue) AM_CONDITIONAL(FX_GLIDE_CTRISETUP,dnl test x$FX_GLIDE_CTRISETUP = xtrue) +AM_CONDITIONAL(FX_GLIDE_C_CPU_DETECT,dnl + test x$FX_GLIDE_C_CPU_DETECT = xtrue) AM_CONDITIONAL(FX_GLIDE_PACKET_FIFO,dnl test x$FX_GLIDE_PACKET_FIFO = xtrue) AM_CONDITIONAL(FX_GLIDE_VERTEX_TABLE,dnl Index: b/glide3x/h3/glide3/src/cpu_alpha.c =================================================================== --- /dev/null +++ b/glide3x/h3/glide3/src/cpu_alpha.c @@ -0,0 +1,21 @@ +#ifdef __alpha__ + +#include +#include + +#include <3dfx.h> +#include + +#define FX_DLL_DEFINITION +#include +#include +#include "fxglide.h" + +#define NOT_PENTIUM 4 /* see cpudetect.S */ + +extern FxI32 GR_CDECL +_cpu_detect_asm(void) +{ + return(NOT_PENTIUM); +} +#endif Index: b/glide3x/h3/glide3/src/cpudtect.S =================================================================== --- a/glide3x/h3/glide3/src/cpudtect.S +++ b/glide3x/h3/glide3/src/cpudtect.S @@ -48,7 +48,19 @@ /* 2 3/04/97 9:10p Dow */ /* Neutered mutiplatform multiheaded monster. */ +#ifdef __ia64__ + .align 32 + .global _cpu_detect_asm + .proc _cpu_detect_asm + +_cpu_detect_asm: + mov ret0=0 + br.ret.sptk.few b0 + + .end _cpu_detect_asm + +#else /* !__ia64__ */ .file "cpudtect.asm" @@ -324,3 +336,4 @@ double_precision_asm: .size double_precision_asm,.L_END_double_precision_asm-double_precision_asm .end +#endif Index: b/glide3x/h3/glide3/src/diget.c =================================================================== --- a/glide3x/h3/glide3/src/diget.c +++ b/glide3x/h3/glide3/src/diget.c @@ -615,10 +615,10 @@ GR_DIENTRY(grGet, FxU32, (FxU32 pname, F break; case GR_SURFACE_TEXTURE: - if (plength == 4) { + if (plength == sizeof(long)) { GR_DCL_GC; - *params = (FxU32) &gc->tBuffer; + *params = (AnyPtr) &gc->tBuffer; retVal = plength; } break; Index: b/glide3x/h3/glide3/src/disst.c =================================================================== --- a/glide3x/h3/glide3/src/disst.c +++ b/glide3x/h3/glide3/src/disst.c @@ -183,7 +183,7 @@ GR_DIENTRY(grSstSelect, void, ( int whic GrErrorCallback( "grSstSelect: non-existent SST", FXTRUE ); _GlideRoot.current_sst = which; - setThreadValue( (FxU32)&_GlideRoot.GCs[_GlideRoot.current_sst] ); + setThreadValue( (AnyPtr)&_GlideRoot.GCs[_GlideRoot.current_sst] ); #ifdef GLIDE_MULTIPLATFORM _GlideRoot.curGCFuncs = _GlideRoot.curGC->gcFuncs; Index: b/glide3x/h3/glide3/src/distrip.c =================================================================== --- a/glide3x/h3/glide3/src/distrip.c +++ b/glide3x/h3/glide3/src/distrip.c @@ -544,10 +544,10 @@ GR_DIENTRY(grDrawVertexArrayContiguous, else { void *b_ptr, *c_ptr; while ((int)Count >= 3) { - b_ptr = (void *)((FxU32)pointers + stride); - c_ptr = (void *)((FxU32)pointers + stride*2); + b_ptr = (void *)((AnyPtr)pointers + stride); + c_ptr = (void *)((AnyPtr)pointers + stride*2); TRISETUP(pointers, b_ptr, c_ptr); - pointers = (void *)((FxU32)c_ptr + stride); + pointers = (void *)((AnyPtr)c_ptr + stride); Count -= 3; } } Index: b/glide3x/h3/glide3/src/fifo.c =================================================================== --- a/glide3x/h3/glide3/src/fifo.c +++ b/glide3x/h3/glide3/src/fifo.c @@ -475,7 +475,7 @@ static const char * h3SstIORegNames[] = } ; -#define GEN_INDEX(a) ((((FxU32) a) - ((FxU32) gc->reg_ptr)) >> 2) +#define GEN_INDEX(a) ((((AnyPtr) a) - ((AnyPtr) gc->reg_ptr)) >> 2) void _grFifoWriteDebug(FxU32 addr, FxU32 val, FxU32 fifoPtr) @@ -833,7 +833,7 @@ _grCommandTransportMakeRoom(const FxI32 gc->contextP = 1; #endif if (gc->contextP) { - FxU32 wrapAddr = 0x00UL; + AnyPtr wrapAddr = 0x00UL; FxU32 checks; GR_ASSERT(blockSize > 0); @@ -879,11 +879,11 @@ _grCommandTransportMakeRoom(const FxI32 again: /* do we need to stall? */ { - FxU32 lastHwRead = gc->cmdTransportInfo.fifoRead; + AnyPtr lastHwRead = gc->cmdTransportInfo.fifoRead; FxI32 roomToReadPtr = gc->cmdTransportInfo.roomToReadPtr; while (roomToReadPtr < blockSize) { - FxU32 curReadPtr = HW_FIFO_PTR(FXTRUE); + AnyPtr curReadPtr = HW_FIFO_PTR(FXTRUE); FxU32 curReadDist = curReadPtr - lastHwRead; checks++; @@ -916,8 +916,8 @@ _grCommandTransportMakeRoom(const FxI32 checks = 0; } #endif /* GLIDE_DEBUG */ - GR_ASSERT((curReadPtr >= (FxU32)gc->cmdTransportInfo.fifoStart) && - (curReadPtr < (FxU32)gc->cmdTransportInfo.fifoEnd)); + GR_ASSERT((curReadPtr >= (AnyPtr)gc->cmdTransportInfo.fifoStart) && + (curReadPtr < (AnyPtr)gc->cmdTransportInfo.fifoEnd)); roomToReadPtr += curReadDist; @@ -929,8 +929,8 @@ _grCommandTransportMakeRoom(const FxI32 lastHwRead = curReadPtr; } - GR_ASSERT((lastHwRead >= (FxU32)gc->cmdTransportInfo.fifoStart) && - (lastHwRead < (FxU32)gc->cmdTransportInfo.fifoEnd)); + GR_ASSERT((lastHwRead >= (AnyPtr)gc->cmdTransportInfo.fifoStart) && + (lastHwRead < (AnyPtr)gc->cmdTransportInfo.fifoEnd)); /* Update cached copies */ gc->cmdTransportInfo.fifoRead = lastHwRead; @@ -973,7 +973,7 @@ _grCommandTransportMakeRoom(const FxI32 P6FENCE; - wrapAddr = (FxU32)gc->cmdTransportInfo.fifoPtr; + wrapAddr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; /* Update roomXXX fields for the actual wrap */ gc->cmdTransportInfo.roomToReadPtr -= gc->cmdTransportInfo.roomToEnd; @@ -1002,12 +1002,12 @@ _grCommandTransportMakeRoom(const FxI32 "\tfifoBlock: (0x%X : 0x%X)\n" "\tfifoRoom: (0x%X : 0x%X : 0x%X)\n" "\tfifo hw: (0x%X : 0x%X) : (0x%X : 0x%X : 0x%X)\n", - (((FxU32)gc->cmdTransportInfo.fifoPtr - (FxU32)gc->cmdTransportInfo.fifoStart) + - (FxU32)gc->cmdTransportInfo.fifoOffset), + (((AnyPtr)gc->cmdTransportInfo.fifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoStart) + + (AnyPtr)gc->cmdTransportInfo.fifoOffset), blockSize, gc->cmdTransportInfo.roomToReadPtr, gc->cmdTransportInfo.roomToEnd, gc->cmdTransportInfo.fifoRoom, - HW_FIFO_PTR(FXTRUE) - (FxU32)gc->rawLfb, gc->cmdTransportInfo.fifoRead, + HW_FIFO_PTR(FXTRUE) - (AnyPtr)gc->rawLfb, gc->cmdTransportInfo.fifoRead, GR_CAGP_GET(depth), GR_CAGP_GET(holeCount), GR_GET(hw->status)); FIFO_ASSERT(); @@ -1047,10 +1047,10 @@ _grH3FifoDump_Linear(const FxU32* const } -FxU32 +AnyPtr _grHwFifoPtr(FxBool ignored) { - FxU32 rVal = 0; + AnyPtr rVal = 0; FxU32 status, readPtrL1, readPtrL2; GR_DCL_GC; @@ -1069,7 +1069,7 @@ _grHwFifoPtr(FxBool ignored) #endif readPtrL2 = GET(gc->cRegs->cmdFifo0.readPtrL); } while (readPtrL1 != readPtrL2); - rVal = (((FxU32)gc->cmdTransportInfo.fifoStart) + + rVal = (((AnyPtr)gc->cmdTransportInfo.fifoStart) + readPtrL2 - (FxU32)gc->cmdTransportInfo.fifoOffset); } @@ -1172,8 +1172,24 @@ _reg_group_begin_internal_wax( FxU32 __r #endif /* USE_PACKET_FIFO */ #ifdef __linux__ + +#ifdef __alpha__ +unsigned char _fxget8( unsigned char *pval ) { + __asm__ __volatile__("mb": : :"memory"); + return( *pval ); +} +unsigned short _fxget16( unsigned short *pval ) { + __asm__ __volatile__("mb": : :"memory"); + return( *pval ); +} +unsigned int _fxget32( unsigned int *pval ) { + __asm__ __volatile__("mb": : :"memory"); + return( *pval ); +} +#endif /* __alpha__ */ + void -_grImportFifo(int fifoPtr, int fifoRead) { +_grImportFifo(AnyPtr fifoPtr, AnyPtr fifoRead) { struct cmdTransportInfo* gcFifo; FxU32 readPos; GR_DCL_GC; @@ -1191,13 +1207,13 @@ _grImportFifo(int fifoPtr, int fifoRead) gcFifo=&gc->cmdTransportInfo; readPos=readPos-gcFifo->fifoOffset; gcFifo->fifoPtr = gcFifo->fifoStart + (readPos>>2); - gcFifo->fifoRead = (FxU32)gcFifo->fifoPtr; + gcFifo->fifoRead = (AnyPtr)gcFifo->fifoPtr; #else gcFifo=&gc->cmdTransportInfo; gcFifo->fifoPtr = gc->rawLfb+(fifoPtr>>2); gcFifo->fifoRead = ((int)gc->rawLfb)+fifoRead; #endif - gcFifo->roomToReadPtr = gcFifo->fifoRead-((int)gcFifo->fifoPtr)-FIFO_END_ADJUST-sizeof(FxU32); + gcFifo->roomToReadPtr = gcFifo->fifoRead-((AnyPtr)gcFifo->fifoPtr)-FIFO_END_ADJUST-sizeof(FxU32); if (gcFifo->roomToReadPtr<0) gcFifo->roomToReadPtr+=gcFifo->fifoSize; gcFifo->roomToEnd = gcFifo->fifoSize - ((gcFifo->fifoPtr-gcFifo->fifoStart)<<2) - @@ -1210,12 +1226,12 @@ _grImportFifo(int fifoPtr, int fifoRead) } void -_grExportFifo(int *fifoPtr, int *fifoRead) { +_grExportFifo(FxU32 *fifoPtr, FxU32 *fifoRead) { struct cmdTransportInfo* gcFifo; GR_DCL_GC; gcFifo=&gc->cmdTransportInfo; *fifoPtr=(gcFifo->fifoPtr-gc->rawLfb)<<2; - *fifoRead=(gcFifo->fifoRead-(int)gc->rawLfb); + *fifoRead=(gcFifo->fifoRead-(AnyPtr)gc->rawLfb); } #endif Index: b/glide3x/h3/glide3/src/fxcmd.h =================================================================== --- a/glide3x/h3/glide3/src/fxcmd.h +++ b/glide3x/h3/glide3/src/fxcmd.h @@ -148,6 +148,12 @@ extern FxU32 _grGet32(volatile FxU32* const sstAddr); #endif /* USE_PACKET_FIFO */ +#ifdef __linux__ +void _grImportFifo(AnyPtr fifoPtr, AnyPtr fifoRead); +void _grExportFifo(FxU32 *fifoPtr, FxU32 *fifoRead); +void _grInvalidateAll(void); +#endif /* __linux__ */ + #if !USE_PACKET_FIFO /* NOTE: fifoFree is the number of entries, each is 8 bytes */ #define GR_CHECK_FOR_ROOM(n,p) \ @@ -182,7 +188,7 @@ do { \ /* NB: This should be used sparingly because it does a 'real' hw read * which is *SLOW*. */ -FxU32 _grHwFifoPtr(FxBool); +AnyPtr _grHwFifoPtr(FxBool); #define HW_FIFO_PTR(a) _grHwFifoPtr(a) #if FIFO_ASSERT_FULL @@ -193,7 +199,7 @@ FxU32 _grHwFifoPtr(FxBool); #else /* !FIFO_ASSERT_FULL */ #define FIFO_ASSERT() \ ASSERT_FAULT_IMMED((FxU32)gc->cmdTransportInfo.fifoRoom < gc->cmdTransportInfo.fifoSize); \ -ASSERT_FAULT_IMMED((FxU32)gc->cmdTransportInfo.fifoPtr < (FxU32)gc->cmdTransportInfo.fifoEnd) +ASSERT_FAULT_IMMED((AnyPtr)gc->cmdTransportInfo.fifoPtr < (AnyPtr)gc->cmdTransportInfo.fifoEnd) #endif /* !FIFO_ASSERT_FULL */ #if (GLIDE_PLATFORM & GLIDE_OS_WIN32) @@ -234,7 +240,7 @@ extern void _grBumpNGrind(void); #define GR_CHECK_FOR_ROOM(__n, __p) \ do { \ const FxU32 writeSize = (__n) + ((__p) * sizeof(FxU32)); /* Adjust for size of hdrs */ \ - ASSERT(((FxU32)(gc->cmdTransportInfo.fifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + ASSERT(((AnyPtr)(gc->cmdTransportInfo.fifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ ASSERT(writeSize < gc->cmdTransportInfo.fifoSize - sizeof(FxU32)); \ FIFO_ASSERT(); \ if (gc->cmdTransportInfo.fifoRoom < (FxI32)writeSize) { \ @@ -262,7 +268,7 @@ if (gc->cmdTransportInfo.autoBump) {\ } #define GR_SET_FIFO_PTR(__n, __p) \ - gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr; \ + gc->checkPtr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; \ gc->checkCounter = ((__n) + ((__p) << 2)) #else #define GR_CHECK_FIFO_PTR() @@ -274,7 +280,7 @@ if (gc->cmdTransportInfo.autoBump) {\ GDBG_ERROR("GR_ASSERT_SIZE","byte counter should be %d but is %d\n", \ gc->expected_counter,gc->counter); \ GR_CHECK_FIFO_PTR(); \ - gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr; \ + gc->checkPtr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; \ gc->checkCounter = 0; \ ASSERT(gc->counter == gc->expected_counter); \ gc->counter = gc->expected_counter = 0 @@ -649,7 +655,7 @@ do { GDBG_INFO(120, "REG_GROUP_SET:\n"); \ } \ GDBG_INFO(120, "\tFile: %s Line %d\n", __FILE__, __LINE__); \ - GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (FxU32) _regGroupFifoPtr - (FxU32)gc->rawLfb, __val);\ + GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (AnyPtr) _regGroupFifoPtr - (AnyPtr)gc->rawLfb, __val);\ SET_FIFO(*_regGroupFifoPtr++, (__val)); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) @@ -670,7 +676,7 @@ do { GDBG_INFO(120, "REG_GROUP_SET:\n"); \ } \ GDBG_INFO(120, "\tFile: %s Line %d\n", __FILE__, __LINE__); \ - GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (FxU32) _regGroupFifoPtr - (FxU32)gc->rawLfb, __val);\ + GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (AnyPtr) _regGroupFifoPtr - (AnyPtr)gc->rawLfb, __val);\ SET_FIFO(*_regGroupFifoPtr++, (__val)); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) @@ -686,7 +692,7 @@ do { \ } \ GDBG_INFO(220, "REG_GROUP_SET_WAX:\n");\ GDBG_INFO(220, "\tFile: %s Line %d\n", __FILE__, __LINE__);\ - GDBG_INFO(220, "\tfifoPtr: 0x%x, Val: 0x%x\n", (FxU32) _regGroupFifoPtr - (FxU32)gc->rawLfb, __val);\ + GDBG_INFO(220, "\tfifoPtr: 0x%x, Val: 0x%x\n", (AnyPtr) _regGroupFifoPtr - (AnyPtr)gc->rawLfb, __val);\ SET_FIFO(*_regGroupFifoPtr++, (__val)); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) @@ -716,8 +722,8 @@ do { \ #define REG_GROUP_END() \ ASSERT(_checkP); \ - ASSERT((((FxU32)_regGroupFifoPtr - (FxU32)gc->cmdTransportInfo.fifoPtr) >> 2) == _groupNum + 1); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)_regGroupFifoPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + ASSERT((((AnyPtr)_regGroupFifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr) >> 2) == _groupNum + 1); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)_regGroupFifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = (FxU32*)_regGroupFifoPtr; \ GDBG_INFO(gc->myLevel + 200, "\tGroupEnd: (0x%X : 0x%X)\n", \ gc->cmdTransportInfo.fifoPtr, gc->cmdTransportInfo.fifoRoom); \ @@ -730,7 +736,7 @@ do { \ if (gc->contextP) { \ FxU32* curFifoPtr = gc->cmdTransportInfo.fifoPtr; \ FXUNUSED(__base); \ - GR_ASSERT(((FxU32)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + GR_ASSERT(((AnyPtr)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ GR_CHECK_COMPATABILITY(FN_NAME, \ !gc->open, \ "Called before grSstWinOpen()"); \ @@ -773,7 +779,7 @@ do { \ if (gc->contextP) { \ FxU32* curFifoPtr = gc->cmdTransportInfo.fifoPtr; \ FXUNUSED(__base); \ - GR_ASSERT(((FxU32)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + GR_ASSERT(((AnyPtr)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ GR_CHECK_COMPATABILITY(FN_NAME, \ !gc->open, \ "Called before grSstWinOpen()"); \ @@ -943,27 +949,27 @@ _grH3FifoDump_Linear(const FxU32* const pCount++; \ GDBG_INFO(gc->myLevel + 200, "\t(0x%X) : V#: 0x%X - P#: 0x%X - ParamVal: (%f : 0x%X)\n", \ (FxU32)tPackPtr, \ - ((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ - (((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ + ((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ + (((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ (((__val) < 786432.875) ? (__val) : ((__val) - 786432.875)), \ (__floatVal)) #define SETF_DUMP(__val) \ pCount++; \ GDBG_INFO(gc->myLevel + 200, "\t(0x%X) : V#: 0x%X - P#: 0x%X - ParamVal: %f\n", \ (FxU32)tPackPtr, \ - ((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ - (((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ + ((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ + (((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ (((__val) < 786432.875) ? (__val) : ((__val) - 786432.875))) #define SET_DUMP(__val) \ pCount++; \ GDBG_INFO(gc->myLevel + 200, "\t(0x%X) : V#: 0x%X - P#: 0x%X - ParamVal: 0x%X\n", \ (FxU32)tPackPtr, \ - ((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ - (((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ + ((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ + (((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ (__val)) #define TRI_ASSERT() \ GR_ASSERT(pCount == (nVertex * (sVertex >> 2))); \ - ASSERT(((FxU32)tPackPtr - (FxU32)gc->cmdTransportInfo.fifoPtr) == (nVertex * sVertex) + sizeof(FxU32)) + ASSERT(((AnyPtr)tPackPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr) == (nVertex * sVertex) + sizeof(FxU32)) #else /* !GDBG_INFO_ON */ #define DEBUGFIFODUMP_TRI(__packetAddr) #define DEBUGFIFODUMP_LINEAR(__packetAddr) @@ -1028,7 +1034,7 @@ do { \ #define TRI_END \ TRI_ASSERT(); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)tPackPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)tPackPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = tPackPtr; \ GDBG_INFO(gc->myLevel + 200, "\tTriEnd: (0x%X : 0x%X)\n", tPackPtr, gc->cmdTransportInfo.fifoRoom); \ FIFO_ASSERT(); \ @@ -1047,12 +1053,12 @@ do { \ GR_CHECK_COMPATABILITY(FN_NAME, \ !gc->open, \ "Called before grSstWinOpen()"); \ - GR_ASSERT(((FxU32)(packetPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + GR_ASSERT(((AnyPtr)(packetPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ GR_ASSERT((__numWords) > 0); /* packet size */ \ GR_ASSERT((__numWords) < ((0x01 << 19) - 2)); \ GR_ASSERT((((FxU32)(__numWords) + 2) << 2) <= (FxU32)gc->cmdTransportInfo.fifoRoom); \ - GR_ASSERT(((FxU32)packetPtr + (((__numWords) + 2) << 2)) < \ - (FxU32)gc->cmdTransportInfo.fifoEnd); \ + GR_ASSERT(((AnyPtr)packetPtr + (((__numWords) + 2) << 2)) < \ + (AnyPtr)gc->cmdTransportInfo.fifoEnd); \ GR_ASSERT((hdr2 & 0xE0000000UL) == 0x00UL); \ GR_ASSERT(((__addr) & 0x03UL) == 0x00UL); \ FIFO_ASSERT(); \ @@ -1097,8 +1103,8 @@ do { \ #define FIFO_LINEAR_WRITE_END \ DEBUGFIFODUMP_LINEAR(gc->cmdTransportInfo.fifoPtr); \ - GR_ASSERT((((FxU32)packetPtr - (FxU32)gc->cmdTransportInfo.fifoPtr) >> 2) == __writeSize + 2); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)packetPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + GR_ASSERT((((AnyPtr)packetPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr) >> 2) == __writeSize + 2); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)packetPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = packetPtr; \ GDBG_INFO(gc->myLevel + 200, "\tLinearEnd: (0x%X : 0x%X)\n", \ packetPtr, gc->cmdTransportInfo.fifoRoom); \ @@ -1512,7 +1518,7 @@ GR_CHECK_SIZE() } \ else { \ FxU32 argb; \ - argb = *((FxU32 *)((int)_s + i)) & 0x00ffffff; \ + argb = *((FxU32 *)((long)_s + i)) & 0x00ffffff; \ TRI_SETF(*((float *)&argb)); \ dataElem++; \ i = gc->tsuDataList[dataElem]; \ Index: b/glide3x/h3/glide3/src/fxglide.h =================================================================== --- a/glide3x/h3/glide3/src/fxglide.h +++ b/glide3x/h3/glide3/src/fxglide.h @@ -1053,7 +1053,7 @@ typedef struct GrGC_s SET(*curFifoPtr++, *curPktData++); \ } \ GR_INC_SIZE((__writeCount) * sizeof(FxU32)); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)curFifoPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)curFifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = curFifoPtr; \ } \ GR_CHECK_SIZE(); \ @@ -1172,7 +1172,7 @@ typedef struct GrGC_s */ FxU32* fifoPtr; /* Current write pointer into fifo */ - FxU32 fifoRead; /* Last known hw read ptr. + AnyPtr fifoRead; /* Last known hw read ptr. * If on an sli enabled system this will be * the 'closest' hw read ptr of the sli * master and slave. @@ -1257,12 +1257,13 @@ typedef struct GrGC_s nBuffers, curBuffer, frontBuffer, - backBuffer, + backBuffer; + AnyPtr buffers[4], lfbBuffers[4]; /* Tile relative addresses of the color/aux * buffers for lfbReads. */ - FxU32 lockPtrs[2]; /* pointers to locked buffers */ + AnyPtr lockPtrs[2]; /* pointers to locked buffers */ FxU32 fbStride; struct { @@ -1297,7 +1298,7 @@ typedef struct GrGC_s FxI32 expected_counter; /* the number of bytes expected to be sent */ FxU32 checkCounter; - FxU32 checkPtr; + AnyPtr checkPtr; FxVideoTimingInfo* vidTimings;/* init code overrides */ @@ -1489,6 +1490,10 @@ extern GrGCFuncs _curGCFuncs; # define P6FENCE __eieio() #elif defined(__GNUC__) && defined(__i386__) #define P6FENCE asm("xchg %%eax, %0" : : "m" (_GlideRoot.p6Fencer) : "eax"); +#elif defined(__GNUC__) && defined(__ia64__) +#define P6FENCE asm volatile("mf.a" ::: "memory") +#elif defined(__GNUC__) && defined(__alpha__) +#define P6FENCE asm volatile("mb" ::: "memory") #else /* !defined ( P6FENCE ) */ # error "P6 Fencing code needs to be added for this compiler" #endif /* !defined ( P6FENCE ) */ @@ -1824,7 +1829,7 @@ getThreadValueFast() { #endif #ifdef __linux__ -extern FxU32 threadValueLinux; +extern AnyPtr threadValueLinux; #define getThreadValueFast() threadValueLinux #endif @@ -1839,9 +1844,9 @@ void initThreadStorage( void ); void -setThreadValue( FxU32 value ); +setThreadValue( AnyPtr value ); -FxU32 +AnyPtr getThreadValueSLOW( void ); void @@ -2189,7 +2194,7 @@ void i3(void); #define HW_TEX_PTR(__b) ((FxU32*)(((FxU32)(__b)) + HW_TEXTURE_OFFSET)) /* access a floating point array with a byte index */ -#define FARRAY(p,i) (*(float *)((i)+(int)(p))) +#define FARRAY(p,i) (*(float *)((i)+(long)(p))) #define ArraySize(__a) (sizeof(__a) / sizeof((__a)[0])) #if GDBG_INFO_ON Index: b/glide3x/h3/glide3/src/g3df.c =================================================================== --- a/glide3x/h3/glide3/src/g3df.c +++ b/glide3x/h3/glide3/src/g3df.c @@ -70,6 +70,7 @@ * Added GR_DIENTRY for di glide functions ** */ +#include #include #include #include Index: b/glide3x/h3/glide3/src/gaa.c =================================================================== --- a/glide3x/h3/glide3/src/gaa.c +++ b/glide3x/h3/glide3/src/gaa.c @@ -378,8 +378,8 @@ aaVpDrawArrayEdgeSense(float *a, float * } else { ia = gc->state.vData.pargbInfo.offset; - *((FxU32 *)&v1a)=*((FxU32 *)((int)a + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)b + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)a + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)b + ia))&0x00ffffff; } { @@ -577,7 +577,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, FxU32 ia; FxU32 i; FxU32 vsize; - FxI32 stride = mode; + FxI32 stride; FxU32 tmp_cullStripHdr; GDBG_INFO(94,"_grAADrawPoints(0x%x)\n",e); @@ -585,8 +585,10 @@ _grAADrawPoints(FxI32 mode, FxI32 count, GDBG_INFO_MORE(gc->myLevel, "(count = %d, pointers = 0x%x)\n", count, pointers); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); GR_FLUSH_STATE(); @@ -678,7 +680,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, FxU32 argb; if (i == ia) { - argb = *((FxU32 *)((int)e + i)) & 0x00ffffff; + argb = *((FxU32 *)((long)e + i)) & 0x00ffffff; TRI_SETF(*((float *)&argb)); } else { @@ -801,7 +803,7 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty FxU32 ia, vNum = 0; FxU32 vsize; FxU32 sCount; - FxI32 stride = mode; + FxI32 stride; FxU32 tmp_cullStripHdr; GDBG_INFO(95,"_grAADrawLineStrip(count = %d, pointers = 0x%x)\n", @@ -817,8 +819,11 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); + if (ltype == GR_LINES) sCount = count >> 1; /* line list */ else @@ -855,8 +860,8 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty ady = -ady; if (gc->state.vData.colorType != GR_FLOAT) { - *((FxU32 *)&v1a)=*((FxU32 *)((int)v1 + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)v2 + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)v1 + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)v2 + ia))&0x00ffffff; } if (adx >= ady) { /* X major line */ @@ -1062,8 +1067,8 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty ady = -ady; /* if (gc->state.vData.colorType != GR_FLOAT) { - *((FxU32 *)&v1a)=*((FxU32 *)((int)v1 + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)v2 + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)v1 + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)v2 + ia))&0x00ffffff; } */ @@ -1255,8 +1260,8 @@ aaDrawArrayEdgeSense(float *a, float *b, } else { ia = gc->state.vData.pargbInfo.offset; - *((FxU32 *)&v1a)=*((FxU32 *)((int)a + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)b + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)a + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)b + ia))&0x00ffffff; } { @@ -1332,7 +1337,7 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty float **lPtr = (float **)pointers; FxI32 tCount = 3; FxU32 fbzModeOld; /* Squirrel away current fbzMode */ - FxI32 stride = mode; + FxI32 stride; FxI32 xindex = (gc->state.vData.vertexInfo.offset >> 2); FxI32 yindex = xindex + 1; @@ -1349,8 +1354,10 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty /* gc->state.invalid |= fbzModeBIT; */ GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); /* backfaced or zero area */ while (tCount <= count) { @@ -1505,7 +1512,7 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t float **lPtr = (float **)pointers; FxI32 tCount = 3; FxU32 fbzModeOld; /* Squirrel away current fbzMode */ - FxI32 stride = mode; + FxI32 stride; FxI32 xindex = (gc->state.vData.vertexInfo.offset >> 2); FxI32 yindex = xindex + 1; @@ -1522,8 +1529,10 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t /* gc->state.invalid |= fbzModeBIT; */ GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); /* backfaced or zero area */ while (tCount <= count) { @@ -1687,7 +1696,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo float *v[3]; FxBool flip = FXFALSE; FxU32 fbzModeOld; /* Squirrel away current fbzMode */ - FxI32 stride = mode; + FxI32 stride; if (sCount <= 2) return; @@ -1698,8 +1707,10 @@ _grAADrawVertexList(FxU32 type, FxI32 mo gc->state.shadow.fbzMode &= ~(SST_ZAWRMASK); /* gc->state.invalid |= fbzModeBIT; */ GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); sCount-=2; if (type == kSetupFan) { Index: b/glide3x/h3/glide3/src/gdraw.c =================================================================== --- a/glide3x/h3/glide3/src/gdraw.c +++ b/glide3x/h3/glide3/src/gdraw.c @@ -232,14 +232,15 @@ GR_ENTRY(grDrawPoint, void, (const void GR_ENTRY(grDrawLine, void, (const void *a, const void *b)) { + const void *vertices[2] = {a, b}; #define FN_NAME "grDrawLine" GR_BEGIN_NOFIFOCHECK(FN_NAME, 91); GDBG_INFO_MORE(gc->myLevel, "(a = 0x%x, b = 0x%x)\n", a, b); if (gc->state.grEnableArgs.primitive_smooth_mode & GR_AA_ORDERED_LINES_MASK) - _grAADrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, (void *)&a); + _grAADrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, vertices); else - _grDrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, (void *)&a); + _grDrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, vertices); #undef FN_NAME } /* grDrawLine */ @@ -323,7 +324,7 @@ GR_ENTRY(grDrawTriangle, void, (const vo GR_INC_SIZE(sizeof(FxU32)) #define DA_END \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)packetPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)packetPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = packetPtr; \ FIFO_ASSERT(); \ } @@ -348,7 +349,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v * except the data set up is from the pointer array and * its data layout */ - FxI32 stride = mode; + FxI32 stride; /* we snap to an integer by adding a large enough number that it * shoves all fraction bits off the right side of the mantissa. @@ -382,8 +383,10 @@ _grDrawPoints(FxI32 mode, FxI32 count, v */ #define POINTS_BUFFER 100 - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); if (gc->state.grCoordinateSpaceArgs.coordinate_space_mode == GR_WINDOW_COORDS) { while (count > 0) { @@ -573,7 +576,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype int j; FxI32 sCount; FxU32 vertexParamOffset; - FxI32 stride = mode; + FxI32 stride; #define DX gc->pool.ftemp1 #define ADY gc->pool.ftemp2 @@ -589,8 +592,11 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype #define LINES_BUFFER 100 - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); + if (ltype == GR_LINES) sCount = count >> 1; /* line list */ else @@ -618,16 +624,16 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype ** compute absolute deltas and draw from low Y to high Y */ ADY = FARRAY(b, gc->state.vData.vertexInfo.offset+4) - FARRAY(a, gc->state.vData.vertexInfo.offset+4); - i = *(long *)&ADY; + i = *(int *)&ADY; if (i < 0) { float *tv; tv = a; a = b; b = tv; i ^= 0x80000000; /* ady = -ady; */ - (*(long *)&ADY) = i; + (*(int *)&ADY) = i; } DX = FARRAY(b, gc->state.vData.vertexInfo.offset) - FARRAY(a, gc->state.vData.vertexInfo.offset); - j = *(long *)&DX; + j = *(int *)&DX; if (j < 0) { j ^= 0x80000000; /* adx = -adx; */ } @@ -797,7 +803,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype ** compute absolute deltas and draw from low Y to high Y */ ADY = tmp2 - tmp1; - i = *(long *)&ADY; + i = *(int *)&ADY; if (i < 0) { float *tv; owa = oowb; owb = oowa; @@ -805,7 +811,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype fby = tmp1; tv = a; a = b; b = tv; i ^= 0x80000000; /* ady = -ady; */ - (*(long *)&ADY) = i; + (*(int *)&ADY) = i; } fax = FARRAY(a, gc->state.vData.vertexInfo.offset) *owa*gc->state.Viewport.hwidth+gc->state.Viewport.ox; @@ -813,7 +819,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype *owb*gc->state.Viewport.hwidth+gc->state.Viewport.ox; DX = fbx - fax; - j = *(long *)&DX; + j = *(int *)&DX; if (j < 0) { j ^= 0x80000000; /* adx = -adx; */ } @@ -901,7 +907,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI vSize, #endif k; - FxI32 stride = mode; + FxI32 stride; float *vPtr; GR_BEGIN_NOFIFOCHECK(FN_NAME, 90); @@ -917,8 +923,10 @@ _grDrawTriangles_Default(FxI32 mode, FxI GDBG_INFO(110, "%s: paramMask = 0x%x\n", FN_NAME, gc->cmdTransportInfo.paramMask); #endif - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); gc->stats.trisProcessed+=(count/3); Index: b/glide3x/h3/glide3/src/gerror.c =================================================================== --- a/glide3x/h3/glide3/src/gerror.c +++ b/glide3x/h3/glide3/src/gerror.c @@ -280,7 +280,7 @@ _grAssert(char *exp, char *fileName, int gdbg_printf("Command Fifo:\n"); gdbg_printf("\tSoftware:\n"); - gdbg_printf("\t\tfifoPtr: 0x%X\n", (FxU32)gc->cmdTransportInfo.fifoPtr - (FxU32) gc->rawLfb); + gdbg_printf("\t\tfifoPtr: 0x%X\n", (AnyPtr)gc->cmdTransportInfo.fifoPtr - (AnyPtr) gc->rawLfb); gdbg_printf("\t\tfifoOffset: 0x%X\n", gc->cmdTransportInfo.fifoOffset); gdbg_printf("\t\tfifoEnd: 0x%X\n", gc->cmdTransportInfo.fifoEnd - gc->rawLfb); gdbg_printf("\t\tfifoSize: 0x%X\n", gc->cmdTransportInfo.fifoSize); @@ -290,7 +290,7 @@ _grAssert(char *exp, char *fileName, int if ( !gc->windowed ) { gdbg_printf("\tHardware:\n"); - gdbg_printf("\t\treadPtrL: 0x%X\n", HW_FIFO_PTR(FXTRUE) - (FxU32)gc->rawLfb); + gdbg_printf("\t\treadPtrL: 0x%X\n", HW_FIFO_PTR(FXTRUE) - (AnyPtr)gc->rawLfb); gdbg_printf("\t\tdepth: 0x%X\n", GR_CAGP_GET(depth)); gdbg_printf("\t\tholeCount: 0x%X\n", GR_CAGP_GET(holeCount)); gdbg_printf("\t\tbaseAddrL: 0x%X\n", GR_CAGP_GET(baseAddrL)); Index: b/glide3x/h3/glide3/src/gglide.c.dri =================================================================== --- a/glide3x/h3/glide3/src/gglide.c.dri +++ b/glide3x/h3/glide3/src/gglide.c.dri @@ -1091,8 +1091,8 @@ GR_ENTRY(grBufferSwap, void, (FxU32 swap for ( i = 0; i < MAX_BUFF_PENDING && j == -1; i++) { if (gc->bufferSwaps[i] == 0xffffffff) { gc->bufferSwaps[i] = - (FxU32) gc->cmdTransportInfo.fifoPtr - - (FxU32) gc->cmdTransportInfo.fifoStart; + (AnyPtr) gc->cmdTransportInfo.fifoPtr - + (AnyPtr) gc->cmdTransportInfo.fifoStart; j = i; } } @@ -1193,8 +1193,8 @@ GR_ENTRY(grDRIBufferSwap, void, (FxU32 s for ( i = 0; i < MAX_BUFF_PENDING && j == -1; i++) { if (gc->bufferSwaps[i] == 0xffffffff) { gc->bufferSwaps[i] = - (FxU32) gc->cmdTransportInfo.fifoPtr - - (FxU32) gc->cmdTransportInfo.fifoStart; + (AnyPtr) gc->cmdTransportInfo.fifoPtr - + (AnyPtr) gc->cmdTransportInfo.fifoStart; j = i; } } @@ -1236,7 +1236,7 @@ GR_ENTRY(grDRIBufferSwap, void, (FxU32 s REG_GROUP_SET_WAX(hw, srcXY, x | ((driInfo.y+(y-driInfo.y))<<16)); REG_GROUP_SET_WAX(hw, dstSize, (w&0x1FFF)|((h&0x1FFF)<<16)); REG_GROUP_SET_WAX(hw, dstXY, (x&0x1FFF) | ((y&0x1FFF)<<16)); - REG_GROUP_SET_WAX(hw, command, (0xCC<<24) | 0x1 | BIT(8)); + REG_GROUP_SET_WAX(hw, command, (0xCCu<<24) | 0x1 | BIT(8)); REG_GROUP_END(); } while (cnt); @@ -2168,7 +2168,7 @@ GR_ENTRY(grGlideShutdown, void, (void)) * continuing so that any internal glide calls have a valid * gc from tls via GR_DCL_GC. F*ck this up at your own peril. */ - setThreadValue((FxU32)gc); + setThreadValue((AnyPtr)gc); #if (GLIDE_PLATFORM & GLIDE_OS_WIN32) /* Flush any remaining commands and cleanup any per gc state */ grSurfaceReleaseContext((GrContext_t)gc); Index: b/glide3x/h3/glide3/src/glfb.c.dri =================================================================== --- a/glide3x/h3/glide3/src/glfb.c.dri +++ b/glide3x/h3/glide3/src/glfb.c.dri @@ -712,7 +712,7 @@ _grLfbWriteRegion(FxBool pixPipelineP, case GR_LFB_SRC_FMT_ZA16: dstData = (FxU32*)(((FxU16*)dstData) + dst_x); length = src_width * 2; - aligned = !((int)dstData&0x2); + aligned = !((long)dstData&0x2); srcJump = src_stride - length; dstJump = info.strideInBytes - length; if (aligned) { @@ -917,7 +917,7 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf length = src_width * 2; dstJump = dst_stride - length; srcJump = info.strideInBytes - length; - aligned = !((int)srcData&0x2); + aligned = !((long)srcData&0x2); odd = (src_y+src_height) & 0x1; if (aligned) { Index: b/glide3x/h3/glide3/src/glide.h =================================================================== --- a/glide3x/h3/glide3/src/glide.h +++ b/glide3x/h3/glide3/src/glide.h @@ -56,7 +56,7 @@ typedef FxU32 GrMipMapId_t; typedef FxU32 GrStipplePattern_t; #endif /* __linux__ */ typedef FxU8 GrFog_t; -typedef FxU32 GrContext_t; +typedef AnyPtr GrContext_t; typedef int (FX_CALL *GrProc)(); /* Index: b/glide3x/h3/glide3/src/gpci.c =================================================================== --- a/glide3x/h3/glide3/src/gpci.c +++ b/glide3x/h3/glide3/src/gpci.c @@ -421,14 +421,14 @@ static GrTriSetupProc _triSetupProcs[][2 { /* Window coords */ { - { _trisetup_null, _trisetup_null }, - { _trisetup_null, _trisetup_null }, + { (GrTriSetupProc) _trisetup_null, (GrTriSetupProc) _trisetup_null }, + { (GrTriSetupProc) _trisetup_null, (GrTriSetupProc) _trisetup_null }, }, /* Clip coordinates */ { - { _trisetup_null, _trisetup_null }, - { _trisetup_null, _trisetup_null }, + { (GrTriSetupProc) _trisetup_null, (GrTriSetupProc) _trisetup_null }, + { (GrTriSetupProc) _trisetup_null, (GrTriSetupProc) _trisetup_null }, }, }, }; @@ -1027,7 +1027,7 @@ DllMain(HANDLE hInst, ULONG ul_reason_f GR_DCL_GC; /* If there is no current gc in tls then set the current context. */ - if (gc == NULL) setThreadValue((FxU32)&_GlideRoot.GCs[_GlideRoot.current_sst]); + if (gc == NULL) setThreadValue((AnyPtr)&_GlideRoot.GCs[_GlideRoot.current_sst]); } break; case DLL_THREAD_DETACH: Index: b/glide3x/h3/glide3/src/gsst.c.dri =================================================================== --- a/glide3x/h3/glide3/src/gsst.c.dri +++ b/glide3x/h3/glide3/src/gsst.c.dri @@ -756,8 +756,8 @@ initGC ( GrGC *gc ) gc->bufferSwaps[t] = 0xffffffff; } - gc->bufferSwaps[0] = ((FxU32) gc->cmdTransportInfo.fifoPtr - - (FxU32) gc->cmdTransportInfo.fifoStart); + gc->bufferSwaps[0] = ((AnyPtr) gc->cmdTransportInfo.fifoPtr - + (AnyPtr) gc->cmdTransportInfo.fifoStart); gc->swapsPending = 1; @@ -946,7 +946,7 @@ GR_ENTRY(grSstWinOpen, GrContext_t, ( Fx * current gc. This gc is valid for all threads in the fullscreen * context. */ - setThreadValue( (FxU32)&_GlideRoot.GCs[_GlideRoot.current_sst] ); + setThreadValue( (AnyPtr)&_GlideRoot.GCs[_GlideRoot.current_sst] ); { /* Partial Argument Validation */ @@ -1076,12 +1076,12 @@ GR_ENTRY(grSstWinOpen, GrContext_t, ( Fx for (buffer = 0; buffer < nColBuffers; buffer++) { gc->buffers[buffer] = bufInfo->colBuffStart[buffer]; GDBG_INFO(80, "Buffer %d: Start: 0x%x\n", buffer, gc->buffers[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr[buffer]; } if (nAuxBuffers != 0) { gc->buffers[buffer] = bufInfo->auxBuffStart; GDBG_INFO(80, "Aux Buffer: Start: 0x%x\n", gc->buffers[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr[buffer]; } vInfo->hWnd = gc->grHwnd; @@ -1190,7 +1190,7 @@ GR_ENTRY(grSstWinOpen, GrContext_t, ( Fx gc->tBuffer.bufBPP = 0xffffffff; /* Don't matter to me */ GDBG_INFO(1, "autoBump: 0x%x\n", _GlideRoot.environment.autoBump); - if ((gc->cmdTransportInfo.autoBump = _GlideRoot.environment.autoBump)) { + if ((gc->cmdTransportInfo.autoBump = _GlideRoot.environment.autoBump)!=0) { if (!hwcInitFifo( bInfo, gc->cmdTransportInfo.autoBump)) { hwcRestoreVideo(bInfo); GrErrorCallback(hwcGetErrorString(), FXFALSE); @@ -1226,7 +1226,7 @@ GR_ENTRY(grSstWinOpen, GrContext_t, ( Fx gc->tmu_state[0].total_mem = gc->tramSize; #else /* gc->fbOffset = (FxU32)fxHalFbiGetMemory((SstRegs*)gc->reg_ptr); */ - gc->fbOffset = (FxU32)gc->rawLfb; + gc->fbOffset = (AnyPtr)gc->rawLfb; gc->tmuMemInfo[0].tramOffset = 0x200000; gc->tmuMemInfo[0].tramSize = 0x200000; gc->tmuMemInfo[1].tramOffset = gc->tmuMemInfo[0].tramSize + gc->tmuMemInfo[0].tramOffset; @@ -1440,7 +1440,7 @@ GR_ENTRY(grSstWinOpen, GrContext_t, ( Fx gcFifo->fifoPtr ); #ifdef __linux__ - _grImportFifo(*driInfo.fifoPtr, *driInfo.fifoRead); + _grImportFifo((AnyPtr)*driInfo.fifoPtr, (AnyPtr)*driInfo.fifoRead); #endif /* The hw is now in a usable state from the fifo macros. @@ -1591,7 +1591,7 @@ GR_ENTRY(grSstWinClose, FxBool, (GrConte * the tls gc explicitly otherwise other whacky-ness (read 'random * crashes' will ensue). */ - setThreadValue((FxU32)gc); + setThreadValue((AnyPtr)gc); if ((gc != NULL) && gc->open) grFlush(); /* Make sure that the user specified gc is not whacked */ @@ -1856,8 +1856,8 @@ GR_ENTRY(grFlush, void, (void)) if ( gc->windowed ) { #ifdef GLIDE_INIT_HWC GDBG_INFO(gc->myLevel + 200, FN_NAME": cmdSize(0x%X)\n", - ((FxU32)gc->cmdTransportInfo.fifoPtr - - (FxU32)gc->cmdTransportInfo.hwcFifoInfo.cmdBuf.baseAddr)); + ((AnyPtr)gc->cmdTransportInfo.fifoPtr - + (AnyPtr)gc->cmdTransportInfo.hwcFifoInfo.cmdBuf.baseAddr)); #endif _FifoFlush(); } else if (!gc->cmdTransportInfo.autoBump) { Index: b/glide3x/h3/glide3/src/gstrip.c =================================================================== --- a/glide3x/h3/glide3/src/gstrip.c +++ b/glide3x/h3/glide3/src/gstrip.c @@ -149,7 +149,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty ** simplified code */ FxU32 vSize; - FxI32 stride = mode; + FxI32 stride; GR_BEGIN_NOFIFOCHECK(FN_NAME, 90); @@ -159,8 +159,10 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty GR_FLUSH_STATE(); vSize = gc->state.vData.vSize; - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof (float *) / sizeof (float); /* Draw the first (or possibly only) set. This is necessary because the packet is 3_BDDDDDD, and in the next set, the packet is Index: b/glide3x/h3/glide3/src/gtexdl.c =================================================================== --- a/glide3x/h3/glide3/src/gtexdl.c +++ b/glide3x/h3/glide3/src/gtexdl.c @@ -417,7 +417,7 @@ GR_DDFUNC(_grTexDownloadPalette, while(i < start + slopCount) { FxU32 entry; - entry = (0x80000000 | ((i & 0xFE) << 23) | pal->data[i] & 0xFFFFFF); + entry = (0x80000000 | ((i & 0xFE) << 23) | (pal->data[i] & 0xFFFFFF)); gc->state.shadow.paletteRow[i>>3].data[i&7] = entry; REG_GROUP_SET(hw, nccTable0[4 + (i & 0x07)], entry ); @@ -435,7 +435,7 @@ GR_DDFUNC(_grTexDownloadPalette, while(i < endIndex) { FxU32 entry; - entry = (0x80000000 | ((i & 0xFE) << 23) | pal->data[i] & 0xFFFFFF); + entry = (0x80000000 | ((i & 0xFE) << 23) | (pal->data[i] & 0xFFFFFF)); gc->state.shadow.paletteRow[i>>3].data[i&7] = entry; REG_GROUP_SET(hw, nccTable0[4 + (i & 0x07)], entry ); @@ -454,7 +454,7 @@ GR_DDFUNC(_grTexDownloadPalette, while(i <= end) { FxU32 entry; - entry = (0x80000000 | ((i & 0xFE) << 23) | pal->data[i] & 0xFFFFFF); + entry = (0x80000000 | ((i & 0xFE) << 23) | (pal->data[i] & 0xFFFFFF)); gc->state.shadow.paletteRow[i>>3].data[i&7] = entry; REG_GROUP_SET(hw, nccTable0[4 + (i & 0x07)], entry ); Index: b/glide3x/h3/glide3/src/gthread.c =================================================================== --- a/glide3x/h3/glide3/src/gthread.c +++ b/glide3x/h3/glide3/src/gthread.c @@ -63,13 +63,13 @@ initThreadStorage( void ) } /* initThreadStorage */ -void setThreadValue( FxU32 value ) { +void setThreadValue( AnyPtr value ) { GR_CHECK_F( "setThreadValue", !threadInit, "Thread storage not initialized\n" ); TlsSetValue( _GlideRoot.tlsIndex, (void*)value ); } #pragma warning (4:4035) /* No return value */ -FxU32 getThreadValueSLOW( void ) { +AnyPtr getThreadValueSLOW( void ) { GR_CHECK_F( "getThreadValue", !threadInit, "Thread storage not initialized\n" ); #if 0 @@ -116,18 +116,18 @@ void endCriticalSection( void ) { #include "fxglide.h" #include "fxcmd.h" -FxU32 _threadValueMacOS; +AnyPtr _threadValueMacOS; void initThreadStorage(void) { } -void setThreadValue( FxU32 value ) +void setThreadValue( AnyPtr value ) { _threadValueMacOS = value; } -FxU32 getThreadValueSLOW( void ) +AnyPtr getThreadValueSLOW( void ) { return _threadValueMacOS; } @@ -157,18 +157,18 @@ void endCriticalSection(void) #include "fxglide.h" #include "fxcmd.h" -FxU32 threadValueLinux; +AnyPtr threadValueLinux; void initThreadStorage(void) { } -void setThreadValue( FxU32 value ) +void setThreadValue( AnyPtr value ) { threadValueLinux = value; } -FxU32 getThreadValueSLOW( void ) +AnyPtr getThreadValueSLOW( void ) { return threadValueLinux; } Index: b/glide3x/h3/glide3/src/xdraw2.inc.S =================================================================== --- a/glide3x/h3/glide3/src/xdraw2.inc.S +++ b/glide3x/h3/glide3/src/xdraw2.inc.S @@ -249,7 +249,7 @@ LOCAL(nocull): push %edi /* save caller's register variable */ push %esi /* save caller's register variable */ - mov _gc-8(%esp) , gc /* gc on stack (NOT!!! in edx) from caller */ + mov %edx , gc /* gc in edx from caller */ push %ebx /* save caller's register variable */ push %ebp /* save frame pointer */ Index: b/glide3x/h3/glide3/src/xtexdl_def.c =================================================================== --- a/glide3x/h3/glide3/src/xtexdl_def.c +++ b/glide3x/h3/glide3/src/xtexdl_def.c @@ -216,7 +216,7 @@ _grTexDownload_Default_8_4(struct GrGC_s const FxU32 t0 = *(const FxU32*)src8; GDBG_INFO(195, "s = %d, t= %d, address = 0x%x\n", s, t, - (FxU32) tex_address - (FxU32) gc->tex_ptr + 0x200000); + (AnyPtr) tex_address - (AnyPtr) gc->tex_ptr + 0x200000); LINEAR_WRITE_SET_8(tex_address, t0); @@ -254,7 +254,7 @@ _grTexDownload_Default_8_WideS(struct Gr t1 = *(const FxU32*)(src8 + 4); GDBG_INFO(195, "s = %d, t= %d, address = 0x%x\n", s, t, - (FxU32) tex_address - (FxU32) gc->tex_ptr + 0x200000); + (AnyPtr) tex_address - (AnyPtr) gc->tex_ptr + 0x200000); LINEAR_WRITE_SET_8(tex_address + 0, t0); LINEAR_WRITE_SET_8(tex_address + 4, t1); @@ -354,7 +354,7 @@ _grTexDownload_Default_16_WideS(struct G const FxU32 t1 = *(const FxU32*)(src16 + 2); GDBG_INFO(195, "s = %d, t= %d, address = 0x%x\n", s, t, - (FxU32) tex_address - (FxU32) gc->tex_ptr + 0x200000); + (AnyPtr) tex_address - (AnyPtr) gc->tex_ptr + 0x200000); LINEAR_WRITE_SET_16(tex_address + 0, t0); LINEAR_WRITE_SET_16(tex_address + 4, t1); Index: b/glide3x/h3/incsrc/fxhal.h =================================================================== --- a/glide3x/h3/incsrc/fxhal.h +++ b/glide3x/h3/incsrc/fxhal.h @@ -147,9 +147,18 @@ fxHalInitVideoOverlaySurface( extern int DRIlock; // Here are the macro defines for talking to hardware +#ifdef __alpha__ +extern unsigned char _fxget8(unsigned char *); +extern unsigned short _fxget16(unsigned short *); +extern unsigned int _fxget32(unsigned int *); + #define GET8(s) _fxget8((unsigned byte *)&s); + #define GET16(s) _fxget16((unsigned short *)&s); + #define GET(s) _fxget32((unsigned int *)&s); +#else #define GET8(s) s #define GET16(s) s #define GET(s) s +#endif #define SET8(d,s) d = s #define SET16(d,s) d = s #define SET(d,s) d = s Index: b/glide3x/h3/incsrc/h3defs.h =================================================================== --- a/glide3x/h3/incsrc/h3defs.h +++ b/glide3x/h3/incsrc/h3defs.h @@ -56,11 +56,21 @@ // this crazy macro tests the sign bit of a float by loading it into // an integer register and then testing the sign bit of the integer +#if defined(__LP64__) +/* On IA-64, it's faster to do this the obvious way... -davidm 00/08/09 */ +#define FLOAT_ISNEG(f) ((f) < 0.0) +#else #define FLOAT_ISNEG(f) ((*(int *)(&(f))) < 0) +#endif // these crazy macros returns the sign of a number (1 if >= 0; -1 if < 0) +#if defined(__LP64__) +#define ISIGN(x) ((x) >= 0 ? 1 : -1) +#define FSIGN(f) ((f) >= 0.0 ? 1 : -1) +#else #define ISIGN(x) (((x) | 0x40000000L) >> 30) #define FSIGN(f) ISIGN(*(long *)&f) +#endif #define BIT(n) (1UL<<(n)) #define SST_MASK(n) (0xFFFFFFFFL >> (32-(n))) @@ -1257,9 +1267,9 @@ //----------------- useful addressing macros ----------------------- // return pointer to SST at specified WRAP, CHIP, or TREX -#define SST_WRAP(sst,n) ((SstRegs *)((n)*0x4000+(FxI32)(sst))) -#define SST_CHIP(sst,n) ((SstRegs *)((n)*0x400+(FxI32)(sst))) -#define SST_TMU(sst,n) ((SstRegs *)((0x800<<(n))+(FxI32)(sst))) +#define SST_WRAP(sst,n) ((SstRegs *)((n)*0x4000+(AnyPtr)(sst))) +#define SST_CHIP(sst,n) ((SstRegs *)((n)*0x400+(AnyPtr)(sst))) +#define SST_TMU(sst,n) ((SstRegs *)((0x800<<(n))+(AnyPtr)(sst))) #define SST_TREX(sst,n) SST_TMU(sst,n) // offsets from the base of memBaseAddr0 @@ -1304,7 +1314,7 @@ #define SST_IS_REGISTER_ADDR(a) ( (a) >= SST_IO_OFFSET && (a) < SST_TEX_OFFSET ) -#define SST_BASE_ADDRESS(sst) ((FxI32)(sst)-SST_3D_OFFSET) +#define SST_BASE_ADDRESS(sst) ((AnyPtr)(sst)-SST_3D_OFFSET) #define SST_IO_ADDRESS(sst) (SST_IO_OFFSET+SST_BASE_ADDRESS(sst)) #define SST_CMDAGP_ADDRESS(sst) (SST_CMDAGP_OFFSET+SST_BASE_ADDRESS(sst)) #define SST_GUI_ADDRESS(sst) (SST_2D_OFFSET+SST_BASE_ADDRESS(sst)) Index: b/glide3x/h3/incsrc/h3regs.h =================================================================== --- a/glide3x/h3/incsrc/h3regs.h +++ b/glide3x/h3/incsrc/h3regs.h @@ -208,11 +208,19 @@ typedef volatile struct sstgregs { #ifndef _H2INC // STB End changes +#if defined(__alpha__) || defined(__LP64__) +typedef unsigned int Reg32u; +typedef int Reg32; +#else +typedef unsigned long Reg32u; +typedef long Reg32; +#endif + //----------------- SST chip 3D layout ------------------------- // registers are in groups of 8 for easy decode typedef struct vertex_Rec { - unsigned long x; // 12.4 format - unsigned long y; // 12.4 + Reg32u x; // 12.4 format + Reg32u y; // 12.4 } vtxRec; typedef volatile struct sstregs { // THE 3D CHIP @@ -223,118 +231,118 @@ typedef volatile struct sstregs { vtxRec vB; vtxRec vC; - long r; // 12.12 Parameters - long g; // 12.12 - long b; // 12.12 - long z; // 20.12 - long a; // 12.12 - long s; // 14.18 - long t; // 14.18 - long w; // 2.30 - - long drdx; // X Gradients - long dgdx; - long dbdx; - long dzdx; - long dadx; - long dsdx; - long dtdx; - long dwdx; - - long drdy; // Y Gradients - long dgdy; - long dbdy; - long dzdy; - long dady; - long dsdy; - long dtdy; - long dwdy; + Reg32 r; // 12.12 Parameters + Reg32 g; // 12.12 + Reg32 b; // 12.12 + Reg32 z; // 20.12 + Reg32 a; // 12.12 + Reg32 s; // 14.18 + Reg32 t; // 14.18 + Reg32 w; // 2.30 + + Reg32 drdx; // X Gradients + Reg32 dgdx; + Reg32 dbdx; + Reg32 dzdx; + Reg32 dadx; + Reg32 dsdx; + Reg32 dtdx; + Reg32 dwdx; + + Reg32 drdy; // Y Gradients + Reg32 dgdy; + Reg32 dbdy; + Reg32 dzdy; + Reg32 dady; + Reg32 dsdy; + Reg32 dtdy; + Reg32 dwdy; - unsigned long triangleCMD; // execute a triangle command (float) - unsigned long reservedA; + Reg32u triangleCMD; // execute a triangle command (float) + Reg32u reservedA; vtxRec FvA; // floating point version vtxRec FvB; vtxRec FvC; - long Fr; // floating point version - long Fg; - long Fb; - long Fz; - long Fa; - long Fs; - long Ft; - long Fw; - - long Fdrdx; - long Fdgdx; - long Fdbdx; - long Fdzdx; - long Fdadx; - long Fdsdx; - long Fdtdx; - long Fdwdx; - - long Fdrdy; - long Fdgdy; - long Fdbdy; - long Fdzdy; - long Fdady; - long Fdsdy; - long Fdtdy; - long Fdwdy; - - unsigned long FtriangleCMD; // execute a triangle command - unsigned long fbzColorPath; // color select and combine - unsigned long fogMode; // fog Mode - unsigned long alphaMode; // alpha Mode - unsigned long fbzMode; // framebuffer and Z mode - unsigned long lfbMode; // linear framebuffer Mode - unsigned long clipLeftRight; // (6)10(6)10 - unsigned long clipBottomTop; // (6)10(6)10 - - unsigned long nopCMD; // execute a nop command - unsigned long fastfillCMD; // execute a fast fill command - unsigned long swapbufferCMD;// execute a swapbuffer command - unsigned long fogColor; // (8)888 - unsigned long zaColor; // 8(8)16 - unsigned long chromaKey; // (8)888 - unsigned long chromaRange; - unsigned long userIntrCmd; - - unsigned long stipple; // 32 bits, MSB masks pixels - unsigned long c0; // 8.8.8.8 (ARGB) - unsigned long c1; // 8.8.8.8 (ARGB) + Reg32 Fr; // floating point version + Reg32 Fg; + Reg32 Fb; + Reg32 Fz; + Reg32 Fa; + Reg32 Fs; + Reg32 Ft; + Reg32 Fw; + + Reg32 Fdrdx; + Reg32 Fdgdx; + Reg32 Fdbdx; + Reg32 Fdzdx; + Reg32 Fdadx; + Reg32 Fdsdx; + Reg32 Fdtdx; + Reg32 Fdwdx; + + Reg32 Fdrdy; + Reg32 Fdgdy; + Reg32 Fdbdy; + Reg32 Fdzdy; + Reg32 Fdady; + Reg32 Fdsdy; + Reg32 Fdtdy; + Reg32 Fdwdy; + + Reg32u FtriangleCMD; // execute a triangle command + Reg32u fbzColorPath; // color select and combine + Reg32u fogMode; // fog Mode + Reg32u alphaMode; // alpha Mode + Reg32u fbzMode; // framebuffer and Z mode + Reg32u lfbMode; // linear framebuffer Mode + Reg32u clipLeftRight; // (6)10(6)10 + Reg32u clipBottomTop; // (6)10(6)10 + + Reg32u nopCMD; // execute a nop command + Reg32u fastfillCMD; // execute a fast fill command + Reg32u swapbufferCMD;// execute a swapbuffer command + Reg32u fogColor; // (8)888 + Reg32u zaColor; // 8(8)16 + Reg32u chromaKey; // (8)888 + Reg32u chromaRange; + Reg32u userIntrCmd; + + Reg32u stipple; // 32 bits, MSB masks pixels + Reg32u c0; // 8.8.8.8 (ARGB) + Reg32u c1; // 8.8.8.8 (ARGB) struct { // statistic gathering variables - unsigned long fbiPixelsIn; - unsigned long fbiChromaFail; - unsigned long fbiZfuncFail; - unsigned long fbiAfuncFail; - unsigned long fbiPixelsOut; + Reg32u fbiPixelsIn; + Reg32u fbiChromaFail; + Reg32u fbiZfuncFail; + Reg32u fbiAfuncFail; + Reg32u fbiPixelsOut; } stats; - unsigned long fogTable[32]; // 64 entries, 2 per word, 2 bytes each + Reg32u fogTable[32]; // 64 entries, 2 per word, 2 bytes each - unsigned long reservedB[3]; + Reg32u reservedB[3]; - unsigned long colBufferAddr; - unsigned long colBufferStride; - unsigned long auxBufferAddr; - unsigned long auxBufferStride; - unsigned long reservedC; - - unsigned long clipLeftRight1; - unsigned long clipBottomTop1; - unsigned long reservedD[6]; // NOTE: used to store TMUprivate ptr + Reg32u colBufferAddr; + Reg32u colBufferStride; + Reg32u auxBufferAddr; + Reg32u auxBufferStride; + Reg32u reservedC; + + Reg32u clipLeftRight1; + Reg32u clipBottomTop1; + Reg32u reservedD[6]; // NOTE: used to store TMUprivate ptr - unsigned long reservedE[8]; + Reg32u reservedE[8]; - unsigned long reservedF[3]; - unsigned long swapBufferPend; - unsigned long leftOverlayBuf; - unsigned long rightOverlayBuf; - unsigned long fbiSwapHistory; - unsigned long fbiTrianglesOut; // triangles out counter + Reg32u reservedF[3]; + Reg32u swapBufferPend; + Reg32u leftOverlayBuf; + Reg32u rightOverlayBuf; + Reg32u fbiSwapHistory; + Reg32u fbiTrianglesOut; // triangles out counter FxU32 sSetupMode; FxU32 sVx; @@ -356,27 +364,27 @@ typedef volatile struct sstregs { FxU32 sDrawTriCMD; FxU32 sBeginTriCMD; - unsigned long reservedG[6]; + Reg32u reservedG[6]; - unsigned long reservedH[8]; + Reg32u reservedH[8]; - unsigned long reservedI[8]; + Reg32u reservedI[8]; - unsigned long textureMode; // texture Mode - unsigned long tLOD; // texture LOD settings - unsigned long tDetail; // texture detail settings - unsigned long texBaseAddr; // current texture base address - unsigned long texBaseAddr1; - unsigned long texBaseAddr2; - unsigned long texBaseAddr38; - unsigned long trexInit0; // hardware init bits - unsigned long trexInit1; // hardware init bits + Reg32u textureMode; // texture Mode + Reg32u tLOD; // texture LOD settings + Reg32u tDetail; // texture detail settings + Reg32u texBaseAddr; // current texture base address + Reg32u texBaseAddr1; + Reg32u texBaseAddr2; + Reg32u texBaseAddr38; + Reg32u trexInit0; // hardware init bits + Reg32u trexInit1; // hardware init bits - unsigned long nccTable0[12]; // NCC decode tables, bits are packed - unsigned long nccTable1[12]; // 4 words Y, 4 words I, 4 words Q + Reg32u nccTable0[12]; // NCC decode tables, bits are packed + Reg32u nccTable1[12]; // 4 words Y, 4 words I, 4 words Q - unsigned long tChromaKeyMin; - unsigned long tChromaKeyMax; + Reg32u tChromaKeyMin; + Reg32u tChromaKeyMax; } SstRegs; // STB Begin changes Index: b/glide3x/h3/minihwc/hwcext.h =================================================================== --- a/glide3x/h3/minihwc/hwcext.h +++ b/glide3x/h3/minihwc/hwcext.h @@ -193,7 +193,8 @@ typedef struct hwcExtLinearAddrReq_s { /* Returned from HWCEXT_GETLINEARADDR */ typedef struct hwcExtLinearAddrRes_s { FxU32 - numBaseAddrs, /* # base addresses */ + numBaseAddrs; /* # base addresses */ + AnyPtr baseAddresses[HWCEXT_MAX_BASEADDR]; /* linear Addresses */ } hwcExtLinearAddrRes_t; Index: b/glide3x/h3/minihwc/hwcio.h =================================================================== --- a/glide3x/h3/minihwc/hwcio.h +++ b/glide3x/h3/minihwc/hwcio.h @@ -41,46 +41,57 @@ extern char *cmdAGPRegNames[]; extern char *waxRegNames[]; extern char *sstRegNames[]; +#ifdef __alpha__ +extern unsigned int _fxget32(unsigned int *); +#define GET(s) _fxget32((unsigned int *)&s); +#define SET(d,s) d = s +#endif + +#ifndef GET +#define GET(s) s +#define SET(d,s) d = s +#endif + /* ** I/O Macros */ #define HWC_IO_STORE(regInfo, reg, val)\ GDBG_INFO(120, "Storing 0x%x to IO Register %s\n", val,\ ioRegNames[(offsetof(SstIORegs, reg)) >> 2]);\ -((SstIORegs *) regInfo.ioMemBase)->reg = val +SET(((SstIORegs *) regInfo.ioMemBase)->reg,val) #define HWC_IO_LOAD(regInfo, reg, val)\ -val = ((SstIORegs *) regInfo.ioMemBase)->reg;\ +val = GET(((SstIORegs *) regInfo.ioMemBase)->reg);\ GDBG_INFO(120, "Loaded 0x%x from IO Register %s\n", val,\ ioRegNames[(offsetof(SstIORegs, reg)) >> 2]); #define HWC_CAGP_STORE(regInfo, reg, val)\ GDBG_INFO(120, "Storing 0x%x to CAGP Register %s\n", val,\ cmdAGPRegNames[(offsetof(SstCRegs, reg)) >> 2]);\ -((SstCRegs *) (regInfo.cmdAGPBase))->reg = val +SET(((SstCRegs *) (regInfo.cmdAGPBase))->reg,val) #define HWC_CAGP_LOAD(regInfo, reg, val)\ -val = ((SstCRegs *) (regInfo).cmdAGPBase)->reg;\ +val = GET(((SstCRegs *) (regInfo).cmdAGPBase)->reg);\ GDBG_INFO(120, "Loaded 0x%x from CAGP Register %s\n", val,\ cmdAGPRegNames[(offsetof(SstCRegs, reg)) >> 2]); #define HWC_WAX_STORE(regInfo, reg, val)\ GDBG_INFO(120, "Storing 0x%x to WAX Register %s\n", val,\ waxRegnames[(offsetof(SstGRegs, reg)) >> 2]);\ -((SstGRegs *) regInfo.waxBase)->reg = val +SET(((SstGRegs *) regInfo.waxBase)->reg,val) #define HWC_WAX_LOAD(regInfo, reg, val)\ -val = ((SstGRegs *) regInfo.waxBase)->reg;\ +val = GET(((SstGRegs *) regInfo.waxBase)->reg);\ GDBG_INFO(120, "Loaded 0x%x from WAX Register %s\n", val,\ waxRegnames[(offsetof(SstGRegs, reg)) >> 2]); #define HWC_SST_STORE(regInfo, reg, val)\ GDBG_INFO(120, "Storing 0x%x to 3D Register %s\n", val,\ sstRegNames[(offsetof(SstRegs, reg)) >> 2]);\ -((SstRegs *) regInfo.sstBase)->reg = val +SET(((SstRegs *) regInfo.sstBase)->reg,val) #define HWC_SST_LOAD(regInfo, reg, val)\ -val = ((SstRegs *) regInfo.sstBase)->reg;\ +val = GET(((SstRegs *) regInfo.sstBase)->reg);\ GDBG_INFO(120, "Loaded 0x%x from WAX Register %s\n", val,\ sstRegNames[(offsetof(SstRegs, reg)) >> 2]); Index: b/glide3x/h3/minihwc/linhwc.c.dri =================================================================== --- a/glide3x/h3/minihwc/linhwc.c.dri +++ b/glide3x/h3/minihwc/linhwc.c.dri @@ -67,7 +67,15 @@ hwcCheckMemSize(hwcBoardInfo *bInfo, FxU #include "lindri.h" static FxU32 fenceVar; +#if defined(__ia64__) +#define P6FENCE asm volatile("mf.a" ::: "memory"); +#elif defined(__alpha__) +#define P6FENCE asm volatile("mb" ::: "memory"); +#elif defined(__i386__) #define P6FENCE asm("xchg %%eax, %0" : : "m" (fenceVar) : "eax"); +#else +#error Need to Define P6FENCE for this architecture +#endif #define MAXFIFOSIZE 0x40000 #define FIFOPAD 0x0000 @@ -142,7 +150,7 @@ static void loadEnvFile() { char data[128]; char *env, *val; envitem *item; - int first=1; + int is_first=1; if (envinit) return; envinit=1; @@ -154,9 +162,9 @@ static void loadEnvFile() { if (*data=='\n') continue; val=strchr(data, '='); if (!val) { - if (first) { + if (is_first) { fprintf(stderr, "In config file /etc/conf.3dfx/voodoo3:\n"); - first=0; + is_first=0; } fprintf(stderr, "Malformed line: %s\n", data); continue; @@ -229,8 +237,8 @@ hwcMapBoard(hwcBoardInfo *bInfo, FxU32 b } bInfo->linearInfo.initialized = FXTRUE; - bInfo->linearInfo.linearAddress[0]=(FxU32)driInfo.pRegs; - bInfo->linearInfo.linearAddress[1]=(FxU32)driInfo.pFB; + bInfo->linearInfo.linearAddress[0]=(AnyPtr)driInfo.pRegs; + bInfo->linearInfo.linearAddress[1]=(AnyPtr)driInfo.pFB; return FXTRUE; } @@ -829,7 +837,11 @@ hwcResolutionSupported(hwcBoardInfo *bIn #undef FN_NAME } /* hwcResolutionSupported */ -void grDRIImportFifo(int fifoPtr, int fifoRead) +extern void _grDRIImportFifo(FxU32 fifoPtr, FxU32 fifoRead); +extern void _grDRIInvalidateAll(void); +extern void _grDRIExportFifo(FxU32 *fifoPtr, FxU32 *fifoRead); + +void grDRIImportFifo(FxU32 fifoPtr, FxU32 fifoRead) { _grImportFifo(fifoPtr, fifoRead); } @@ -840,5 +852,5 @@ void grDRIInvalidateAll() { void grDRIResetSAREA() { - _grExportFifo(driInfo.fifoPtr, driInfo.fifoRead); + _grExportFifo((FxU32*)driInfo.fifoPtr, (FxU32*)driInfo.fifoRead); } Index: b/glide3x/h3/minihwc/minihwc.c =================================================================== --- a/glide3x/h3/minihwc/minihwc.c +++ b/glide3x/h3/minihwc/minihwc.c @@ -1078,7 +1078,7 @@ hwcMapBoard(hwcBoardInfo *bInfo, FxU32 b for (bAddr = 0; bAddr < 2; bAddr++) { if ((bAddrMask & (0x01UL << bAddr)) != 0x00UL) { bInfo->linearInfo.linearAddress[bAddr] = - (FxU32)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, + (AnyPtr)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, 0x1000000, &bInfo->deviceNum, bInfo->boardNum, bAddr); } } @@ -1087,13 +1087,13 @@ hwcMapBoard(hwcBoardInfo *bInfo, FxU32 b * unconditionally */ bInfo->linearInfo.linearAddress[2] = - (FxU32)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, + (AnyPtr)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, 0x1000000, &bInfo->deviceNum, bInfo->boardNum, 2); /* Does the caller want the rom bios? */ if ((bAddrMask & 0x08UL) != 0x00UL) { bInfo->linearInfo.linearAddress[3] = - (FxU32)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, + (AnyPtr)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, 0x1000000, &bInfo->deviceNum, bInfo->boardNum, 3); } } Index: b/glide3x/h3/minihwc/minihwc.h =================================================================== --- a/glide3x/h3/minihwc/minihwc.h +++ b/glide3x/h3/minihwc/minihwc.h @@ -238,14 +238,14 @@ typedef struct hwcPCIInfo_s { typedef struct hwcLinearInfo_s { FxBool initialized; - FxU32 + AnyPtr linearAddress[HWC_NUM_BASE_ADDR]; } hwcLinearInfo; typedef struct hwcRegInfo_s { FxBool initialized; - volatile FxU32 + volatile AnyPtr ioMemBase, /* mem base for I/O aliases */ cmdAGPBase, /* CMD/AGP register base */ waxBase, /* 2D register base */ @@ -253,7 +253,7 @@ typedef struct hwcRegInfo_s { lfbBase, /* 3D lfb base */ rawLfbBase; /* Raw LFB base (base address 1) */ #if __POWERPC__ - ioPortBase; /* PPC does I/O via a 32-bit address */ + FxU32 ioPortBase; /* PPC does I/O via a 32-bit address */ #else volatile FxU16 ioPortBase, /* I/O base address */ Index: b/glide3x/h5/glide3/src/cpu_alpha.c =================================================================== --- /dev/null +++ b/glide3x/h5/glide3/src/cpu_alpha.c @@ -0,0 +1,21 @@ +#ifdef __alpha__ + +#include +#include + +#include <3dfx.h> +#include + +#define FX_DLL_DEFINITION +#include +#include +#include "fxglide.h" + +#define NOT_PENTIUM 4 /* see cpudetect.S */ + +extern FxI32 GR_CDECL +_cpu_detect_asm(void) +{ + return(NOT_PENTIUM); +} +#endif Index: b/glide3x/h5/glide3/src/cpudtect.s =================================================================== --- a/glide3x/h5/glide3/src/cpudtect.s +++ b/glide3x/h5/glide3/src/cpudtect.s @@ -58,6 +58,20 @@ /* 2 3/04/97 9:10p Dow */ +#ifdef __ia64__ + + .align 32 + .global _cpu_detect_asm + .proc _cpu_detect_asm + +_cpu_detect_asm: + mov ret0=0 + br.ret.sptk.few b0 + + .end _cpu_detect_asm + +#else /* !__ia64__ */ + .file "cpudtect.asm" @@ -333,3 +347,4 @@ double_precision_asm: .size double_precision_asm,.L_END_double_precision_asm-double_precision_asm .end +#endif Index: b/glide3x/h5/glide3/src/diget.c =================================================================== --- a/glide3x/h5/glide3/src/diget.c +++ b/glide3x/h5/glide3/src/diget.c @@ -807,11 +807,11 @@ GR_DIENTRY(grGet, FxU32, (FxU32 pname, F break; case GR_SURFACE_TEXTURE: - if (plength == 4) { + if (plength == sizeof(long)) { GR_DCL_GC; #ifdef GLIDE_INIT_HWC - *params = (FxU32) &gc->tBuffer; + *params = (AnyPtr) &gc->tBuffer; retVal = plength; #endif } Index: b/glide3x/h5/glide3/src/disst.c =================================================================== --- a/glide3x/h5/glide3/src/disst.c +++ b/glide3x/h5/glide3/src/disst.c @@ -184,7 +184,7 @@ GR_DIENTRY(grSstSelect, void, ( int whic GrErrorCallback( "grSstSelect: non-existent SST", FXTRUE ); _GlideRoot.current_sst = which; - setThreadValue( (FxU32)&_GlideRoot.GCs[_GlideRoot.current_sst] ); + setThreadValue( (AnyPtr)&_GlideRoot.GCs[_GlideRoot.current_sst] ); #ifdef GLIDE_MULTIPLATFORM _GlideRoot.curGCFuncs = _GlideRoot.curGC->gcFuncs; Index: b/glide3x/h5/glide3/src/distrip.c =================================================================== --- a/glide3x/h5/glide3/src/distrip.c +++ b/glide3x/h5/glide3/src/distrip.c @@ -497,7 +497,7 @@ GR_DIENTRY(grDrawVertexArrayContiguous, FxU32 i; for (i = 0; i < Count; i++) GDBG_INFO(110, "%s: pointers[%d] = 0x%x\n", - FN_NAME, i, (int)pointers + gc->state.vData.vStride * i); + FN_NAME, i, (long)pointers + gc->state.vData.vStride * i); } #endif @@ -552,10 +552,10 @@ GR_DIENTRY(grDrawVertexArrayContiguous, else { void *b_ptr, *c_ptr; while ((int)Count >= 3) { - b_ptr = (void *)((FxU32)pointers + stride); - c_ptr = (void *)((FxU32)pointers + stride*2); + b_ptr = (void *)((AnyPtr)pointers + stride); + c_ptr = (void *)((AnyPtr)pointers + stride*2); TRISETUP(pointers, b_ptr, c_ptr); - pointers = (void *)((FxU32)c_ptr + stride); + pointers = (void *)((AnyPtr)c_ptr + stride); Count -= 3; } } Index: b/glide3x/h5/glide3/src/fifo.c =================================================================== --- a/glide3x/h5/glide3/src/fifo.c +++ b/glide3x/h5/glide3/src/fifo.c @@ -502,7 +502,7 @@ static const char * h3SstIORegNames[] = } ; -#define GEN_INDEX(a) ((((FxU32) a) - ((FxU32) gc->reg_ptr)) >> 2) +#define GEN_INDEX(a) ((((AnyPtr) a) - ((AnyPtr) gc->reg_ptr)) >> 2) void _grFifoWriteDebug(FxU32 addr, FxU32 val, FxU32 fifoPtr) @@ -733,7 +733,7 @@ _FifoFlush( void ) #undef FN_NAME } /* _FifoFlush */ -FxU32 _grHwFifoPtrSlave(FxU32 slave, FxBool ignored); +AnyPtr _grHwFifoPtrSlave(FxU32 slave, FxBool ignored); void FX_CALL _grCommandTransportMakeRoom(const FxI32 blockSize, const char* fName, const int fLine) @@ -757,9 +757,9 @@ _grCommandTransportMakeRoom(const FxI32 /* Update to the currently writing command buffer */ fifo.cmdBuf.baseAddr += cmdBufferOffset; fifo.cmdBuf.hwOffset += cmdBufferOffset; - fifo.cmdBuf.size = ((FxU32)gcFifo->fifoPtr - fifo.cmdBuf.baseAddr); + fifo.cmdBuf.size = ((AnyPtr)gcFifo->fifoPtr - fifo.cmdBuf.baseAddr); - fifo.stateBuf.baseAddr = (FxU32)gcFifo->stateBuffer; + fifo.stateBuf.baseAddr = (AnyPtr)gcFifo->stateBuffer; fifo.stateBuf.hwOffset += (gcFifo->hwcFifoInfo.stateBuf.allocUnit * gcFifo->curCommandBuf); fifo.stateBuf.size = sizeof(GrStateBuffer); @@ -805,7 +805,7 @@ _grCommandTransportMakeRoom(const FxI32 gcFifo->curCommandBuf = nextBufferIndex; /* Set the current fifo ptr in allocation blocks */ - gcFifo->fifoPtr = (FxU32*)(gcFifo->hwcFifoInfo.cmdBuf.baseAddr + + gcFifo->fifoPtr = (AnyPtr*)(gcFifo->hwcFifoInfo.cmdBuf.baseAddr + (gcFifo->hwcFifoInfo.cmdBuf.allocUnit * gcFifo->curCommandBuf)); /* Set the state buffer to be the 'next' one in the ready @@ -882,7 +882,7 @@ _grCommandTransportMakeRoom(const FxI32 gc->contextP = 1; /* always has context in CSIM */ #endif /* defined(GLIDE_INIT_HWC) && !defined(__linux__) */ if (gc->contextP) { - FxU32 wrapAddr = 0x00UL; + AnyPtr wrapAddr = 0x00UL; FxU32 checks; GR_ASSERT(blockSize > 0); @@ -920,12 +920,12 @@ _grCommandTransportMakeRoom(const FxI32 "\tfifoRoom: (0x%X : 0x%X) : (0x%X : 0x%X)\n" "\tfifo hw: (0x%X : 0x%X)\n", ((fName == NULL) ? "Unknown" : fName), fLine, - (((FxU32)gc->cmdTransportInfo.fifoPtr - (FxU32)gc->cmdTransportInfo.fifoStart) + + (((AnyPtr)gc->cmdTransportInfo.fifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoStart) + (FxU32)gc->cmdTransportInfo.fifoOffset), blockSize, gc->cmdTransportInfo.roomToReadPtr, gc->cmdTransportInfo.roomToEnd, gc->cmdTransportInfo.fifoRoom, writes, - HW_FIFO_PTR(FXTRUE) - (FxU32)gc->rawLfb, gc->cmdTransportInfo.fifoRead); + HW_FIFO_PTR(FXTRUE) - (AnyPtr)gc->rawLfb, gc->cmdTransportInfo.fifoRead); #endif /* GDBG_INFO_ON */ @@ -943,25 +943,25 @@ _grCommandTransportMakeRoom(const FxI32 again: /* do we need to stall? */ { - FxU32 lastHwRead = gc->cmdTransportInfo.fifoRead; + AnyPtr lastHwRead = gc->cmdTransportInfo.fifoRead; FxI32 roomToReadPtr = gc->cmdTransportInfo.roomToReadPtr; while (roomToReadPtr < blockSize) { - FxU32 curReadPtr = HW_FIFO_PTR(FXTRUE); - FxU32 curReadDist = curReadPtr - lastHwRead; + AnyPtr curReadPtr = HW_FIFO_PTR(FXTRUE); + FxI32 curReadDist = curReadPtr - lastHwRead; /* Handle slave chips. This code lifted from cvg and modified * to deal with multiple slave chips. */ if(gc->chipCount > 1) { FxU32 slave; for(slave = 1; slave < gc->chipCount; slave++) { - const FxU32 slaveReadPtr = _grHwFifoPtrSlave(slave, 0); + const AnyPtr slaveReadPtr = _grHwFifoPtrSlave(slave, 0); const FxU32 slaveReadDist = (slaveReadPtr - lastHwRead); FxI32 distSlave = (FxI32)slaveReadDist; FxI32 distMaster = (FxI32)curReadDist; - GR_ASSERT((slaveReadPtr >= (FxU32)gc->cmdTransportInfo.fifoStart) && - (slaveReadPtr < (FxU32)gc->cmdTransportInfo.fifoEnd)); + GR_ASSERT((slaveReadPtr >= (AnyPtr)gc->cmdTransportInfo.fifoStart) && + (slaveReadPtr < (AnyPtr)gc->cmdTransportInfo.fifoEnd)); /* Get the actual absolute distance to the respective fifo ptrs */ if (distSlave < 0) distSlave += (FxI32)gc->cmdTransportInfo.fifoSize - FIFO_END_ADJUST; @@ -1037,8 +1037,8 @@ _grCommandTransportMakeRoom(const FxI32 checks = 0; } #endif /* GLIDE_DEBUG */ - GR_ASSERT((curReadPtr >= (FxU32)gc->cmdTransportInfo.fifoStart) && - (curReadPtr < (FxU32)gc->cmdTransportInfo.fifoEnd)); + GR_ASSERT((curReadPtr >= (AnyPtr)gc->cmdTransportInfo.fifoStart) && + (curReadPtr < (AnyPtr)gc->cmdTransportInfo.fifoEnd)); roomToReadPtr += curReadDist; @@ -1050,8 +1050,8 @@ _grCommandTransportMakeRoom(const FxI32 lastHwRead = curReadPtr; } - GR_ASSERT((lastHwRead >= (FxU32)gc->cmdTransportInfo.fifoStart) && - (lastHwRead < (FxU32)gc->cmdTransportInfo.fifoEnd)); + GR_ASSERT((lastHwRead >= (AnyPtr)gc->cmdTransportInfo.fifoStart) && + (lastHwRead < (AnyPtr)gc->cmdTransportInfo.fifoEnd)); /* Update cached copies */ gc->cmdTransportInfo.fifoRead = lastHwRead; @@ -1098,7 +1098,7 @@ _grCommandTransportMakeRoom(const FxI32 P6FENCE; - wrapAddr = (FxU32)gc->cmdTransportInfo.fifoPtr; + wrapAddr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; /* Update roomXXX fields for the actual wrap */ gc->cmdTransportInfo.roomToReadPtr -= gc->cmdTransportInfo.roomToEnd; @@ -1131,12 +1131,12 @@ _grCommandTransportMakeRoom(const FxI32 "\tfifoBlock: (0x%X : 0x%X)\n" "\tfifoRoom: (0x%X : 0x%X : 0x%X)\n" "\tfifo hw: (0x%X : 0x%X) : (0x%X : 0x%X : 0x%X)\n", - (((FxU32)gc->cmdTransportInfo.fifoPtr - (FxU32)gc->cmdTransportInfo.fifoStart) + + (((AnyPtr)gc->cmdTransportInfo.fifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoStart) + (FxU32)gc->cmdTransportInfo.fifoOffset), blockSize, gc->cmdTransportInfo.roomToReadPtr, gc->cmdTransportInfo.roomToEnd, gc->cmdTransportInfo.fifoRoom, - HW_FIFO_PTR(FXTRUE) - (FxU32)gc->rawLfb, gc->cmdTransportInfo.fifoRead, + HW_FIFO_PTR(FXTRUE) - (AnyPtr)gc->rawLfb, gc->cmdTransportInfo.fifoRead, GR_CAGP_GET(depth), GR_CAGP_GET(holeCount), GR_GET(hw->status)); FIFO_ASSERT(); @@ -1176,10 +1176,10 @@ _grH3FifoDump_Linear(const FxU32* const } -FxU32 +AnyPtr _grHwFifoPtr(FxBool ignored) { - FxU32 rVal = 0; + AnyPtr rVal = 0; FxU32 status, readPtrL1, readPtrL2; FxU32 chip ; /* AJB SLI MAYHEM */ @@ -1238,7 +1238,7 @@ _grHwFifoPtr(FxBool ignored) readPtrL2 = GET(gc->cRegs->cmdFifo0.readPtrL); } while (readPtrL1 != readPtrL2); } - rVal = (((FxU32)gc->cmdTransportInfo.fifoStart) + + rVal = (((AnyPtr)gc->cmdTransportInfo.fifoStart) + readPtrL2 - (FxU32)gc->cmdTransportInfo.fifoOffset); } @@ -1246,10 +1246,10 @@ _grHwFifoPtr(FxBool ignored) } /* _grHwFifoPtr */ -FxU32 +AnyPtr _grHwFifoPtrSlave(FxU32 slave, FxBool ignored) { - FxU32 rVal = 0; + AnyPtr rVal = 0; FxU32 status, readPtrL1, readPtrL2; GR_DCL_GC; @@ -1264,7 +1264,7 @@ _grHwFifoPtrSlave(FxU32 slave, FxBool ig readPtrL2 = GET(gc->slaveCRegs[slave-1]->cmdFifo0.readPtrL); } while (readPtrL1 != readPtrL2); - rVal = (((FxU32)gc->cmdTransportInfo.fifoStart) + + rVal = (((AnyPtr)gc->cmdTransportInfo.fifoStart) + readPtrL2 - (FxU32)gc->cmdTransportInfo.fifoOffset); @@ -1368,8 +1368,23 @@ _reg_group_begin_internal_wax( FxU32 __r #ifdef __linux__ +#ifdef __alpha__ +unsigned char _fxget8( unsigned char *pval ) { + __asm__ __volatile__("mb": : :"memory"); + return( *pval ); +} +unsigned short _fxget16( unsigned short *pval ) { + __asm__ __volatile__("mb": : :"memory"); + return( *pval ); +} +unsigned int _fxget32( unsigned int *pval ) { + __asm__ __volatile__("mb": : :"memory"); + return( *pval ); +} +#endif /* __alpha__ */ + void -_grImportFifo(int fifoPtr, int fifoRead) { +_grImportFifo(AnyPtr fifoPtr, AnyPtr fifoRead) { struct cmdTransportInfo* gcFifo; FxU32 readPos; GR_DCL_GC; @@ -1388,13 +1403,13 @@ _grImportFifo(int fifoPtr, int fifoRead) gcFifo=&gc->cmdTransportInfo; readPos=readPos-gcFifo->fifoOffset; gcFifo->fifoPtr = gcFifo->fifoStart + (readPos>>2); - gcFifo->fifoRead = (FxU32)gcFifo->fifoPtr; + gcFifo->fifoRead = (AnyPtr)gcFifo->fifoPtr; #else gcFifo=&gc->cmdTransportInfo; gcFifo->fifoPtr = gc->rawLfb+(fifoPtr>>2); gcFifo->fifoRead = ((int)gc->rawLfb)+fifoRead; #endif - gcFifo->roomToReadPtr = gcFifo->fifoRead-((int)gcFifo->fifoPtr)-FIFO_END_ADJUST-sizeof(FxU32); + gcFifo->roomToReadPtr = gcFifo->fifoRead-((AnyPtr)gcFifo->fifoPtr)-FIFO_END_ADJUST-sizeof(FxU32); if (gcFifo->roomToReadPtr<0) gcFifo->roomToReadPtr+=gcFifo->fifoSize; gcFifo->roomToEnd = gcFifo->fifoSize - ((gcFifo->fifoPtr-gcFifo->fifoStart)<<2) - @@ -1407,12 +1422,12 @@ _grImportFifo(int fifoPtr, int fifoRead) } void -_grExportFifo(int *fifoPtr, int *fifoRead) { +_grExportFifo(FxU32 *fifoPtr, FxU32 *fifoRead) { struct cmdTransportInfo* gcFifo; GR_DCL_GC; gcFifo=&gc->cmdTransportInfo; *fifoPtr=(gcFifo->fifoPtr-gc->rawLfb)<<2; - *fifoRead=(gcFifo->fifoRead-(int)gc->rawLfb); + *fifoRead=(gcFifo->fifoRead-(AnyPtr)gc->rawLfb); } int Index: b/glide3x/h5/glide3/src/fxcmd.h =================================================================== --- a/glide3x/h5/glide3/src/fxcmd.h +++ b/glide3x/h5/glide3/src/fxcmd.h @@ -188,6 +188,12 @@ extern FxU32 _grGet32(volatile FxU32* const sstAddr); #endif /* USE_PACKET_FIFO */ +#ifdef __linux__ +void _grImportFifo(AnyPtr fifoPtr, AnyPtr fifoRead); +void _grExportFifo(FxU32 *fifoPtr, FxU32 *fifoRead); +void _grInvalidateAll(void); +#endif + #if !USE_PACKET_FIFO /* NOTE: fifoFree is the number of entries, each is 8 bytes */ #define GR_CHECK_FOR_ROOM(n,p) \ @@ -222,7 +228,7 @@ do { \ /* NB: This should be used sparingly because it does a 'real' hw read * which is *SLOW*. */ -FxU32 _grHwFifoPtr(FxBool); +AnyPtr _grHwFifoPtr(FxBool); #define HW_FIFO_PTR(a) _grHwFifoPtr(a) #if FIFO_ASSERT_FULL @@ -233,7 +239,7 @@ FxU32 _grHwFifoPtr(FxBool); #else /* !FIFO_ASSERT_FULL */ #define FIFO_ASSERT() \ ASSERT_FAULT_IMMED((FxU32)gc->cmdTransportInfo.fifoRoom < gc->cmdTransportInfo.fifoSize); \ -ASSERT_FAULT_IMMED((FxU32)gc->cmdTransportInfo.fifoPtr < (FxU32)gc->cmdTransportInfo.fifoEnd) +ASSERT_FAULT_IMMED((AnyPtr)gc->cmdTransportInfo.fifoPtr < (AnyPtr)gc->cmdTransportInfo.fifoEnd) #endif /* !FIFO_ASSERT_FULL */ #if (GLIDE_PLATFORM & GLIDE_OS_WIN32) @@ -296,7 +302,7 @@ do {\ #define GR_CHECK_FOR_ROOM(__n, __p) \ do { \ const FxU32 writeSize = (__n) + ((__p) * sizeof(FxU32)); /* Adjust for size of hdrs */ \ - ASSERT(((FxU32)(gc->cmdTransportInfo.fifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + ASSERT(((AnyPtr)(gc->cmdTransportInfo.fifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ ASSERT(writeSize < gc->cmdTransportInfo.fifoSize - sizeof(FxU32)); \ FIFO_ASSERT(); \ if (gc->cmdTransportInfo.fifoRoom < (FxI32)writeSize) { \ @@ -325,7 +331,7 @@ if (gc->cmdTransportInfo.autoBump) {\ } #define GR_SET_FIFO_PTR(__n, __p) \ - gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr; \ + gc->checkPtr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; \ gc->checkCounter = ((__n) + ((__p) << 2)) #else #define GR_CHECK_FIFO_PTR() @@ -337,7 +343,7 @@ if (gc->cmdTransportInfo.autoBump) {\ GDBG_ERROR("GR_ASSERT_SIZE","byte counter should be %d but is %d\n", \ gc->expected_counter,gc->counter); \ GR_CHECK_FIFO_PTR(); \ - gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr; \ + gc->checkPtr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; \ gc->checkCounter = 0; \ ASSERT(gc->counter == gc->expected_counter); \ gc->counter = gc->expected_counter = 0 @@ -373,12 +379,17 @@ if (gc->cmdTransportInfo.autoBump) {\ #if USE_PACKET_FIFO #if GLIDE_DEBUG +#if defined(__alpha__) || defined(__LP64__) +#define DEBUGFIFOWRITE(a,b,c) +#define DEBUGFIFOFWRITE(a,b,c) +#else void _grFifoWriteDebug(FxU32 addr, FxU32 val, FxU32 fifoPtr); #define DEBUGFIFOWRITE(a,b,c) \ _grFifoWriteDebug((FxU32) a, (FxU32) b, (FxU32) c) void _grFifoFWriteDebug(FxU32 addr, float val, FxU32 fifoPtr); #define DEBUGFIFOFWRITE(a,b,c) \ _grFifoFWriteDebug((FxU32) a, (float) b, (FxU32) c) +#endif extern void _reg_group_begin_internal_wax( FxU32 regBase, FxU32 groupNum, @@ -758,7 +769,7 @@ do { GDBG_INFO(120, "REG_GROUP_SET:\n"); \ } \ GDBG_INFO(120, "\tFile: %s Line %d\n", __FILE__, __LINE__); \ - GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (FxU32) _regGroupFifoPtr - (FxU32)gc->rawLfb, __val);\ + GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (AnyPtr) _regGroupFifoPtr - (AnyPtr)gc->rawLfb, __val);\ SET_FIFO(*_regGroupFifoPtr++, (__val)); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) @@ -779,7 +790,7 @@ do { GDBG_INFO(120, "REG_GROUP_SET:\n"); \ } \ GDBG_INFO(120, "\tFile: %s Line %d\n", __FILE__, __LINE__); \ - GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (FxU32) _regGroupFifoPtr - (FxU32)gc->rawLfb, __val);\ + GDBG_INFO(120, "\tfifoPtr: 0x%x, Val: 0x%x\n", (AnyPtr) _regGroupFifoPtr - (AnyPtr)gc->rawLfb, __val);\ SET_FIFO(*_regGroupFifoPtr++, (__val)); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) @@ -795,7 +806,7 @@ do { \ } \ GDBG_INFO(220, "REG_GROUP_SET_WAX:\n");\ GDBG_INFO(220, "\tFile: %s Line %d\n", __FILE__, __LINE__);\ - GDBG_INFO(220, "\tfifoPtr: 0x%x, Val: 0x%x\n", (FxU32) _regGroupFifoPtr - (FxU32)gc->rawLfb, __val);\ + GDBG_INFO(220, "\tfifoPtr: 0x%x, Val: 0x%x\n", (AnyPtr) _regGroupFifoPtr - (AnyPtr)gc->rawLfb, __val);\ SET_FIFO(*_regGroupFifoPtr++, (__val)); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) @@ -825,8 +836,8 @@ do { \ #define REG_GROUP_END() \ ASSERT(_checkP); \ - ASSERT((((FxU32)_regGroupFifoPtr - (FxU32)gc->cmdTransportInfo.fifoPtr) >> 2) == _groupNum + 1); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)_regGroupFifoPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + ASSERT((((AnyPtr)_regGroupFifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr) >> 2) == _groupNum + 1); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)_regGroupFifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = (FxU32*)_regGroupFifoPtr; \ GDBG_INFO(gc->myLevel + 200, "\tGroupEnd: (0x%X : 0x%X)\n", \ gc->cmdTransportInfo.fifoPtr, gc->cmdTransportInfo.fifoRoom); \ @@ -839,7 +850,7 @@ do { \ if (gc->contextP) { \ FxU32* curFifoPtr = gc->cmdTransportInfo.fifoPtr; \ FXUNUSED(__base); \ - GR_ASSERT(((FxU32)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + GR_ASSERT(((AnyPtr)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ GR_CHECK_COMPATABILITY(FN_NAME, \ !gc->open, \ "Called before grSstWinOpen()"); \ @@ -882,7 +893,7 @@ do { \ if (gc->contextP) { \ FxU32* curFifoPtr = gc->cmdTransportInfo.fifoPtr; \ FXUNUSED(__base); \ - GR_ASSERT(((FxU32)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + GR_ASSERT(((AnyPtr)(curFifoPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ GR_CHECK_COMPATABILITY(FN_NAME, \ !gc->open, \ "Called before grSstWinOpen()"); \ @@ -1038,10 +1049,10 @@ _grH3FifoDump_Linear(const FxU32* const GR_CHECK_COMPATABILITY(FN_NAME, \ !gc->open, \ "Called before grSstWinOpen()"); \ - GR_ASSERT(((FxU32)(tPackPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + GR_ASSERT(((AnyPtr)(tPackPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ GR_ASSERT((((__nVerts) * (__vertSize)) + sizeof(FxU32)) <= (FxU32)gc->cmdTransportInfo.fifoRoom); \ - GR_ASSERT((((FxU32)tPackPtr) + ((__nVerts) * (__vertSize)) + sizeof(FxU32)) < \ - (FxU32)gc->cmdTransportInfo.fifoEnd); \ + GR_ASSERT((((AnyPtr)tPackPtr) + ((__nVerts) * (__vertSize)) + sizeof(FxU32)) < \ + (AnyPtr)gc->cmdTransportInfo.fifoEnd); \ GR_ASSERT(nVertex < 0x10); \ GR_ASSERT(nVertex > 0x00); \ GR_ASSERT(((__packetHdr) & 0xE0000000UL) == 0x00UL); \ @@ -1052,27 +1063,27 @@ _grH3FifoDump_Linear(const FxU32* const pCount++; \ GDBG_INFO(gc->myLevel + 200, "\t(0x%X) : V#: 0x%X - P#: 0x%X - ParamVal: (%f : 0x%X)\n", \ (FxU32)tPackPtr, \ - ((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ - (((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ + ((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ + (((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ (((__val) < 786432.875) ? (__val) : ((__val) - 786432.875)), \ (__floatVal)) #define SETF_DUMP(__val) \ pCount++; \ GDBG_INFO(gc->myLevel + 200, "\t(0x%X) : V#: 0x%X - P#: 0x%X - ParamVal: %f\n", \ (FxU32)tPackPtr, \ - ((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ - (((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ + ((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ + (((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ (((__val) < 786432.875) ? (__val) : ((__val) - 786432.875))) #define SET_DUMP(__val) \ pCount++; \ GDBG_INFO(gc->myLevel + 200, "\t(0x%X) : V#: 0x%X - P#: 0x%X - ParamVal: 0x%X\n", \ (FxU32)tPackPtr, \ - ((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ - (((FxU32)tPackPtr - ((FxU32)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ + ((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) / sVertex, \ + (((AnyPtr)tPackPtr - ((AnyPtr)gc->cmdTransportInfo.fifoPtr + sizeof(FxU32))) % sVertex) >> 2, \ (__val)) #define TRI_ASSERT() \ GR_ASSERT(pCount == (nVertex * (sVertex >> 2))); \ - ASSERT(((FxU32)tPackPtr - (FxU32)gc->cmdTransportInfo.fifoPtr) == (nVertex * sVertex) + sizeof(FxU32)) + ASSERT(((AnyPtr)tPackPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr) == (nVertex * sVertex) + sizeof(FxU32)) #else /* !GDBG_INFO_ON */ #define DEBUGFIFODUMP_TRI(__packetAddr) #define DEBUGFIFODUMP_LINEAR(__packetAddr) @@ -1137,7 +1148,7 @@ do { \ #define TRI_END \ TRI_ASSERT(); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)tPackPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)tPackPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = tPackPtr; \ GDBG_INFO(gc->myLevel + 200, "\tTriEnd: (0x%X : 0x%X)\n", tPackPtr, gc->cmdTransportInfo.fifoRoom); \ FIFO_ASSERT(); \ @@ -1156,12 +1167,12 @@ do { \ GR_CHECK_COMPATABILITY(FN_NAME, \ !gc->open, \ "Called before grSstWinOpen()"); \ - GR_ASSERT(((FxU32)(packetPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ + GR_ASSERT(((AnyPtr)(packetPtr) & FIFO_ALIGN_MASK) == 0); /* alignment */ \ GR_ASSERT((__numWords) > 0); /* packet size */ \ GR_ASSERT((__numWords) < ((0x01 << 19) - 2)); \ GR_ASSERT((((FxU32)(__numWords) + 2) << 2) <= (FxU32)gc->cmdTransportInfo.fifoRoom); \ - GR_ASSERT(((FxU32)packetPtr + (((__numWords) + 2) << 2)) < \ - (FxU32)gc->cmdTransportInfo.fifoEnd); \ + GR_ASSERT(((AnyPtr)packetPtr + (((__numWords) + 2) << 2)) < \ + (AnyPtr)gc->cmdTransportInfo.fifoEnd); \ GR_ASSERT((hdr2 & 0xE0000000UL) == 0x00UL); \ GR_ASSERT(((__addr) & 0x03UL) == 0x00UL); \ FIFO_ASSERT(); \ @@ -1206,8 +1217,8 @@ do { \ #define FIFO_LINEAR_WRITE_END \ DEBUGFIFODUMP_LINEAR(gc->cmdTransportInfo.fifoPtr); \ - GR_ASSERT((((FxU32)packetPtr - (FxU32)gc->cmdTransportInfo.fifoPtr) >> 2) == __writeSize + 2); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)packetPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + GR_ASSERT((((AnyPtr)packetPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr) >> 2) == __writeSize + 2); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)packetPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = packetPtr; \ GDBG_INFO(gc->myLevel + 200, "\tLinearEnd: (0x%X : 0x%X)\n", \ packetPtr, gc->cmdTransportInfo.fifoRoom); \ @@ -1625,7 +1636,7 @@ GR_CHECK_SIZE() } \ else { \ FxU32 argb; \ - argb = *((FxU32 *)((int)_s + i)) & 0x00ffffff; \ + argb = *((FxU32 *)((long)_s + i)) & 0x00ffffff; \ TRI_SETF(*((float *)&argb)); \ dataElem++; \ i = gc->tsuDataList[dataElem]; \ Index: b/glide3x/h5/glide3/src/fxglide.h =================================================================== --- a/glide3x/h5/glide3/src/fxglide.h +++ b/glide3x/h5/glide3/src/fxglide.h @@ -1282,7 +1282,7 @@ typedef struct { * the _archXXXX proc list that is selected at grGlideInit time. */ -#ifndef __linux__ +#if !defined(__linux__) || defined(GLIDE_USE_C_TRISETUP) typedef FxI32 (FX_CALL* GrTriSetupProc)(const void *a, const void *b, const void *c); #else /* defined(__linux__) */ typedef FxI32 (FX_CALL* GrTriSetupProc)(const void *g, const void *a, const void *b, const void *c); @@ -1564,7 +1564,7 @@ typedef struct GrGC_s SET_FIFO(*curFifoPtr++, *curPktData++); \ } \ GR_INC_SIZE((__writeCount) * sizeof(FxU32)); \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)curFifoPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)curFifoPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = curFifoPtr; \ } \ GR_CHECK_SIZE(); \ @@ -1684,7 +1684,7 @@ typedef struct GrGC_s */ FxU32* fifoPtr; /* Current write pointer into fifo */ - FxU32 fifoRead; /* Last known hw read ptr. + AnyPtr fifoRead; /* Last known hw read ptr. * If on an sli enabled system this will be * the 'closest' hw read ptr of the sli * master and slave. @@ -1756,7 +1756,7 @@ typedef struct GrGC_s occur every 64K writes. */ } cmdTransportInfo; -#ifndef __linux__ +#if !defined(__linux__) || defined(GLIDE_USE_C_TRISETUP) FxI32 (FX_CALL *triSetupProc)(const void *a, const void *b, const void *c); #else /* defined(__linux__) */ FxI32 (FX_CALL *triSetupProc)(const void *g, const void *a, const void *b, const void *c); @@ -1775,17 +1775,19 @@ typedef struct GrGC_s SstCRegs *slaveCRegs[3] ; /* AJB - ptrs to slave chips cmd regs */ FxU32 - *rawLfb, + *rawLfb; + FxU32 nBuffers, curBuffer, frontBuffer, - backBuffer, + backBuffer; + AnyPtr buffers0[4], buffers1[4], lfbBuffers[4]; /* Tile relative addresses of the color/aux * buffers for lfbReads. */ - FxU32 lockPtrs[2]; /* pointers to locked buffers */ + AnyPtr lockPtrs[2]; /* pointers to locked buffers */ FxU32 fbStride; FxBool colTiled, // AJB - grBufferClear needs to know when target surfaces @@ -1865,7 +1867,7 @@ typedef struct GrGC_s FxI32 expected_counter; /* the number of bytes expected to be sent */ FxU32 checkCounter; - FxU32 checkPtr; + AnyPtr checkPtr; FxVideoTimingInfo* vidTimings;/* init code overrides */ @@ -2096,6 +2098,10 @@ extern GrGCFuncs _curGCFuncs; * This is the __linux__ code. */ #define P6FENCE asm("xchg %%eax, %0" : : "m" (_GlideRoot.p6Fencer) : "eax"); +#elif defined(__GNUC__) && defined(__alpha__) +#define P6FENCE asm volatile("mb" ::: "memory") +#elif defined(__GNUC__) && defined(__ia64__) +#define P6FENCE asm volatile("mf.a" ::: "memory") #else /* !defined ( P6FENCE ) */ # error "P6 Fencing code needs to be added for this compiler" #endif /* !defined ( P6FENCE ) */ @@ -2254,7 +2260,11 @@ _trisetup_noclip_valid(const void *va, c #define TRISETUP(_a, _b, _c) \ ((FxI32 (*)(const void *va, const void *vb, const void *vc, GrGC *gc))*gc->triSetupProc)(_a, _b, _c, gc) #elif defined(__linux__) +#ifdef GLIDE_USE_C_TRISETUP +#define TRISETUP(a, b, c) (gc->triSetupProc)(a, b, c) +#else #define TRISETUP(a, b, c) (gc->triSetupProc)(gc, a, b, c) +#endif #else /* defined(__linux__) */ #define TRISETUP \ (*gc->triSetupProc) @@ -2611,15 +2621,15 @@ getThreadValueFast() { #endif #if (GLIDE_PLATFORM & GLIDE_OS_MACOS) -extern FxU32 _threadValueMacOS; -__inline FxU32 +extern AnyPtr _threadValueMacOS; +__inline AnyPtr getThreadValueFast() { return _threadValueMacOS; } #endif #ifdef __linux__ -extern FxU32 threadValueLinux; +extern AnyPtr threadValueLinux; #define getThreadValueFast() threadValueLinux #endif /* defined(__linux__) */ @@ -2642,9 +2652,9 @@ void freeThreadStorage( void ); void -setThreadValue( FxU32 value ); +setThreadValue( AnyPtr value ); -FxU32 +AnyPtr getThreadValueSLOW( void ); void @@ -2882,7 +2892,7 @@ assertDefaultState( void ); saveLevel = gc->myLevel; \ myName = name; \ gc->myLevel = level; \ - gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr; \ + gc->checkPtr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; \ GDBG_INFO(gc->myLevel,myName); \ FXUNUSED(saveLevel); \ FXUNUSED(hw); \ @@ -2893,7 +2903,7 @@ assertDefaultState( void ); const char* myName = name; \ GR_ASSERT(gc != NULL); \ gc->myLevel = level; \ - gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr; \ + gc->checkPtr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; \ GDBG_INFO(gc->myLevel,myName); \ FXUNUSED(saveLevel); \ FXUNUSED(hw); \ @@ -3056,7 +3066,7 @@ extern FxU32 SST_TEXTURE_ALIGN; #define HW_TEX_PTR(__b) ((FxU32*)(((FxU32)(__b)) + HW_TEXTURE_OFFSET)) /* access a floating point array with a byte index */ -#define FARRAY(p,i) (*(float *)((i)+(int)(p))) +#define FARRAY(p,i) (*(float *)((i)+(long)(p))) #define ArraySize(__a) (sizeof(__a) / sizeof((__a)[0])) #if GDBG_INFO_ON Index: b/glide3x/h5/glide3/src/gaa.c =================================================================== --- a/glide3x/h5/glide3/src/gaa.c +++ b/glide3x/h5/glide3/src/gaa.c @@ -388,8 +388,8 @@ aaVpDrawArrayEdgeSense(float *a, float * } else { ia = gc->state.vData.pargbInfo.offset; - *((FxU32 *)&v1a)=*((FxU32 *)((int)a + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)b + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)a + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)b + ia))&0x00ffffff; } { @@ -589,7 +589,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, FxU32 ia; FxU32 i; FxU32 vsize; - FxI32 stride = mode; + FxI32 stride; FxU32 tmp_cullStripHdr; GDBG_INFO(94,"_grAADrawPoints(0x%x, %d, 0x%x)\n", mode, count, pointers); @@ -597,8 +597,10 @@ _grAADrawPoints(FxI32 mode, FxI32 count, GDBG_INFO_MORE(gc->myLevel, "(count = %d, pointers = 0x%x)\n", count, pointers); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof (float *)/sizeof (float); GR_FLUSH_STATE(); @@ -690,7 +692,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, FxU32 argb; if (i == ia) { - argb = *((FxU32 *)((int)e + i)) & 0x00ffffff; + argb = *((FxU32 *)((long)e + i)) & 0x00ffffff; TRI_SETF(*((float *)&argb)); } else { @@ -815,7 +817,7 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty FxU32 ia, vNum = 0; FxU32 vsize; FxU32 sCount; - FxI32 stride = mode; + FxI32 stride; FxU32 tmp_cullStripHdr; GDBG_INFO(95,"_grAADrawLineStrip(count = %d, pointers = 0x%x)\n", @@ -831,8 +833,11 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof (float *) / sizeof(float); + if (ltype == GR_LINES) sCount = count >> 1; /* line list */ else @@ -869,8 +874,8 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty ady = -ady; if (gc->state.vData.colorType != GR_FLOAT) { - *((FxU32 *)&v1a)=*((FxU32 *)((int)v1 + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)v2 + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)v1 + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)v2 + ia))&0x00ffffff; } if (adx >= ady) { /* X major line */ @@ -1076,8 +1081,8 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty ady = -ady; /* if (gc->state.vData.colorType != GR_FLOAT) { - *((FxU32 *)&v1a)=*((FxU32 *)((int)v1 + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)v2 + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)v1 + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)v2 + ia))&0x00ffffff; } */ @@ -1270,8 +1275,8 @@ aaDrawArrayEdgeSense(float *a, float *b, } else { ia = gc->state.vData.pargbInfo.offset; - *((FxU32 *)&v1a)=*((FxU32 *)((int)a + ia))&0x00ffffff; - *((FxU32 *)&v2a)=*((FxU32 *)((int)b + ia))&0x00ffffff; + *((FxU32 *)&v1a)=*((FxU32 *)((long)a + ia))&0x00ffffff; + *((FxU32 *)&v2a)=*((FxU32 *)((long)b + ia))&0x00ffffff; } { @@ -1350,7 +1355,7 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty float **lPtr = (float **)pointers; FxI32 tCount = 3; FxU32 fbzModeOld; /* Squirrel away current fbzMode */ - FxI32 stride = mode; + FxI32 stride; FxI32 xindex = (gc->state.vData.vertexInfo.offset >> 2); FxI32 yindex = xindex + 1; @@ -1367,8 +1372,10 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty /* gc->state.invalid |= fbzModeBIT; */ GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof (float *) / sizeof(float); /* backfaced or zero area */ while (tCount <= count) { @@ -1523,7 +1530,7 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t float **lPtr = (float **)pointers; FxI32 tCount = 3; FxU32 fbzModeOld; /* Squirrel away current fbzMode */ - FxI32 stride = mode; + FxI32 stride; FxI32 xindex = (gc->state.vData.vertexInfo.offset >> 2); FxI32 yindex = xindex + 1; @@ -1540,8 +1547,10 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t /* gc->state.invalid |= fbzModeBIT; */ GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float *) / sizeof(float); /* backfaced or zero area */ while (tCount <= count) { @@ -1705,7 +1714,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo float *v[3]; FxBool flip = FXFALSE; FxU32 fbzModeOld; /* Squirrel away current fbzMode */ - FxI32 stride = mode; + FxI32 stride; if (sCount <= 2) return; @@ -1716,8 +1725,10 @@ _grAADrawVertexList(FxU32 type, FxI32 mo gc->state.shadow.fbzMode &= ~(SST_ZAWRMASK); /* gc->state.invalid |= fbzModeBIT; */ GR_FLUSH_STATE(); - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof (float *) / sizeof(float); sCount-=2; if (type == kSetupFan) { Index: b/glide3x/h5/glide3/src/gdraw.c =================================================================== --- a/glide3x/h5/glide3/src/gdraw.c +++ b/glide3x/h5/glide3/src/gdraw.c @@ -223,7 +223,7 @@ #define OUTBOUNDS(a) (OUTBOUNDSX(a) || OUTBOUNDSY(a)) /* access an array of four-byte opaque datums with a byte index */ -#define ARRAY(p,i) (*(int *)((i)+(int)(p))) +#define ARRAY(p,i) (*(int *)((i)+(long)(p))) /*--------------------------------------------------------------------------- ** grDrawPoint @@ -282,10 +282,13 @@ GR_ENTRY(grDrawLine, void, (const void * } #else #ifdef __linux__ - if (gc->state.grEnableArgs.primitive_smooth_mode & GR_AA_ORDERED_LINES_MASK) - _grAADrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, (void *)&a); - else - _grDrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, (void *)&a); + { + const void *verts[2] = { a,b }; + if (gc->state.grEnableArgs.primitive_smooth_mode & GR_AA_ORDERED_LINES_MASK) + _grAADrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, verts); + else + _grDrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, verts); + } #else /* defined(__linux__) */ if (gc->state.grEnableArgs.primitive_smooth_mode & GR_AA_ORDERED_LINES_MASK) _grAADrawLineStrip(GR_VTX_PTR_ARRAY, GR_LINES, 2, &(void *)a); @@ -327,7 +330,7 @@ GR_ENTRY(grDrawTriangle, void, (const vo /* HackAlert: Nuke the fifo ptr checking stuff here if we're just * debugging the asm tri code. */ - gc->checkPtr = (FxU32)gc->cmdTransportInfo.fifoPtr; + gc->checkPtr = (AnyPtr)gc->cmdTransportInfo.fifoPtr; gc->checkCounter = 0; #else /* GLIDE_DEBUG */ GR_END(); @@ -388,7 +391,7 @@ GR_ENTRY(grDrawTriangle, void, (const vo GR_INC_SIZE(sizeof(FxU32)) #define DA_END \ - gc->cmdTransportInfo.fifoRoom -= ((FxU32)packetPtr - (FxU32)gc->cmdTransportInfo.fifoPtr); \ + gc->cmdTransportInfo.fifoRoom -= ((AnyPtr)packetPtr - (AnyPtr)gc->cmdTransportInfo.fifoPtr); \ gc->cmdTransportInfo.fifoPtr = packetPtr; \ FIFO_ASSERT(); \ } @@ -414,7 +417,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v * except the data set up is from the pointer array and * its data layout */ - FxI32 stride = mode; + FxI32 stride; /* we snap to an integer by adding a large enough number that it * shoves all fraction bits off the right side of the mantissa. @@ -449,8 +452,10 @@ _grDrawPoints(FxI32 mode, FxI32 count, v */ #define POINTS_BUFFER 100 - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float *) / sizeof(float); if (gc->state.grCoordinateSpaceArgs.coordinate_space_mode == GR_WINDOW_COORDS) { #ifndef FX_GLIDE_H5_CSIM @@ -757,7 +762,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype int j; FxI32 sCount; FxU32 vertexParamOffset; - FxI32 stride = mode; + FxI32 stride; #define DX gc->pool.ftemp1 #define ADY gc->pool.ftemp2 @@ -773,8 +778,11 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype #define LINES_BUFFER 100 - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float *) / sizeof(float); + if (ltype == GR_LINES) sCount = count >> 1; /* line list */ else @@ -802,16 +810,16 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype ** compute absolute deltas and draw from low Y to high Y */ ADY = FARRAY(b, gc->state.vData.vertexInfo.offset+4) - FARRAY(a, gc->state.vData.vertexInfo.offset+4); - i = *(long *)&ADY; + i = *(int *)&ADY; if (i < 0) { float *tv; tv = a; a = b; b = tv; i ^= 0x80000000; /* ady = -ady; */ - (*(long *)&ADY) = i; + (*(int *)&ADY) = i; } DX = FARRAY(b, gc->state.vData.vertexInfo.offset) - FARRAY(a, gc->state.vData.vertexInfo.offset); - j = *(long *)&DX; + j = *(int *)&DX; if (j < 0) { j ^= 0x80000000; /* adx = -adx; */ } @@ -981,7 +989,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype ** compute absolute deltas and draw from low Y to high Y */ ADY = tmp2 - tmp1; - i = *(long *)&ADY; + i = *(int *)&ADY; if (i < 0) { float *tv; owa = oowb; owb = oowa; @@ -989,7 +997,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype fby = tmp1; tv = a; a = b; b = tv; i ^= 0x80000000; /* ady = -ady; */ - (*(long *)&ADY) = i; + (*(int *)&ADY) = i; } fax = FARRAY(a, gc->state.vData.vertexInfo.offset) *owa*gc->state.Viewport.hwidth+gc->state.Viewport.ox; @@ -997,7 +1005,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype *owb*gc->state.Viewport.hwidth+gc->state.Viewport.ox; DX = fbx - fax; - j = *(long *)&DX; + j = *(int *)&DX; if (j < 0) { j ^= 0x80000000; /* adx = -adx; */ } @@ -1083,7 +1091,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI #if GLIDE_HW_TRI_SETUP && GLIDE_PACKET3_TRI_SETUP FxI32 k; - FxI32 stride = mode; + FxI32 stride; float *vPtr; GR_BEGIN_NOFIFOCHECK(FN_NAME, 90); @@ -1097,9 +1105,10 @@ _grDrawTriangles_Default(FxI32 mode, FxI GDBG_INFO(110, "%s: paramMask = 0x%x\n", FN_NAME, gc->cmdTransportInfo.paramMask); #endif - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; - + else + stride = sizeof (float *) / sizeof (float); gc->stats.trisProcessed+=(count/3); Index: b/glide3x/h5/glide3/src/gerror.c =================================================================== --- a/glide3x/h5/glide3/src/gerror.c +++ b/glide3x/h5/glide3/src/gerror.c @@ -293,7 +293,7 @@ _grAssert(char *exp, char *fileName, int gdbg_printf("Command Fifo:\n"); gdbg_printf("\tSoftware:\n"); - gdbg_printf("\t\tfifoPtr: 0x%X\n", (FxU32)gc->cmdTransportInfo.fifoPtr - (FxU32) gc->rawLfb); + gdbg_printf("\t\tfifoPtr: 0x%X\n", (AnyPtr)gc->cmdTransportInfo.fifoPtr - (AnyPtr) gc->rawLfb); gdbg_printf("\t\tfifoOffset: 0x%X\n", gc->cmdTransportInfo.fifoOffset); gdbg_printf("\t\tfifoEnd: 0x%X\n", gc->cmdTransportInfo.fifoEnd - gc->rawLfb); gdbg_printf("\t\tfifoSize: 0x%X\n", gc->cmdTransportInfo.fifoSize); @@ -303,7 +303,7 @@ _grAssert(char *exp, char *fileName, int if ( !gc->windowed ) { gdbg_printf("\tHardware:\n"); - gdbg_printf("\t\treadPtrL: 0x%X\n", HW_FIFO_PTR(FXTRUE) - (FxU32)gc->rawLfb); + gdbg_printf("\t\treadPtrL: 0x%X\n", HW_FIFO_PTR(FXTRUE) - (AnyPtr)gc->rawLfb); gdbg_printf("\t\tdepth: 0x%X\n", GR_CAGP_GET(depth)); gdbg_printf("\t\tholeCount: 0x%X\n", GR_CAGP_GET(holeCount)); gdbg_printf("\t\tbaseAddrL: 0x%X\n", GR_CAGP_GET(baseAddrL)); Index: b/glide3x/h5/glide3/src/gglide.c =================================================================== --- a/glide3x/h5/glide3/src/gglide.c +++ b/glide3x/h5/glide3/src/gglide.c @@ -1300,7 +1300,7 @@ _grTriFill(GrColor_t color, FxU32 depth, { REG_GROUP_SET(hw, stencilMode, (GR_CMP_ALWAYS << SST_STENCIL_FUNC_SHIFT) | (stencil << SST_STENCIL_REF_SHIFT) | - stencilMode & (SST_STENCIL_WMASK | SST_STENCIL_MASK) | + (stencilMode & (SST_STENCIL_WMASK | SST_STENCIL_MASK)) | SST_STENCIL_ENABLE) ; REG_GROUP_SET(hw, stencilOp, (GR_STENCILOP_REPLACE << SST_STENCIL_SFAIL_OP_SHIFT) | (GR_STENCILOP_REPLACE << SST_STENCIL_ZFAIL_OP_SHIFT) | @@ -2806,8 +2806,8 @@ GR_ENTRY(grDRIBufferSwap, void, (FxU32 s for ( i = 0; i < MAX_BUFF_PENDING && j == -1; i++) { if (gc->bufferSwaps[i] == 0xffffffff) { gc->bufferSwaps[i] = - (FxU32) gc->cmdTransportInfo.fifoPtr - - (FxU32) gc->cmdTransportInfo.fifoStart; + (AnyPtr) gc->cmdTransportInfo.fifoPtr - + (AnyPtr) gc->cmdTransportInfo.fifoStart; j = i; } } @@ -3908,7 +3908,7 @@ GR_ENTRY(grGlideShutdown, void, (void)) * continuing so that any internal glide calls have a valid * gc from tls via GR_DCL_GC. F*ck this up at your own peril. */ - setThreadValue((FxU32)gc); + setThreadValue((AnyPtr)gc); #if (GLIDE_PLATFORM & GLIDE_OS_WIN32) /* Flush any remaining commands and cleanup any per gc state */ grSurfaceReleaseContext((GrContext_t)gc); Index: b/glide3x/h5/glide3/src/glfb.c =================================================================== --- a/glide3x/h5/glide3/src/glfb.c +++ b/glide3x/h5/glide3/src/glfb.c @@ -648,7 +648,7 @@ GR_ENTRY(grLfbLock, FxBool,(GrLock_t typ info->strideInBytes = driInfo.stride; } else { info->strideInBytes = gc->bInfo->buffInfo.bufLfbStride; - } + } #else /* defined(__linux__) */ /* * This is the default for 3D LFBs, @@ -671,7 +671,7 @@ GR_ENTRY(grLfbLock, FxBool,(GrLock_t typ if ( gc->textureBuffer.on && ( buffer == GR_BUFFER_TEXTUREBUFFER_EXT || buffer == GR_BUFFER_TEXTUREAUXBUFFER_EXT )) { if (type == GR_LFB_READ_ONLY) { - info->lfbPtr = (void *)((FxU32)gc->rawLfb + gc->textureBuffer.addr); + info->lfbPtr = (void *)((AnyPtr)gc->rawLfb + gc->textureBuffer.addr); info->strideInBytes = gc->textureBuffer.stride ; #if __POWERPC__ if(IS_NAPALM(gc->bInfo->pciInfo.deviceID)) { @@ -693,7 +693,7 @@ GR_ENTRY(grLfbLock, FxBool,(GrLock_t typ (!pixelPipeline) && /* Origin must be upper left since we will return raw lfb */ (origin != GR_ORIGIN_LOWER_LEFT)){ - info->lfbPtr = (void *)((FxU32)gc->rawLfb + gc->textureBuffer.addr); + info->lfbPtr = (void *)((AnyPtr)gc->rawLfb + gc->textureBuffer.addr); info->strideInBytes = gc->textureBuffer.stride ; } @@ -1114,7 +1114,7 @@ _grLfbWriteRegion(FxBool pixPipelineP, case GR_LFB_SRC_FMT_ZA16: dstData = (FxU32*)(((FxU16*)dstData) + dst_x); length = src_width * 2; - aligned = !((int)dstData&0x2); + aligned = !((long)dstData&0x2); srcJump = src_stride - length; dstJump = info.strideInBytes - length; if (aligned) { @@ -1322,7 +1322,7 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf scanline=src_height; /* set length - alignment fix*/ - tmp=(((FxU32)src)&2); + tmp=(((AnyPtr)src)&2); length=src_width * bpp - tmp; src_adjust=info.strideInBytes - tmp; dst_adjust=dst_stride - tmp; @@ -1333,7 +1333,7 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf while(src_height--) { /* adjust starting alignment */ - if (((FxU32)src)&3) + if (((AnyPtr)src)&3) *((FxU16 *)dst)++=*((FxU16 *)src)++; /* read in dwords of pixels */ @@ -1345,12 +1345,12 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf /* copies aligned dwords */ do { - *((FxU32 *)(((FxU32)dst) + byte_index))=*((FxU32 *)(((FxU32)src) + byte_index)); + *((FxU32 *)(((AnyPtr)dst) + byte_index))=*((FxU32 *)(((AnyPtr)src) + byte_index)); }while((byte_index+=4)bufferSwaps[t] = 0xffffffff; } - gc->bufferSwaps[0] = ((FxU32) gc->cmdTransportInfo.fifoPtr - - (FxU32) gc->cmdTransportInfo.fifoStart); + gc->bufferSwaps[0] = ((AnyPtr) gc->cmdTransportInfo.fifoPtr - + (AnyPtr) gc->cmdTransportInfo.fifoStart); gc->swapsPending = 1; @@ -1383,7 +1383,7 @@ GR_ENTRY(grSstWinOpen, GrContext_t, ( Fx * current gc. This gc is valid for all threads in the fullscreen * context. */ - setThreadValue( (FxU32)&_GlideRoot.GCs[_GlideRoot.current_sst] ); + setThreadValue( (AnyPtr)&_GlideRoot.GCs[_GlideRoot.current_sst] ); { /* Partial Argument Validation */ @@ -1540,7 +1540,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ * current gc. This gc is valid for all threads in the fullscreen * context. */ - setThreadValue( (FxU32)&_GlideRoot.GCs[_GlideRoot.current_sst] ); + setThreadValue( (AnyPtr)&_GlideRoot.GCs[_GlideRoot.current_sst] ); { /* Partial Argument Validation */ @@ -2208,7 +2208,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ for (buffer = 0; buffer < nColBuffers; buffer++) { gc->buffers0[buffer] = bufInfo->colBuffStart0[buffer]; GDBG_INFO(80, "Buffer %d: Start: 0x%x\n", buffer, gc->buffers0[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; if (bInfo->buffInfo.enable2ndbuffer) { gc->buffers1[buffer] = bufInfo->colBuffStart1[buffer]; GDBG_INFO(80, "Buffer %d: Start: 0x%x\n", buffer, gc->buffers1[buffer]); @@ -2217,7 +2217,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ if (nAuxBuffers != 0) { gc->buffers0[buffer] = bufInfo->auxBuffStart0; GDBG_INFO(80, "Aux Buffer: Start: 0x%x\n", gc->buffers0[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; if (bInfo->buffInfo.enable2ndbuffer) { gc->buffers1[buffer] = bufInfo->auxBuffStart1; GDBG_INFO(80, "Aux Buffer: Start: 0x%x\n", gc->buffers1[buffer]); @@ -2422,7 +2422,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ for ( buffer = 0; buffer < nColBuffers; buffer++ ) { gc->buffers0[buffer] = bufInfo->colBuffStart0[buffer]; GDBG_INFO(80, "Buffer %d: Start: 0x%x\n", buffer, gc->buffers0[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; if (bInfo->buffInfo.enable2ndbuffer) { gc->buffers1[buffer] = bufInfo->colBuffStart1[buffer]; GDBG_INFO(80, "Buffer %d: Start: 0x%x\n", buffer, gc->buffers1[buffer]); @@ -2431,7 +2431,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ if (nAuxBuffers != 0) { gc->buffers0[buffer] = bufInfo->auxBuffStart0; GDBG_INFO(80, "Aux Buffer: Start: 0x%x\n", gc->buffers0[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; if (bInfo->buffInfo.enable2ndbuffer) { gc->buffers1[buffer] = bufInfo->auxBuffStart1; GDBG_INFO(80, "Aux Buffer: Start: 0x%x\n", gc->buffers1[buffer]); @@ -2581,7 +2581,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ for ( buffer = 0; buffer < nColBuffers; buffer++ ) { gc->buffers0[buffer] = bufInfo->colBuffStart0[buffer]; GDBG_INFO(80, "Buffer %d: Start: 0x%x\n", buffer, gc->buffers0[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; if (bInfo->buffInfo.enable2ndbuffer) { gc->buffers1[buffer] = bufInfo->colBuffStart1[buffer]; GDBG_INFO(80, "Buffer %d: Start: 0x%x\n", buffer, gc->buffers1[buffer]); @@ -2590,7 +2590,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ if (nAuxBuffers != 0) { gc->buffers0[buffer] = bufInfo->auxBuffStart0; GDBG_INFO(80, "Aux Buffer: Start: 0x%x\n", gc->buffers0[buffer]); - gc->lfbBuffers[buffer] = (FxU32)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; + gc->lfbBuffers[buffer] = (AnyPtr)gc->rawLfb + bufInfo->lfbBuffAddr0[buffer]; if (bInfo->buffInfo.enable2ndbuffer) { gc->buffers1[buffer] = bufInfo->auxBuffStart1; GDBG_INFO(80, "Aux Buffer: Start: 0x%x\n", gc->buffers1[buffer]); @@ -2743,7 +2743,7 @@ GR_EXT_ENTRY(grSstWinOpenExt, GrContext_ gcFifo->fifoPtr ); #ifdef __linux__ - _grImportFifo(*driInfo.fifoPtr, *driInfo.fifoRead); + _grImportFifo((AnyPtr)*driInfo.fifoPtr, (AnyPtr)*driInfo.fifoRead); #endif /* The hw is now in a usable state from the fifo macros. @@ -3033,7 +3033,7 @@ GR_ENTRY(grSstWinClose, FxBool, (GrConte * the tls gc explicitly otherwise other whacky-ness (read 'random * crashes' will ensue). */ - setThreadValue((FxU32)gc); + setThreadValue((AnyPtr)gc); if ((gc != NULL) && gc->open) grFlush(); /* Make sure that the user specified gc is not whacked */ @@ -3349,8 +3349,8 @@ GR_ENTRY(grFlush, void, (void)) if ( gc->windowed ) { #ifdef GLIDE_INIT_HWC GDBG_INFO(gc->myLevel + 200, FN_NAME": cmdSize(0x%X)\n", - ((FxU32)gc->cmdTransportInfo.fifoPtr - - (FxU32)gc->cmdTransportInfo.hwcFifoInfo.cmdBuf.baseAddr)); + ((AnyPtr)gc->cmdTransportInfo.fifoPtr - + (AnyPtr)gc->cmdTransportInfo.hwcFifoInfo.cmdBuf.baseAddr)); _FifoFlush(); #endif } else if (!gc->cmdTransportInfo.autoBump) { Index: b/glide3x/h5/glide3/src/gstrip.c =================================================================== --- a/glide3x/h5/glide3/src/gstrip.c +++ b/glide3x/h5/glide3/src/gstrip.c @@ -173,7 +173,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty ** simplified code */ FxU32 vSize; - FxI32 stride = mode; + FxI32 stride; GR_BEGIN_NOFIFOCHECK(FN_NAME, 90); @@ -183,8 +183,10 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty GR_FLUSH_STATE(); vSize = gc->state.vData.vSize; - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); /* Draw the first (or possibly only) set. This is necessary because the packet is 3_BDDDDDD, and in the next set, the packet is Index: b/glide3x/h5/glide3/src/gstrip_ppc.c =================================================================== --- a/glide3x/h5/glide3/src/gstrip_ppc.c +++ b/glide3x/h5/glide3/src/gstrip_ppc.c @@ -177,7 +177,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty ** simplified code */ FxU32 vSize; - FxI32 stride = mode; + FxI32 stride; GR_BEGIN_NOFIFOCHECK(FN_NAME, 90); @@ -187,8 +187,10 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty GR_FLUSH_STATE(); vSize = gc->state.vData.vSize; - if (stride == 0) + if (mode == 0) stride = gc->state.vData.vStride; + else + stride = sizeof(float*)/sizeof(float); /* Draw the first (or possibly only) set. This is necessary because the packet is 3_BDDDDDD, and in the next set, the packet is Index: b/glide3x/h5/glide3/src/gtexdl.c =================================================================== --- a/glide3x/h5/glide3/src/gtexdl.c +++ b/glide3x/h5/glide3/src/gtexdl.c @@ -473,7 +473,7 @@ GR_DDFUNC(_grTexDownloadPalette, while(i < start + slopCount) { FxU32 entry; - entry = (0x80000000 | ((i & 0xFE) << 23) | pal->data[i] & 0xFFFFFF); + entry = (0x80000000 | ((i & 0xFE) << 23) | (pal->data[i] & 0xFFFFFF)); gc->state.shadow.paletteRow[i>>3].data[i&7] = entry; REG_GROUP_SET(hw, nccTable0[4 + (i & 0x07)], entry ); @@ -491,7 +491,7 @@ GR_DDFUNC(_grTexDownloadPalette, while(i < endIndex) { FxU32 entry; - entry = (0x80000000 | ((i & 0xFE) << 23) | pal->data[i] & 0xFFFFFF); + entry = (0x80000000 | ((i & 0xFE) << 23) | (pal->data[i] & 0xFFFFFF)); gc->state.shadow.paletteRow[i>>3].data[i&7] = entry; REG_GROUP_SET(hw, nccTable0[4 + (i & 0x07)], entry ); @@ -510,7 +510,7 @@ GR_DDFUNC(_grTexDownloadPalette, while(i <= end) { FxU32 entry; - entry = (0x80000000 | ((i & 0xFE) << 23) | pal->data[i] & 0xFFFFFF); + entry = (0x80000000 | ((i & 0xFE) << 23) | (pal->data[i] & 0xFFFFFF)); gc->state.shadow.paletteRow[i>>3].data[i&7] = entry; REG_GROUP_SET(hw, nccTable0[4 + (i & 0x07)], entry ); Index: b/glide3x/h5/glide3/src/gthread.c =================================================================== --- a/glide3x/h5/glide3/src/gthread.c +++ b/glide3x/h5/glide3/src/gthread.c @@ -64,13 +64,13 @@ initThreadStorage( void ) } /* initThreadStorage */ -void setThreadValue( FxU32 value ) { +void setThreadValue( AnyPtr value ) { GR_CHECK_F( "setThreadValue", !threadInit, "Thread storage not initialized\n" ); TlsSetValue( _GlideRoot.tlsIndex, (void*)value ); } #pragma warning (4:4035) /* No return value */ -FxU32 getThreadValueSLOW( void ) { +AnyPtr getThreadValueSLOW( void ) { GR_CHECK_F( "getThreadValue", !threadInit, "Thread storage not initialized\n" ); #if 0 @@ -125,18 +125,18 @@ void endCriticalSection( void ) { #include "fxglide.h" #include "fxcmd.h" -FxU32 _threadValueMacOS; +AnyPtr _threadValueMacOS; void initThreadStorage(void) { } -void setThreadValue( FxU32 value ) +void setThreadValue( AnyPtr value ) { _threadValueMacOS = value; } -FxU32 getThreadValueSLOW( void ) +AnyPtr getThreadValueSLOW( void ) { return _threadValueMacOS; } @@ -169,7 +169,7 @@ void endCriticalSection(void) #include "fxglide.h" #include "fxcmd.h" -FxU32 threadValueLinux; +AnyPtr threadValueLinux; void initThreadStorage(void) { @@ -177,12 +177,12 @@ void initThreadStorage(void) -void setThreadValue( FxU32 value ) +void setThreadValue( AnyPtr value ) { threadValueLinux = value; } -FxU32 getThreadValueSLOW( void ) +AnyPtr getThreadValueSLOW( void ) { return threadValueLinux; } Index: b/glide3x/h5/glide3/src/xdraw2.inc.s =================================================================== --- a/glide3x/h5/glide3/src/xdraw2.inc.s +++ b/glide3x/h5/glide3/src/xdraw2.inc.s @@ -160,7 +160,7 @@ push %esi /* save caller's register variable */ push %ebx /* save caller's register variable */ - mov _gc-4(%esp), gc + mov _gc(%esp), gc mov _vb-4(%esp) , fb /* get base address of vertex B */ push %ebp /* save frame pointer */ @@ -298,7 +298,7 @@ LOCAL(nocull): push %edi /* save caller's register variable */ push %esi /* save caller's register variable */ - mov _gc-8(%esp) , gc /* gc on stack (NOT!!! in edx) from caller */ + mov %edx , gc /* gc in edx from caller */ push %ebx /* save caller's register variable */ push %ebp /* save frame pointer */ Index: b/glide3x/h5/glide3/src/xtexdl_def.c =================================================================== --- a/glide3x/h5/glide3/src/xtexdl_def.c +++ b/glide3x/h5/glide3/src/xtexdl_def.c @@ -291,7 +291,7 @@ _grTexDownload_Default_8_4(struct GrGC_s const FxU32 t0 = *(const FxU32*)src8; GDBG_INFO(195, "s = %d, t = %d, address = 0x%x\n", s, t, - (FxU32) tex_address - (FxU32) gc->tex_ptr + 0x200000); + (AnyPtr) tex_address - (AnyPtr) gc->tex_ptr + 0x200000); LINEAR_WRITE_SET_8(tex_address, t0); @@ -384,7 +384,7 @@ _grTexDownload_Default_8_WideS(struct Gr t1 = *(const FxU32*)(src8 + 4); GDBG_INFO(195, "s = %d, t = %d, address = 0x%x\n", s, t, - (FxU32) tex_address - (FxU32) gc->tex_ptr + 0x200000); + (AnyPtr) tex_address - (AnyPtr) gc->tex_ptr + 0x200000); LINEAR_WRITE_SET_8(tex_address + 0, t0); LINEAR_WRITE_SET_8(tex_address + 4, t1); @@ -544,7 +544,7 @@ _grTexDownload_Default_16_WideS(struct G const FxU32 t1 = *(const FxU32*)(src16 + 2); GDBG_INFO(195, "s = %d, t = %d, address = 0x%x\n", s, t, - (FxU32) tex_address - (FxU32) gc->tex_ptr + 0x200000); + (AnyPtr) tex_address - (AnyPtr) gc->tex_ptr + 0x200000); LINEAR_WRITE_SET_16(tex_address + 0, t0); LINEAR_WRITE_SET_16(tex_address + 4, t1); @@ -611,7 +611,7 @@ _grTexDownload_Default_32_WideS(struct G const FxU32 t1 = *(src32 + 1); GDBG_INFO(195, "s = %d, t = %d, address = 0x%x\n", s, t, - (FxU32) tex_address - (FxU32) gc->tex_ptr + 0x200000); + (AnyPtr) tex_address - (AnyPtr) gc->tex_ptr + 0x200000); LINEAR_WRITE_SET(tex_address, t0); LINEAR_WRITE_SET(tex_address + 4, t1); Index: b/glide3x/h5/incsrc/fxhal.h =================================================================== --- a/glide3x/h5/incsrc/fxhal.h +++ b/glide3x/h5/incsrc/fxhal.h @@ -105,7 +105,7 @@ FX_ENTRY void FX_CALL fxHalPutenv(char FX_ENTRY HalInfo * FX_CALL fxHalInit(FxU32 flags); FX_ENTRY FxU32 FX_CALL fxHalNumBoardsInSystem(void); FX_ENTRY SstRegs * FX_CALL fxHalMapBoard(FxU32 boardNum); -FX_ENTRY FxBool FX_CALL fxHalInitCmdFifo( SstRegs *sst, int which, FxU32 fifoStart, +FX_ENTRY FxBool FX_CALL fxHalInitCmdFifo( SstRegs *sst, int which, AnyPtr fifoStart, FxU32 size, FxBool directExec, FxBool disableHoles, FxBool agpEnable); FX_ENTRY FxBool FX_CALL fxHalInitRegisters(SstRegs *sst); FX_ENTRY FxBool FX_CALL fxHalInitRenderingRegisters(SstRegs *sst); @@ -212,9 +212,18 @@ fxHalInitVideoOverlaySurface( #define AGPWRP(aHi,aLo,d) AGPWRV( *agpPhysToVirt(aHi,aLo), d ) #define AGPRDP(aHi,aLo) AGPRDV( *agpPhysToVirt(aHi,aLo) ) #else // #ifdef HAL_CSIM // REAL hw +#ifdef __alpha__ +extern unsigned char _fxget8(unsigned char *); +extern unsigned short _fxget16(unsigned short *); +extern unsigned int _fxget32(unsigned int *); + #define GET8(s) _fxget8((unsigned byte *)&s); + #define GET16(s) _fxget16((unsigned short *)&s); + #define GET(s) _fxget32((unsigned int *)&s); +#else #define GET8(s) s #define GET16(s) s #define GET(s) s +#endif #define SET8(d,s) d = s #define SET16(d,s) d = s #define SET(d,s) d = s Index: b/glide3x/h5/incsrc/h3defs.h =================================================================== --- a/glide3x/h5/incsrc/h3defs.h +++ b/glide3x/h5/incsrc/h3defs.h @@ -61,11 +61,21 @@ // this crazy macro tests the sign bit of a float by loading it into // an integer register and then testing the sign bit of the integer +#if defined(__LP64__) +/* On IA-64, it's faster to do this the obvious way... -davidm 00/08/09 */ +#define FLOAT_ISNEG(f) ((f) < 0.0) +#else #define FLOAT_ISNEG(f) ((*(int *)(&(f))) < 0) +#endif // these crazy macros returns the sign of a number (1 if >= 0; -1 if < 0) +#if defined(__LP64__) +#define ISIGN(x) ((x) >= 0 ? 1 : -1) +#define FSIGN(f) ((f) >= 0.0 ? 1 : -1) +#else #define ISIGN(x) (((x) | 0x40000000L) >> 30) #define FSIGN(f) ISIGN(*(long *)&f) +#endif #define BIT(n) (1UL<<(n)) #define SST_MASK(n) (0xFFFFFFFFL >> (32-(n))) @@ -2032,9 +2042,9 @@ //----------------- useful addressing macros ----------------------- // return pointer to SST at specified WRAP, CHIP, or TREX -#define SST_WRAP(sst,n) ((SstRegs *)((n)*0x4000+(FxI32)(sst))) -#define SST_CHIP(sst,n) ((SstRegs *)((n)*0x400+(FxI32)(sst))) -#define SST_TMU(sst,n) ((SstRegs *)((0x800<<(n))+(FxI32)(sst))) +#define SST_WRAP(sst,n) ((SstRegs *)((n)*0x4000+(long)(sst))) +#define SST_CHIP(sst,n) ((SstRegs *)((n)*0x400+(long)(sst))) +#define SST_TMU(sst,n) ((SstRegs *)((0x800<<(n))+(long)(sst))) #define SST_TREX(sst,n) SST_TMU(sst,n) // offsets from the base of memBaseAddr0 @@ -2081,7 +2091,7 @@ #define SST_IS_REGISTER_ADDR(a) ( (a) >= SST_IO_OFFSET && (a) < SST_TEX_OFFSET ) -#define SST_BASE_ADDRESS(sst) ((FxI32)(sst)-SST_3D_OFFSET) +#define SST_BASE_ADDRESS(sst) ((AnyPtr)(sst)-SST_3D_OFFSET) #define SST_IO_ADDRESS(sst) (SST_IO_OFFSET+SST_BASE_ADDRESS(sst)) #define SST_CMDAGP_ADDRESS(sst) (SST_CMDAGP_OFFSET+SST_BASE_ADDRESS(sst)) #define SST_GUI_ADDRESS(sst) (SST_2D_OFFSET+SST_BASE_ADDRESS(sst)) Index: b/glide3x/h5/incsrc/h3regs.h =================================================================== --- a/glide3x/h5/incsrc/h3regs.h +++ b/glide3x/h5/incsrc/h3regs.h @@ -279,11 +279,19 @@ typedef volatile struct sstgregs { #ifndef _H2INC +#if defined(__alpha__) || defined(__LP64__) +typedef unsigned int Reg32u; +typedef int Reg32; +#else +typedef unsigned long Reg32u; +typedef long Reg32; +#endif + //----------------- SST chip 3D layout ------------------------- // registers are in groups of 8 for easy decode typedef struct vertex_Rec { - unsigned long x; // 12.4 format - unsigned long y; // 12.4 + Reg32u x; // 12.4 format + Reg32u y; // 12.4 } vtxRec; typedef volatile struct sstregs { // THE 3D CHIP @@ -294,127 +302,127 @@ typedef volatile struct sstregs { vtxRec vB; vtxRec vC; - long r; // 12.12 Parameters - long g; // 12.12 - long b; // 12.12 - long z; // 20.12 in 16bpp, 28.4 in 32bpp (there is an ugly hack in csimio.c, search "//EVIL:") - long a; // 12.12 - long s; // 14.18 - long t; // 14.18 - long w; // 2.30 - - long drdx; // X Gradients - long dgdx; - long dbdx; - long dzdx; //20.12 in 16bpp, 28.4 in 32bpp (there is an ugly hack in csimio.c, search "//EVIL:") - long dadx; - long dsdx; - long dtdx; - long dwdx; - - long drdy; // Y Gradients - long dgdy; - long dbdy; - long dzdy; //20.12 in 16bpp, 28.4 in 32bpp (there is an ugly hack in csimio.c, search "//EVIL:") - long dady; - long dsdy; - long dtdy; - long dwdy; + Reg32 r; // 12.12 Parameters + Reg32 g; // 12.12 + Reg32 b; // 12.12 + Reg32 z; // 20.12 in 16bpp, 28.4 in 32bpp (there is an ugly hack in csimio.c, search "//EVIL:") + Reg32 a; // 12.12 + Reg32 s; // 14.18 + Reg32 t; // 14.18 + Reg32 w; // 2.30 + + Reg32 drdx; // X Gradients + Reg32 dgdx; + Reg32 dbdx; + Reg32 dzdx; //20.12 in 16bpp, 28.4 in 32bpp (there is an ugly hack in csimio.c, search "//EVIL:") + Reg32 dadx; + Reg32 dsdx; + Reg32 dtdx; + Reg32 dwdx; + + Reg32 drdy; // Y Gradients + Reg32 dgdy; + Reg32 dbdy; + Reg32 dzdy; //20.12 in 16bpp, 28.4 in 32bpp (there is an ugly hack in csimio.c, search "//EVIL:") + Reg32 dady; + Reg32 dsdy; + Reg32 dtdy; + Reg32 dwdy; - unsigned long triangleCMD; // execute a triangle command (float) - unsigned long reservedA; + Reg32u triangleCMD; // execute a triangle command (float) + Reg32u reservedA; vtxRec FvA; // floating point version vtxRec FvB; vtxRec FvC; - long Fr; // floating point version - long Fg; - long Fb; - long Fz; - long Fa; - long Fs; - long Ft; - long Fw; - - long Fdrdx; - long Fdgdx; - long Fdbdx; - long Fdzdx; - long Fdadx; - long Fdsdx; - long Fdtdx; - long Fdwdx; - - long Fdrdy; - long Fdgdy; - long Fdbdy; - long Fdzdy; - long Fdady; - long Fdsdy; - long Fdtdy; - long Fdwdy; - - unsigned long FtriangleCMD; // execute a triangle command - unsigned long fbzColorPath; // color select and combine - unsigned long fogMode; // fog Mode - unsigned long alphaMode; // alpha Mode - unsigned long fbzMode; // framebuffer and Z mode - unsigned long lfbMode; // linear framebuffer Mode - unsigned long clipLeftRight; // (6)10(6)10 - unsigned long clipBottomTop; // (6)10(6)10 - - unsigned long nopCMD; // execute a nop command - unsigned long fastfillCMD; // execute a fast fill command - unsigned long swapbufferCMD;// execute a swapbuffer command - unsigned long fogColor; // (8)888 - unsigned long zaColor; // 8.24 - unsigned long chromaKey; // (8)888 - unsigned long chromaRange; - unsigned long userIntrCmd; - - unsigned long stipple; // 32 bits, MSB masks pixels - unsigned long c0; // 8.8.8.8 (ARGB) - unsigned long c1; // 8.8.8.8 (ARGB) + Reg32 Fr; // floating point version + Reg32 Fg; + Reg32 Fb; + Reg32 Fz; + Reg32 Fa; + Reg32 Fs; + Reg32 Ft; + Reg32 Fw; + + Reg32 Fdrdx; + Reg32 Fdgdx; + Reg32 Fdbdx; + Reg32 Fdzdx; + Reg32 Fdadx; + Reg32 Fdsdx; + Reg32 Fdtdx; + Reg32 Fdwdx; + + Reg32 Fdrdy; + Reg32 Fdgdy; + Reg32 Fdbdy; + Reg32 Fdzdy; + Reg32 Fdady; + Reg32 Fdsdy; + Reg32 Fdtdy; + Reg32 Fdwdy; + + Reg32u FtriangleCMD; // execute a triangle command + Reg32u fbzColorPath; // color select and combine + Reg32u fogMode; // fog Mode + Reg32u alphaMode; // alpha Mode + Reg32u fbzMode; // framebuffer and Z mode + Reg32u lfbMode; // linear framebuffer Mode + Reg32u clipLeftRight; // (6)10(6)10 + Reg32u clipBottomTop; // (6)10(6)10 + + Reg32u nopCMD; // execute a nop command + Reg32u fastfillCMD; // execute a fast fill command + Reg32u swapbufferCMD;// execute a swapbuffer command + Reg32u fogColor; // (8)888 + Reg32u zaColor; // 8.24 + Reg32u chromaKey; // (8)888 + Reg32u chromaRange; + Reg32u userIntrCmd; + + Reg32u stipple; // 32 bits, MSB masks pixels + Reg32u c0; // 8.8.8.8 (ARGB) + Reg32u c1; // 8.8.8.8 (ARGB) struct { // statistic gathering variables - unsigned long fbiPixelsIn; - unsigned long fbiChromaFail; - unsigned long fbiZfuncFail; - unsigned long fbiAfuncFail; - unsigned long fbiPixelsOut; + Reg32u fbiPixelsIn; + Reg32u fbiChromaFail; + Reg32u fbiZfuncFail; + Reg32u fbiAfuncFail; + Reg32u fbiPixelsOut; } stats; - unsigned long fogTable[32]; // 64 entries, 2 per word, 2 bytes each + Reg32u fogTable[32]; // 64 entries, 2 per word, 2 bytes each - unsigned long renderMode; // new 32bpp and 1555 modes - unsigned long stencilMode; - unsigned long stencilOp; - unsigned long colBufferAddr; //This is the primary colBufferAddr - unsigned long colBufferStride; - unsigned long auxBufferAddr; //This is the primary auxBufferAddr - unsigned long auxBufferStride; - unsigned long fbiStencilFail; - - unsigned long clipLeftRight1; - unsigned long clipBottomTop1; - unsigned long combineMode; - unsigned long sliCtrl; - unsigned long aaCtrl; - unsigned long chipMask; - unsigned long leftDesktopBuf; - unsigned long reservedD[2]; // NOTE: used to store TMUprivate ptr (reservedD[0]) + Reg32u renderMode; // new 32bpp and 1555 modes + Reg32u stencilMode; + Reg32u stencilOp; + Reg32u colBufferAddr; //This is the primary colBufferAddr + Reg32u colBufferStride; + Reg32u auxBufferAddr; //This is the primary auxBufferAddr + Reg32u auxBufferStride; + Reg32u fbiStencilFail; + + Reg32u clipLeftRight1; + Reg32u clipBottomTop1; + Reg32u combineMode; + Reg32u sliCtrl; + Reg32u aaCtrl; + Reg32u chipMask; + Reg32u leftDesktopBuf; + Reg32u reservedD[2]; // NOTE: used to store TMUprivate ptr (reservedD[0]) // NOTE: used to store CSIMprivate ptr (reservedD[1]) - unsigned long reservedE[7]; // NOTE: reservedE[0] stores the secondary colBufferAddr + Reg32u reservedE[7]; // NOTE: reservedE[0] stores the secondary colBufferAddr // NOTE: reservedE[1] stores the secondary auxBufferAddr // NOTE: reservedE[2] stores the primary colBufferAddr // NOTE: reservedE[3] stores the primary auxBufferAddr - unsigned long reservedF[3]; - unsigned long swapBufferPend; - unsigned long leftOverlayBuf; - unsigned long rightOverlayBuf; - unsigned long fbiSwapHistory; - unsigned long fbiTrianglesOut; // triangles out counter + Reg32u reservedF[3]; + Reg32u swapBufferPend; + Reg32u leftOverlayBuf; + Reg32u rightOverlayBuf; + Reg32u fbiSwapHistory; + Reg32u fbiTrianglesOut; // triangles out counter FxU32 sSetupMode; FxU32 sVx; @@ -436,24 +444,24 @@ typedef volatile struct sstregs { FxU32 sDrawTriCMD; FxU32 sBeginTriCMD; - unsigned long reservedG[6]; + Reg32u reservedG[6]; - unsigned long reservedH[8]; + Reg32u reservedH[8]; - unsigned long reservedI[8]; + Reg32u reservedI[8]; - unsigned long textureMode; // texture Mode - unsigned long tLOD; // texture LOD settings - unsigned long tDetail; // texture detail settings - unsigned long texBaseAddr; // current texture base address - unsigned long texBaseAddr1; - unsigned long texBaseAddr2; - unsigned long texBaseAddr38; - unsigned long trexInit0; // hardware init bits - unsigned long trexInit1; // hardware init bits + Reg32u textureMode; // texture Mode + Reg32u tLOD; // texture LOD settings + Reg32u tDetail; // texture detail settings + Reg32u texBaseAddr; // current texture base address + Reg32u texBaseAddr1; + Reg32u texBaseAddr2; + Reg32u texBaseAddr38; + Reg32u trexInit0; // hardware init bits + Reg32u trexInit1; // hardware init bits - unsigned long nccTable0[12]; // NCC decode tables, bits are packed - unsigned long nccTable1[12]; // 4 words Y, 4 words I, 4 words Q + Reg32u nccTable0[12]; // NCC decode tables, bits are packed + Reg32u nccTable1[12]; // 4 words Y, 4 words I, 4 words Q } SstRegs; Index: b/glide3x/h5/minihwc/hwcext.h =================================================================== --- a/glide3x/h5/minihwc/hwcext.h +++ b/glide3x/h5/minihwc/hwcext.h @@ -256,7 +256,8 @@ typedef struct hwcExtLinearAddrReq_s { /* Returned from HWCEXT_GETLINEARADDR */ typedef struct hwcExtLinearAddrRes_s { FxU32 - numBaseAddrs, /* # base addresses */ + numBaseAddrs; /* # base addresses */ + AnyPtr baseAddresses[HWCEXT_MAX_BASEADDR]; /* linear Addresses */ } hwcExtLinearAddrRes_t; Index: b/glide3x/h5/minihwc/hwcio.h =================================================================== --- a/glide3x/h5/minihwc/hwcio.h +++ b/glide3x/h5/minihwc/hwcio.h @@ -48,6 +48,12 @@ extern char *cmdAGPRegNames[]; extern char *waxRegNames[]; extern char *sstRegNames[]; +#ifdef __alpha__ +extern unsigned int _fxget32(unsigned int *); +#define GET(s) _fxget32((unsigned int *)&s); +#define SET(d,s) d = s +#endif + #ifndef GET # define GET(s) s # define SET(d, s) d = s Index: b/glide3x/h5/minihwc/linhwc.c =================================================================== --- a/glide3x/h5/minihwc/linhwc.c +++ b/glide3x/h5/minihwc/linhwc.c @@ -67,7 +67,15 @@ hwcCheckMemSize(hwcBoardInfo *bInfo, FxU #include "lindri.h" static FxU32 fenceVar; +#if defined(__i386__) #define P6FENCE asm("xchg %%eax, %0" : : "m" (fenceVar) : "eax"); +#elif defined(__alpha__) +#define P6FENCE asm volatile("mb" ::: "memory") +#elif defined(__ia64__) +#define P6FENCE asm volatile("mf.a" ::: "memory") +#else +#error - need to define P6FENCE +#endif #define MAXFIFOSIZE 0x40000 #define FIFOPAD 0x0000 @@ -237,8 +245,8 @@ hwcMapBoard(hwcBoardInfo *bInfo, FxU32 b bInfo->linearInfo.initialized = FXTRUE; bInfo->osNT = FXFALSE; bInfo->procHandle = getpid(); - bInfo->linearInfo.linearAddress[0]=(FxU32)driInfo.pRegs; - bInfo->linearInfo.linearAddress[1]=(FxU32)driInfo.pFB; + bInfo->linearInfo.linearAddress[0]=(AnyPtr)driInfo.pRegs; + bInfo->linearInfo.linearAddress[1]=(AnyPtr)driInfo.pFB; return FXTRUE; } @@ -974,7 +982,7 @@ char hwcGetCH( void ) { return lin_getch(); } -void grDRIImportFifo(int fifoPtr, int fifoRead) +void grDRIImportFifo(FxU32 fifoPtr, FxU32 fifoRead) { _grImportFifo(fifoPtr, fifoRead); } Index: b/glide3x/h5/minihwc/minihwc.c =================================================================== --- a/glide3x/h5/minihwc/minihwc.c +++ b/glide3x/h5/minihwc/minihwc.c @@ -1660,7 +1660,7 @@ hwcMapBoard(hwcBoardInfo *bInfo, FxU32 b for (bAddr = 0; bAddr < 2; bAddr++) { if ((bAddrMask & (0x01UL << bAddr)) != 0x00UL) { bInfo->linearInfo.linearAddress[bAddr] = - (FxU32)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, + (AnyPtr)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, length, &bInfo->deviceNum, bInfo->boardNum, bAddr); } } @@ -1669,13 +1669,13 @@ hwcMapBoard(hwcBoardInfo *bInfo, FxU32 b * unconditionally */ bInfo->linearInfo.linearAddress[2] = - (FxU32)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, + (AnyPtr)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, length, &bInfo->deviceNum, bInfo->boardNum, 2); /* Does the caller want the rom bios? */ if ((bAddrMask & 0x08UL) != 0x00UL) { bInfo->linearInfo.linearAddress[3] = - (FxU32)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, + (AnyPtr)pciMapCardMulti(bInfo->pciInfo.vendorID, bInfo->pciInfo.deviceID, 0x1000000, &bInfo->deviceNum, bInfo->boardNum, 3); } Index: b/glide3x/h5/minihwc/minihwc.h =================================================================== --- a/glide3x/h5/minihwc/minihwc.h +++ b/glide3x/h5/minihwc/minihwc.h @@ -315,14 +315,14 @@ typedef struct hwcPCIInfo_s { typedef struct hwcLinearInfo_s { FxBool initialized; - FxU32 + AnyPtr linearAddress[HWC_NUM_BASE_ADDR]; } hwcLinearInfo; typedef struct hwcRegInfo_s { FxBool initialized; - volatile FxU32 + volatile AnyPtr ioMemBase, /* mem base for I/O aliases */ cmdAGPBase, /* CMD/AGP register base */ waxBase, /* 2D register base */ @@ -346,11 +346,14 @@ typedef struct hwcFifoInfo_s { FxBool agpFifo, initialized; + AnyPtr + agpVirtAddr; FxU32 - agpVirtAddr, agpPhysAddr, - agpSize, - fifoStart, /* Beg of fifo (offset from base) */ + agpSize; + AnyPtr + fifoStart; /* Beg of fifo (offset from base) */ + FxU32 fifoLength; /* Fifo size in bytes */ } hwcFifoInfo; Index: b/swlibs/fxmisc/fximg.c =================================================================== --- a/swlibs/fxmisc/fximg.c +++ b/swlibs/fxmisc/fximg.c @@ -1471,8 +1471,8 @@ FxBool _imgWriteP6Header( FILE *stream, imgErrorString = "Image write error."; if ( 0 > fprintf( stream, "P6\n" ) ) return FXFALSE; if ( 0 > fprintf( stream, "# PPM Comment\n" ) ) return FXFALSE; - if ( 0 > fprintf( stream, "%ld ", info->width ) ) return FXFALSE; - if ( 0 > fprintf( stream, "%ld\n", info->height ) ) return FXFALSE; + if ( 0 > fprintf( stream, "%d ", info->width ) ) return FXFALSE; + if ( 0 > fprintf( stream, "%d\n", info->height ) ) return FXFALSE; if ( 0 > fprintf( stream, "255\n" ) ) return FXFALSE; imgErrorString = "No error."; return FXTRUE; @@ -1948,7 +1948,7 @@ FxBool imgReadFile(const char *filename, if (prefix) { // if there's a path prefix char buf[1024], *p; strcpy(buf,prefix); // copy and replace semicolon - if ((p = strchr(buf,';'))) *p = '\0'; + if ((p = strchr(buf,';')) != NULL) *p = '\0'; fprintf(stderr,buf); fprintf(stderr,"/"); } Index: b/swlibs/fxmisc/fxos.c =================================================================== --- a/swlibs/fxmisc/fxos.c +++ b/swlibs/fxmisc/fxos.c @@ -98,7 +98,7 @@ FILE *fxFopenPath(const char *filename, // first try and open up the file in the current directory if (pprefix) *pprefix = NULL; - if ((file = fopen(filename,mode))) + if ((file = fopen(filename,mode)) != NULL) return file; if (path == NULL) return NULL; @@ -115,7 +115,7 @@ FILE *fxFopenPath(const char *filename, strcat(nameWithPath,"/"); // add directory separator strcat(nameWithPath,filename); // add filename if (pprefix) *pprefix = path; // save the prefix - if ((file = fopen(nameWithPath,mode))) + if ((file = fopen(nameWithPath,mode)) != NULL) return file; path = psemi; // advance to next path element if (path) Index: b/swlibs/include/make/makefile.autoconf.bottom =================================================================== --- a/swlibs/include/make/makefile.autoconf.bottom +++ b/swlibs/include/make/makefile.autoconf.bottom @@ -32,9 +32,21 @@ ifeq ("@GLIDE_DEBUG@","true") GLIDE_DEBUG_CFLAGS = -O GLIDE_DEBUG_CPPFLAGS = -DGDBG_INFO_ON -DGLIDE_DEBUG else +ifeq ("@FX_GLIDE_BUILD_ARCHITECTURE@","alpha") +GLIDE_DEBUG_GCFLAGS = -O2 -mcpu=ev5 +GLIDE_DEBUG_GDEFS = -fomit-frame-pointer \ + -fexpensive-optimizations -mieee -DBIG_OPT +else +ifeq ("@FX_GLIDE_BUILD_ARCHITECTURE@","ia64") +GLIDE_DEBUG_GCFLAGS = -O3 +GLIDE_DEBUG_GDEFS = -fomit-frame-pointer \ + -fexpensive-optimizations -ffast-math -DBIG_OPT +else GLIDE_DEBUG_CFLAGS = -O6 -mcpu=i486 -fomit-frame-pointer -funroll-loops \ -fexpensive-optimizations -ffast-math -DBIG_OPT endif +endif +endif CFLAGS = -Wall -g $(GLIDE_DEBUG_CFLAGS) CPPFLAGS = @CPPFLAGS@ $(GLIDE_DEBUG_CPPFLAGS) Index: b/swlibs/newpci/pcilib/fxlinux.c =================================================================== --- a/swlibs/newpci/pcilib/fxlinux.c +++ b/swlibs/newpci/pcilib/fxlinux.c @@ -35,10 +35,10 @@ static const char* pciIdentifyLinux(void static FxBool pciOutputStringLinux(const char *msg); static FxBool pciInitializeLinux(void); static FxBool pciShutdownLinux(void); -static FxBool pciMapLinearLinux(FxU32, FxU32 physical_addr, FxU32 *linear_addr, +static FxBool pciMapLinearLinux(FxU32, FxU32 physical_addr, AnyPtr *linear_addr, FxU32 *length); -static FxBool pciUnmapLinearLinux(FxU32 linear_addr, FxU32 length); -static FxBool pciSetPermissionLinux(const FxU32, const FxU32, const FxBool); +static FxBool pciUnmapLinearLinux(AnyPtr linear_addr, FxU32 length); +static FxBool pciSetPermissionLinux(const AnyPtr, const FxU32, const FxBool); static FxU8 pciPortInByteLinux(unsigned short port); static FxU16 pciPortInWordLinux(unsigned short port); static FxU32 pciPortInLongLinux(unsigned short port); @@ -204,7 +204,7 @@ pciShutdownLinux(void) static FxBool pciMapLinearLinux(FxU32 bus, FxU32 physical_addr, - FxU32 *linear_addr, FxU32 *length) + AnyPtr *linear_addr, FxU32 *length) { int fd; if (linuxDevFd!=-1) { @@ -215,7 +215,7 @@ pciMapLinearLinux(FxU32 bus, FxU32 physi return FXFALSE; } } - if (((*linear_addr)=(FxU32)mmap(0, *length, PROT_READ|PROT_WRITE, + if (((*linear_addr)=(AnyPtr)mmap(0, *length, PROT_READ|PROT_WRITE, MAP_SHARED, fd, physical_addr))<0) { if (fd!=linuxDevFd) close(fd); return FXFALSE; @@ -225,14 +225,14 @@ pciMapLinearLinux(FxU32 bus, FxU32 physi } static FxBool -pciUnmapLinearLinux(FxU32 linear_addr, FxU32 length) +pciUnmapLinearLinux(AnyPtr linear_addr, FxU32 length) { munmap((void*)linear_addr, length); return FXTRUE; } static FxBool -pciSetPermissionLinux(const FxU32 addrBase, const FxU32 addrLen, +pciSetPermissionLinux(const AnyPtr addrBase, const FxU32 addrLen, const FxBool writePermP) { return FXTRUE; Index: b/swlibs/newpci/pcilib/fxpci.c =================================================================== --- a/swlibs/newpci/pcilib/fxpci.c +++ b/swlibs/newpci/pcilib/fxpci.c @@ -55,7 +55,7 @@ static struct { struct { FxBool mapped; - FxU32 + AnyPtr addr; } addrList[MAX_PCI_BASEADDRESSES]; } linearAddressMapList[MAX_PCI_DEVICES]; @@ -279,11 +279,12 @@ _pciUpdateRegister( FxU32 offset, FxU32 return; } /* _pciUpdateRegister */ -static FxU32 +static AnyPtr find_mapped_address(FxU32 device_bus_func_number, FxU32 addrNum) { FxU32 - i, + i; + AnyPtr retVal = 0x00UL; for(i = 0; i < MAX_PCI_DEVICES; i++) { @@ -298,7 +299,7 @@ find_mapped_address(FxU32 device_bus_fun } static void -set_mapped_address(FxU32 device_bus_func_number, FxU32 addrNum, FxU32 value) +set_mapped_address(FxU32 device_bus_func_number, FxU32 addrNum, AnyPtr value) { FxU32 i; @@ -608,18 +609,11 @@ pciSetConfigData( PciRegister reg, FxU32 return FXFALSE; } - /* - * NOTE: This should really be this way, at least for now. - * - * Changing this to return the value returned by - * pciUpdateRegisterLinux breaks sst1. - */ #ifdef __linux__ if (hasDev3DfxLinux()) { - pciUpdateRegisterLinux( reg.regAddress, *data, reg.sizeInBytes, - device_bus_func_number); + return pciUpdateRegisterLinux(reg.regAddress, *data, reg.sizeInBytes, + device_bus_func_number); - return FXTRUE; } #endif _pciUpdateRegister( reg.regAddress, *data, reg.sizeInBytes, @@ -709,7 +703,8 @@ pciMapCardMulti(FxU32 vendorID, FxU32 de FxU32 cardNum, FxU32 addressNum) { FxU32 - physAddress, + physAddress; + AnyPtr virtAddress; /* 1) open the PCI device and scan it for devices @@ -720,7 +715,7 @@ pciMapCardMulti(FxU32 vendorID, FxU32 de /* 3) find the current physcial address of the card */ pciGetConfigData( baseAddresses[addressNum], *devNum, &physAddress ); - if (length <= 0) return (FxU32*)length; + if (length <= 0) return (FxU32*)(long)length; /* Mask the memory type information bits off. * [0]: Memory type indicator (0 memory/1 i/o) @@ -760,7 +755,6 @@ pciMapCardMulti(FxU32 vendorID, FxU32 de return (FxU32*)virtAddress; } /* pciMapCardMulti */ - FX_EXPORT FxU32 * FX_CSTYLE pciMapCard(FxU32 vendorID, FxU32 deviceID, FxI32 length, FxU32 *devNum, FxU32 addressNum) @@ -769,7 +763,7 @@ pciMapCard(FxU32 vendorID, FxU32 deviceI } /* pciMapCard */ FX_EXPORT FxBool FX_CSTYLE -pciMapPhysicalToLinear( FxU32 *linear_addr, FxU32 physical_addr, +pciMapPhysicalToLinear( AnyPtr *linear_addr, FxU32 physical_addr, FxU32 *length ) { return pciMapPhysicalDeviceToLinear(linear_addr, @@ -778,7 +772,7 @@ pciMapPhysicalToLinear( FxU32 *linear_ad } /* pciMapPhysicalToLinear */ FX_ENTRY FxBool FX_CALL -pciMapPhysicalDeviceToLinear(FxU32 *linear_addr, +pciMapPhysicalDeviceToLinear(AnyPtr *linear_addr, FxU32 busNumber, FxU32 physical_addr, FxU32 *length) { @@ -788,7 +782,7 @@ pciMapPhysicalDeviceToLinear(FxU32 *line FX_EXPORT void FX_CSTYLE -pciUnmapPhysical( FxU32 linear_addr, FxU32 length ) +pciUnmapPhysical( AnyPtr linear_addr, FxU32 length ) { int i,j; @@ -828,7 +822,7 @@ pciOutputDebugString(const char* msg) } FX_EXPORT FxBool FX_CSTYLE -pciLinearRangeSetPermission(const FxU32 addrBase, const FxU32 addrLen, const FxBool writeableP) +pciLinearRangeSetPermission(const AnyPtr addrBase, const FxU32 addrLen, const FxBool writeableP) { return pciLinearRangeSetPermissionDD(addrBase, addrLen, writeableP); } Index: b/swlibs/newpci/pcilib/fxpci.h =================================================================== --- a/swlibs/newpci/pcilib/fxpci.h +++ b/swlibs/newpci/pcilib/fxpci.h @@ -180,15 +180,15 @@ pciSetConfigDataRaw( PciRegister reg, Fx * on bus0 which would not work across pci bridges or on agp devices. */ FX_ENTRY FxBool FX_CALL -pciMapPhysicalToLinear(FxU32 *linear_addr, FxU32 physical_addr,FxU32 *length); +pciMapPhysicalToLinear(AnyPtr *linear_addr, FxU32 physical_addr,FxU32 *length); FX_ENTRY FxBool FX_CALL -pciMapPhysicalDeviceToLinear(FxU32 *linear_addr, +pciMapPhysicalDeviceToLinear(AnyPtr *linear_addr, FxU32 busNumber, FxU32 physical_addr, FxU32 *length); FX_ENTRY void FX_CALL -pciUnmapPhysical( FxU32 linear_addr, FxU32 length ); +pciUnmapPhysical( AnyPtr linear_addr, FxU32 length ); const char * pciGetVendorName( FxU16 vendor_id ); @@ -235,7 +235,7 @@ FX_ENTRY FxBool FX_CALL pciOutputDebugString(const char* debugMsg); FX_ENTRY FxBool FX_CALL -pciLinearRangeSetPermission(const FxU32 addrBase, const FxU32 addrLen, const FxBool writeableP); +pciLinearRangeSetPermission(const AnyPtr addrBase, const FxU32 addrLen, const FxBool writeableP); #define PCI_ERR_NOERR 0 #define PCI_ERR_WINRTINIT 1 Index: b/swlibs/newpci/pcilib/pcilib.h =================================================================== --- a/swlibs/newpci/pcilib/pcilib.h +++ b/swlibs/newpci/pcilib/pcilib.h @@ -74,13 +74,13 @@ typedef struct { /* Platform device address management */ FxBool (*addrMap)(FxU32 busNumber, FxU32 physAddr, - FxU32* linearAddr, FxU32* length); - FxBool (*addrUnmap)(FxU32 linearAddr, FxU32 length); + AnyPtr* linearAddr, FxU32* length); + FxBool (*addrUnmap)(AnyPtr linearAddr, FxU32 length); /* Optional things that a platform may or maynot support and clients * should not rely on the call to suceed. */ - FxBool (*addrSetPermission)(const FxU32 addrBase, const FxU32 addrLen, + FxBool (*addrSetPermission)(const AnyPtr addrBase, const FxU32 addrLen, const FxBool writePermP); FxBool (*msrGet)(MSRInfo* in, MSRInfo* out); Index: b/swlibs/texus/lib/dequant.c =================================================================== --- a/swlibs/texus/lib/dequant.c +++ b/swlibs/texus/lib/dequant.c @@ -160,12 +160,12 @@ _txImgDequantizeRGB332(FxU32 *out, FxU8 } static void -_txImgDequantizeYIQ422(FxU32 *out, FxU8 *in, int w, int h, const long *yabTable) +_txImgDequantizeYIQ422(FxU32 *out, FxU8 *in, int w, int h, const FxU32 *yabTable) { int n = w * h; FxU32 pal[256]; - txYABtoPal256((long *)pal, (long *)yabTable); + txYABtoPal256(pal, yabTable); out += n; in += n; while (n--) *--out = pal[*--in] | 0xff000000; @@ -223,10 +223,10 @@ _txImgDequantizeARGB8332(FxU32 *out, FxU } static void -_txImgDequantizeAYIQ8422(FxU32 *out, FxU16 *in, int w, int h, const long *yab) +_txImgDequantizeAYIQ8422(FxU32 *out, FxU16 *in, int w, int h, const FxU32 *yab) { int n = w * h; - long pal[256]; + FxU32 pal[256]; txYABtoPal256(pal, yab); out += n; @@ -348,7 +348,7 @@ txMipDequantize(TxMip *txMip, TxMip *pxM case GR_TEXFMT_RGB_332: _txImgDequantizeRGB332(dst, src, w, h); break; case GR_TEXFMT_YIQ_422: _txImgDequantizeYIQ422(dst, src, w, h, - (long *)pxMip->pal); break; + pxMip->pal); break; case GR_TEXFMT_A_8: _txImgDequantizeA8(dst, src, w, h); break; case GR_TEXFMT_I_8: _txImgDequantizeI8(dst, src, w, h); @@ -361,7 +361,7 @@ txMipDequantize(TxMip *txMip, TxMip *pxM case GR_TEXFMT_ARGB_8332: _txImgDequantizeARGB8332(dst, src, w, h); break; case GR_TEXFMT_AYIQ_8422: _txImgDequantizeAYIQ8422(dst, src, w, h, - (long *)pxMip->pal); break; + pxMip->pal); break; case GR_TEXFMT_RGB_565: _txImgDequantizeRGB565(dst, src, w, h); break; case GR_TEXFMT_ARGB_1555: _txImgDequantizeARGB1555(dst, src, w, h); Index: b/swlibs/texus/lib/mipmap.c =================================================================== --- a/swlibs/texus/lib/mipmap.c +++ b/swlibs/texus/lib/mipmap.c @@ -35,7 +35,7 @@ #define B3(x) ((x>>0)&0xFF) static void -_txImgHalve(long *outdata, int width, int height, long *indata) +_txImgHalve(int *outdata, int width, int height, int *indata) { unsigned int i,j,k; unsigned int w,h, *p,sum,*q; Index: b/swlibs/texus/lib/ncc.c =================================================================== --- a/swlibs/texus/lib/ncc.c +++ b/swlibs/texus/lib/ncc.c @@ -124,7 +124,7 @@ _txPixQuantize_YIQ422_D4x4 (unsigned lon } static void -_txImgNcc(char *odata, unsigned long *idata, int w, int h, int format, +_txImgNcc(char *odata, unsigned int *idata, int w, int h, int format, int dither) { int (*quantizer)(unsigned long argb, int x, int y, int w); @@ -308,7 +308,7 @@ txMipNcc(TxMip *pxMip, TxMip *txMip, int if ((dither & TX_DITHER_MASK) == TX_DITHER_ERR) { - txYABtoPal256((long *)pxMip->pal, (long *) &ncc.y[0]); + txYABtoPal256(pxMip->pal, &ncc.y[0]); txDiffuseIndex(pxMip, txMip, pixsize, pxMip->pal, 256); } else { Index: b/swlibs/texus/lib/nccnnet.c =================================================================== --- a/swlibs/texus/lib/nccnnet.c +++ b/swlibs/texus/lib/nccnnet.c @@ -88,19 +88,19 @@ #define MAX_NEURONS 256 typedef struct _weight { - long r, g, b; // fixed point, SUBPIXEL precision bits + int r, g, b; // fixed point, SUBPIXEL precision bits int ir, ig, ib; // pure integers, maybe -256 to 255. } Weight; typedef struct _vector { Weight *py, *pa, *pb; - long r, g, b; // pure integers, 0 to 255. + int r, g, b; // pure integers, 0 to 255. } Neuron; static Weight Y[16], A[4], B[4]; static Neuron N[MAX_NEURONS]; -static long errR, errG, errB, errMax; -static long totR, totG, totB; +static int errR, errG, errB, errMax; +static int totR, totG, totB; #define SUBPIXEL 22 @@ -114,12 +114,12 @@ static long totR, to x = ((256 << SUBPIXEL) -1) static int -_nn_modifyNeurons(long ir, long ig, long ib) +_nn_modifyNeurons(int ir, int ig, int ib) { int i; int d0, d1; // closest & next closest distance to input int p0, p1; // index into the 256 color table. - long d, dr, dg, db; + int d, dr, dg, db; Weight *py, *pa, *pb; Neuron *n; @@ -268,10 +268,10 @@ static void txMapPal256toYAB(FxU32 *YAB, FxU8 *map, int nsamples, FxU32 *samples) { int i; - long bstR, bstG, bstB, bstMax; + int bstR, bstG, bstB, bstMax; int iterations; // track how many inputs have been fed to NN int drySpells; // how many inputs since last best case. - long yab2pal[256]; + int yab2pal[256]; _nn_initTables(); /* @@ -367,7 +367,7 @@ txMapPal256toYAB(FxU32 *YAB, FxU8 *map, * Replace MSB of samples with index to be used with YAB table. */ - txYABtoPal256((long*)yab2pal, (long*)YAB); + txYABtoPal256(yab2pal, YAB); for (i=0; iformat == GR_TEXFMT_YIQ_422) ? 1 : 2; - long yabTable[16+12+12]; + int yabTable[16+12+12]; FxU8 map[256]; @@ -425,7 +425,7 @@ txMipNccNNet(TxMip *pxMip, TxMip *txMip, * the 256 color palette generated from the YAB table. This will be * useful for error diffusion dithering. */ - txYABtoPal256((long *)pxMip->pal, (long *)yabTable); + txYABtoPal256(pxMip->pal, yabTable); txDiffuseIndex(pxMip, txMip, pixsize, pxMip->pal, 256); } else { Index: b/swlibs/texus/lib/pal256.c =================================================================== --- a/swlibs/texus/lib/pal256.c +++ b/swlibs/texus/lib/pal256.c @@ -83,20 +83,20 @@ typedef unsigned char uchar; typedef struct { float weightedvar; /* weighted variance */ - ulong mean[3]; /* centroid */ - ulong weight; /* # of pixels in box */ - ulong freq[3][MAXCOLORS]; /* Projected frequencies */ + uint mean[3]; /* centroid */ + uint weight; /* # of pixels in box */ + uint freq[3][MAXCOLORS]; /* Projected frequencies */ int low[3], high[3]; /* Box extent */ } Box; #define COLORMAXI ( 1 << NBITS ) #if 0 -static ulong *Histogram; /* image histogram */ +static uint *Histogram; /* image histogram */ #else -static ulong Histogram[COLORMAXI*COLORMAXI*COLORMAXI * sizeof(long)]; +static uint Histogram[COLORMAXI*COLORMAXI*COLORMAXI * sizeof(long)]; #endif -static ulong SumPixels; /* total # of pixels */ -static ulong ColormaxI; /* # of colors, 2^Bits */ +static uint SumPixels; /* total # of pixels */ +static uint ColormaxI; /* # of colors, 2^Bits */ static Box _Boxes[MAXCOLORS]; static Box *Boxes; /* Array of color boxes. */ @@ -108,7 +108,7 @@ static int CutBox(Box *box, Box *ne static void BoxStats(Box *box); static int GreatestVariance(Box *boxes, int n); static int CutBoxes(Box *boxes, int colors); -static void QuantHistogram(ulong *pixels, int npixels, Box *box); +static void QuantHistogram(uint *pixels, int npixels, Box *box); /* * Perform variance-based color quantization on a 24-bit image. @@ -135,16 +135,16 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, Boxes = _Boxes; #if 0 - Histogram = (ulong *) txMalloc(ColormaxI*ColormaxI*ColormaxI * sizeof(long)); + Histogram = (uint *) txMalloc(ColormaxI*ColormaxI*ColormaxI * sizeof(long)); rgbmap = txMalloc((1<freq[0], ColormaxI * sizeof(ulong)); - bzero(Boxes->freq[1], ColormaxI * sizeof(ulong)); - bzero(Boxes->freq[2], ColormaxI * sizeof(ulong)); + bzero(Boxes->freq[0], ColormaxI * sizeof(uint)); + bzero(Boxes->freq[1], ColormaxI * sizeof(uint)); + bzero(Boxes->freq[2], ColormaxI * sizeof(uint)); bzero(Histogram, ColormaxI * ColormaxI * ColormaxI * sizeof(long)); /* Feed all bitmaps & generate histogram */ @@ -153,7 +153,7 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, h = txMip->height; for (i=0; i< txMip->depth; i++) { SumPixels += w * h; - QuantHistogram((ulong *)txMip->data[i], w * h, &Boxes[0]); + QuantHistogram((uint *)txMip->data[i], w * h, &Boxes[0]); if (w > 1) w >>= 1; if (h > 1) h >>= 1; } @@ -166,10 +166,10 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, * from their 'prequantized' range to 0-FULLINTENSITY. */ for (i = 0; i < OutColors; i++) { - ulong r, g, b; - r = (ulong)(Boxes[i].mean[REDI] * Cfactor + 0.5); - g = (ulong)(Boxes[i].mean[GREENI] * Cfactor + 0.5); - b = (ulong)(Boxes[i].mean[BLUEI] * Cfactor + 0.5); + uint r, g, b; + r = (uint)(Boxes[i].mean[REDI] * Cfactor + 0.5); + g = (uint)(Boxes[i].mean[GREENI] * Cfactor + 0.5); + b = (uint)(Boxes[i].mean[BLUEI] * Cfactor + 0.5); /* r &= 0xff; @@ -198,11 +198,11 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, h = txMip->height; for (i=0; i< txMip->depth; i++) { - ulong *src; + uint *src; uchar *dst; int n; - src = (ulong *) txMip->data[i]; + src = (uint *) txMip->data[i]; dst = (uchar *) pxMip->data[i]; n = w * h; while (n--) { @@ -242,9 +242,9 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, * arrays for the first world-encompassing box. */ static void -QuantHistogram(ulong *pixels, int npixels, Box *box) +QuantHistogram(uint *pixels, int npixels, Box *box) { - ulong *rf, *gf, *bf; + uint *rf, *gf, *bf; uchar rr, gg, bb; int i; @@ -322,7 +322,7 @@ static void BoxStats(Box *box) { int i, color; - ulong *freq; + uint *freq; float mean, var; if(box->weight == 0) { @@ -407,7 +407,7 @@ FindCutpoint(Box *box, int color, Box *n { float u, v, max; int i, maxindex, minindex, cutpoint; - ulong optweight, curweight; + uint optweight, curweight; if (box->low[color] + 1 == box->high[color]) return FALSE; /* Cannot be cut. */ @@ -457,13 +457,13 @@ FindCutpoint(Box *box, int color, Box *n static void UpdateFrequencies(Box *box1, Box *box2) { - ulong myfreq, *h; + uint myfreq, *h; int b, g, r; int roff; - bzero(box1->freq[0], ColormaxI * sizeof(ulong)); - bzero(box1->freq[1], ColormaxI * sizeof(ulong)); - bzero(box1->freq[2], ColormaxI * sizeof(ulong)); + bzero(box1->freq[0], ColormaxI * sizeof(uint)); + bzero(box1->freq[1], ColormaxI * sizeof(uint)); + bzero(box1->freq[2], ColormaxI * sizeof(uint)); for (r = box1->low[0]; r < box1->high[0]; r++) { roff = r << NBITS; Index: b/swlibs/texus/lib/quantize.c =================================================================== --- a/swlibs/texus/lib/quantize.c +++ b/swlibs/texus/lib/quantize.c @@ -31,15 +31,15 @@ static int dithmat[4][4] = { { 0, 8, 2, 10 }, - { 12, 4, 14, 6 }, - { 3, 11, 1, 9 }, - { 15, 7, 13, 5 }}; + { 12, 4, 14, 6 }, + { 3, 11, 1, 9 }, + { 15, 7, 13, 5 }}; // for error diffusion. static int errR[MAX_TEXWIDTH], errG[MAX_TEXWIDTH], errB[MAX_TEXWIDTH]; static int -_txPixQuantize_RGB332( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB332( unsigned int argb, int x, int y, int w) { return ( (((argb>>16) & 0xE0) | @@ -48,7 +48,7 @@ _txPixQuantize_RGB332( unsigned long arg } static int -_txPixQuantize_RGB332_D4x4( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB332_D4x4( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -63,7 +63,7 @@ _txPixQuantize_RGB332_D4x4( unsigned lon } static int -_txPixQuantize_RGB332_DErr( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB332_DErr( unsigned int argb, int x, int y, int w) { static unsigned char a3[] = {0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff}; static unsigned char a2[] = {0x00,0x55,0xaa,0xff}; @@ -120,13 +120,13 @@ _txPixQuantize_RGB332_DErr( unsigned lon /* YIQ422 done elsewhere */ static int -_txPixQuantize_A8( unsigned long argb, int x, int y, int w) +_txPixQuantize_A8( unsigned int argb, int x, int y, int w) { return (argb >> 24); } static int -_txPixQuantize_I8( unsigned long argb, int x, int y, int w) +_txPixQuantize_I8( unsigned int argb, int x, int y, int w) { return ( ((int) (((argb >>16) & 0xFF) * .30F + @@ -135,7 +135,7 @@ _txPixQuantize_I8( unsigned long argb, i } static int -_txPixQuantize_AI44( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI44( unsigned int argb, int x, int y, int w) { return( (int) (( ((argb>>16) & 0xFF) * .30F + @@ -145,7 +145,7 @@ _txPixQuantize_AI44( unsigned long argb, } static int -_txPixQuantize_AI44_D4x4( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI44_D4x4( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -163,7 +163,7 @@ _txPixQuantize_AI44_D4x4( unsigned long } static int -_txPixQuantize_AI44_DErr( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI44_DErr( unsigned int argb, int x, int y, int w) { int ii, t; static int qi; @@ -198,7 +198,7 @@ _txPixQuantize_AI44_DErr( unsigned long static int -_txPixQuantize_ARGB8332 ( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB8332 ( unsigned int argb, int x, int y, int w) { return ( ((argb>>16) & 0xE0) | @@ -209,7 +209,7 @@ _txPixQuantize_ARGB8332 ( unsigned long static int -_txPixQuantize_ARGB8332_D4x4( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB8332_D4x4( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -225,7 +225,7 @@ _txPixQuantize_ARGB8332_D4x4( unsigned l } static int -_txPixQuantize_ARGB8332_DErr( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB8332_DErr( unsigned int argb, int x, int y, int w) { int t; @@ -237,7 +237,7 @@ _txPixQuantize_ARGB8332_DErr( unsigned l /* AYIQ8422 done elsewhere */ static int -_txPixQuantize_RGB565( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB565( unsigned int argb, int x, int y, int w) { return ( ((argb >> 8) & 0xF800) | @@ -246,7 +246,7 @@ _txPixQuantize_RGB565( unsigned long arg } static int -_txPixQuantize_RGB565_D4x4 ( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB565_D4x4 ( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -262,7 +262,7 @@ _txPixQuantize_RGB565_D4x4 ( unsigned lo static int -_txPixQuantize_RGB565_DErr ( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB565_DErr ( unsigned int argb, int x, int y, int w) { static int qr, qg, qb; // quantized incoming values. int ir, ig, ib; // incoming values. @@ -318,7 +318,7 @@ _txPixQuantize_RGB565_DErr ( unsigned lo } static int -_txPixQuantize_ARGB1555( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB1555( unsigned int argb, int x, int y, int w) { return ( ((argb >> 9) & 0x7C00) | @@ -328,7 +328,7 @@ _txPixQuantize_ARGB1555( unsigned long a } static int -_txPixQuantize_ARGB1555_D4x4 ( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB1555_D4x4 ( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -344,7 +344,7 @@ _txPixQuantize_ARGB1555_D4x4 ( unsigned } static int -_txPixQuantize_ARGB1555_DErr ( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB1555_DErr ( unsigned int argb, int x, int y, int w) { static int qr, qg, qb; // quantized incoming values. int ir, ig, ib; // incoming values. @@ -401,7 +401,7 @@ _txPixQuantize_ARGB1555_DErr ( unsigned } static int -_txPixQuantize_ARGB4444 (unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB4444 (unsigned int argb, int x, int y, int w) { return ( ((argb >> 12) & 0x0F00) | @@ -411,7 +411,7 @@ _txPixQuantize_ARGB4444 (unsigned long a } static int -_txPixQuantize_ARGB4444_D4x4 (unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB4444_D4x4 (unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -427,7 +427,7 @@ _txPixQuantize_ARGB4444_D4x4 (unsigned l } static int -_txPixQuantize_ARGB4444_DErr (unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB4444_DErr (unsigned int argb, int x, int y, int w) { static int qr, qg, qb; // quantized incoming values. int ir, ig, ib; // incoming values. @@ -484,7 +484,7 @@ _txPixQuantize_ARGB4444_DErr (unsigned l } static int -_txPixQuantize_AI88( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI88( unsigned int argb, int x, int y, int w) { return ( (((int) (((argb >>16) & 0xFF) * .30F + @@ -498,7 +498,7 @@ _txPixQuantize_AI88( unsigned long argb, static void _txImgQuantize(char *dst, char *src, int w, int h, FxU32 format, FxU32 dither) { - int (*quantizer)(unsigned long argb, int x, int y, int w) = NULL; + int (*quantizer)(unsigned int argb, int x, int y, int w) = NULL; int x, y; dither &= TX_DITHER_MASK; @@ -589,7 +589,7 @@ _txImgQuantize(char *dst, char *src, int // 8 bit dst for (y=0; ywidth); + swapRGB((unsigned int *)data32, (int)info->width); } #endif Index: b/swlibs/texus/lib/texus.h =================================================================== --- a/swlibs/texus/lib/texus.h +++ b/swlibs/texus/lib/texus.h @@ -38,8 +38,14 @@ extern "C" { typedef unsigned char FxU8; typedef unsigned short FxU16; typedef short FxI16; +#if defined(__alpha__) || defined(__LP64__) +typedef unsigned int FxU32; +typedef int FxI32; +#else typedef unsigned long FxU32; typedef long FxI32; +#endif +typedef unsigned long AnyPtr; typedef int FxBool; /* Index: b/swlibs/texus/lib/texusint.h =================================================================== --- a/swlibs/texus/lib/texusint.h +++ b/swlibs/texus/lib/texusint.h @@ -67,7 +67,7 @@ int txGCD(int a, int b); int txAspectRatio(int w, int h); void txPanic(char *); void txError(char *); -void txYABtoPal256(long *palette, const long* yabTable); +void txYABtoPal256(int *palette, const int* yabTable); void txRectCopy(FxU8 *dst, int dstStride, const FxU8 *src, int srcStride, int width, int height); FxBool txMipAlloc(TxMip *txMip); @@ -90,7 +90,7 @@ extern int *explode3; void txDiffuseIndex(TxMip *pxMip, TxMip *txMip, int pixsize, const FxU32 *palette, int ncolors); -int txNearestColor(long ir, long ig, long ib, const FxU32 *pal, int npal); +int txNearestColor(int ir, int ig, int ib, const FxU32 *pal, int npal); FxBool _txReadTGAHeader( FILE *stream, FxU32 cookie, TxMip *info); FxBool _txReadTGAData( FILE *stream, TxMip *info); Index: b/swlibs/texus/lib/util.c =================================================================== --- a/swlibs/texus/lib/util.c +++ b/swlibs/texus/lib/util.c @@ -133,14 +133,14 @@ txGCD(int a, int b) } void -txYABtoPal256(long *palette, const long* yabTable) +txYABtoPal256(int *palette, const int* yabTable) { // Convert YAB table to a 256 color palette // Assume yabTable[] has first 16Y's, 12 A's, 12 B's - const long *Y = yabTable; - const long *A = yabTable + 16; - const long *B = yabTable + 16 + 12; + const int *Y = yabTable; + const int *A = yabTable + 16; + const int *B = yabTable + 16 + 12; int i; for (i=0; i<256; i++) { @@ -265,7 +265,7 @@ int _explode3[255+256] = { int *explode3 = &_explode3[255]; int -txNearestColor(long ir, long ig, long ib, const FxU32 *pal, int ncolors) +txNearestColor(int ir, int ig, int ib, const FxU32 *pal, int ncolors) { int i, d; int mindist, minpos; // closest distance to input Index: b/swlibs/texus2/lib/codec.c =================================================================== --- a/swlibs/texus2/lib/codec.c +++ b/swlibs/texus2/lib/codec.c @@ -753,7 +753,7 @@ encodeColors(int mode, int mixmode, int /* Map input colors to closest entry in the palette */ for (i=0; i<32; i++) { - index[i] = bestColor((float *) &input[i][0], fpal, 4); + index[i] = bestColor((float *) &input[i][0], (const float (*)[3])fpal, 4); } /* Now encode these into the 128 bits */ @@ -1043,7 +1043,7 @@ again: for (i=0; i<32; i++) { // for each input point float e; - j = bestColorError((float *) &input[i][0], colors, ncolors, &e); + j = bestColorError((float *) &input[i][0], (const float (*)[3])colors, ncolors, &e); counts[j] += 1.0f; sums[j][0] += (input[i][0]); sums[j][1] += (input[i][1]); @@ -1108,7 +1108,7 @@ again: float dr, dg, db; float e; /* distance according to the L-infinity metric */ - j = bestColor((float *) &input[i][0], colors, ncolors); /* distance according to the L-squared metric */ + j = bestColor((float *) &input[i][0], (const float (*)[3])colors, ncolors); /* distance according to the L-squared metric */ dr = ABS( input[i][0] - colors[j][0] ); dg = ABS( input[i][1] - colors[j][1] ); db = ABS( input[i][2] - colors[j][2] ); @@ -1215,7 +1215,7 @@ again: for (i=0; i<32; i++) { float e0, e1, e2, e; - j = bestColorAlpha((float *) &input[i][0], input[i][3], colors, ncolors, lerp); + j = bestColorAlpha((float *) &input[i][0], input[i][3], (const float (*)[4])colors, ncolors, lerp); if ( !lerp && ( j == 3 )) continue; // transparent black handled specially counts[j] += 1.0f; deltas[j][0] += (input[i][0] - colors[j][0]) * alpha; @@ -1298,7 +1298,7 @@ again: for (i=0; i<32; i++) { float dr, dg, db, da, e; - j = bestColorAlpha((float *) &input[i][0], input[i][3], colors, ncolors, lerp); + j = bestColorAlpha((float *) &input[i][0], input[i][3], (const float (*)[4])colors, ncolors, lerp); if ( !lerp && ( j == 3 )) continue; dr = ABS( input[i][0] - colors[j][0] ); dg = ABS( input[i][1] - colors[j][1] ); @@ -1363,7 +1363,7 @@ encodeAlpha( float input[][3], FxI32 ai float fpal[4][4]; int i, index[32]; - vqChromaAlpha( input, ainput, 3, col, lerp); + vqChromaAlpha( (const float (*)[3])input, ainput, 3, col, lerp); if ( lerp ) { /* Deal with even block */ @@ -1375,7 +1375,7 @@ encodeAlpha( float input[][3], FxI32 ai /* Map input colors to closest entry in the palette */ for (i=0; i<16; i++) { - index[i] = bestColorAlpha((float *) &input[i][0], (float)ainput[i], fpal, 4, lerp); + index[i] = bestColorAlpha((float *) &input[i][0], (float)ainput[i], (const float (*)[4])fpal, 4, lerp); } /* Now deal with odd block */ @@ -1386,7 +1386,7 @@ encodeAlpha( float input[][3], FxI32 ai /* Map input colors to closest entry in the palette */ for (i=16; i<32; i++) { - index[i] = bestColorAlpha((float *) &input[i][0], (float)ainput[i], fpal, 4, lerp); + index[i] = bestColorAlpha((float *) &input[i][0], (float)ainput[i], (const float (*)[4])fpal, 4, lerp); } } else { // no interpolation p[0] = ARGB( (int)col[0][3], (int) col[0][0], (int) col[0][1], (int) col[0][2]); @@ -1398,7 +1398,7 @@ encodeAlpha( float input[][3], FxI32 ai /* Map input colors to closest entry in the palette */ for (i=0; i<32; i++) { - index[i] = bestColorAlpha((float *) &input[i][0], (float)ainput[i], col, 3, lerp); + index[i] = bestColorAlpha((float *) &input[i][0], (float)ainput[i], (const float (*)[4])col, 3, lerp); } } @@ -1454,7 +1454,7 @@ quantize4bpp_block(float input[][3], FxI #endif // whole block statistics - eigenStatistics(32, input, Wvalues, output, Wflo, Wfhi, Wavg /*not used*/, Wmin, Wmax, Werr); + eigenStatistics(32, (const float (*)[3])input, Wvalues, output, Wflo, Wfhi, Wavg /*not used*/, Wmin, Wmax, Werr); #if PRINT fprintf(stderr, "NEW TILE----------------------(%4d %4d)\n", globalX, globalY); @@ -1487,7 +1487,7 @@ quantize4bpp_block(float input[][3], FxI return; case TCC_CHROMA: - vqChroma( input, alpha ? 3 : 4, col); + vqChroma( (const float (*)[3])input, alpha ? 3 : 4, col); encodeColors( TCC_CHROMA, 0, 0, &col[0][0], &col[1][0], &col[2][0], &col[3][0], input, ainput, bits); _cc_chroma++; @@ -1551,7 +1551,7 @@ quantize4bpp_block(float input[][3], FxI } #endif - vqChroma( input, alpha ? 3 : 4, col); + vqChroma( (const float (*)[3])input, alpha ? 3 : 4, col); encodeColors( TCC_CHROMA, 0, alpha, &col[0][0], &col[1][0], &col[2][0], &col[3][0], input, ainput, bits); _cc_chroma++; Index: b/swlibs/texus2/lib/dequant.c =================================================================== --- a/swlibs/texus2/lib/dequant.c +++ b/swlibs/texus2/lib/dequant.c @@ -158,12 +158,12 @@ _txImgDequantizeRGB332(FxU32 *out, FxU8 } static void -_txImgDequantizeYIQ422(FxU32 *out, FxU8 *in, int w, int h, const long *yabTable) +_txImgDequantizeYIQ422(FxU32 *out, FxU8 *in, int w, int h, const FxU32 *yabTable) { int n = w * h; FxU32 pal[256]; - txYABtoPal256((long *)pal, (long *)yabTable); + txYABtoPal256(pal, yabTable); out += n; in += n; while (n--) *--out = pal[*--in] | 0xff000000; @@ -221,10 +221,10 @@ _txImgDequantizeARGB8332(FxU32 *out, FxU } static void -_txImgDequantizeAYIQ8422(FxU32 *out, FxU16 *in, int w, int h, const long *yab) +_txImgDequantizeAYIQ8422(FxU32 *out, FxU16 *in, int w, int h, const FxU32 *yab) { int n = w * h; - long pal[256]; + FxU32 pal[256]; txYABtoPal256(pal, yab); out += n; @@ -339,10 +339,10 @@ _txImgDequantizeRGB888(FxU32 *out, FxU32 } static void -_txCalcRGBFromYUV(unsigned long y, unsigned long u, unsigned long v, FxU32 *rgb) +_txCalcRGBFromYUV(unsigned int y, unsigned int u, unsigned int v, FxU32 *rgb) { FxI32 r, g, b; - long y16, u128, v128; + int y16, u128, v128; y16 = y - 16; u128 = u - 128; @@ -386,7 +386,7 @@ void _txImgDequantizeYUV(FxU32 *out, FxU16 *in, int w, int h, FxU32 format) { int i, j, k; - unsigned long Y[2], UV[2]; + unsigned int Y[2], UV[2]; k = w * h; @@ -430,7 +430,7 @@ void _txImgDequantizeAYUV(FxU32 *out, FxU32 *in, int w, int h) { int i, k; - unsigned long y, u, v; + unsigned int y, u, v; k = w * h; @@ -487,13 +487,13 @@ txMipDequantize(TxMip *txMip, TxMip *pxM switch(pxMip->format) { case GR_TEXFMT_RGB_332: _txImgDequantizeRGB332(dst, src, w, h); break; - case GR_TEXFMT_YIQ_422: _txImgDequantizeYIQ422(dst, src, w, h, (long *)pxMip->pal); break; + case GR_TEXFMT_YIQ_422: _txImgDequantizeYIQ422(dst, src, w, h, pxMip->pal); break; case GR_TEXFMT_A_8: _txImgDequantizeA8(dst, src, w, h); break; case GR_TEXFMT_I_8: _txImgDequantizeI8(dst, src, w, h); break; case GR_TEXFMT_AI_44: _txImgDequantizeAI44(dst, src, w, h); break; case GR_TEXFMT_P_8: _txImgDequantizeP8(dst, src, w, h, pxMip->pal); break; case GR_TEXFMT_ARGB_8332: _txImgDequantizeARGB8332(dst, src, w, h); break; - case GR_TEXFMT_AYIQ_8422: _txImgDequantizeAYIQ8422(dst, src, w, h, (long *)pxMip->pal); break; + case GR_TEXFMT_AYIQ_8422: _txImgDequantizeAYIQ8422(dst, src, w, h, pxMip->pal); break; case GR_TEXFMT_RGB_565: _txImgDequantizeRGB565(dst, src, w, h); break; case GR_TEXFMT_ARGB_1555: _txImgDequantizeARGB1555(dst, src, w, h); break; case GR_TEXFMT_ARGB_4444: _txImgDequantizeARGB4444(dst, src, w, h); break; Index: b/swlibs/texus2/lib/eigen.c =================================================================== --- a/swlibs/texus2/lib/eigen.c +++ b/swlibs/texus2/lib/eigen.c @@ -286,7 +286,7 @@ eigenSpace(int n, float *data, float mea float cov[3][3]; covariance(n, (float (*)[3]) data, mean, cov); - eigenVectors(cov, evectors, evalues); + eigenVectors((const float (*)[3])cov, evectors, evalues); } /* Index: b/swlibs/texus2/lib/mipmap.c =================================================================== --- a/swlibs/texus2/lib/mipmap.c +++ b/swlibs/texus2/lib/mipmap.c @@ -32,7 +32,7 @@ #define B3(x) ((x>>0)&0xFF) static void -_txImgHalve(long *outdata, int width, int height, long *indata) +_txImgHalve(int *outdata, int width, int height, int *indata) { unsigned int i,j,k; unsigned int w,h, *p,sum,*q; Index: b/swlibs/texus2/lib/ncc.c =================================================================== --- a/swlibs/texus2/lib/ncc.c +++ b/swlibs/texus2/lib/ncc.c @@ -35,11 +35,11 @@ static struct { int yhist[256], ihist[256], qhist[256]; int ymin, ymax, imin, imax, qmin, qmax; int npixels; - int y[16], a[3*4], b[3*4]; // please leave these contiguous + FxU32 y[16], a[3*4], b[3*4]; // please leave these contiguous } ncc; static int -_txPixQuantize_YIQ422 (unsigned long argb, int x, int y, int w) +_txPixQuantize_YIQ422 (unsigned int argb, int x, int y, int w) { int r, g, b; int iy, ii, iq; @@ -76,7 +76,7 @@ _txPixQuantize_YIQ422 (unsigned long arg static int -_txPixQuantize_YIQ422_D4x4 (unsigned long argb, int x, int y, int w) +_txPixQuantize_YIQ422_D4x4 (unsigned int argb, int x, int y, int w) { int r, g, b; int iy, ii, iq; @@ -121,10 +121,10 @@ _txPixQuantize_YIQ422_D4x4 (unsigned lon } static void -_txImgNcc(char *odata, unsigned long *idata, int w, int h, int format, +_txImgNcc(char *odata, unsigned int *idata, int w, int h, int format, int dither) { - int (*quantizer)(unsigned long argb, int x, int y, int w); + int (*quantizer)(unsigned int argb, int x, int y, int w); int x, y, pixsize; quantizer = (dither) ? _txPixQuantize_YIQ422_D4x4 : _txPixQuantize_YIQ422; @@ -305,7 +305,7 @@ txMipNcc(TxMip *pxMip, TxMip *txMip, int if ((dither & TX_DITHER_MASK) == TX_DITHER_ERR) { - txYABtoPal256((long *)pxMip->pal, (long *) &ncc.y[0]); + txYABtoPal256(pxMip->pal, &ncc.y[0]); txDiffuseIndex(pxMip, txMip, pixsize, pxMip->pal, 256); } else { Index: b/swlibs/texus2/lib/nccnnet.c =================================================================== --- a/swlibs/texus2/lib/nccnnet.c +++ b/swlibs/texus2/lib/nccnnet.c @@ -85,19 +85,19 @@ #define MAX_NEURONS 256 typedef struct _weight { - long r, g, b; // fixed point, SUBPIXEL precision bits + int r, g, b; // fixed point, SUBPIXEL precision bits int ir, ig, ib; // pure integers, maybe -256 to 255. } Weight; typedef struct _vector { Weight *py, *pa, *pb; - long r, g, b; // pure integers, 0 to 255. + int r, g, b; // pure integers, 0 to 255. } Neuron; static Weight Y[16], A[4], B[4]; static Neuron N[MAX_NEURONS]; -static long errR, errG, errB, errMax; -static long totR, totG, totB; +static int errR, errG, errB, errMax; +static int totR, totG, totB; #define SUBPIXEL 22 @@ -111,12 +111,12 @@ static long totR, to x = ((256 << SUBPIXEL) -1) static int -_nn_modifyNeurons(long ir, long ig, long ib) +_nn_modifyNeurons(int ir, int ig, int ib) { int i; int d0, d1; // closest & next closest distance to input int p0, p1; // index into the 256 color table. - long d, dr, dg, db; + int d, dr, dg, db; Weight *py, *pa, *pb; Neuron *n; @@ -265,10 +265,10 @@ static void txMapPal256toYAB(FxU32 *YAB, FxU8 *map, int nsamples, FxU32 *samples) { int i; - long bstR, bstG, bstB, bstMax; + int bstR, bstG, bstB, bstMax; int iterations; // track how many inputs have been fed to NN int drySpells; // how many inputs since last best case. - long yab2pal[256]; + FxU32 yab2pal[256]; _nn_initTables(); /* @@ -364,7 +364,7 @@ txMapPal256toYAB(FxU32 *YAB, FxU8 *map, * Replace MSB of samples with index to be used with YAB table. */ - txYABtoPal256((long*)yab2pal, (long*)YAB); + txYABtoPal256(yab2pal, YAB); for (i=0; iformat == GR_TEXFMT_YIQ_422) ? 1 : 2; - long yabTable[16+12+12]; + FxU32 yabTable[16+12+12]; FxU8 map[256]; @@ -422,7 +422,7 @@ txMipNccNNet(TxMip *pxMip, TxMip *txMip, * the 256 color palette generated from the YAB table. This will be * useful for error diffusion dithering. */ - txYABtoPal256((long *)pxMip->pal, (long *)yabTable); + txYABtoPal256(pxMip->pal, yabTable); txDiffuseIndex(pxMip, txMip, pixsize, pxMip->pal, 256); } else { Index: b/swlibs/texus2/lib/pal256.c =================================================================== --- a/swlibs/texus2/lib/pal256.c +++ b/swlibs/texus2/lib/pal256.c @@ -79,20 +79,20 @@ typedef unsigned short ushort; typedef struct { float weightedvar; /* weighted variance */ - ulong mean[3]; /* centroid */ - ulong weight; /* # of pixels in box */ - ulong freq[3][MAXCOLORS]; /* Projected frequencies */ + uint mean[3]; /* centroid */ + uint weight; /* # of pixels in box */ + uint freq[3][MAXCOLORS]; /* Projected frequencies */ int low[3], high[3]; /* Box extent */ } Box; #define COLORMAXI ( 1 << NBITS ) #if 0 -static ulong *Histogram; /* image histogram */ +static uint *Histogram; /* image histogram */ #else -static ulong Histogram[COLORMAXI*COLORMAXI*COLORMAXI * sizeof(long)]; +static uint Histogram[COLORMAXI*COLORMAXI*COLORMAXI * sizeof(long)]; #endif -static ulong SumPixels; /* total # of pixels */ -static ulong ColormaxI; /* # of colors, 2^Bits */ +static uint SumPixels; /* total # of pixels */ +static uint ColormaxI; /* # of colors, 2^Bits */ static Box _Boxes[MAXCOLORS]; static Box *Boxes; /* Array of color boxes. */ @@ -104,7 +104,7 @@ static int CutBox(Box *box, Box *ne static void BoxStats(Box *box); static int GreatestVariance(Box *boxes, int n); static int CutBoxes(Box *boxes, int colors); -static void QuantHistogram(ulong *pixels, int npixels, Box *box); +static void QuantHistogram(uint *pixels, int npixels, Box *box); /* * Perform variance-based color quantization on a 24-bit image. @@ -131,16 +131,16 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, Boxes = _Boxes; #if 0 - Histogram = (ulong *) txMalloc(ColormaxI*ColormaxI*ColormaxI * sizeof(long)); + Histogram = (uint *) txMalloc(ColormaxI*ColormaxI*ColormaxI * sizeof(long)); rgbmap = txMalloc((1<freq[0], ColormaxI * sizeof(ulong)); - bzero(Boxes->freq[1], ColormaxI * sizeof(ulong)); - bzero(Boxes->freq[2], ColormaxI * sizeof(ulong)); + bzero(Boxes->freq[0], ColormaxI * sizeof(uint)); + bzero(Boxes->freq[1], ColormaxI * sizeof(uint)); + bzero(Boxes->freq[2], ColormaxI * sizeof(uint)); bzero(Histogram, ColormaxI * ColormaxI * ColormaxI * sizeof(long)); /* Feed all bitmaps & generate histogram */ @@ -149,7 +149,7 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, h = txMip->height; for (i=0; i< txMip->depth; i++) { SumPixels += w * h; - QuantHistogram((ulong *)txMip->data[i], w * h, &Boxes[0]); + QuantHistogram((uint *)txMip->data[i], w * h, &Boxes[0]); if (w > 1) w >>= 1; if (h > 1) h >>= 1; } @@ -162,10 +162,10 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, * from their 'prequantized' range to 0-FULLINTENSITY. */ for (i = 0; i < OutColors; i++) { - ulong r, g, b; - r = (ulong)(Boxes[i].mean[REDI] * Cfactor + 0.5); - g = (ulong)(Boxes[i].mean[GREENI] * Cfactor + 0.5); - b = (ulong)(Boxes[i].mean[BLUEI] * Cfactor + 0.5); + uint r, g, b; + r = (uint)(Boxes[i].mean[REDI] * Cfactor + 0.5); + g = (uint)(Boxes[i].mean[GREENI] * Cfactor + 0.5); + b = (uint)(Boxes[i].mean[BLUEI] * Cfactor + 0.5); /* r &= 0xff; @@ -194,11 +194,11 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, h = txMip->height; for (i=0; i< txMip->depth; i++) { - ulong *src; + uint *src; uchar *dst; int n; - src = (ulong *) txMip->data[i]; + src = (uint *) txMip->data[i]; dst = (uchar *) pxMip->data[i]; n = w * h; while (n--) { @@ -238,9 +238,9 @@ txMipPal256(TxMip *pxMip, TxMip *txMip, * arrays for the first world-encompassing box. */ static void -QuantHistogram(ulong *pixels, int npixels, Box *box) +QuantHistogram(uint *pixels, int npixels, Box *box) { - ulong *rf, *gf, *bf; + uint *rf, *gf, *bf; uchar rr, gg, bb; int i; @@ -318,7 +318,7 @@ static void BoxStats(Box *box) { int i, color; - ulong *freq; + uint *freq; float mean, var; if(box->weight == 0) { @@ -403,7 +403,7 @@ FindCutpoint(Box *box, int color, Box *n { float u, v, max; int i, maxindex, minindex, cutpoint; - ulong optweight, curweight; + uint optweight, curweight; if (box->low[color] + 1 == box->high[color]) return FALSE; /* Cannot be cut. */ @@ -453,13 +453,13 @@ FindCutpoint(Box *box, int color, Box *n static void UpdateFrequencies(Box *box1, Box *box2) { - ulong myfreq, *h; + uint myfreq, *h; int b, g, r; int roff; - bzero(box1->freq[0], ColormaxI * sizeof(ulong)); - bzero(box1->freq[1], ColormaxI * sizeof(ulong)); - bzero(box1->freq[2], ColormaxI * sizeof(ulong)); + bzero(box1->freq[0], ColormaxI * sizeof(uint)); + bzero(box1->freq[1], ColormaxI * sizeof(uint)); + bzero(box1->freq[2], ColormaxI * sizeof(uint)); for (r = box1->low[0]; r < box1->high[0]; r++) { roff = r << NBITS; Index: b/swlibs/texus2/lib/pal6666.c =================================================================== --- a/swlibs/texus2/lib/pal6666.c +++ b/swlibs/texus2/lib/pal6666.c @@ -80,9 +80,9 @@ typedef unsigned short ushort; typedef struct { float weightedvar; /* weighted variance */ - ulong mean[NCOMP]; /* centroid */ - ulong weight; /* # of pixels in box */ - ulong freq[NCOMP][MAXCOLORS]; /* Projected frequencies */ + uint mean[NCOMP]; /* centroid */ + uint weight; /* # of pixels in box */ + uint freq[NCOMP][MAXCOLORS]; /* Projected frequencies */ int low[NCOMP], high[NCOMP]; /* Box extent */ } Box; @@ -92,12 +92,12 @@ static uchar inverse_pal[INVERSE_PAL_SIZ #define COLORMAXI ( 1 << NBITS ) #if 0 -static ulong *Histogram; /* image histogram */ +static uint *Histogram; /* image histogram */ #else -static ulong Histogram[1<freq[ALPHAI], ColormaxI * sizeof(ulong)); - bzero(Boxes->freq[REDI], ColormaxI * sizeof(ulong)); - bzero(Boxes->freq[GREENI], ColormaxI * sizeof(ulong)); - bzero(Boxes->freq[BLUEI], ColormaxI * sizeof(ulong)); + bzero(Boxes->freq[ALPHAI], ColormaxI * sizeof(uint)); + bzero(Boxes->freq[REDI], ColormaxI * sizeof(uint)); + bzero(Boxes->freq[GREENI], ColormaxI * sizeof(uint)); + bzero(Boxes->freq[BLUEI], ColormaxI * sizeof(uint)); bzero(Histogram, INVERSE_PAL_SIZE * sizeof(long)); @@ -157,7 +157,7 @@ txMipPal6666(TxMip *pxMip, TxMip *txMip, h = txMip->height; for (i=0; i< txMip->depth; i++) { SumPixels += w * h; - QuantHistogram((ulong *)txMip->data[i], w * h, &Boxes[0]); + QuantHistogram((uint *)txMip->data[i], w * h, &Boxes[0]); if (w > 1) w >>= 1; if (h > 1) h >>= 1; } @@ -171,12 +171,12 @@ txMipPal6666(TxMip *pxMip, TxMip *txMip, */ for (i = 0; i < OutColors; i++) { - ulong a, r, g, b; + uint a, r, g, b; - a = (ulong)(Boxes[i].mean[ALPHAI] * Cfactor + 0.5); - r = (ulong)(Boxes[i].mean[REDI] * Cfactor + 0.5); - g = (ulong)(Boxes[i].mean[GREENI] * Cfactor + 0.5); - b = (ulong)(Boxes[i].mean[BLUEI] * Cfactor + 0.5); + a = (uint)(Boxes[i].mean[ALPHAI] * Cfactor + 0.5); + r = (uint)(Boxes[i].mean[REDI] * Cfactor + 0.5); + g = (uint)(Boxes[i].mean[GREENI] * Cfactor + 0.5); + b = (uint)(Boxes[i].mean[BLUEI] * Cfactor + 0.5); if (a > 255) a = 255; if (r > 255) r = 255; @@ -201,11 +201,11 @@ txMipPal6666(TxMip *pxMip, TxMip *txMip, h = txMip->height; for (i=0; i< txMip->depth; i++) { - ulong *src; + uint *src; uchar *dst; int n; - src = (ulong *) txMip->data[i]; + src = (uint *) txMip->data[i]; dst = (uchar *) pxMip->data[i]; n = w * h; while (n--) { @@ -246,9 +246,9 @@ txMipPal6666(TxMip *pxMip, TxMip *txMip, * arrays for the first world-encompassing box. */ static void -QuantHistogram(ulong *pixels, int npixels, Box *box) +QuantHistogram(uint *pixels, int npixels, Box *box) { - ulong *af, *rf, *gf, *bf; + uint *af, *rf, *gf, *bf; uchar aa, rr, gg, bb; int i; @@ -327,7 +327,7 @@ static void BoxStats(Box *box) { int i, color; - ulong *freq; + uint *freq; float mean, var; if(box->weight == 0) { @@ -417,7 +417,7 @@ FindCutpoint(Box *box, int color, Box *n { float u, v, max; int i, maxindex, minindex, cutpoint; - ulong optweight, curweight; + uint optweight, curweight; if (box->low[color] + 1 == box->high[color]) return FALSE; /* Cannot be cut. */ @@ -467,13 +467,13 @@ FindCutpoint(Box *box, int color, Box *n static void UpdateFrequencies(Box *box1, Box *box2) { - ulong myfreq, *h; + uint myfreq, *h; int b, g, r, a; - bzero(box1->freq[ALPHAI], ColormaxI * sizeof(ulong)); - bzero(box1->freq[REDI], ColormaxI * sizeof(ulong)); - bzero(box1->freq[GREENI], ColormaxI * sizeof(ulong)); - bzero(box1->freq[BLUEI], ColormaxI * sizeof(ulong)); + bzero(box1->freq[ALPHAI], ColormaxI * sizeof(uint)); + bzero(box1->freq[REDI], ColormaxI * sizeof(uint)); + bzero(box1->freq[GREENI], ColormaxI * sizeof(uint)); + bzero(box1->freq[BLUEI], ColormaxI * sizeof(uint)); for (a = box1->low[ALPHAI]; a < box1->high[ALPHAI]; a++) { for (r = box1->low[REDI]; r < box1->high[REDI]; r++) { Index: b/swlibs/texus2/lib/quantize.c =================================================================== --- a/swlibs/texus2/lib/quantize.c +++ b/swlibs/texus2/lib/quantize.c @@ -67,7 +67,7 @@ _txDuplicateData(const FxU32 *src, int * } static int -_txPixQuantize_RGB332( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB332( unsigned int argb, int x, int y, int w) { return ( (((argb>>16) & 0xE0) | @@ -76,7 +76,7 @@ _txPixQuantize_RGB332( unsigned long arg } static int -_txPixQuantize_RGB332_D4x4( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB332_D4x4( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -91,7 +91,7 @@ _txPixQuantize_RGB332_D4x4( unsigned lon } static int -_txPixQuantize_RGB332_DErr( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB332_DErr( unsigned int argb, int x, int y, int w) { static unsigned char a3[] = {0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff}; static unsigned char a2[] = {0x00,0x55,0xaa,0xff}; @@ -148,13 +148,13 @@ _txPixQuantize_RGB332_DErr( unsigned lon /* YIQ422 done elsewhere */ static int -_txPixQuantize_A8( unsigned long argb, int x, int y, int w) +_txPixQuantize_A8( unsigned int argb, int x, int y, int w) { return (argb >> 24); } static int -_txPixQuantize_I8( unsigned long argb, int x, int y, int w) +_txPixQuantize_I8( unsigned int argb, int x, int y, int w) { return ( ((int) (((argb >>16) & 0xFF) * .30F + @@ -163,7 +163,7 @@ _txPixQuantize_I8( unsigned long argb, i } static int -_txPixQuantize_AI44( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI44( unsigned int argb, int x, int y, int w) { return( (int) (( ((argb>>16) & 0xFF) * .30F + @@ -173,7 +173,7 @@ _txPixQuantize_AI44( unsigned long argb, } static int -_txPixQuantize_AI44_D4x4( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI44_D4x4( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -191,7 +191,7 @@ _txPixQuantize_AI44_D4x4( unsigned long } static int -_txPixQuantize_AI44_DErr( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI44_DErr( unsigned int argb, int x, int y, int w) { int ii, t; static int qi; @@ -226,7 +226,7 @@ _txPixQuantize_AI44_DErr( unsigned long static int -_txPixQuantize_ARGB8332 ( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB8332 ( unsigned int argb, int x, int y, int w) { return ( ((argb>>16) & 0xE0) | @@ -237,7 +237,7 @@ _txPixQuantize_ARGB8332 ( unsigned long static int -_txPixQuantize_ARGB8332_D4x4( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB8332_D4x4( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -253,7 +253,7 @@ _txPixQuantize_ARGB8332_D4x4( unsigned l } static int -_txPixQuantize_ARGB8332_DErr( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB8332_DErr( unsigned int argb, int x, int y, int w) { int t; @@ -265,7 +265,7 @@ _txPixQuantize_ARGB8332_DErr( unsigned l /* AYIQ8422 done elsewhere */ static int -_txPixQuantize_RGB565( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB565( unsigned int argb, int x, int y, int w) { return ( ((argb >> 8) & 0xF800) | @@ -274,7 +274,7 @@ _txPixQuantize_RGB565( unsigned long arg } static int -_txPixQuantize_RGB565_D4x4 ( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB565_D4x4 ( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -290,7 +290,7 @@ _txPixQuantize_RGB565_D4x4 ( unsigned lo static int -_txPixQuantize_RGB565_DErr ( unsigned long argb, int x, int y, int w) +_txPixQuantize_RGB565_DErr ( unsigned int argb, int x, int y, int w) { static int qr, qg, qb; // quantized incoming values. int ir, ig, ib; // incoming values. @@ -346,7 +346,7 @@ _txPixQuantize_RGB565_DErr ( unsigned lo } static int -_txPixQuantize_ARGB1555( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB1555( unsigned int argb, int x, int y, int w) { return ( ((argb >> 9) & 0x7C00) | @@ -356,7 +356,7 @@ _txPixQuantize_ARGB1555( unsigned long a } static int -_txPixQuantize_ARGB1555_D4x4 ( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB1555_D4x4 ( unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -372,7 +372,7 @@ _txPixQuantize_ARGB1555_D4x4 ( unsigned } static int -_txPixQuantize_ARGB1555_DErr ( unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB1555_DErr ( unsigned int argb, int x, int y, int w) { static int qr, qg, qb; // quantized incoming values. int ir, ig, ib; // incoming values. @@ -429,7 +429,7 @@ _txPixQuantize_ARGB1555_DErr ( unsigned } static int -_txPixQuantize_ARGB4444 (unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB4444 (unsigned int argb, int x, int y, int w) { return ( ((argb >> 12) & 0x0F00) | @@ -439,7 +439,7 @@ _txPixQuantize_ARGB4444 (unsigned long a } static int -_txPixQuantize_ARGB4444_D4x4 (unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB4444_D4x4 (unsigned int argb, int x, int y, int w) { int d = dithmat[y&3][x&3]; int n, t; @@ -455,7 +455,7 @@ _txPixQuantize_ARGB4444_D4x4 (unsigned l } static int -_txPixQuantize_ARGB4444_DErr (unsigned long argb, int x, int y, int w) +_txPixQuantize_ARGB4444_DErr (unsigned int argb, int x, int y, int w) { static int qr, qg, qb; // quantized incoming values. int ir, ig, ib; // incoming values. @@ -512,7 +512,7 @@ _txPixQuantize_ARGB4444_DErr (unsigned l } static int -_txPixQuantize_AI88( unsigned long argb, int x, int y, int w) +_txPixQuantize_AI88( unsigned int argb, int x, int y, int w) { return ( (((int) (((argb >>16) & 0xFF) * .30F + @@ -523,7 +523,7 @@ _txPixQuantize_AI88( unsigned long argb, } static void -_txCalcYUVFromRGB(FxU32 argb, long *y, long *u, long *v) +_txCalcYUVFromRGB(FxU32 argb, int *y, int *u, int *v) { float red, green, blue; @@ -535,22 +535,22 @@ _txCalcYUVFromRGB(FxU32 argb, long *y, l // ImageMagick method /* - *y = (long)( 0.29900 * red + 0.58700 * green + 0.11400 * blue ); - *u = (long)(-0.14740 * red - 0.28950 * green + 0.43690 * blue + 128.5); - *v = (long)( 0.61500 * red - 0.51500 * green - 0.10000 * blue + 128.5); + *y = (int)( 0.29900 * red + 0.58700 * green + 0.11400 * blue ); + *u = (int)(-0.14740 * red - 0.28950 * green + 0.43690 * blue + 128.5); + *v = (int)( 0.61500 * red - 0.51500 * green - 0.10000 * blue + 128.5); */ // MWP method /* - *y = (long)((77.0 / 256.0) * red + (150.0 / 256.0) * green + (29.0 / 256.0) * blue + 0.5); - *u = (long)(128 - (44.0 / 256.0) * red - (87.0 / 256.0) * green + (131.0 / 256.0) * blue + 0.5); - *v = (long)(128 + (131.0 / 256.0) * red - (110.0 / 256.0) * green - (21.0 / 256.0) * blue + 0.5); + *y = (int)((77.0 / 256.0) * red + (150.0 / 256.0) * green + (29.0 / 256.0) * blue + 0.5); + *u = (int)(128 - (44.0 / 256.0) * red - (87.0 / 256.0) * green + (131.0 / 256.0) * blue + 0.5); + *v = (int)(128 + (131.0 / 256.0) * red - (110.0 / 256.0) * green - (21.0 / 256.0) * blue + 0.5); */ // Method from solving dequantizer equations - *y = (long)( .25695 * red + .50442 * green + .09773 * blue + 16.5); - *u = (long)(-.14821 * red - .29095 * green + .43917 * blue + 128.5); - *v = (long)( .43917 * red - .36788 * green - .07128 * blue + 128.5); + *y = (int)( .25695 * red + .50442 * green + .09773 * blue + 16.5); + *u = (int)(-.14821 * red - .29095 * green + .43917 * blue + 128.5); + *v = (int)( .43917 * red - .36788 * green - .07128 * blue + 128.5); // Clamp YUV @@ -587,9 +587,9 @@ _txImgQuantizeYUV(FxU16 *dst, const FxU3 { int k = w * h; int i, j; - unsigned long Y[2], U[2], V[2]; - unsigned long avgU, avgV; - long tmpY, tmpU, tmpV; + unsigned int Y[2], U[2], V[2]; + unsigned int avgU, avgV; + int tmpY, tmpU, tmpV; const FxU32 *localSrc = NULL; /* surface size must be a multiple of the 2x1 block size */ @@ -607,13 +607,13 @@ _txImgQuantizeYUV(FxU16 *dst, const FxU3 src++; - Y[j] = (unsigned long) tmpY; - U[j] = (unsigned long) tmpU; - V[j] = (unsigned long) tmpV; + Y[j] = (unsigned int) tmpY; + U[j] = (unsigned int) tmpU; + V[j] = (unsigned int) tmpV; } - avgU = (unsigned long) ((U[0] + U[1] + 1) / 2.0); // add 1 to round - avgV = (unsigned long) ((V[0] + V[1] + 1) / 2.0); // add 1 to round + avgU = (unsigned int) ((U[0] + U[1] + 1) / 2.0); // add 1 to round + avgV = (unsigned int) ((V[0] + V[1] + 1) / 2.0); // add 1 to round if ( format == GR_TEXFMT_YUYV_422 ) { @@ -647,7 +647,7 @@ void _txImgQuantizeAYUV(FxU32 *dst, FxU32 *src, int w, int h) { int i, k; - long y, u, v; + int y, u, v; k = w * h; @@ -1114,7 +1114,7 @@ txImgQuantize(char *dst, char *src, int w, int h, FxU32 format, FxU32 dither) { - int (*quantizer)(unsigned long argb, int x, int y, int w); + int (*quantizer)(unsigned int argb, int x, int y, int w); int x, y; dither &= TX_DITHER_MASK; @@ -1220,7 +1220,7 @@ txImgQuantize(char *dst, char *src, case GR_TEXFMT_ALPHA_INTENSITY_44: for (y=0; ywidth); + swapRGB((unsigned int *)data32, (int)info->width); } #endif Index: b/swlibs/texus2/lib/texus.h =================================================================== --- a/swlibs/texus2/lib/texus.h +++ b/swlibs/texus2/lib/texus.h @@ -36,8 +36,14 @@ extern "C" { typedef unsigned char FxU8; typedef unsigned short FxU16; typedef short FxI16; +#if defined(__alpha__) || defined(__LP64__) +typedef unsigned int FxU32; +typedef int FxI32; +#else typedef unsigned long FxU32; typedef long FxI32; +#endif +typedef unsigned long AnyPtr; typedef int FxBool; /* Index: b/swlibs/texus2/lib/texusint.h =================================================================== --- a/swlibs/texus2/lib/texusint.h +++ b/swlibs/texus2/lib/texusint.h @@ -73,7 +73,7 @@ int txGCD(int a, int b); int txAspectRatio(int w, int h); void txPanic(char *); void txError(char *); -void txYABtoPal256(long *palette, const long* yabTable); +void txYABtoPal256(FxU32 *palette, const FxU32* yabTable); void txRectCopy(FxU8 *dst, int dstStride, const FxU8 *src, int srcStride, int width, int height); FxBool txMipAlloc(TxMip *txMip); @@ -96,7 +96,7 @@ extern int *explode3; void txDiffuseIndex(TxMip *pxMip, TxMip *txMip, int pixsize, const FxU32 *palette, int ncolors); -int txNearestColor(long ir, long ig, long ib, const FxU32 *pal, int npal); +int txNearestColor(int ir, int ig, int ib, const FxU32 *pal, int npal); FxBool _txReadTGAHeader( FILE *stream, FxU32 cookie, TxMip *info); FxBool _txReadTGAData( FILE *stream, TxMip *info); Index: b/swlibs/texus2/lib/util.c =================================================================== --- a/swlibs/texus2/lib/util.c +++ b/swlibs/texus2/lib/util.c @@ -156,14 +156,14 @@ txGCD(int a, int b) } void -txYABtoPal256(long *palette, const long* yabTable) +txYABtoPal256(FxU32 *palette, const FxU32* yabTable) { // Convert YAB table to a 256 color palette // Assume yabTable[] has first 16Y's, 12 A's, 12 B's - const long *Y = yabTable; - const long *A = yabTable + 16; - const long *B = yabTable + 16 + 12; + const FxU32 *Y = yabTable; + const FxU32 *A = yabTable + 16; + const FxU32 *B = yabTable + 16 + 12; int i; for (i=0; i<256; i++) { @@ -288,7 +288,7 @@ int _explode3[255+256] = { int *explode3 = &_explode3[255]; int -txNearestColor(long ir, long ig, long ib, const FxU32 *pal, int ncolors) +txNearestColor(int ir, int ig, int ib, const FxU32 *pal, int ncolors) { int i, d; int mindist, minpos; // closest distance to input debian/patches/swlibs-nomore-csh0000644000000000000000000000232111201355434014107 0ustar Status: applied Index: b/swlibs/include/make/ostype =================================================================== --- a/swlibs/include/make/ostype +++ b/swlibs/include/make/ostype @@ -1,4 +1,4 @@ -#!/bin/csh -f +#!/bin/bash # # $Log: ostype,v $ # Revision 1.2 2000/06/15 00:11:40 joseph @@ -20,33 +20,36 @@ # if '-all' flag, return all supported architecture types -if ( $#argv >= 1 ) then - if ( $1 == "-all" ) then +if [ $# -ge 1 ] +then + if [ $1 = "-all" ] + then echo "hpux sunos solaris linux" - exit - endif -endif + exit 0 + fi +fi # determine and return machine architecture type -set a = `/bin/uname -s` -switch ($a) -case "HP-UX": +a=$(/bin/uname -s) +case $a in + "HP-UX") echo "hpux" - exit -case "SunOS": - set b = `/bin/uname -r | /usr/bin/cut -c1` - if ($b > 4) then + ;; + "SunOS") + b=$(/bin/uname -r | /usr/bin/cut -c1) + if [ $b -gt 4 ] + then echo "solaris" - exit else echo "sunos" - exit - endif -case "Linux": + fi + ;; + "Linux") echo "Linux" - exit -default: + ;; + *) echo "unknown" - exit -endsw + ;; +esac + debian/patches/swlibs-000-fix-warnings0000644000000000000000000000345611201355434014760 0ustar Status: applied Index: b/swlibs/texus2/lib/ncc.c =================================================================== --- a/swlibs/texus2/lib/ncc.c +++ b/swlibs/texus2/lib/ncc.c @@ -26,10 +26,10 @@ #include "texusint.h" static int -dithmat[4][4] = { 0, 8, 2, 10, - 12, 4, 14, 6, - 3, 11, 1, 9, - 15, 7, 13, 5 }; +dithmat[4][4] = { {0, 8, 2, 10}, + {12, 4, 14, 6}, + {3, 11, 1, 9}, + {15, 7, 13, 5} }; static struct { int yhist[256], ihist[256], qhist[256]; Index: b/swlibs/texus2/lib/quantize.c =================================================================== --- a/swlibs/texus2/lib/quantize.c +++ b/swlibs/texus2/lib/quantize.c @@ -28,10 +28,10 @@ #include "texusint.h" static int -dithmat[4][4] = { 0, 8, 2, 10, - 12, 4, 14, 6, - 3, 11, 1, 9, - 15, 7, 13, 5 }; +dithmat[4][4] = { {0, 8, 2, 10}, + {12, 4, 14, 6}, + {3, 11, 1, 9}, + {15, 7, 13, 5} }; // for error diffusion. static int errR[MAX_TEXWIDTH], errG[MAX_TEXWIDTH], errB[MAX_TEXWIDTH]; Index: b/swlibs/texus2/lib/nccnnet.c =================================================================== --- a/swlibs/texus2/lib/nccnnet.c +++ b/swlibs/texus2/lib/nccnnet.c @@ -409,7 +409,7 @@ txMipNccNNet(TxMip *pxMip, TxMip *txMip, txMapPal256toYAB((FxU32 *)yabTable, (FxU8 *)map, ncolors, (FxU32 *)pxMip->pal); if( txVerbose ) { - printf("eMax=(%3d%3d%3d)...eAvg=(%3d%3d%3d)\n", + printf("eMax=(%3ld%3ld%3ld)...eAvg=(%3ld%3ld%3ld)\n", errG, errR, errB, totG/ncolors, totR/ncolors, totB/ncolors ); debian/patches/swlibs-003-libm0000644000000000000000000000113011201355434013255 0ustar Status: applied Index: b/swlibs/texus2/lib/makefile.autoconf.am =================================================================== --- a/swlibs/texus2/lib/makefile.autoconf.am +++ b/swlibs/texus2/lib/makefile.autoconf.am @@ -33,6 +33,7 @@ LDEFS = -DGLIDE_DIAGS -DHWC_CSIM -DGLI noinst_LTLIBRARIES = libtexus.la noinst_HEADERS = texusint.h include_HEADERS = texus.h +libtexus_la_LIBADD = -lm libtexus_la_SOURCES = texuslib.c clamp.c read.c \ resample.c mipmap.c quantize.c ncc.c nccnnet.c \ pal256.c pal6666.c dequant.c view.c util.c \ debian/patches/glide2x-link-libm0000644000000000000000000000156011771301624013756 0ustar Status: not-needed Index: b/glide2x/cvg/glide/src/makefile.linux =================================================================== --- a/glide2x/cvg/glide/src/makefile.linux +++ b/glide2x/cvg/glide/src/makefile.linux @@ -206,6 +206,8 @@ SHARED_LIBRARY = libglide.so.2.53 endif RCFILE = glide.rc +LINKLIBRARIES = -lm + # Make a static link library for things like the diags. ifeq ($(FX_DLL_BUILD),1) FX_DLL_LIBRARY = 1 Index: b/glide2x/h3/glide/src/makefile.linux =================================================================== --- a/glide2x/h3/glide/src/makefile.linux +++ b/glide2x/h3/glide/src/makefile.linux @@ -218,6 +218,8 @@ SHARED_LIBRARY = libglide.so.2.60 endif RCFILE = glide.rc +LINKLIBRARIES += -lm + # Make a static link library for things like the diags. ifeq ($(FX_DLL_BUILD),1) FX_DLL_LIBRARY = 1 debian/patches/glide2x-preprocessor0000644000000000000000000000360311201355434014622 0ustar Status: applied Index: b/glide2x/h3/glide/src/fxglide.h =================================================================== --- a/glide2x/h3/glide/src/fxglide.h +++ b/glide2x/h3/glide/src/fxglide.h @@ -3356,16 +3356,16 @@ double_precision_asm(void); //#define GLIDE3_DEBUG 1 #endif #ifdef GLIDE3_DEBUG -#define TEX_INFO(ptr,field) ptr##field +#define TEX_INFO(ptr,field) ptr.field #define G3_LOD_TRANSLATE(lod) (lod) #define G3_ASPECT_TRANSLATE(aspect) (aspect) #else -#define TEX_INFO(ptr,field) ptr##field##Log2 +#define TEX_INFO(ptr,field) ptr.field ## Log2 #define G3_LOD_TRANSLATE(lod) (0x8-lod) #define G3_ASPECT_TRANSLATE(aspect) (0x3-(aspect)) #endif /* GLIDE3_DEBUG */ #else -#define TEX_INFO(ptr,field) ptr##field +#define TEX_INFO(ptr,field) ptr.field #define G3_LOD_TRANSLATE(lod) (lod) #define G3_ASPECT_TRANSLATE(aspect) (aspect) #endif Index: b/glide2x/h3/glide/src/gsplash.c =================================================================== --- a/glide2x/h3/glide/src/gsplash.c +++ b/glide2x/h3/glide/src/gsplash.c @@ -242,9 +242,9 @@ static void downloadTexture(Texture *texture, Gu3dfInfo *info) { texture->info.data = info->data; - TEX_INFO(texture->info.,smallLod) = info->header.small_lod; - TEX_INFO(texture->info.,largeLod) = info->header.large_lod; - TEX_INFO(texture->info.,aspectRatio) = info->header.aspect_ratio; + TEX_INFO(texture->info,smallLod) = info->header.small_lod; + TEX_INFO(texture->info,largeLod) = info->header.large_lod; + TEX_INFO(texture->info,aspectRatio) = info->header.aspect_ratio; texture->info.format = info->header.format; texture->addr = nextFreeBase; debian/patches/glide3x-fix-warnings0000644000000000000000000003616611201355434014523 0ustar Status: applied Index: b/glide3x/h3/glide3/src/fxcmd.h =================================================================== --- a/glide3x/h3/glide3/src/fxcmd.h +++ b/glide3x/h3/glide3/src/fxcmd.h @@ -1312,7 +1312,7 @@ do { \ #define REG_GROUP_SETF_CLAMP(__regBase, __regAddr, __val) \ do { \ const FxU32 fpClampVal = FP_FLOAT_CLAMP(__val); \ - REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ + REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ SET(((FxU32*)(__regBase))[offsetof(SstRegs, __regAddr) >> 2], fpClampVal); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) Index: b/glide3x/h3/glide3/src/g3df.c =================================================================== --- a/glide3x/h3/glide3/src/g3df.c +++ b/glide3x/h3/glide3/src/g3df.c @@ -72,6 +72,7 @@ */ #include #include +#include #include <3dfx.h> #define FX_DLL_DEFINITION Index: b/glide3x/h3/glide3/src/gsplash.c =================================================================== --- a/glide3x/h3/glide3/src/gsplash.c +++ b/glide3x/h3/glide3/src/gsplash.c @@ -185,8 +185,7 @@ GR_DIENTRY(grSplash,void,(float x, float { #define FN_NAME "grSplash" GR_BEGIN_NOFIFOCHECK("grSplash", 85); - GDBG_INFO_MORE(gc->myLevel,"(%f,%f,%f,%f,%d)\n", - x, y, w, h, frameNumber); + GDBG_INFO_MORE(gc->myLevel,"(%f,%f,%f,%f,%d)\n", x, y, w, h, frameNumber); #if (GLIDE_PLATFORM & GLIDE_OS_WIN32) { Index: b/glide3x/h3/minihwc/fxhwc.h =================================================================== --- a/glide3x/h3/minihwc/fxhwc.h +++ b/glide3x/h3/minihwc/fxhwc.h @@ -38,8 +38,8 @@ /* ** I/O Macros */ -#define HWC_IO_LOAD(regInfo, reg, val) -GDBG_INFO(120, "%s: Storing 0x%x to IO Register %s\n", +#define HWC_IO_LOAD(regInfo, reg, val) \ +GDBG_INFO(120, "%s: Storing 0x%x to IO Register %s\n", \ ((SstIORegs *) regInfo.ioMemBase)-> Index: b/glide3x/h5/glide3/src/fxcmd.h =================================================================== --- a/glide3x/h5/glide3/src/fxcmd.h +++ b/glide3x/h5/glide3/src/fxcmd.h @@ -1425,7 +1425,7 @@ do { \ #define REG_GROUP_SETF_CLAMP(__regBase, __regAddr, __val) \ do { \ const FxU32 fpClampVal = FP_FLOAT_CLAMP(__val); \ - REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ + REG_GROUP_ASSERT(__regAddr, fpClampVal, FXTRUE); \ SET(((FxU32*)(__regBase))[offsetof(SstRegs, __regAddr) >> 2], fpClampVal); \ GR_INC_SIZE(sizeof(FxU32)); \ } while(0) Index: b/glide3x/h5/minihwc/fxhwc.h =================================================================== --- a/glide3x/h5/minihwc/fxhwc.h +++ b/glide3x/h5/minihwc/fxhwc.h @@ -38,8 +38,8 @@ /* ** I/O Macros */ -#define HWC_IO_LOAD(regInfo, reg, val) -GDBG_INFO(120, "%s: Storing 0x%x to IO Register %s\n", +#define HWC_IO_LOAD(regInfo, reg, val) \ +GDBG_INFO(120, "%s: Storing 0x%x to IO Register %s\n", \ ((SstIORegs *) regInfo.ioMemBase)-> Index: b/glide3x/h3/glide3/src/gsst.c.dri =================================================================== --- a/glide3x/h3/glide3/src/gsst.c.dri +++ b/glide3x/h3/glide3/src/gsst.c.dri @@ -542,30 +542,30 @@ ResEntry _resTable[] = { - GR_RESOLUTION_320x200, 320, 200, /* 0x0 */ - GR_RESOLUTION_320x240, 320, 240, /* 0x1 */ - GR_RESOLUTION_400x256, 400, 256, /* 0x2 */ - GR_RESOLUTION_512x384, 512, 384, /* 0x3 */ - GR_RESOLUTION_640x200, 640, 200, /* 0x4 */ - GR_RESOLUTION_640x350, 640, 350, /* 0x5 */ - GR_RESOLUTION_640x400, 640, 400, /* 0x6 */ - GR_RESOLUTION_640x480, 640, 480, /* 0x7 */ - GR_RESOLUTION_800x600, 800, 600, /* 0x8 */ - GR_RESOLUTION_960x720, 960, 720, /* 0x9 */ - GR_RESOLUTION_856x480, 856, 480, /* 0xa */ - GR_RESOLUTION_512x256, 512, 256, /* 0xb */ - GR_RESOLUTION_1024x768, 1024, 768, /* 0xC */ - GR_RESOLUTION_1280x1024, 1280, 1024, /* 0xD */ - GR_RESOLUTION_1600x1200, 1600, 1200, /* 0xE */ - GR_RESOLUTION_400x300, 400, 300, /* 0xF */ - GR_RESOLUTION_1152x864, 1152, 864, /* 0x10 */ - GR_RESOLUTION_1280x960, 1280, 960, /* 0x11 */ - GR_RESOLUTION_1600x1024, 1600, 1024, /* 0x12 */ - GR_RESOLUTION_1792x1344, 1792, 1344, /* 0x13 */ - GR_RESOLUTION_1856x1392, 1856, 1392, /* 0x14 */ - GR_RESOLUTION_1920x1440, 1920, 1440, /* 0x15 */ - GR_RESOLUTION_2048x1536, 2048, 1536, /* 0x16 */ - GR_RESOLUTION_2048x2048, 2048, 2048 /* 0x17 */ + {GR_RESOLUTION_320x200, 320, 200}, /* 0x0 */ + {GR_RESOLUTION_320x240, 320, 240}, /* 0x1 */ + {GR_RESOLUTION_400x256, 400, 256}, /* 0x2 */ + {GR_RESOLUTION_512x384, 512, 384}, /* 0x3 */ + {GR_RESOLUTION_640x200, 640, 200}, /* 0x4 */ + {GR_RESOLUTION_640x350, 640, 350}, /* 0x5 */ + {GR_RESOLUTION_640x400, 640, 400}, /* 0x6 */ + {GR_RESOLUTION_640x480, 640, 480}, /* 0x7 */ + {GR_RESOLUTION_800x600, 800, 600}, /* 0x8 */ + {GR_RESOLUTION_960x720, 960, 720}, /* 0x9 */ + {GR_RESOLUTION_856x480, 856, 480}, /* 0xa */ + {GR_RESOLUTION_512x256, 512, 256}, /* 0xb */ + {GR_RESOLUTION_1024x768, 1024, 768}, /* 0xC */ + {GR_RESOLUTION_1280x1024, 1280, 1024}, /* 0xD */ + {GR_RESOLUTION_1600x1200, 1600, 1200}, /* 0xE */ + {GR_RESOLUTION_400x300, 400, 300}, /* 0xF */ + {GR_RESOLUTION_1152x864, 1152, 864}, /* 0x10 */ + {GR_RESOLUTION_1280x960, 1280, 960}, /* 0x11 */ + {GR_RESOLUTION_1600x1024, 1600, 1024}, /* 0x12 */ + {GR_RESOLUTION_1792x1344, 1792, 1344}, /* 0x13 */ + {GR_RESOLUTION_1856x1392, 1856, 1392}, /* 0x14 */ + {GR_RESOLUTION_1920x1440, 1920, 1440}, /* 0x15 */ + {GR_RESOLUTION_2048x1536, 2048, 1536}, /* 0x16 */ + {GR_RESOLUTION_2048x2048, 2048, 2048} /* 0x17 */ }; /* --------------------------------------------- @@ -1190,7 +1190,7 @@ GR_ENTRY(grSstWinOpen, GrContext_t, ( Fx gc->tBuffer.bufBPP = 0xffffffff; /* Don't matter to me */ GDBG_INFO(1, "autoBump: 0x%x\n", _GlideRoot.environment.autoBump); - if (gc->cmdTransportInfo.autoBump = _GlideRoot.environment.autoBump) { + if ((gc->cmdTransportInfo.autoBump = _GlideRoot.environment.autoBump)) { if (!hwcInitFifo( bInfo, gc->cmdTransportInfo.autoBump)) { hwcRestoreVideo(bInfo); GrErrorCallback(hwcGetErrorString(), FXFALSE); Index: b/glide3x/h3/glide3/src/xdraw2.S =================================================================== --- a/glide3x/h3/glide3/src/xdraw2.S +++ b/glide3x/h3/glide3/src/xdraw2.S @@ -172,12 +172,14 @@ PROC_TYPE(clip_nocull_invalid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(clip_nocull_invalid): .size PROC_TYPE(clip_nocull_invalid),END_PROC_TYPE(clip_nocull_invalid)-PROC_TYPE(clip_nocull_invalid) @@ -196,12 +198,14 @@ PROC_TYPE(clip_cull_invalid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(clip_cull_invalid): .size PROC_TYPE(clip_cull_invalid),END_PROC_TYPE(clip_cull_invalid)-PROC_TYPE(clip_cull_invalid) @@ -220,12 +224,14 @@ PROC_TYPE(clip_cull_valid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(clip_cull_valid): .size PROC_TYPE(clip_cull_valid),END_PROC_TYPE(clip_cull_valid)-PROC_TYPE(clip_cull_valid) @@ -244,12 +250,14 @@ PROC_TYPE(clip_nocull_valid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(clip_nocull_valid): .size PROC_TYPE(clip_nocull_valid),END_PROC_TYPE(clip_nocull_valid)-PROC_TYPE(clip_nocull_valid) @@ -268,12 +276,14 @@ PROC_TYPE(win_nocull_invalid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(win_nocull_invalid): .size PROC_TYPE(win_nocull_invalid),END_PROC_TYPE(win_nocull_invalid)-PROC_TYPE(win_nocull_invalid) @@ -293,12 +303,14 @@ PROC_TYPE(win_cull_invalid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(win_cull_invalid): .size PROC_TYPE(win_cull_invalid),END_PROC_TYPE(win_cull_invalid)-PROC_TYPE(win_cull_invalid) @@ -317,12 +329,14 @@ PROC_TYPE(win_cull_valid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(win_cull_valid): .size PROC_TYPE(win_cull_valid),END_PROC_TYPE(win_cull_valid)-PROC_TYPE(win_cull_valid) @@ -341,12 +355,14 @@ PROC_TYPE(win_nocull_valid): #define GLIDE_PACK_ALPHA 0 #define GLIDE_GENERIC_SETUP 0 #include "xdraw2.inc.S" -#define GLIDE_GENERIC_SETUP 0 -#define GLIDE_PACK_ALPHA 0 -#define GLIDE_PACK_RGB 0 -#define GLIDE_CULLING 0 -#define GLIDE_CLIP_COORDS 0 -#define GLIDE_VALIDATE_STATE 0 +#undef GLIDE_GENERIC_SETUP +#undef GLIDE_PACK_ALPHA +#undef GLIDE_PACK_RGB +#undef GLIDE_CULLING +#undef GLIDE_CLIP_COORDS +#undef GLIDE_VALIDATE_STATE + +#undef LOCAL END_PROC_TYPE(win_nocull_valid): .size PROC_TYPE(win_nocull_valid),END_PROC_TYPE(win_nocull_valid)-PROC_TYPE(win_nocull_valid) Index: b/glide3x/h3/glide3/src/xdraw3.S =================================================================== --- a/glide3x/h3/glide3/src/xdraw3.S +++ b/glide3x/h3/glide3/src/xdraw3.S @@ -2462,6 +2462,7 @@ _drawvertexlist: #define gc esi /* points to graphics context */ #define fifo ecx /* points to next entry in fifo */ +#undef vertexPtr #define vertexPtr edx /* pointer to vertex or vertex array */ .align 32 @@ -2910,6 +2911,7 @@ _vpdrawvertexlist: #define gc esi /* points to graphics context */ #define fifo ecx /* points to next entry in fifo */ +#undef vertexPtr #define vertexPtr edi /* Current vertex pointer */ /* NB: All of the base triangle procs expect to have the gc */ Index: b/glide3x/h5/glide3/src/g3df.c =================================================================== --- a/glide3x/h5/glide3/src/g3df.c +++ b/glide3x/h5/glide3/src/g3df.c @@ -101,6 +101,9 @@ */ #include #include +#ifdef __GNUC__ +#include +#endif #include <3dfx.h> #define FX_DLL_DEFINITION Index: b/glide3x/h5/glide3/src/gsst.c =================================================================== --- a/glide3x/h5/glide3/src/gsst.c +++ b/glide3x/h5/glide3/src/gsst.c @@ -849,30 +849,30 @@ static void _grSstSetColumnsOfNWidth(FxU ResEntry _resTable[] = { - GR_RESOLUTION_320x200, 320, 200, /* 0x0 */ - GR_RESOLUTION_320x240, 320, 240, /* 0x1 */ - GR_RESOLUTION_400x256, 400, 256, /* 0x2 */ - GR_RESOLUTION_512x384, 512, 384, /* 0x3 */ - GR_RESOLUTION_640x200, 640, 200, /* 0x4 */ - GR_RESOLUTION_640x350, 640, 350, /* 0x5 */ - GR_RESOLUTION_640x400, 640, 400, /* 0x6 */ - GR_RESOLUTION_640x480, 640, 480, /* 0x7 */ - GR_RESOLUTION_800x600, 800, 600, /* 0x8 */ - GR_RESOLUTION_960x720, 960, 720, /* 0x9 */ - GR_RESOLUTION_856x480, 856, 480, /* 0xa */ - GR_RESOLUTION_512x256, 512, 256, /* 0xb */ - GR_RESOLUTION_1024x768, 1024, 768, /* 0xC */ - GR_RESOLUTION_1280x1024, 1280, 1024, /* 0xD */ - GR_RESOLUTION_1600x1200, 1600, 1200, /* 0xE */ - GR_RESOLUTION_400x300, 400, 300, /* 0xF */ - GR_RESOLUTION_1152x864, 1152, 864, /* 0x10 */ - GR_RESOLUTION_1280x960, 1280, 960, /* 0x11 */ - GR_RESOLUTION_1600x1024, 1600, 1024, /* 0x12 */ - GR_RESOLUTION_1792x1344, 1792, 1344, /* 0x13 */ - GR_RESOLUTION_1856x1392, 1856, 1392, /* 0x14 */ - GR_RESOLUTION_1920x1440, 1920, 1440, /* 0x15 */ - GR_RESOLUTION_2048x1536, 2048, 1536, /* 0x16 */ - GR_RESOLUTION_2048x2048, 2048, 2048 /* 0x17 */ + {GR_RESOLUTION_320x200, 320, 200}, /* 0x0 */ + {GR_RESOLUTION_320x240, 320, 240}, /* 0x1 */ + {GR_RESOLUTION_400x256, 400, 256}, /* 0x2 */ + {GR_RESOLUTION_512x384, 512, 384}, /* 0x3 */ + {GR_RESOLUTION_640x200, 640, 200}, /* 0x4 */ + {GR_RESOLUTION_640x350, 640, 350}, /* 0x5 */ + {GR_RESOLUTION_640x400, 640, 400}, /* 0x6 */ + {GR_RESOLUTION_640x480, 640, 480}, /* 0x7 */ + {GR_RESOLUTION_800x600, 800, 600}, /* 0x8 */ + {GR_RESOLUTION_960x720, 960, 720}, /* 0x9 */ + {GR_RESOLUTION_856x480, 856, 480}, /* 0xa */ + {GR_RESOLUTION_512x256, 512, 256}, /* 0xb */ + {GR_RESOLUTION_1024x768, 1024, 768}, /* 0xC */ + {GR_RESOLUTION_1280x1024, 1280, 1024}, /* 0xD */ + {GR_RESOLUTION_1600x1200, 1600, 1200}, /* 0xE */ + {GR_RESOLUTION_400x300, 400, 300}, /* 0xF */ + {GR_RESOLUTION_1152x864, 1152, 864}, /* 0x10 */ + {GR_RESOLUTION_1280x960, 1280, 960}, /* 0x11 */ + {GR_RESOLUTION_1600x1024, 1600, 1024}, /* 0x12 */ + {GR_RESOLUTION_1792x1344, 1792, 1344}, /* 0x13 */ + {GR_RESOLUTION_1856x1392, 1856, 1392}, /* 0x14 */ + {GR_RESOLUTION_1920x1440, 1920, 1440}, /* 0x15 */ + {GR_RESOLUTION_2048x1536, 2048, 1536}, /* 0x16 */ + {GR_RESOLUTION_2048x2048, 2048, 2048} /* 0x17 */ }; /* --------------------------------------------- Index: b/glide3x/h5/glide3/src/xdraw3.s =================================================================== --- a/glide3x/h5/glide3/src/xdraw3.s +++ b/glide3x/h5/glide3/src/xdraw3.s @@ -2925,6 +2925,7 @@ _vpdrawvertexlist: #define gc esi /* points to graphics context */ #define fifo ecx /* points to next entry in fifo */ +#undef vertexPtr #define vertexPtr edi /* Current vertex pointer */ /* NB: All of the base triangle procs expect to have the gc */ debian/patches/z07-cpudetect-no-ia320000644000000000000000000000107411201355434014304 0ustar Index: b/glide3x/h3/glide3/src/cpu_alpha.c =================================================================== --- a/glide3x/h3/glide3/src/cpu_alpha.c +++ b/glide3x/h3/glide3/src/cpu_alpha.c @@ -1,4 +1,4 @@ -#ifdef __alpha__ +#ifndef __i386__ #include #include Index: b/glide3x/h5/glide3/src/cpu_alpha.c =================================================================== --- a/glide3x/h5/glide3/src/cpu_alpha.c +++ b/glide3x/h5/glide3/src/cpu_alpha.c @@ -1,4 +1,4 @@ -#ifdef __alpha__ +#ifndef __i386__ #include #include debian/patches/glide3x-debug-vaargs0000644000000000000000000001357611201355434014456 0ustar Status: applied Index: b/glide3x/cvg/incsrc/gdebug.h =================================================================== --- a/glide3x/cvg/incsrc/gdebug.h +++ b/glide3x/cvg/incsrc/gdebug.h @@ -42,12 +42,12 @@ // if debug info turned on then GDBG_INFO does something #ifdef GDBG_INFO_ON -#define GDBG_INFO gdbg_info -#define GDBG_INFO_MORE gdbg_info_more -#define GDBG_PRINTF gdbg_printf +#define GDBG_INFO(level, format, ...) gdbg_info(level, format, __VA_ARGS__) +#define GDBG_INFO_MORE(level, format, ...) gdbg_info_more(level, format, __VA_AR +#define GDBG_PRINTF(format, ...) gdbg_printf(format, __VA_ARGS__) -#define GDBG_ERROR_SET_CALLBACK gdbg_error_set_callback -#define GDBG_ERROR_CLEAR_CALLBACK gdbg_error_clear_callback +#define GDBG_ERROR_SET_CALLBACK(p) gdbg_error_set_callback(p) +#define GDBG_ERROR_CLEAR_CALLBACK(p) gdbg_error_clear_callback(p) #define GDBG_GET_DEBUGLEVEL gdbg_get_debuglevel #define GDBG_SET_DEBUGLEVEL gdbg_set_debuglevel @@ -55,23 +55,12 @@ // otherwise GDBG_INFO does nothing #else -#if defined(__WATCOMC__) || defined(__WATCOM_CPLUSPLUS__) -/* Turn off the dead code warnings. Also changed the macro definitions - * to use an 'if' rather than the ternary operator because the - * type of the result sub-expressions must match. - * - * w111: Meaningless use of an expression - * w201: Unreachable code - */ -#pragma disable_message (111, 201) -#endif /* defined(__WATCOMC__) || defined(__WATCOM_CPLUSPLUS__) */ - -#define GDBG_INFO 0 && (unsigned long) -#define GDBG_INFO_MORE 0 && (unsigned long) -#define GDBG_PRINTF 0 && (unsigned long) +#define GDBG_INFO(level, format, ...) +#define GDBG_INFO_MORE(level, format, ...) +#define GDBG_PRINTF(format, ...) -#define GDBG_ERROR_SET_CALLBACK 0 && (unsigned long) -#define GDBG_ERROR_CLEAR_CALLBACK 0 && (unsigned long) +#define GDBG_ERROR_SET_CALLBACK(p) +#define GDBG_ERROR_CLEAR_CALLBACK(p) #define GDBG_GET_DEBUGLEVEL(x) 0 #define GDBG_SET_DEBUGLEVEL(a,b) Index: b/glide3x/h3/incsrc/gdebug.h =================================================================== --- a/glide3x/h3/incsrc/gdebug.h +++ b/glide3x/h3/incsrc/gdebug.h @@ -42,12 +42,12 @@ // if debug info turned on then GDBG_INFO does something #ifdef GDBG_INFO_ON -#define GDBG_INFO gdbg_info -#define GDBG_INFO_MORE gdbg_info_more -#define GDBG_PRINTF gdbg_printf +#define GDBG_INFO(level, format, ...) gdbg_info(level, format, __VA_ARGS__) +#define GDBG_INFO_MORE(level, format, ...) gdbg_info_more(level, format, __VA_AR +#define GDBG_PRINTF(format, ...) gdbg_printf(format, __VA_ARGS__) -#define GDBG_ERROR_SET_CALLBACK gdbg_error_set_callback -#define GDBG_ERROR_CLEAR_CALLBACK gdbg_error_clear_callback +#define GDBG_ERROR_SET_CALLBACK(p) gdbg_error_set_callback(p) +#define GDBG_ERROR_CLEAR_CALLBACK(p) gdbg_error_clear_callback(p) #define GDBG_GET_DEBUGLEVEL gdbg_get_debuglevel #define GDBG_SET_DEBUGLEVEL gdbg_set_debuglevel @@ -55,24 +55,12 @@ // otherwise GDBG_INFO does nothing #else -#if defined(__WATCOMC__) || defined(__WATCOM_CPLUSPLUS__) -/* Turn off the dead code warnings. Also changed the macro definitions - * to use an 'if' rather than the ternary operator because the - * type of the result sub-expressions must match. - * - * w111: Meaningless use of an expression - * w201: Unreachable code - * w302: Expression only useful for side-effects. - */ -#pragma disable_message (111, 201, 302) -#endif /* defined(__WATCOMC__) || defined(__WATCOM_CPLUSPLUS__) */ - -#define GDBG_INFO 0 && (unsigned long) -#define GDBG_INFO_MORE 0 && (unsigned long) -#define GDBG_PRINTF 0 && (unsigned long) +#define GDBG_INFO(level, format, ...) +#define GDBG_INFO_MORE(level, format, ...) +#define GDBG_PRINTF(format, ...) -#define GDBG_ERROR_SET_CALLBACK 0 && (unsigned long) -#define GDBG_ERROR_CLEAR_CALLBACK 0 && (unsigned long) +#define GDBG_ERROR_SET_CALLBACK(p) +#define GDBG_ERROR_CLEAR_CALLBACK(p) #define GDBG_GET_DEBUGLEVEL(x) 0 #define GDBG_SET_DEBUGLEVEL(a,b) Index: b/glide3x/h5/incsrc/gdebug.h =================================================================== --- a/glide3x/h5/incsrc/gdebug.h +++ b/glide3x/h5/incsrc/gdebug.h @@ -42,12 +42,12 @@ // if debug info turned on then GDBG_INFO does something #ifdef GDBG_INFO_ON -#define GDBG_INFO gdbg_info -#define GDBG_INFO_MORE gdbg_info_more -#define GDBG_PRINTF gdbg_printf +#define GDBG_INFO(level, format, ...) gdbg_info(level, format, __VA_ARGS__) +#define GDBG_INFO_MORE(level, format, ...) gdbg_info_more(level, format, __VA_ARGS__) +#define GDBG_PRINTF(format, ...) gdbg_printf(format, __VA_ARGS__) -#define GDBG_ERROR_SET_CALLBACK gdbg_error_set_callback -#define GDBG_ERROR_CLEAR_CALLBACK gdbg_error_clear_callback +#define GDBG_ERROR_SET_CALLBACK(p) gdbg_error_set_callback(p) +#define GDBG_ERROR_CLEAR_CALLBACK(p) gdbg_error_clear_callback(p) #define GDBG_GET_DEBUGLEVEL gdbg_get_debuglevel #define GDBG_SET_DEBUGLEVEL gdbg_set_debuglevel @@ -55,24 +55,12 @@ // otherwise GDBG_INFO does nothing #else -#if defined(__WATCOMC__) || defined(__WATCOM_CPLUSPLUS__) -/* Turn off the dead code warnings. Also changed the macro definitions - * to use an 'if' rather than the ternary operator because the - * type of the result sub-expressions must match. - * - * w111: Meaningless use of an expression - * w201: Unreachable code - * w302: Expression only useful for side-effects. - */ -#pragma disable_message (111, 201, 302) -#endif /* defined(__WATCOMC__) || defined(__WATCOM_CPLUSPLUS__) */ - -#define GDBG_INFO 0 && (unsigned long) -#define GDBG_INFO_MORE 0 && (unsigned long) -#define GDBG_PRINTF 0 && (unsigned long) +#define GDBG_INFO(level, format, ...) +#define GDBG_INFO_MORE(level, format, ...) +#define GDBG_PRINTF(format, ...) -#define GDBG_ERROR_SET_CALLBACK 0 && (unsigned long) -#define GDBG_ERROR_CLEAR_CALLBACK 0 && (unsigned long) +#define GDBG_ERROR_SET_CALLBACK(p) +#define GDBG_ERROR_CLEAR_CALLBACK(p) #define GDBG_GET_DEBUGLEVEL(x) 0 #define GDBG_SET_DEBUGLEVEL(a,b) debian/patches/z04-gcc34-port0000644000000000000000000000106311201355434013036 0ustar Status: applied Index: b/glide3x/h3/minihwc/linhwc.c.dri =================================================================== --- a/glide3x/h3/minihwc/linhwc.c.dri +++ b/glide3x/h3/minihwc/linhwc.c.dri @@ -91,6 +91,7 @@ static FxU32 calcBufferStride(FxU32 xres static FxU32 calcBufferSize(FxU32 xres, FxU32 yres, FxBool tiled); static FxU32 calcBufferSizeInTiles(FxU32 xres, FxU32 yres); static FxU32 calcBufferHeightInTiles(FxU32 yres); +static FxU32 hwcBufferLfbAddr(const hwcBoardInfo *bInfo, FxU32 physAddress); typedef struct envitem_t { char *env; debian/patches/glide3x-preprocessor0000644000000000000000000001342611201355434014627 0ustar Status: applied Index: b/glide3x/cvg/glide3/src/fxglide.h =================================================================== --- a/glide3x/cvg/glide3/src/fxglide.h +++ b/glide3x/cvg/glide3/src/fxglide.h @@ -1417,7 +1417,7 @@ extern GrGCFuncs _curGCFuncs; #ifdef GLIDE3 #define GR_STATE_ENTRY(name, type, args) \ - type _##name## args + type _ ## name args #else #define GR_STATE_ENTRY(name, type, args) \ GR_ENTRY(name, type, args) Index: b/glide3x/h3/glide3/src/fxglide.h =================================================================== --- a/glide3x/h3/glide3/src/fxglide.h +++ b/glide3x/h3/glide3/src/fxglide.h @@ -1512,7 +1512,7 @@ extern GrGCFuncs _curGCFuncs; #ifdef GLIDE3 #define GR_STATE_ENTRY(name, type, args) \ - type _##name## args + type _ ## name args #else #define GR_STATE_ENTRY(name, type, args) \ GR_ENTRY(name, type, args) @@ -1831,7 +1831,7 @@ extern FxU32 threadValueLinux; #define CUR_TRI_PROC(__checkValidP, __cullP) \ (*gc->archDispatchProcs.coorModeTriVector)[__checkValidP][__cullP] #define INVALIDATE(regset) {\ - gc->state.invalid |= ##regset##BIT; \ + gc->state.invalid |= regset ## BIT; \ gc->triSetupProc = CUR_TRI_PROC(FXTRUE, (gc->state.cull_mode != GR_CULL_DISABLE)); \ } Index: b/glide3x/h5/glide3/src/fxglide.h =================================================================== --- a/glide3x/h5/glide3/src/fxglide.h +++ b/glide3x/h5/glide3/src/fxglide.h @@ -2119,7 +2119,7 @@ extern GrGCFuncs _curGCFuncs; #ifdef GLIDE3 #define GR_STATE_ENTRY(name, type, args) \ - type _##name## args + type _ ## name args #else #define GR_STATE_ENTRY(name, type, args) \ GR_ENTRY(name, type, args) @@ -2626,13 +2626,13 @@ extern FxU32 threadValueLinux; #define CUR_TRI_PROC(__checkValidP, __cullP) \ (*gc->archDispatchProcs.coorModeTriVector)[__checkValidP][__cullP] #define INVALIDATE(regset) {\ - gc->state.invalid |= ##regset##BIT; \ + gc->state.invalid |= regset ## BIT; \ gc->triSetupProc = CUR_TRI_PROC(FXTRUE, (gc->state.cull_mode != GR_CULL_DISABLE)); \ } #define INVALIDATE_TMU(tmu, regset) {\ INVALIDATE(tmuConfig); \ - gc->state.tmuInvalid[tmu] |= ##regset##BIT; \ + gc->state.tmuInvalid[tmu] |= regset ## BIT; \ } void Index: b/glide3x/cvg/glide3/src/distate.c =================================================================== --- a/glide3x/cvg/glide3/src/distate.c +++ b/glide3x/cvg/glide3/src/distate.c @@ -166,25 +166,25 @@ */ #define STOREARG(function, arg) \ -gc->state.stateArgs.##function##Args.arg = arg +gc->state.stateArgs.function ## Args.arg = arg #define LOADARG(function, arg) \ -gc->state.stateArgs.##function##Args.arg +gc->state.stateArgs.function ## Args.arg #define INVALIDATE(regset) \ -gc->state.invalid |= ##regset##BIT +gc->state.invalid |= regset ## BIT #define NOTVALID(regset) \ -(gc->state.invalid & ##regset##BIT) +(gc->state.invalid & regset ## BIT) #define SETVALID(regset) \ -(gc->state.invalid &= ~(##regset##BIT)) +(gc->state.invalid &= ~(regset ## BIT)) #define ENABLEMODE(mode) \ -gc->state.grEnableArgs.##mode## = GR_MODE_ENABLE; +gc->state.grEnableArgs.mode = GR_MODE_ENABLE; #define DISABLEMODE(mode) \ -gc->state.grEnableArgs.##mode## = GR_MODE_DISABLE; +gc->state.grEnableArgs.mode = GR_MODE_DISABLE; /*------------------------------------------------------------------- Function: grAlphaBlendFunction Index: b/glide3x/h3/glide3/src/distate.c =================================================================== --- a/glide3x/h3/glide3/src/distate.c +++ b/glide3x/h3/glide3/src/distate.c @@ -203,23 +203,23 @@ */ #define STOREARG(function, arg) \ -gc->state.stateArgs.##function##Args.arg = arg +gc->state.stateArgs.function ## Args.arg = arg #define LOADARG(function, arg) \ -gc->state.stateArgs.##function##Args.arg +gc->state.stateArgs.function ## Args.arg #define NOTVALID(regset) \ -(gc->state.invalid & ##regset##BIT) +(gc->state.invalid & regset ## BIT) #define SETVALID(regset) \ -(gc->state.invalid &= ~(##regset##BIT)) +(gc->state.invalid &= ~(regset ## BIT)) #define ENABLEMODE(mode) \ -gc->state.grEnableArgs.##mode## = GR_MODE_ENABLE; +gc->state.grEnableArgs.mode = GR_MODE_ENABLE; #define DISABLEMODE(mode) \ -gc->state.grEnableArgs.##mode## = GR_MODE_DISABLE; +gc->state.grEnableArgs.mode = GR_MODE_DISABLE; /*------------------------------------------------------------------- Function: grAlphaBlendFunction Index: b/glide3x/h5/glide3/src/distate.c =================================================================== --- a/glide3x/h5/glide3/src/distate.c +++ b/glide3x/h5/glide3/src/distate.c @@ -349,31 +349,31 @@ */ #define STOREARG_TMU(function, tmu, arg) \ -gc->state.stateArgs.##function##Args.arg[tmu] = arg +gc->state.stateArgs.function ## Args.arg[tmu] = arg #define LOADARG_TMU(function, tmu, arg) \ -gc->state.stateArgs.##function##Args.arg[tmu] +gc->state.stateArgs.function ## Args.arg[tmu] #define STOREARG(function, arg) \ -gc->state.stateArgs.##function##Args.arg = arg +gc->state.stateArgs.function ## Args.arg = arg #define LOADARG(function, arg) \ -gc->state.stateArgs.##function##Args.arg +gc->state.stateArgs.function ## Args.arg #define NOTVALID(regset) \ -(gc->state.invalid & ##regset##BIT) +(gc->state.invalid & regset ## BIT) #define NOTVALID_TMU(tmu, regset) \ -(gc->state.tmuInvalid[tmu] & ##regset##BIT) +(gc->state.tmuInvalid[tmu] & regset ## BIT) #define SETVALID(regset) \ -(gc->state.invalid &= ~(##regset##BIT)) +(gc->state.invalid &= ~(regset ## BIT)) #define ENABLEMODE(mode) \ -gc->state.grEnableArgs.##mode## = GR_MODE_ENABLE; +gc->state.grEnableArgs.mode = GR_MODE_ENABLE; #define DISABLEMODE(mode) \ -gc->state.grEnableArgs.##mode## = GR_MODE_DISABLE; +gc->state.grEnableArgs.mode = GR_MODE_DISABLE; /*------------------------------------------------------------------- Function: grAlphaBlendFunction debian/patches/glide3x-link-unresolved0000644000000000000000000000112411201355434015212 0ustar Index: b/glide3x/h5/glide3/src/makefile.autoconf.am =================================================================== --- a/glide3x/h5/glide3/src/makefile.autoconf.am +++ b/glide3x/h5/glide3/src/makefile.autoconf.am @@ -152,7 +152,7 @@ LDEFS = -DGLIDE_LIB -DGLIDE3 -DGLIDE3_AL # # Special rules for assembly files. # -PREPROCESSOR=$(CPP) -fdollars-in-identifiers -x assembler-with-cpp -I. +PREPROCESSOR=$(CPP) -x assembler-with-cpp -I. xdraw2_def.o xdraw2_def.lo: xdraw2.s xdraw2.inc.s fxgasm.h $(PREPROCESSOR) $< > $*.tmp.s libtool --mode=compile $(CC) $(AFLAGS) -c -o $*.o $*.tmp.s debian/patches/glide2x-pregasp0000644000000000000000000003615611201355434013546 0ustar Status: wont-apply Index: b/glide2x/cvg/glide/src/makefile.linux =================================================================== --- a/glide2x/cvg/glide/src/makefile.linux +++ b/glide2x/cvg/glide/src/makefile.linux @@ -259,7 +259,8 @@ gdraw.o: fxinline.h endif xdraw2.o : xdraw2.S xdraw2.inc.S fxgasm.h fxinline.h - gasp xdraw2.S $(ASM_OPTS) $(LAOPTS) | as -V -Qy -o xdraw2.o + #gasp xdraw2.S $(ASM_OPTS) $(LAOPTS) | as -V -Qy -o xdraw2.o + as -V -Qy xdraw2.gasp -o xdraw2.o cpudtect.o : gasp cpudtect.S $(LAOPTS) | as -V -Qy -o cpudtect.o Index: b/glide2x/cvg/glide/src/xdraw2.gasp =================================================================== --- /dev/null +++ b/glide2x/cvg/glide/src/xdraw2.gasp @@ -0,0 +1,559 @@ + ## THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY + ## PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT + ## TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX + ## INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE + ## DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com). + ## THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER + ## EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A + ## FULL TEXT OF THE NON-WARRANTY PROVISIONS. + ## + ## USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO + ## RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN + ## TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, + ## AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR + ## SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF + ## THE UNITED STATES. + ## + ## COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED + ## + ## $Header: /cvsroot/glide/glide2x/cvg/glide/src/xdraw2.S,v 1.1 2000/1/6 20:35:11 joseph Exp $ + ## $Revision: 1.1 $ + ## $Log: xdraw2.S,v $ + ## Revision 1.1 2000/1/6 20:35:11 joseph + ## Changes to support building against shared swlibs. + ## + ## Revision 1.2 1999/12/11 0:42:21 joseph + ## Changed .data to .section .data to fix build errors with binutils 2.9.5. + ## + ## Revision 1.1.1.1 1999/12/7 21:49:13 joseph + ## Initial checkin into SourceForge. + ## + ## + ## + ## 7 5/18/98 12:16p Peter + ## culling enabling + # + # 6 1/15/98 1:12p Peter + # dispatch w/o packing + # + # 5 11/6/97 3:47p Peter + # + # 4 11/4/97 5:4p Peter + # cataclysm part deux + # + # 3 11/1/97 10:1a Peter + # tri dispatch stuff + # + # 2 10/30/97 6:53p Peter + # first real cut at tri asm + # + # 1 10/30/97 4:29p Peter + # asm tri code + # + # 2 7/7/97 2:14p Jdt + # assembly now on par with C code. + # + # 1 7/7/97 8:37a Jdt + # B4 Chip field fix. + ## + + .file "xdraw2.s" + #OPTION OLDSTRUCTS + # 586P + + # This was xdraw2.s but I renamed it for now to work with the shared + # swlibs. It hasn't changed to the format used in the .S files for + # the Voodoo3 Glide soruces. + # some useful floating load and store macros + #flds TEXTEQU + #fsubs TEXTEQU + #fmuls TEXTEQU + + .align 4 + .section .data +One: .long 0x03f800000 +Area: .long 0 +dxAB: .long 0 +dxBC: .long 0 +dyAB: .long 0 +dyBC: .long 0 +culltest: .long 0 + + ## Extra junk to pad out to the next cache line. +bias0: .long 0 +pad1: .long 0 +pad2: .long 0 +pad3: .long 0 +pad4: .long 0 +pad5: .long 0 +pad6: .long 0 +pad7: .long 0 +bias1: .long 0 + + # _DATA ENDS + + # Ugly, but seems to workaround the problem with locally defined + # data segment globals not getting relocated properly when using + # djgpp. + + + ### Definitions of cvg regs and glide root structures. + + #---------------------------------------------------------------------- + # Assembler offsets for SSTREGS struct + #---------------------------------------------------------------------- + + + + #---------------------------------------------------------------------- + # Assembler offsets for GC struct + #---------------------------------------------------------------------- + + + + #---------------------------------------------------------------------- + # Assembler offsets for GlideRoot struct + #---------------------------------------------------------------------- + + + + #---------------------------------------------------------------------- + # Assembler offsets for GrVertex struct + #---------------------------------------------------------------------- + + + + ## enables/disables 116 and 120 counters + + #-------------------------------------------------------------------------- + # Arguments : STKOFF = 16 from 4 pushes + #.AIF EQ 1 + #STKOFF .EQU 20 + #.AELSE + #.AENDI + + # edx is used as index, loading from *src + + .text + + .align 4 + .globl _trisetup_cull + .type _trisetup_cull, @function +_trisetup_cull: + # .code + + + ## -*-asm-*- + ## THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY + ## PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT + ## TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX + ## INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE + ## DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com). + ## THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER + ## EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A + ## FULL TEXT OF THE NON-WARRANTY PROVISIONS. + ## + ## USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO + ## RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN + ## TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, + ## AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR + ## SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF + ## THE UNITED STATES. + ## + ## COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED + ## + ## $Header: /cvsroot/glide/glide2x/cvg/glide/src/xdraw2.inc.S,v 1.1 2000/1/6 20:35:11 joseph Exp $ + ## $Revision: 1.1 $ + ## $Log: xdraw2.inc.S,v $ + ## Revision 1.1 2000/1/6 20:35:11 joseph + ## Changes to support building against shared swlibs. + ## + ## Revision 1.1.1.1 1999/12/7 21:49:13 joseph + ## Initial checkin into SourceForge. + ## + # + # 2 10/30/97 6:53p Peter + # first real cut at tri asm + # + # 1 10/30/97 4:29p Peter + # asm tri code + # + # 2 7/7/97 2:14p Jdt + # assembly now on par with C code. + # + # 1 7/7/97 8:3728 Jdt + # B4 Chip field fix. + ## + + .file "xdraw2.inc.s" + #.586P + #EXTRN _GlideRoot:DWORD + #EXTRN _FifoMakeRoom:NEAR + + # Ugly, but seems to workaround the problem with locally defined + # data segment globals not getting relocated properly when using + # djgpp. + + #One .EQU One+4 + #One .EQU One+8 + #One .EQU One+12 + #One .EQU One+16 + #One .EQU One+20 + #One .EQU One+24 + + + ## Prologue stuff + push %esi + push %edi + + push %ebx + push %ebp + + mov (_GlideRoot + 12), %esi ## GR_DCL_GC + + .align 4 + + ## Pre-load the current culling mode before all of the + ## floating point area stuff. + mov 584(%esi), %edx + mov 20(%esp), %eax + + mov 24(%esp), %ebx + mov 28(%esp), %ecx + shl $31, %edx + .LCULLArea_Computation: + # 47-3 + # jmp ret_pop0f + flds 0(%eax) # xa + fsubs 0(%ebx) # dxAB + flds 0(%ebx) # | xb + fsubs 0(%ecx) # | dxBC + flds 4(%ebx) # | | yb + fsubs 4(%ecx) # | | dyBC + flds 4(%eax) # | | | ya + fsubs 4(%ebx) # | | | dyAB + fld %st(3) # | | | | dxAB + fmul %st(2), %st # | | | | t0 t0=dxAB*dyBC + fld %st(3) # | | | | | dxBC + fmul %st(2), %st # | | | | | t1 t1=dxBC*dyAB + fsubrp %st, %st(1) # | | | | area + fsts One # | | | | area + + ## Pop temp things from the sw culling off the fp stack + fstp %st # 4 + fstp %st # 3 + fstp %st # 2 + fstp %st # 1 + fstp %st # 0 + mov One, %ebp # j = *(long *)&area + xor %eax, %eax # Clear the returnv value (0 == culled) + # Zero Area Triangle Check + and $0x7fffffff, %ebp # if ((j & 0x7FFFFFFF) == 0) + jz .LCULL__triDone + + ## Triangle area check vs culling mode + mov One, %ebp + xor %edx, %ebp + + jge .LCULL__triDone + + .align 4 + ## Check to make sure that we have enough room for + ## the complete triangle packet. + mov (_GlideRoot + 24), %eax + mov 888(%esi), %ebx + add $4, %eax + cmp %eax, %ebx + jge .LCULL__triBegin + + push $0 + push $0 + push %eax + call _FifoMakeRoom + + add $12, %esp + + ## Send triangle parameters + + + + .align 4 + .LCULL__triBegin: + mov 880(%esi), %ebp # Fetch Fifo Ptr + mov $4, %ecx # Starting %edx + + mov 848(%esi), %eax # Packet 3 header + nop + + # Write packet header to %ebp + mov %eax, 0(%ebp) + add $4, %ebp # Advance %ebp for hdr & 0/4 coordinate + + .align 4 + .LCULL__vertexStart: + mov 16(%esp,%ecx), %edx # Current %edx + add $8, %ebp + + nop # Avoid p5 agi w/ load of %edx ptr + nop + movl 0(%edx), %eax # 0 + lea 396(%esi), %ebx # Reset the dataList + # PCI write 0 + mov %eax, -8(%ebp) + movl 4(%edx), %eax # 4 + + xor %edi, %edi # Clear packed color + # PCI write 4 + mov %eax, -4(%ebp) + + + .LCULL__doParams: + movl (%ebx), %eax # Get first offset from the data list + add $4, %ebx # %ebx++ + + cmp $0, %eax # Are we done? + je .LCULL__nextVertex + + ## Not using align directive here because it sometimes + ## introduces an agi for the eax use below. + nop + nop + .LCULL__paramLoop: + movl (%eax, %edx), %edi + add $4, %ebp + movl (%ebx), %eax + add $4, %ebx + cmp $0, %eax + mov %edi, -4(%ebp) + + jne .LCULL__paramLoop + + .align 4 + .LCULL__nextVertex: + ## On to the next %edx + add $4, %ecx + mov (_GlideRoot + 12), %esi # Reload %esi incase we trashed it as 28 temp + + cmp $16, %ecx # Offset of one past last %edx? + + jne .LCULL__vertexStart + + ## Update %esi->880 and %esi->888 + mov %ebp, %eax + mov 880(%esi), %ebx + mov %ebp, 880(%esi) + sub %ebx, %eax + + mov (_GlideRoot + 120), %ebx + sub %eax, 888(%esi) + + add $1, %ebx + mov %ebx, (_GlideRoot + 120) + + ## return 1 (triangle drawn) + mov $1, %eax + + .LCULL__triDone: + ## Restore trashed registers + mov (_GlideRoot + 116), %esi + pop %ebp + + add $1, %esi + pop %ebx + pop %edi + mov %esi, (_GlideRoot + 116) + + pop %esi + ret + .L_end_trisetup_cull: + .size _trisetup_cull,.L_end_trisetup_cull-_trisetup_cull + + + .align 4 + .global _trisetup + .type _trisetup, @function +_trisetup: + # .code + + ## -*-asm-*- + ## THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY + ## PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT + ## TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX + ## INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE + ## DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com). + ## THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER + ## EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A + ## FULL TEXT OF THE NON-WARRANTY PROVISIONS. + ## + ## USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO + ## RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN + ## TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, + ## AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR + ## SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF + ## THE UNITED STATES. + ## + ## COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED + ## + ## $Header: /cvsroot/glide/glide2x/cvg/glide/src/xdraw2.inc.S,v 1.1 2000/1/6 20:35:11 joseph Exp $ + ## $Revision: 1.1 $ + ## $Log: xdraw2.inc.S,v $ + ## Revision 1.1 2000/1/6 20:35:11 joseph + ## Changes to support building against shared swlibs. + ## + ## Revision 1.1.1.1 1999/12/7 21:49:13 joseph + ## Initial checkin into SourceForge. + ## + # + # 2 10/30/97 6:53p Peter + # first real cut at tri asm + # + # 1 10/30/97 4:29p Peter + # asm tri code + # + # 2 7/7/97 2:14p Jdt + # assembly now on par with C code. + # + # 1 7/7/97 8:3728 Jdt + # B4 Chip field fix. + ## + + .file "xdraw2.inc.s" + #.586P + #EXTRN _GlideRoot:DWORD + #EXTRN _FifoMakeRoom:NEAR + + # Ugly, but seems to workaround the problem with locally defined + # data segment globals not getting relocated properly when using + # djgpp. + + #One .EQU One+4 + #One .EQU One+8 + #One .EQU One+12 + #One .EQU One+16 + #One .EQU One+20 + #One .EQU One+24 + + + ## Prologue stuff + push %esi + push %edi + + push %ebx + push %ebp + + mov (_GlideRoot + 12), %esi ## GR_DCL_GC + + .align 4 + .align 4 + ## Check to make sure that we have enough room for + ## the complete triangle packet. + mov (_GlideRoot + 24), %eax + mov 888(%esi), %ebx + add $4, %eax + cmp %eax, %ebx + jge .LNOCULL__triBegin + + push $0 + push $0 + push %eax + call _FifoMakeRoom + + add $12, %esp + + ## Send triangle parameters + + + + .align 4 + .LNOCULL__triBegin: + mov 880(%esi), %ebp # Fetch Fifo Ptr + mov $4, %ecx # Starting %edx + + mov 848(%esi), %eax # Packet 3 header + nop + + # Write packet header to %ebp + mov %eax, 0(%ebp) + add $4, %ebp # Advance %ebp for hdr & 0/4 coordinate + + .align 4 + .LNOCULL__vertexStart: + mov 16(%esp,%ecx), %edx # Current %edx + add $8, %ebp + + nop # Avoid p5 agi w/ load of %edx ptr + nop + movl 0(%edx), %eax # 0 + lea 396(%esi), %ebx # Reset the dataList + # PCI write 0 + mov %eax, -8(%ebp) + movl 4(%edx), %eax # 4 + + xor %edi, %edi # Clear packed color + # PCI write 4 + mov %eax, -4(%ebp) + + + .LNOCULL__doParams: + movl (%ebx), %eax # Get first offset from the data list + add $4, %ebx # %ebx++ + + cmp $0, %eax # Are we done? + je .LNOCULL__nextVertex + + ## Not using align directive here because it sometimes + ## introduces an agi for the eax use below. + nop + nop + .LNOCULL__paramLoop: + movl (%eax, %edx), %edi + add $4, %ebp + movl (%ebx), %eax + add $4, %ebx + cmp $0, %eax + mov %edi, -4(%ebp) + + jne .LNOCULL__paramLoop + + .align 4 + .LNOCULL__nextVertex: + ## On to the next %edx + add $4, %ecx + mov (_GlideRoot + 12), %esi # Reload %esi incase we trashed it as 28 temp + + cmp $16, %ecx # Offset of one past last %edx? + + jne .LNOCULL__vertexStart + + ## Update %esi->880 and %esi->888 + mov %ebp, %eax + mov 880(%esi), %ebx + mov %ebp, 880(%esi) + sub %ebx, %eax + + mov (_GlideRoot + 120), %ebx + sub %eax, 888(%esi) + + add $1, %ebx + mov %ebx, (_GlideRoot + 120) + + ## return 1 (triangle drawn) + mov $1, %eax + + .LNOCULL__triDone: + ## Restore trashed registers + mov (_GlideRoot + 116), %esi + pop %ebp + + add $1, %esi + pop %ebx + pop %edi + mov %esi, (_GlideRoot + 116) + + pop %esi + ret + .L_end_trisetup: + .size _trisetup,.L_end_trisetup-_trisetup + + + #_TEXT ENDS debian/patches/z11-format-string0000644000000000000000000000323612146161404013750 0ustar --- glide2x/cvg/glide/tests/tlib.c | 2 +- glide2x/h3/glide/tests/tlib.c | 2 +- swlibs/fxmisc/fximg.c | 2 +- swlibs/newpci/pcilib/fxlinux.c | 2 +- swlibs/texus2/lib/eigen.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) --- a/swlibs/fxmisc/fximg.c +++ b/swlibs/fxmisc/fximg.c @@ -1949,7 +1949,7 @@ FxBool imgReadFile(const char *filename, char buf[1024], *p; strcpy(buf,prefix); // copy and replace semicolon if ((p = strchr(buf,';')) != NULL) *p = '\0'; - fprintf(stderr,buf); + fprintf(stderr, "%s", buf); fprintf(stderr,"/"); } fprintf (stderr,"%s (%ldx%ld) ...", filename, info->any.width,info->any.height); --- a/swlibs/newpci/pcilib/fxlinux.c +++ b/swlibs/newpci/pcilib/fxlinux.c @@ -174,7 +174,7 @@ pciIdentifyLinux(void) static FxBool pciOutputStringLinux(const char *msg) { - printf(msg); + printf("%s", msg); return FXTRUE; } --- a/glide2x/cvg/glide/tests/tlib.c +++ b/glide2x/cvg/glide/tests/tlib.c @@ -1360,7 +1360,7 @@ char tlGetCH( void ) { FxBool tlErrorMessage( char *err) { - return !!fprintf(stderr, err); + return !!fprintf(stderr, "%s", err); } /* tlErrorMessage */ #else --- a/glide2x/h3/glide/tests/tlib.c +++ b/glide2x/h3/glide/tests/tlib.c @@ -1360,7 +1360,7 @@ char tlGetCH( void ) { FxBool tlErrorMessage( char *err) { - return !!fprintf(stderr, err); + return !!fprintf(stderr, "%s", err); } /* tlErrorMessage */ #else --- a/swlibs/texus2/lib/eigen.c +++ b/swlibs/texus2/lib/eigen.c @@ -409,7 +409,7 @@ printStatistics( int i; if (title) { - fprintf(stdout, title); + fprintf(stdout, "%s", title); } if (input) { debian/patches/z05-gcc4-fix0000644000000000000000000004072011201355434012561 0ustar Status: applied Index: b/glide3x/h3/glide3/src/gaa.c =================================================================== --- a/glide3x/h3/glide3/src/gaa.c +++ b/glide3x/h3/glide3/src/gaa.c @@ -616,7 +616,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, e = pointers; if (mode) e = *(float **)e; - (float *)pointers += stride; + pointers = (float *)pointers + stride; ptX = FARRAY(e, gc->state.vData.vertexInfo.offset); ptY = FARRAY(e, gc->state.vData.vertexInfo.offset+4); @@ -717,7 +717,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, if (mode) e = *(float **)e; oow = 1.0f / FARRAY(e, gc->state.vData.wInfo.offset); - (float *)pointers += stride; + pointers = (float *)pointers + stride; ptX = FARRAY(e, gc->state.vData.vertexInfo.offset) *oow*gc->state.Viewport.hwidth+gc->state.Viewport.ox; @@ -842,9 +842,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty v1 = *(float **)v1; v2 = *(float **)v2; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (ltype == GR_LINES) - (float *)pointers += stride; + pointers = (float *)pointers + stride; /* draw from low Y to high Y */ if (FARRAY(v2, gc->state.vData.vertexInfo.offset+4) < FARRAY(v1, gc->state.vData.vertexInfo.offset+4)) { @@ -1023,9 +1023,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty v1 = *(float **)v1; v2 = *(float **)v2; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (ltype == GR_LINES) - (float *)pointers += stride; + pointers = (float *)pointers + stride; owa = oowa = 1.0f / FARRAY(v1, gc->state.vData.wInfo.offset); owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset); } @@ -1037,7 +1037,7 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty v1 = *(float **)v1; v2 = *(float **)v2; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset); } @@ -1373,7 +1373,7 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty b = *(float **)b; c = *(float **)c; } - (float *)pointers += stride*3; + pointers = (float *)pointers + stride*3; /* move culling test to here */ { @@ -1549,7 +1549,7 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t b = *(float **)b; c = *(float **)c; } - (float *)pointers += stride*3; + pointers = (float *)pointers + stride*3; oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset); oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset); oowc = 1.0f / FARRAY(c, gc->state.vData.wInfo.offset); @@ -1716,7 +1716,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo if (type == kSetupFan) { v[0] = (mode == 0) ? pointers : *(float **)pointers; while (sCount--) { - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (mode) { v[1] = *(float **)pointers; v[2] = *((float **)pointers+1); @@ -1758,7 +1758,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo _grAADrawTriangles(1, type, 3, v); else _grAAVpDrawTriangles(1, type, 3, v); - (float *)pointers += stride; + pointers = (float *)pointers + stride; flip = ~flip; } flip = ~flip; Index: b/glide3x/h3/glide3/src/gdraw.c =================================================================== --- a/glide3x/h3/glide3/src/gdraw.c +++ b/glide3x/h3/glide3/src/gdraw.c @@ -402,7 +402,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v vPtr = pointers; if (mode) vPtr = *(float **)vPtr; - (float *)pointers += stride; + pointers = (float *)pointers + stride; GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n", FARRAY(vPtr,gc->state.vData.vertexInfo.offset), @@ -491,7 +491,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v if (mode) vPtr = *(float **)vPtr; oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset); - (float *)pointers += stride; + pointers = (float *)pointers + stride; { FxU32 x, y; @@ -616,9 +616,9 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype a = *(float **)a; b = *(float **)b; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (ltype == GR_LINES) - (float *)pointers += stride; + pointers = (float *)pointers + stride; /* ** compute absolute deltas and draw from low Y to high Y @@ -778,10 +778,10 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype a = *(float **)a; b = *(float **)b; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset); owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset); - (float *)pointers += stride; + pointers = (float *)pointers + stride; } else { owa = oowa = oowb; @@ -791,7 +791,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype a = *(float **)a; b = *(float **)b; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset); } fay = tmp1 = FARRAY(a, gc->state.vData.vertexInfo.offset+4) @@ -944,7 +944,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI vPtr = pointers; if (mode) vPtr = *(float **)vPtr; - (float *)pointers += stride; + pointers = (float *)pointers + stride; i = gc->tsuDataList[dataElem]; @@ -984,7 +984,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox); TRI_SETF(FARRAY(vPtr, 4) *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy); - (float *)pointers += stride; + pointers = (float *)pointers + stride; TRI_VP_SETFS(vPtr,oow); } Index: b/glide3x/h3/glide3/src/gstrip.c =================================================================== --- a/glide3x/h3/glide3/src/gstrip.c +++ b/glide3x/h3/glide3/src/gstrip.c @@ -190,7 +190,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty vPtr = pointers; if (mode) vPtr = *(float **)vPtr; - (float *)pointers += stride; + pointers = (float *)pointers + stride; TRI_SETF(FARRAY(vPtr, 0)); dataElem = 0; @@ -230,7 +230,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox); TRI_SETF(FARRAY(vPtr, 4) *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy); - (float *)pointers += stride; + pointers = (float *)pointers + stride; TRI_VP_SETFS(vPtr, oow); } Index: b/glide3x/h3/glide3/src/distrip.c =================================================================== --- a/glide3x/h3/glide3/src/distrip.c +++ b/glide3x/h3/glide3/src/distrip.c @@ -450,7 +450,7 @@ GR_DIENTRY(grDrawVertexArray, void , (Fx else { while ((int)Count >= 3) { grDrawTriangle(*(float **)pointers, *((float **)pointers+1), *((float **)pointers+2)); - (float *)pointers += 3; + pointers = (float *)pointers + 3; Count -= 3; } } Index: b/glide3x/h5/glide3/src/gaa.c =================================================================== --- a/glide3x/h5/glide3/src/gaa.c +++ b/glide3x/h5/glide3/src/gaa.c @@ -628,7 +628,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, e = pointers; if (mode) e = *(float **)e; - (float *)pointers += stride; + pointers = (float *)pointers + stride; ptX = FARRAY(e, gc->state.vData.vertexInfo.offset); ptY = FARRAY(e, gc->state.vData.vertexInfo.offset+4); @@ -729,7 +729,7 @@ _grAADrawPoints(FxI32 mode, FxI32 count, if (mode) e = *(float **)e; oow = 1.0f / FARRAY(e, gc->state.vData.wInfo.offset); - (float *)pointers += stride; + pointers = (float *)pointers + stride; ptX = FARRAY(e, gc->state.vData.vertexInfo.offset) *oow*gc->state.Viewport.hwidth+gc->state.Viewport.ox; @@ -856,9 +856,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty v1 = *(float **)v1; v2 = *(float **)v2; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (ltype == GR_LINES) - (float *)pointers += stride; + pointers = (float *)pointers + stride; /* draw from low Y to high Y */ if (FARRAY(v2, gc->state.vData.vertexInfo.offset+4) < FARRAY(v1, gc->state.vData.vertexInfo.offset+4)) { @@ -1037,9 +1037,9 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty v1 = *(float **)v1; v2 = *(float **)v2; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (ltype == GR_LINES) - (float *)pointers += stride; + pointers = (float *)pointers + stride; owa = oowa = 1.0f / FARRAY(v1, gc->state.vData.wInfo.offset); owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset); } @@ -1051,7 +1051,7 @@ _grAADrawLineStrip(FxI32 mode, FxI32 lty v1 = *(float **)v1; v2 = *(float **)v2; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; owb = oowb = 1.0f / FARRAY(v2, gc->state.vData.wInfo.offset); } @@ -1391,7 +1391,7 @@ _grAADrawTriangles(FxI32 mode, FxI32 tty b = *(float **)b; c = *(float **)c; } - (float *)pointers += stride*3; + pointers = (float *)pointers + stride*3; /* move culling test to here */ { @@ -1567,7 +1567,7 @@ _grAAVpDrawTriangles(FxI32 mode, FxI32 t b = *(float **)b; c = *(float **)c; } - (float *)pointers += stride*3; + pointers = (float *)pointers + stride*3; oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset); oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset); oowc = 1.0f / FARRAY(c, gc->state.vData.wInfo.offset); @@ -1734,7 +1734,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo if (type == kSetupFan) { v[0] = (mode == 0) ? pointers : *(float **)pointers; while (sCount--) { - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (mode) { v[1] = *(float **)pointers; v[2] = *((float **)pointers+1); @@ -1776,7 +1776,7 @@ _grAADrawVertexList(FxU32 type, FxI32 mo _grAADrawTriangles(1, type, 3, v); else _grAAVpDrawTriangles(1, type, 3, v); - (float *)pointers += stride; + pointers = (float *)pointers + stride; flip = ~flip; } flip = ~flip; Index: b/glide3x/h5/glide3/src/gdraw.c =================================================================== --- a/glide3x/h5/glide3/src/gdraw.c +++ b/glide3x/h5/glide3/src/gdraw.c @@ -472,7 +472,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v vPtr = pointers; if (mode) vPtr = *(float **)vPtr; - (float *)pointers += stride; + pointers = (float *)pointers + stride; GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n", FARRAY(vPtr,gc->state.vData.vertexInfo.offset), @@ -554,7 +554,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v vPtr = pointers; if (mode) vPtr = *(float **)vPtr; - (float *)pointers += stride; + pointers = (float *)pointers + stride; GDBG_INFO_MORE(gc->myLevel, "(%f %f)\n", FARRAY(vPtr,gc->state.vData.vertexInfo.offset), @@ -665,7 +665,7 @@ _grDrawPoints(FxI32 mode, FxI32 count, v if (mode) vPtr = *(float **)vPtr; oow = 1.0f / FARRAY(vPtr, gc->state.vData.wInfo.offset); - (float *)pointers += stride; + pointers = (float *)pointers + stride; { float fx, fy; @@ -802,9 +802,9 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype a = *(float **)a; b = *(float **)b; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; if (ltype == GR_LINES) - (float *)pointers += stride; + pointers = (float *)pointers + stride; /* ** compute absolute deltas and draw from low Y to high Y @@ -964,10 +964,10 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype a = *(float **)a; b = *(float **)b; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; owa = oowa = 1.0f / FARRAY(a, gc->state.vData.wInfo.offset); owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset); - (float *)pointers += stride; + pointers = (float *)pointers + stride; } else { owa = oowa = oowb; @@ -977,7 +977,7 @@ _grDrawLineStrip(FxI32 mode, FxI32 ltype a = *(float **)a; b = *(float **)b; } - (float *)pointers += stride; + pointers = (float *)pointers + stride; owb = oowb = 1.0f / FARRAY(b, gc->state.vData.wInfo.offset); } fay = tmp1 = FARRAY(a, gc->state.vData.vertexInfo.offset+4) @@ -1125,7 +1125,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI vPtr = pointers; if (mode) vPtr = *(float **)vPtr; - (float *)pointers += stride; + pointers = (float *)pointers + stride; i = gc->tsuDataList[dataElem]; @@ -1165,7 +1165,7 @@ _grDrawTriangles_Default(FxI32 mode, FxI *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox); TRI_SETF(FARRAY(vPtr, 4) *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy); - (float *)pointers += stride; + pointers = (float *)pointers + stride; TRI_VP_SETFS(vPtr,oow); } Index: b/glide3x/h5/glide3/src/gstrip.c =================================================================== --- a/glide3x/h5/glide3/src/gstrip.c +++ b/glide3x/h5/glide3/src/gstrip.c @@ -214,7 +214,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty vPtr = pointers; if (mode) vPtr = *(float **)vPtr; - (float *)pointers += stride; + pointers = (float *)pointers + stride; TRI_SETF(FARRAY(vPtr, 0)); dataElem = 0; @@ -254,7 +254,7 @@ _grDrawVertexList(FxU32 pktype, FxU32 ty *oow*gc->state.Viewport.hwidth + gc->state.Viewport.ox); TRI_SETF(FARRAY(vPtr, 4) *oow*gc->state.Viewport.hheight + gc->state.Viewport.oy); - (float *)pointers += stride; + pointers = (float *)pointers + stride; TRI_VP_SETFS(vPtr, oow); } Index: b/glide3x/h5/glide3/src/distrip.c =================================================================== --- a/glide3x/h5/glide3/src/distrip.c +++ b/glide3x/h5/glide3/src/distrip.c @@ -458,7 +458,7 @@ GR_DIENTRY(grDrawVertexArray, void , (Fx else { while ((int)Count >= 3) { grDrawTriangle(*(float **)pointers, *((float **)pointers+1), *((float **)pointers+2)); - (float *)pointers += 3; + pointers = (float *)pointers + 3; Count -= 3; } } Index: b/glide3x/h5/glide3/src/glfb.c =================================================================== --- a/glide3x/h5/glide3/src/glfb.c +++ b/glide3x/h5/glide3/src/glfb.c @@ -1333,8 +1333,10 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf while(src_height--) { /* adjust starting alignment */ - if (((AnyPtr)src)&3) - *((FxU16 *)dst)++=*((FxU16 *)src)++; + if (((AnyPtr)src)&3) { + *((FxU16 *)dst)=*((FxU16 *)src); + dst = ((FxU16 *)dst)+1; src = ((FxU16 *)src); + } /* read in dwords of pixels */ if(length) @@ -1353,8 +1355,8 @@ GR_ENTRY(grLfbReadRegion, FxBool, (GrBuf *((FxU16 *)(((AnyPtr)dst) + byte_index))=*((FxU16 *)(((AnyPtr)src) + byte_index)); } /* adjust for next line */ - ((FxU8 *)src)+=src_adjust; - ((FxU8 *)dst)+=dst_adjust; + src=((FxU8 *)src)+src_adjust; + dst=((FxU8 *)dst)+dst_adjust; } rv=FXTRUE; /* unlock buffer */ debian/patches/swlibs-002-automake0000644000000000000000000001003011201355434014136 0ustar Status: applied Index: b/swlibs/include/make/makefile.autoconf.bottom =================================================================== --- a/swlibs/include/make/makefile.autoconf.bottom +++ b/swlibs/include/make/makefile.autoconf.bottom @@ -20,54 +20,25 @@ ## $Revision: 1.2 $ ## $Date: 2000/08/07 15:24:44 $ ## -# + # Always set make, so that we get the right makefile. MAKE=@MAKE@ -# -# Here we have global definitions. -# -# -# Then we have compiler flag definitions. -# -CPPFLAGS = $(GCPPFLAGS) $(LCPPFLAGS) $(VCPPFLAGS) -DEFS = $(GDEFS) $(LDEFS) $(VDEFS) -INCLUDES = $(GINCLUDES) $(LINCLUDES) $(VINCLUDES) -CFLAGS = $(GCFLAGS) $(LCFLAGS) $(VCFLAGS) - -AFLAGS = $(GAFLAGS) $(LAFLAGS) $(VAFLAGS) -ADEFS = $(GADEFS) $(LADEFS) $(VADEFS) -AINCLUDES = $(GAINCLUDES) $(LAINCLUDES) $(VAINCLUDES) -AOPTS = $(GAOPTS) $(LAOPTS) $(VAOPTS) -######################################################################## -# -# Compilation flags, options and includes # -######################################################################## -# -# Global CFLAGS +# User Overrideable FLAGS # + ifeq ("@GLIDE_DEBUG@","true") -GLIDE_DEBUG_GCFLAGS = -g -O -GLIDE_DEBUG_GDEFS = -DGDBG_INFO_ON -DGLIDE_DEBUG +GLIDE_DEBUG_CFLAGS = -O +GLIDE_DEBUG_CPPFLAGS = -DGDBG_INFO_ON -DGLIDE_DEBUG else -GLIDE_DEBUG_GCFLAGS = -O6 -mcpu=i486 -GLIDE_DEBUG_GDEFS = -fomit-frame-pointer -funroll-loops \ - -fexpensive-optimizations -ffast-math -DBIG_OPT +GLIDE_DEBUG_CFLAGS = -O6 -mcpu=i486 -fomit-frame-pointer -funroll-loops \ + -fexpensive-optimizations -ffast-math -DBIG_OPT endif -GCFLAGS = $(GLIDE_DEBUG_GCFLAGS) -# -# Global DEFS -# -# This variable may require -DENDB. The original Linux build -# used it, but the Windows build didn't. It seems to mean -# Big Endian, which is not the case for the x86. It is only -# used in texus2 as far as I can see. -# -GDEFS=-DX11 $(GLIDE_DEBUG_GDEFS) -Wall -# -# Global INCLUDES -# + +CFLAGS = -Wall -g $(GLIDE_DEBUG_CFLAGS) +CPPFLAGS = @CPPFLAGS@ $(GLIDE_DEBUG_CPPFLAGS) + ifeq ("@FX_GLIDE_HW@","cvg") CVG_VINCLUDES= -I$(top_srcdir)/init \ -I$(top_srcdir)/cvg/glide3/src \ @@ -88,15 +59,16 @@ H5_VINCLUDES = -I$(top_srcdir)/h5/glide3 -I$(top_srcdir)/h5/minihwc endif -GINCLUDES = $(CVG_VINCLUDES) $(H3_VINCLUDES) $(H5_VINCLUDES) \ - -I. \ +# This variable may require -DENDB. The original Linux build +# used it, but the Windows build didn't. It seems to mean +# Big Endian, which is not the case for the x86. It is only +# used in texus2 as far as I can see. + +AM_CPPFLAGS = -DX11 $(LDEFS) $(VDEFS) \ + $(CVG_VINCLUDES) $(H3_VINCLUDES) $(H5_VINCLUDES) \ + -I. \ -I$(top_srcdir)/swlibs/fxmemmap \ -I$(top_srcdir)/swlibs/fxmisc \ -I$(top_srcdir)/swlibs/newpci/pcilib \ -I$(top_srcdir)/swlibs/@TEXTURE_UTILITIES_DIR@/lib -######################################################################## -# -# Linker definitions -# -######################################################################## Index: b/swlibs/newpci/pcilib/makefile.autoconf.am =================================================================== --- a/swlibs/newpci/pcilib/makefile.autoconf.am +++ b/swlibs/newpci/pcilib/makefile.autoconf.am @@ -20,12 +20,6 @@ ## $Revision: 1.1 $ ## $Date: 2000/07/27 02:39:18 $ ## -if GLIDE_DEBUG -GLIDE_DEBUG_DEFS = -DGDBG_INFO_ON -endif - -LDEFS = $(GLIDE_DEBUG_DEFS) - noinst_HEADERS = fxpci.h sst1_pci.h pcilib.h noinst_LTLIBRARIES = libfxpci.la libfxpci_la_SOURCES = fxpci.c fxinfo.c fxmsr.c sst1_pci.c fxlinux.c Index: b/swlibs/texus2/lib/makefile.autoconf.am =================================================================== --- a/swlibs/texus2/lib/makefile.autoconf.am +++ b/swlibs/texus2/lib/makefile.autoconf.am @@ -25,7 +25,7 @@ # if GLIDE_DEBUG -DBGOPTS = -DHWC_DEBUG -g +DBGOPTS = -DHWC_DEBUG endif LDEFS = -DGLIDE_DIAGS -DHWC_CSIM -DGLIDE3 -DGLIDE3_ALPHA \ -DGD_DEBUGGING -DGLIDE_SIMULATOR $(DBGOPTS) debian/patches/glide3x-build-multiargs0000644000000000000000000000337211201355434015204 0ustar Status: applied Index: b/glide3x/build.3dfx.in =================================================================== --- a/glide3x/build.3dfx.in +++ b/glide3x/build.3dfx.in @@ -1,8 +1,8 @@ #!/bin/bash function timereport() { - STARTTIME=$1 - ENDTIME=$2 + STARTTIME=$1 + ENDTIME=$2 SECONDSPERMIN=60 SECONDSPERHOUR=`expr 60 \* 60` SECONDSPERDAY=`expr 60 \* 60 \* 24` @@ -16,31 +16,31 @@ function timereport() { ELAPSEDTIME=`expr $ELAPSEDTIME % $SECONDSPERHOUR` MINUTES=`expr $ELAPSEDTIME / $SECONDSPERMIN` ELAPSEDTIME=`expr $ELAPSEDTIME % $SECONDSPERMIN` - echo "Time Elapsed: $YEARS Years, $DAYS Days, $HOURS Hours, $MINUTES Minutes, $ELAPSEDTIME Seconds" + echo "Time Elapsed: $YEARS Years, $DAYS Days, $HOURS Hours, $MINUTES Minutes, $ELAPSEDTIME Seconds" } function diskreport() { - SIGN="" - DISKUSAGE=`expr $2 - $1` - if [ $DISKUSAGE -lt 0 ] - then - DISKUSAGE=`expr $DISKUSAGE '*' -1` + SIGN="" + DISKUSAGE=`expr $2 - $1` + if [ $DISKUSAGE -lt 0 ] + then + DISKUSAGE=`expr $DISKUSAGE '*' -1` SIGN='-' fi - DISKUSAGE_INT=`expr $DISKUSAGE / 1024` - DISKUSAGE_FRAC=`expr $DISKUSAGE % 1024` + DISKUSAGE_INT=`expr $DISKUSAGE / 1024` + DISKUSAGE_FRAC=`expr $DISKUSAGE % 1024` echo "Disk usage: $SIGN$DISKUSAGE_INT.$DISKUSAGE_FRAC Mb" } function instrument_command() { STARTDISK=`df -k . | grep --invert-match '^Filesystem' | awk '{print $3;}'` - df -k . - STARTTIME=`date +%s` - (exec $*) + df -k . + STARTTIME=`date +%s` + (exec "$@") ENDTIME=`date +%s` ENDDISK=`df -k . | grep --invert-match '^Filesystem' | awk '{print $3;}'` - df -k . - timereport $STARTTIME $ENDTIME + df -k . + timereport $STARTTIME $ENDTIME diskreport $STARTDISK $ENDDISK } debian/patches/z10-ftbfs-gcc-4.80000644000000000000000000000240312112136651013312 0ustar --- swlibs/fxmisc/fxos.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) --- a/swlibs/fxmisc/fxos.c +++ b/swlibs/fxmisc/fxos.c @@ -44,12 +44,12 @@ int fxGethostname(char *name, int n) #endif #if !macintosh /* return current time in seconds (floating point) */ -float fxTime(void) -{ #if defined ( __sparc__ ) || defined ( __DJGPP__ ) /* times returns 0 in BSD Unix, so we use ftime instead */ # include # include +float fxTime(void) +{ struct timeb tb; static time_t once; // saves first time value @@ -57,21 +57,25 @@ float fxTime(void) if (once == 0) // stash away first call once = tb.time; // as float is not big enough return (tb.time - once) + tb.millitm * .001; - +} #else #if defined ( WIN32 ) || ( __DOS__ ) # include # define times(a) clock() +# define T(var) # define HZ CLOCKS_PER_SEC #else # include # include # include - struct tms foo; +# define T(var) struct tms var #endif +float fxTime(void) +{ + T(foo); return times(&foo)/(float)HZ; -#endif } +#endif /* returns elapsed time in seconds */ float timer(int flag) debian/patches/swlibs-001-mcpu-flag0000644000000000000000000000373611201355434014221 0ustar Status: applied Index: b/swlibs/include/make/3dfx.linux.mak =================================================================== --- a/swlibs/include/make/3dfx.linux.mak +++ b/swlibs/include/make/3dfx.linux.mak @@ -87,7 +87,7 @@ endif # assembly language in grDrawTriangle. Larger optimization removes # an extra push in the calling sequence. # -CNODEBUG = -O6 -m486 -fomit-frame-pointer -funroll-loops \ +CNODEBUG = -O6 -mcpu=i486 -fomit-frame-pointer -funroll-loops \ -fexpensive-optimizations -ffast-math -DBIG_OPT CDEBUG = -g -O Index: b/swlibs/include/make/3dfx.mak =================================================================== --- a/swlibs/include/make/3dfx.mak +++ b/swlibs/include/make/3dfx.mak @@ -120,7 +120,7 @@ endif # assembly language in grDrawTriangle. Larger optimization removes # an extra push in the calling sequence. # -CNODEBUG = -O6 -m486 -fomit-frame-pointer -funroll-loops \ +CNODEBUG = -O6 -mcpu=i486 -fomit-frame-pointer -funroll-loops \ -fexpensive-optimizations -ffast-math -DBIG_OPT CDEBUG = -g -O @@ -138,7 +138,7 @@ GCOPTS = -Wall # assembly language in grDrawTriangle. Larger optimization removes # an extra push in the calling sequence. # -CNODEBUG = -O6 -m486 -fomit-frame-pointer -funroll-loops \ +CNODEBUG = -O6 -mcpu=i486 -fomit-frame-pointer -funroll-loops \ -fexpensive-optimizations -ffast-math -DBIG_OPT CDEBUG = -g -O Index: b/swlibs/include/make/makefile.autoconf.bottom =================================================================== --- a/swlibs/include/make/makefile.autoconf.bottom +++ b/swlibs/include/make/makefile.autoconf.bottom @@ -51,7 +51,7 @@ ifeq ("@GLIDE_DEBUG@","true") GLIDE_DEBUG_GCFLAGS = -g -O GLIDE_DEBUG_GDEFS = -DGDBG_INFO_ON -DGLIDE_DEBUG else -GLIDE_DEBUG_GCFLAGS = -O6 -m486 +GLIDE_DEBUG_GCFLAGS = -O6 -mcpu=i486 GLIDE_DEBUG_GDEFS = -fomit-frame-pointer -funroll-loops \ -fexpensive-optimizations -ffast-math -DBIG_OPT endif debian/libglide3.prerm0000644000000000000000000000007611201355434012074 0ustar #!/bin/sh set -e rm -f /usr/lib/libglide3.so.3 #DEBHELPER# debian/libglide2.shlibs0000644000000000000000000000005211201355434012224 0ustar libglide 2 libglide2 libtexus 1 libglide2 debian/libglide2.templates0000644000000000000000000000316112112257562012747 0ustar # These templates have been reviewed by the debian-l10n-english # team # # If modifications/additions/rewording are needed, please ask # debian-l10n-english@lists.debian.org for advice. # # Even minor modifications require translation updates and such # changes should be coordinated with translators and reviewers. Template: libglide2/no_card Type: boolean Default: false _Description: Manually select driver for 3Dfx card? No 3Dfx card that is supported by glide2 was found. This package supports cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3. . If the graphics card in this computer does not use one of these chipsets, and you are not compiling programs against glide, this package will not be useful. . If the graphics card is based on one of these chipsets, you should file a bug report against this package, including the output from the "lspci -vm" command. . Please choose whether you want to manually select the driver to use for now. Template: libglide2/driver Type: select Choices: cvg, h3 Default: ${default} _Description: Driver for 3D acceleration: Please select the driver you would like to use for 3D acceleration: * cvg: Voodoo 2; * h3 : Voodoo Banshee and Voodoo 3. Template: libglide2/card Type: select Choices: ${choices} _Description: Card to use for 3D acceleration: Multiple 3Dfx-based cards were detected based on one of the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3. . Please select the card you would like to use for 3D acceleration. Template: libglide2/target_not_symlink Type: error _Description: ${target} exists but is not a symlink! debian/libglide2.lintian-overrides0000644000000000000000000000025111365425477014417 0ustar # There's several backends, one of which gets symlinked at install time. libglide2: postrm-has-useless-call-to-ldconfig libglide2: postinst-has-useless-call-to-ldconfig debian/control0000644000000000000000000000471112146164671010604 0ustar Source: glide Section: libs Priority: optional Build-Depends: debhelper (>= 9), autoconf, automake, libtool (>= 1.5), libx11-dev, libxext-dev, libxxf86dga-dev, libxxf86vm-dev Build-Conflicts: automake1.4 Maintainer: Guillem Jover Homepage: http://glide.sf.net/ Vcs-Browser: http://git.hadrons.org/?p=debian/pkgs/glide.git Vcs-Git: git://git.hadrons.org/git/debian/pkgs/glide.git Standards-Version: 3.9.4 Package: glide2-bin Section: graphics Architecture: i386 Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: device3dfx-module, device3dfx-source Description: graphics library for 3Dfx Voodoo based cards - support programs This is a support package which should be installed if you use a card based on 3dfx Interactive, Inc's Voodoo chipsets. Package: libglide2 Architecture: i386 Depends: ${shlibs:Depends}, ${misc:Depends}, pciutils Suggests: glide2-bin, device3dfx-module, device3dfx-source Description: graphics library for 3Dfx Voodoo based cards - shared libraries This package allows you to use the 3D functions of cards based on 3dfx Interactive, Inc's Voodoo 2 chipsets. You should install it if you use such a card. . This package is not useful with Voodoo Banshee, Voodoo 3, Voodoo 4, or Voodoo 5 cards, and the original Voodoo Graphics chipset is no longer supported. . You'll need the 3dfx kernel driver to use this library. Package: libglide2-dev Section: libdevel Architecture: i386 Depends: libglide2 (= ${binary:Version}), ${misc:Depends} Description: graphics library for 3Dfx Voodoo based cards - development files This package contains the header files, example programs, and documentation necessary to develop software using libglide2. Package: libglide3 Architecture: i386 alpha ia64 amd64 Depends: ${shlibs:Depends}, ${misc:Depends}, pciutils Description: graphics library for 3Dfx Voodoo based cards - shared libraries This package allows you to use the 3D functions of cards based on 3dfx Interactive, Inc's Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5 chipsets. You should install it if you use such a card. . This package does not need the 3dfx kernel driver, as it uses DRI instead. Package: libglide3-dev Section: libdevel Architecture: i386 alpha ia64 amd64 Depends: libglide3 (= ${binary:Version}), ${misc:Depends} Description: graphics library for 3Dfx Voodoo based cards - development files This package contains the header files, example programs, and documentation necessary to develop software using libglide3. debian/libglide2.postinst0000644000000000000000000000140112144761547012637 0ustar #!/bin/sh set -e . /usr/share/debconf/confmodule if [ "$1" = "configure" ] ; then # Remove old typoed question, was really libglide3 (not libglide2). db_unregister libglide3/error || true db_get 'libglide2/driver' target='/usr/lib/libglide.so.2' if [ "$RET" = "sst1" ]; then drv_lib='/usr/lib/glide2/libglide_sst1.so.2.46'; elif [ "$RET" = "cvg" ]; then drv_lib='/usr/lib/glide2/libglide_cvg.so.2.53'; elif [ "$RET" = "h3" ]; then drv_lib='/usr/lib/glide2/libglide_h3.so.2.60'; else exit 1; fi if [ -e $target ] ; then { if [ -L $target ] ; then { rm $target; } else { db_subst libglide2/target_not_symlink target "$target" db_go exit 1; } fi } fi ln -s $drv_lib $target fi #DEBHELPER# debian/libglide3.dirs0000644000000000000000000000005411201355434011704 0ustar usr/lib usr/lib/glide3 usr/lib/xorg/modules debian/po/0000755000000000000000000000000012146150243007602 5ustar debian/po/pt.po0000600000000000000000000001213412146150243010556 0ustar # Portuguese po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2006 André Costa # Copyright © 2009 Américo Monteiro # # Américo Monteiro , 2013. msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10ds1-9\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2013-05-18 09:15+0100\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Seleccionar driver para placa 3Dfx manualmente?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Não foi encontrada nenhuma placa 3Dfx suportada pelo glide2. Este pacote " "suporta placas baseadas nos seguintes chipsets 3Dfx: Voodoo 2, Voodoo " "Banshee e Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Se a placa gráfica deste computador não usa nenhum destes chipsets, e você " "não estiver a compilar programas com o glide, este pacote não será útil." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Se a placa gráfica é baseada num desses chipsets, você deveria enviar um " "relatório de bug contra este pacote, incluindo o resultado do comando " "\"lspci -vm\"." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Por favor escolha se quer seleccionar manualmente o driver a usar por agora." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Driver para aceleração 3D:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Por favor seleccione a driver que deseja usar para aceleração 3D:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee e Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Placa a usar para aceleração 3D:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Foram detectadas várias placas 3Dfx baseadas em um dos seguintes chipsets " "3Dfx: Voodoo 2, Voodoo Banshee, e Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Por favor seleccione a placa que deseja usar para aceleração 3D." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "${target} existe mas não é um link simbólico!" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Não foi encontrada nenhuma placa 3Dfx suportada pelo glide3. Este pacote " "suporta placas baseadas nos seguintes chipsets 3Dfx: Voodoo Banshee, Voodoo " "3, Voodoo 4 e Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Por favor seleccione o driver que deseja usar para aceleração 3D:\n" " * h3: Voodoo Banshee e Voodoo 3;\n" " * h5: Voodoo 4 e Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Foram detectadas várias placas 3Dfx baseadas em um dos seguintes chipsets " "3Dfx: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, e Voodoo 5." debian/po/cs.po0000644000000000000000000001546712144345341010567 0ustar # Czech po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2005 Miroslav Kure # Copyright © 2009 Michal Simunek # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-2\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2005-08-10 17:27+0200\n" "Last-Translator: Michal Simunek \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Vybrat ovladač 3Dfx karty ručně?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Nebyla nalezena 3Dfx karta, která podporuje glide2. Tento balíček funguje s " "kartami založenými na následujících čipových sadách 3Dfx: Voodoo 2, Voodoo " "Banshee a Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Pokud žádnou z vypsaných karet nevlastníte a nekompilujete programy vůči " "glide, neměli byste instalovat ani tento balíček." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Jestliže vlastníte kartu založenou na některé uvedené čipové sadě, zašlete " "prosím bugreport vůči tomuto balíčku a nezapomeňte přiložit výpis příkazu " "'lspci -vm'." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "Zvolte prosím, zdali chcete ručně vybraný ovladač nyní použít." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Ovladač pro 3D akceleraci:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Vyberte prosím kartu, kterou chcete použít pro 3D akceleraci:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee a Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Vyberte prosím kartu, kterou chcete použít pro 3D akceleraci." #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Bylo rozpoznáno více karet založených na následujících čipových sadách 3Dfx: " "Voodoo 2, Voodoo Banshee a Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Vyberte prosím kartu, kterou chcete použít pro 3D akceleraci." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Nebyla nalezena 3Dfx karta, která podporuje glide3. Tento balíček funguje s " "kartami založenými na následujících čipových sadách 3Dfx: Voodoo Banshee, " "Voodoo 3, Voodoo 4 a Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Vyberte prosím kartu, kterou chcete použít pro 3D akceleraci:\n" " * h3: Voodoo Banshee a Voodoo 3;\n" " * h5: Voodoo 4 a Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Bylo rozpoznáno více grafických karet založených na následujících čipových " "sadách 3Dfx: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 a Voodoo 5." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "Nebyla nalezena 3Dfx karta podporovaná glide2! Vybrat ovladač ručně?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "CHYBA: nebyla nalezena 3Dfx karta podporovaná glide2!" #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "Chcete vybrat ovladač ručně? (Pokud ne, použije se rozumný základ, vůči " #~ "němuž se bude dát kompilovat.)" #~ msgid "Please select a driver." #~ msgstr "Vyberte prosím ovladač." #~ msgid "Please select the driver you would like to use." #~ msgstr "Vyberte prosím ovladač, který byste chtěli použít." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee a Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Vyberte prosím kartu." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "Bylo rozpoznáno více grafických karet založených na následujících " #~ "čipových sadách 3Dfx: Voodoo 2, Voodoo Banshee a Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "Nebyla nalezena 3Dfx karta podporovaná glide3! Vybrat ovladač ručně?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "CHYBA: nebyla nalezena 3Dfx karta podporovaná glide3!" #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ " h3 - Voodoo Banshee a Voodoo 3.\n" #~ " h5 - Voodoo 4 a Voodoo 5." debian/po/nl.po0000644000000000000000000001213312112261460010550 0ustar # Dutch po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2004 Luk Claes # Copyright © 2006 Kurt De Bree # Copyright © 2011 Jeroen Schot # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10ds1\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2011-07-30 15:11+0200\n" "Last-Translator: Jeroen Schot \n" "Language-Team: Debian l10n Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Het stuurprogramma voor de 3Dfx-kaart handmatig selecteren?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Er is geen 3Dfx-kaart gevonden die door glide2 wordt ondersteund. Dit pakket " "ondersteunt kaarten gebaseerd op de volgende 3Dfx-chipsets: Voodoo 2, Voodoo " "Banshee en Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Als u geen kaart heeft die is gebaseerd op één van deze chipsets, en u bent " "geen programma's aan het compileren met glide, dan is dit pakket niet nuttig." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Als de videokaart wel gebaseerd op één van deze chipsets, voer dan een " "bugrapport in over dit pakket; met de uitvoer van het commando \"lspci -vm\"." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Geef aan of u het stuurprogramma dat gebruikt moet worden handmatig wilt " "selecteren." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Stuurprogramma voor 3D-versnelling:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Selecteer het stuurprogramma dat u wilt gebruiken voor 3D-versnelling:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee en Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Kaart die moet worden gebruikt voor 3D-versnelling:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Er zijn meerdere videokaarten gedetecteerd die zijn gebaseerd op een de " "volgende 3Dfx-chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 en " "Voodoo 5." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Selecteer de kaart die u wilt gebruiken voor 3D-versnelling." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Er is geen 3Dfx-kaart gevonden die door glide3 wordt ondersteund. Dit pakket " "is voor kaarten gebaseerd op de volgende 3Dfx-chipsets: Voodoo Banshee, " "Voodoo 3, Voodoo 4 en Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Selecteer het stuurprogramma dat u wilt gebruiken voor 3D-versnelling:\n" " * h3: Voodoo Banshee en Voodoo 3;\n" " * h5: Voodoo 4 en Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Er zijn meerdere videokaarten gedetecteerd die zijn gebaseerd op een de " "volgende 3Dfx-chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 en " "Voodoo 5." debian/po/gl.po0000600000000000000000000001577412146150214010550 0ustar # Galician po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2007 Jacobo Tarrio # Copyright © 2009 Marce Villarino # # Jorge Barreiro , 2013. msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10ds1-9\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2013-05-19 12:33+0200\n" "Last-Translator: Jorge Barreiro \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.4\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Desexa escoller manualmente o controlador da tarxeta 3Dfx?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "«Glide2» non atopou ningunha tarxeta 3Dfx. Este paquete permite usar " "tarxetas " "baseadas nos seguintes chipsets 3Dfx: Voodoo 2, Voodoo Banshee e Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Se a tarxeta gráfica neste computador non emprega ningún deses chipsets e non " "está a compilar programas contra «glide», este paquete non será útil." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Se a tarxeta gráfica neste ordenador está baseada nun destes chipsets, " "debería enviar un informe de fallo contra este paquete, incluíndo a saída da " "orde «lspci -vm»." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Indique se desexa escoller manualmente o controlador a empregar por agora." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Controlador para a aceleración 3D:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Escolla a o controlador que desexa empregar para a aceleración 3D:\n" " * cvg: Voodoo 2,\n" " * h3 : Voodoo Banshee e Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Tarxeta a empregar para a aceleración 3D:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Detectáronse varias tarxetas baseadas nalgún dos seguintes chipsets 3Dfx: " "Voodoo 2, Voodoo Banshee e Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Escolla a tarxeta que desexa empregar para a aceleración 3D." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "${target} xa existe, pero non é unha ligazón simbólica!" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Non se atopou ningunha tarxeta 3Dfx compatíbel con «glide3». Este paquete " "permite usar tarxetas baseadas nos seguintes chipsets 3Dfx: Voodoo Banshee, " "Voodoo 3, Voodoo 4 e Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Escolla o controlador que desexa empregar para a aceleración 3D:\n" " * h3: Voodoo Banshee e Voodoo 3,\n" " * h5: Voodoo 4 e Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Detectáronse varias tarxetas de vídeo baseadas nalgún dos seguintes chipsets " "3Dfx: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 e Voodoo 5." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "Non se atopou ningunha tarxeta 3Dfx soportada por glide2. ¿Escoller o " #~ "controlador manualmente?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "ERRO: Non se atopou ningunha tarxeta 3Dfx soportada por glide2." #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "¿Quere seleccionar manualmente o controlador a empregar? (Se non, hase " #~ "seleccionar un valor axeitado para compilar)." #~ msgid "Please select a driver." #~ msgstr "Escolla un controlador." #~ msgid "Please select the driver you would like to use." #~ msgstr "Escolla o controlador que quere empregar." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee e Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Escolla unha tarxeta." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "Detectouse máis dunha tarxeta de vídeo baseada nos seguintes chipsets " #~ "3Dfx: Voodoo 2, Voodoo Banshee e Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "Non se atopou ningunha tarxeta 3Dfx soportada por glide3. ¿Escoller o " #~ "controlador manualmente?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "ERRO: Non se atopou ningunha tarxeta 3Dfx soportada por glide3." #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ " h3 - Voodoo Banshee e Voodoo 3.\n" #~ " h5 - Voodoo 4 e Voodoo 5." debian/po/it.po0000644000000000000000000001155112144345420010562 0ustar # Italian po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2008, 2009 Luca Monducci # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-2\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-04-26 16:02+0200\n" "Last-Translator: Luca Monducci \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Selezionare manualmente un driver per la scheda 3Dfx?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Non sono state rilevate schede 3Dfx supportate da glide2. Questo pacchetto " "supporta le schede basate sui seguenti chipset 3Dfx: Voodoo 2, Voodoo " "Banshee e Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Se la scheda grafica in questo computer non utilizza uno di questi chipset e " "non si compilano programmi con glide, questo pacchetto sarà del tutto " "inutile." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Se la scheda grafica è basata su uno di questi chipset, segnalare un bug per " "questo pacchetto inserendo nella segnalazione l'output del comando \"lspci -" "vm\"." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "Scegliere il driver che si desidera selezionandolo manualmente adesso." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Driver per l'accelerazione 3D:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Scegliere il driver che si vuole usare per l'accelerazione 3D:\n" " * cvg - Voodoo 2;\n" " * h3 - Voodoo Banshee e Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Scheda da usare per l'accelerazione 3D:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Sono state rilevate più schede basate su uno dei seguenti chipset 3Dfx: " "Voodoo 2, Voodoo Banshee e Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Scegliere la scheda che si vuole usare per l'accelerazione 3D." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Non sono state rilevate schede 3Dfx supportate da glide3. Questo pacchetto " "supporta le schede basate sui seguenti chipset 3Dfx: Voodoo Banshee, Voodoo " "3, Voodoo 4 e Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Scegliere il driver che si vuole usare per l'accelerazione 3D:\n" " * h3 - Voodoo Banshee e Voodoo 3;\n" " * h5 - Voodoo 4 e Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Sono state rilevate più schede basate su uno dei seguenti chipset 3Dfx: " "Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 e Voodoo 5." debian/po/fi.po0000644000000000000000000001202712144345404010545 0ustar # Finnish po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2008, 2009 Esko Arajärvi # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-2\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-09-10 14:04+0200\n" "Last-Translator: Esko Arajärvi \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Finnish\n" "X-Poedit-Country: FINLAND\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Haluatko valita ajurin 3Dfx-kortille manuaalisesti?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Mitään glide2:n tukemaa 3Dfx-korttia ei löytynyt. Tämä paketti tukee " "seuraaviin 3Dfx-piirisarjoihin perustuvia kortteja: Voodoo 2, Voodoo Banshee " "ja Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Jos käytössä oleva näyttökortti ei käytä näitä piirisarjoja, eikä glidea " "käytetä ohjelmien kääntämiseen, tästä paketista ei ole hyötyä." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Jos käytössä on johonkin näistä piirisarjoista perustuva kortti, lähetä tätä " "pakettia koskeva vikaraportti ja sisällytä siihen komennon “lspci -vm” " "tuloste." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "Valitse haluatko valita jonkin ajurin käyttöön manuaalisesti." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "3D-kiihdytysajuri:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Valitse ajuri, jota haluat käyttää 3D-kiihdytykseen:\n" " * cvg: Voodoo2\n" " * h3: Voodoo Banshee tai Voodoo 3" #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "3D-kiihdytykseen käytettävä kortti:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Järjestelmästä löytyi useampia 3Dfx-pohjaisia kortteja, jotka käyttävät " "jotain seuraavista piirisarjoista: Voodoo 2, Voodoo Banshee tai Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Valitse kortti, jota haluat käyttää 3D-kiihdytykseen." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Mitään glide3:n tukemaa 3Dfx-korttia ei löytynyt. Tämä paketti tukee " "seuraaviin 3Dfx-piirisarjoihin perustuvia kortteja: Voodoo Banshee, Voodoo " "3, Voodoo 4 ja Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Valitse ajuri, jota haluat käyttää 3D-kiihdytykseen:\n" " * h3: Voodoo Banshee tai Voodoo 3\n" " * h5: Voodoo 4 tai Voodoo 5" #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Järjestelmästä löytyi useampia 3Dfx-pohjaisia kortteja, jotka käyttävät " "jotain seuraavista piirisarjoista: Voodoo 2, Voodoo Banshee, Voodoo 3, " "Voodoo 4 tai Voodoo 5." debian/po/ca.po0000644000000000000000000001727012112261460010531 0ustar # Catalan po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2003-2005 Guillem Jover # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-2\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2005-07-30 18:44+0300\n" "Last-Translator: Guillem Jover \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "" #. Type: boolean #. Description #: ../libglide2.templates:2001 #, fuzzy #| msgid "" #| "This package is for cards based on the following 3Dfx chipsets: Voodoo 2, " #| "Voodoo Banshee, and Voodoo 3." msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Aquest paquet és per a targes 3Dfx basades en els següents chipsets: Voodoo " "2, Voodoo Banshee i Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 #, fuzzy #| msgid "" #| "If you do not have a card based on one of the listed chipsets, and you " #| "are not compiling programs against glide, you should not have this " #| "package installed." msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Si no teniu cap targeta basada en algun dels chipsets llistats, i no esteu " "compilant programes contra glide, no haurieu de tenir instal·lat aquest " "paquet." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 #, fuzzy #| msgid "" #| "If you do have a card based on one of the listed chipsets please file a " #| "bug on this package, including the output from the command 'lspci -vm' in " #| "the bug report." msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Si teniu alguna targeta basada en algun dels chipsets llistats, si us plau " "envieu un informe d'error a aquest paquet, incloent la sortida de l'ordre " "«lspci -vm» al mateix informe." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "" #. Type: select #. Description #: ../libglide2.templates:3001 #, fuzzy #| msgid "Please select the card you would like to use for 3D acceleration." msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "Si us plau seleccioneu la targeta desitjada per a l'acceleració 3D." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 #, fuzzy #| msgid "Please select the card you would like to use for 3D acceleration." msgid "Card to use for 3D acceleration:" msgstr "Si us plau seleccioneu la targeta desitjada per a l'acceleració 3D." #. Type: select #. Description #: ../libglide2.templates:4001 #, fuzzy #| msgid "" #| "This package is for cards based on the following 3Dfx chipsets: Voodoo 2, " #| "Voodoo Banshee, and Voodoo 3." msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Aquest paquet és per a targes 3Dfx basades en els següents chipsets: Voodoo " "2, Voodoo Banshee i Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Si us plau seleccioneu la targeta desitjada per a l'acceleració 3D." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 #, fuzzy #| msgid "" #| "This package is for cards based on the following 3Dfx chipsets: Voodoo " #| "Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Aquest paquet és per a targes 3Dfx basades en els següents chipsets: Voodoo " "Banshee, Voodoo 3, Voodoo 4 i Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 #, fuzzy #| msgid "Please select the card you would like to use for 3D acceleration." msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "Si us plau seleccioneu la targeta desitjada per a l'acceleració 3D." #. Type: select #. Description #: ../libglide3.templates:4001 #, fuzzy #| msgid "" #| "We have detected more then one video card based on the following 3Dfx " #| "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "S'ha detectat més d'una targeta gràfica basada en un dels següents chipsets " "de 3Dfx: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 i Voodoo 5." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "No s'ha trobat cap targeta 3Dfx suportada per glide2! Desitgeu " #~ "seleccionar el dispositiu manualment?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "ERROR: No s'ha trobat cap targeta 3Dfx suportada per glide2!" #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "Desitjeu seleccionar manualment el dispositiu a fer servir per ara? (Si " #~ "no, es seleccionarà un valor predeterminat correcte per compilar)." #~ msgid "Please select a driver." #~ msgstr "Si us plau, seleccioneu un dispositiu." #~ msgid "Please select the driver you would like to use." #~ msgstr "Si us plau seleccioneu el dispositiu que voleu fer servir." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee i Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Si us plau, seleccioneu una targeta." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "S'ha detectat més d'una targeta gràfica basada en un dels següents " #~ "chipsets de 3Dfx: Voodoo 2, Voodoo Banshee i Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "No s'ha trobat cap targeta 3Dfx suportada per glide3! Desitgeu " #~ "seleccionar el dispositiu manualment?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "ERROR: No s'ha trobat cap targeta 3Dfx suportada per glide3!" #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ " h3 - Voodoo Banshee i Voodoo 3.\n" #~ " h5 - Voodoo 4 i Voodoo 5." debian/po/ru.po0000600000000000000000000001771612144762431010602 0ustar # Russian po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2008 Yuri Kozlov # Copyright © 2009, 2013 Sergey Alyoshin # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10ds1-9\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2013-05-15 22:34+0400\n" "Last-Translator: Sergey Alyoshin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: VIM 7.3\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Вручную указать драйвер для карты 3Dfx?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Не было найдено ни одной 3Dfx карты, поддерживаемой glide2. Этот пакет " "предназначен для карт, имеющих следующие чипсеты 3Dfx: Voodoo 2, Voodoo " "Banshee и Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Если у вас нет карт с такими чипсетами и вы не компилировали программы с " "glide, то вам не нужно устанавливать этот пакет." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Если у вас есть карта с одним из перечисленных чипсетов, то сообщите об " "ошибке в этом пакете, включив в отчёт вывод команды \"lspci -vm\"." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "Укажите, хотите ли вы сейчас вручную выбрать используемый драйвер." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Драйвер для 3D-ускорения:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Выберите драйвер, который вы хотите использовать для 3D-ускорения:\n" " * cvg: Voodoo 2;\n" " * h3: Voodoo Banshee и Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Карта, используемая для 3D-ускорения:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Обнаружено несколько 3Dfx карт на одном из следующих чипсетов: Voodoo 2, " "Voodoo Banshee и Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Выберите карту, которую хотите использовать для 3D-ускорения." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "${target} существует, но не является символьной ссылкой!" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Не было найдено ни одной 3Dfx карты, поддерживаемой glide3. Этот пакет " "предназначен для карт, имеющих следующие чипсеты 3Dfx: Voodoo Banshee, " "Voodoo 3, Voodoo 4 и Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Выберите драйвер, который вы хотите использовать для 3D-ускорения:\n" " * h3: Voodoo Banshee и Voodoo 3;\n" " * h5: Voodoo 4 и Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Обнаружено несколько 3Dfx карт на одном из следующих чипсетов: Voodoo 2, " "Voodoo Banshee, Voodoo 3, Voodoo 4 и Voodoo 5." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "Карт 3Dfx, поддерживаемых glide2, не найдено! Выбрать драйвер вручную?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "ОШИБКА: карт 3Dfx, поддерживаемых glide2, не найдено!" #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "Хотите выбрать драйвер вручную? (Если нет, то будет выбрано значение по " #~ "умолчанию, указанное на этапе компиляции.)" #~ msgid "Please select a driver." #~ msgstr "Выберите драйвер." #~ msgid "Please select the driver you would like to use." #~ msgstr "Выберите драйвер, который хотите использовать." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee и Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Выберите карту." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "Была обнаружена одна или более видеокарт на основе следующих чипсетов " #~ "3Dfx: Voodoo 2, Voodoo Banshee и Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "Карт 3Dfx, поддерживаемых glide3, не найдено! Выбрать драйвер вручную?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "ОШИБКА: карт 3Dfx, поддерживаемых glide3, не найдено!" #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ " h3 - Voodoo Banshee и Voodoo 3.\n" #~ " h5 - Voodoo 4 и Voodoo 5." debian/po/pt_BR.po0000644000000000000000000001742412144345236011166 0ustar # Brazilian Portuguese po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2003 André Luís Lopes # msgid "" msgstr "" "Project-Id-Version: glide_2002.04.10-2\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2005-07-30 18:44+0300\n" "Last-Translator: André Luís Lopes \n" "Language-Team: Debian-BR Project \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "" #. Type: boolean #. Description #: ../libglide2.templates:2001 #, fuzzy #| msgid "" #| "This package is for cards based on the following 3Dfx chipsets: Voodoo 2, " #| "Voodoo Banshee, and Voodoo 3." msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Este pacote é para placas baseadas nos seguintes chipsets 3Dfx : Voodoo 2, " "Voodoo Banshee e Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 #, fuzzy #| msgid "" #| "If you do not have a card based on one of the listed chipsets, and you " #| "are not compiling programs against glide, you should not have this " #| "package installed." msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Caso você não possua uma placa baseada em um dos chipsets listados e caso " "não esteja compilando programas que necessitam do glide você não deveria ter " "este pacote instalado." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 #, fuzzy #| msgid "" #| "If you do have a card based on one of the listed chipsets please file a " #| "bug on this package, including the output from the command 'lspci -vm' in " #| "the bug report." msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Caso você possua uma placa baseada em um dos chipsets listados por favor " "relate um bug sobre este pacote e inclua a saída do comando 'lspci -vm' no " "relatório do bug." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "" #. Type: select #. Description #: ../libglide2.templates:3001 #, fuzzy #| msgid "Please select the card you would like to use for 3D acceleration." msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Por, favor selecione a placa que você gostaria de usar para aceleração 3D." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 #, fuzzy #| msgid "Please select the card you would like to use for 3D acceleration." msgid "Card to use for 3D acceleration:" msgstr "" "Por, favor selecione a placa que você gostaria de usar para aceleração 3D." #. Type: select #. Description #: ../libglide2.templates:4001 #, fuzzy #| msgid "" #| "This package is for cards based on the following 3Dfx chipsets: Voodoo 2, " #| "Voodoo Banshee, and Voodoo 3." msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Este pacote é para placas baseadas nos seguintes chipsets 3Dfx : Voodoo 2, " "Voodoo Banshee e Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "" "Por, favor selecione a placa que você gostaria de usar para aceleração 3D." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 #, fuzzy #| msgid "" #| "This package is for cards based on the following 3Dfx chipsets: Voodoo " #| "Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Este pacote é para placas baseadas nos seguintes chipsets 3Dfx : Voodoo " "Banshee, Voodoo 3, Voodoo 4 e Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 #, fuzzy #| msgid "Please select the card you would like to use for 3D acceleration." msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Por, favor selecione a placa que você gostaria de usar para aceleração 3D." #. Type: select #. Description #: ../libglide3.templates:4001 #, fuzzy #| msgid "" #| "We have detected more then one video card based on the following 3Dfx " #| "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Foram detectadas mais de uma placa de vídeo baseadas nos seguintes chipsets " "3Dfx : Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 e Voodoo 5." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "Nenhuma placa 3Dfx suportada pelo glide2 foi encontrada ! Selecionar o " #~ "driver manualmente ?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "ERRO: Nenhuma placa 3Dfx suportada pelo glide2 foi encontrada !" #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "Você gostaria de selecionar manualmente o driver a ser usado agora ? " #~ "(Caso não queira selecionar o driver agora, um padrão seguro a ser usado " #~ "para compilação será selecionado.)" #~ msgid "Please select a driver." #~ msgstr "Por favor selecione o driver." #~ msgid "Please select the driver you would like to use." #~ msgstr "Por favor selecione o driver que você gostaria de usar." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee e Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Por favor selecione uma placa." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "Foram detectadas mais de uma placa de vídeo baseadas nos seguintes " #~ "chipsets : Voodoo 2, Voodoo Banshee e Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "Nenhuma placa 3Dfx suportada pelo glide3 foi encontrada ! Selecionar o " #~ "driver manualmente ?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "ERRO: Nenhuma placa 3Dfx suportada pelo glide3 foi encontrada !" #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ " h3 - Voodoo Banshee e Voodoo 3.\n" #~ " h5 - Voodoo 4 e Voodoo 5." debian/po/sv.po0000644000000000000000000001521112112261460010567 0ustar # Swedish po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2008, 2009 Martin Bagge # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-16\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-09-09 21:52+0200\n" "Last-Translator: Martin Bagge \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Välja drivrutin för 3Dfx-kort manuellt?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Inget 3Dfx-kort som stöder glide2 hittades. Detta paket är för kort baserad " "på följande 3dfx-chip: Voodoo 2, Voodoo Banshee och Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Om du inte har ett kort baserat på ett av dessa chip och du inte kompilerar " "program mot glide så har du ingen nytta av detta paket." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Om du har ett kort baserat på ett av de uppräknade cippen, vänligen lämna en " "felrapport på detta paket - inkludera utskriften från \"lspci -vm\" i " "felrapporten." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "Ange om du manuellt vill välja den drivrutin som ska användas." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Drivrutin för 3D-accelertion:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Vänligen välj drivrutin för kortet du vill använda för 3D-acceleration:\n" " * cvg: Voodoo 2\n" " * h3 : Voodoo Banshee and Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Kort att använda för 3D-acceleration:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Flera 3Dfx-baserade kort med ett av följande chip, Voodoo 2, Voodoo Banshee " "eller Voodoo 3, hittades." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Vänligen välj kortet du vill använda för 3D-acceleration." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Inget 3Dfx-kort som stöder glide3 hittades. Detta paket är för kort baserad " "på följande 3Dfx-chip: Voodoo Banshee, Voodoo 3, Voodoo 4 och Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Vänligen välj drivrutin för kortet du vill använda för 3D-acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3\n" " * h5: Voodoo 4 and Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Mer än ett 3Dfx-baserat kort med ett av följande chip, Voodoo 2, Voodoo " "Banshee, Voodoo 3, Voodoo 4 eller Voodoo 5, hittades." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "Hittade inget 3Dfx-kort med glide2-stöd. Vill du välja drivrutin manuellt?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "FEL: Hittade inget 3Dfx-kort med glide2-stöd." #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "Vill du välja drivrutin manuellt nu? (Om du inte gör det kommer en " #~ "standardinställning att göras så att du kan kompilera mot något.)" #~ msgid "Please select a driver." #~ msgstr "Vänligen välj drivrutin." #~ msgid "Please select the driver you would like to use." #~ msgstr "Vänligen välj den drivrutin du vill använda." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ "cvg - Voodoo 2.\n" #~ "h3 - Voodoo Banshee och Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Vänligen välj kort." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "Vi fann mer än ett videokort baserat på ett av följande 3dfx-chip: Voodoo " #~ "2, Voodoo Banshee eller Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "Hittade inget 4Dfx-kort med stöd för glide3. Vill du välja drivrutin " #~ "manuellt?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "FEL: Hittade inget 4dfx-kort med glide2-stöd." #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ "h3 - Voodoo Banshee och Voodoo 4.\n" #~ "h5 - Voodoo 4 och Voodoo 5." debian/po/da.po0000644000000000000000000001175712146150117010541 0ustar # Danish po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2004, 2005 Claus Hindsgaul # Copyright © 2010, 2013 Joe Hansen # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10ds1-9\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2013-05-19 15:07+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Vælg manuelt driver til 3Dfx-kort?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Intet 3Dfx-kort som er understøttet af glide2 blev fundet. Denne pakke " "understøtter kort baseret på de følgende 3Dfx-chipsæt: Voodoo 2, Voodoo " "Banshee og Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Hvis grafikkortet i denne computer ikke bruger en af disse chipsæt, og du " "ikke kompilerer programmer mod glide, skal du ikke have denne pakke " "installeret." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Hvis grafikkortet er baseret på et af disse chipsæt, bedes du rapportere en " "fejl i denne pakke. Medtag uddata fra kommandoen »lspci -vm« i rapporten." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Vælg venligst hvorvidt du manuelt ønsker at vælge driveren, der skal bruges " "indtil videre." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Driver til 3D-acceleration:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Vælg venligst det kort, du ønsker at bruge til 3D-acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee og Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Kort til brug for 3D-acceleration:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Flere 3Dfx-baserede kort blev registreret baseret på en af de følgende 3Dfx-" "chipsæt: Voodoo 2, Voodoo Banshee og Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Vælg det kort, du ønsker at bruge til 3D-acceleration." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "${target} findes men er ikke en symbolsk henvisning!" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Intet 3Dfx-kort som er understøttet af glide3 blev fundet. Denne pakke " "understøtter kort baseret på de følgende 3Dfx-chipsæt: Voodoo Banshee, " "Voodoo 3, Voodoo 4 og Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Vælg venligst det kort, du ønsker at bruge til 3D-acceleration:\n" " * h3: Voodoo Banshee og Voodoo 3;\n" " * h5: Voodoo 4 og Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Der er fundet mere end et videokort baseret på et af de følgende 3Dfx-" "chipsæt: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 og Voodoo 5." debian/po/es.po0000644000000000000000000001615512112261460010556 0ustar # Spanish po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2003-2005 Guillem Jover # Copyright © 2009 Francisco Javier Cuadrado # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10ds1-3\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-09-10 14:21+0200\n" "Last-Translator: Francisco Javier Cuadrado \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "¿Desea seleccionar manualmente el controlador de la tarjeta 3Dfx?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "No se ha encontrado una tarjeta 3Dfx que pueda utilizar glide2. Este paquete " "puede utilizar las tarjetas basadas en los siguientes conjuntos de chips " "3Dfx: Voodoo 2, Voodoo Banshee y Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Si la tarjeta gráfica de esta máquina no utiliza ninguno de estos conjuntos " "de chips, y no está compilando programas contra glide, este paquete no le " "será útil." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Si la tarjeta gráfica se basa en uno de estos conjuntos de chips, debería " "enviar un informe de error para este paquete, incluyendo la salida de la " "orden «lspci -vm»." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Escoja si quiere seleccionar manualmente el controlador para utilizar por " "ahora." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Controlador para la aceleración 3D:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Seleccione el controlador que querría utilizar para la aceleración 3D:\n" " * cvg: Voodoo 2.\n" " * h3 : Voodoo Banshee y Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Tarjeta a utilizar para la aceleración 3D:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Se han detectado varias tarjetas 3Dfx basadas en uno de los siguientes " "conjuntos de chips 3Dfx: Voodoo 2, Voodoo Banshee y Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Seleccione la tarjeta que querría utilizar para la aceleración 3D." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "No se ha encontrado ninguna tarjeta 3Dfx que pueda utilizar glide3. Este " "paquete permite utilizar tarjetas basadas en los siguientes conjuntos de " "chips 3Dfx: Voodoo Banshee, Voodoo 3, Voodoo 4 y Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Seleccione el controlador que querría utilizar para la aceleración 3D:\n" " * h3: Voodoo Banshee y Voodoo 3.\n" " * h5: Voodoo 4 y Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Se han detectado varias tarjetas 3Dfx basadas en uno de los siguientes " "conjuntos de chips 3Dfx: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 y " "Voodoo 5." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "No se ha encontrado ninguna tarjeta 3Dfx soportada por glide2! ¿Desea " #~ "seleccionar el dispositivo manualmente?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "" #~ "ERROR: No se ha encontrado ninguna tarjeta 3Dfx soportada por glide2!" #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "¿Desea seleccionar manualmente el dispositivo a usar por ahora? (Si no, " #~ "se seleccionará un valor predeterminado correcto para compilar)." #~ msgid "Please select a driver." #~ msgstr "Por favor, seleccione un dispositivo." #~ msgid "Please select the driver you would like to use." #~ msgstr "Por favor seleccione el dispositivo que desea usar." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee y Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Por favor, seleccione una tarjeta." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "Se ha encontrado más de una tarjeta gráfica basada en uno de los " #~ "siguientes chipsets de 3Dfx: Voodoo 2, Voodoo Banshee y Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "No se ha encontrado ninguna tarjeta 3Dfx soportada por glide3! ¿Desea " #~ "seleccionar el dispositivo manualmente?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "" #~ "ERROR: No se ha encontrado ninguna tarjeta 3Dfx soportada por glide3!" #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ " h3 - Voodoo Banshee y Voodoo 3.\n" #~ " h5 - Voodoo 4 y Voodoo 5." debian/po/POTFILES.in0000664000000000000000000000013411145524161011361 0ustar [type: gettext/rfc822deb] libglide2.templates [type: gettext/rfc822deb] libglide3.templates debian/po/de.po0000644000000000000000000001170012144345366010543 0ustar # German po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2004, 2006, 2009 Erik Schanze # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-19\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-05-07 22:34+0200\n" "Last-Translator: Erik Schanze \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Treiber für 3Dfx-Karte selbst auswählen?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Es wurde keine von Glide2 unterstützte 3Dfx-Karte gefunden. Dieses Paket " "unterstützt Karten mit folgenden 3Dfx-Chipsätzen: Voodoo 2, Voodoo Banshee " "und Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Wenn die Grafikkarte in diesem Rechner keinen dieser Chipsätze verwendet und " "Sie auch keine Programme mit Glide-Unterstützung kompilieren wollen, sollten " "Sie dieses Paket nicht installieren." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Wenn Ihre Karte mit einem der genannten Chipsätze ausgestattet ist, sollten " "Sie einen Fehlerbericht für dieses Paket schreiben und die Ausgabe des " "Kommandos: 'lspci -vm' beifügen." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "Stimmen Sie zu, wenn Sie den Treiber selbst auswählen wollen." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Treiber für 3D-Beschleunigung:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Bitte den Treiber für die 3D-Beschleunigung auswählen:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee und Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Karte für die 3D-Beschleunigung:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Es wurden mehrere 3Dfx-Karten erkannt, die einen der folgenden 3Dfx-" "Chipsätze verwenden: Voodoo 2, Voodoo Banshee und Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Bitte die Karte für die 3D-Beschleunigung auswählen." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Es wurde keine von Glide3 unterstützte 3Dfx-Karte gefunden. Dieses Paket " "unterstützt Karten mit folgenden 3Dfx-Chipsätzen: Voodoo Banshee, Voodoo 3, " "Voodoo 4 und Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Bitte den Treiber für die 3D-Beschleunigung auswählen:\n" " * h3: Voodoo Banshee und Voodoo 3;\n" " * h5: Voodoo 4 und Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Es wurden mehrere 3Dfx-Karten erkannt, die einen der folgenden 3Dfx-" "Chipsätze verwenden: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 und Voodoo " "5." debian/po/ja.po0000644000000000000000000001264612112261460010542 0ustar # Japanese po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2008, 2009 Hideki Yamane # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-19\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-04-21 17:48+0900\n" "Last-Translator: Hideki Yamane (Debian-JP) \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "3Dfx カードのドライバを手動で選択しますか?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "glide2 でサポートされている 3Dfx カードは見つかりませんでした。このパッケージ" "がサポートしているのは次の 3Dfx チップセットベースのカードです: Voodoo 2、" "Voodoo Banshee、Voodoo 3" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "このコンピュータ内のグラフィックカードがこれらのチップセットのいずれかを使っ" "ておらず、プログラムを glide に対してコンパイルしていないのであれば、このパッ" "ケージは役に立たないでしょう。" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "グラフィックカードがこれらのチップセットのいずれかを使る場合は、バグ報告に " "'lspci -vm' コマンドの出力を含めて、このパッケージに対してバグを登録してくだ" "さい。" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "これから使うドライバを手動で選択するかどうかを選んでください。" #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "3D アクセラレーション用ドライバ:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "3D アクセラレーションを使いたいカードを選択してください:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee および Voodoo 3" #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "3D アクセラレーションを使うカード:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "以下の 3Dfx チップセットベースのビデオカードを複数検出しました: Voodoo 2、" "Voodoo Banshee、そして Voodoo 3 です。" #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "3D アクセラレーションを使いたいカードを選択してください。" #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "glide3 でサポートされている 3Dfx カードが見つかりませんでした。このパッケージ" "は以下の 3Dfx チップセットベースのカードに対応しています: Voodoo Banshee、" "Voodoo 3、Voodoo 4、そして Voodoo 5です。" #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "3D アクセラレーションを使いたいカードを選択してください:\n" " * h3: Voodoo Banshee および Voodoo 3;\n" " * h5: Voodoo 4 および Voodoo 5" #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "以下の 3Dfx チップセットベースのビデオカードを複数検出しました: Voodoo 2、" "Voodoo Banshee、Voodoo 3、Voodoo 4、そして Voodoo 5 です。" debian/po/fr.po0000644000000000000000000001223612112261460010552 0ustar # French po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2003 Christian Perrier # Copyrigth © 2009 Steve Petruzzello # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-2\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-04-21 21:44+0200\n" "Last-Translator: Steve Petruzzello \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Sélection manuelle du pilote pour la carte 3Dfx :" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Aucune carte gérée par glide2 n'a été détectée. Ce paquet est destiné aux " "cartes utilisant les jeux de composants 3Dfx suivants : Voodoo 2, Voodoo " "Banshee et Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Si votre carte n'est pas basée sur l'un de ces jeux de composants et que " "vous ne faites pas de compilation de programmes liés à glide, vous n'avez " "pas de raison d'installer ce paquet." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Si votre carte est basée sur l'un de ces jeux de composants, veuillez " "envoyer un rapport de bogue pour ce paquet en y incluant les messages " "affichés par la commande « lspci -vm »." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Veuillez choisir si vous désirez sélectionner vous-même le pilote à utiliser." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Pilote pour l'accélération 3d :" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Veuillez choisir le pilote que vous souhaitez utiliser pour l'accélération " "3D :\n" " * cvg : Voodoo 2 ;\n" " * h3  : Voodoo Banshee et Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "" "Veuillez choisir la carte que vous souhaitez utiliser pour l'accélération 3D." #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Plusieurs cartes basées sur les jeux de composants 3Dfx ont été détectées : " "Voodoo 2, Voodoo Banshee et Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "" "Veuillez choisir la carte que vous souhaitez utiliser pour l'accélération 3D." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Aucune carte 3Dfx gérée par glide3 n'a été détectée. Ce paquet est destiné " "aux cartes utilisant les jeux de composants 3Dfx suivants : Voodoo Banshee, " "Voodoo 3, Voodoo 4 et Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Veuillez choisir le pilote que vous souhaitez utiliser pour l'accélération " "3D :\n" " * h3 : Voodoo Banshee and Voodoo 3 ;\n" " * h5 : Voodoo 4 et Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Plusieurs cartes basées sur l'un des jeux de composants 3Dfx suivants ont " "été détectées : Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 ou Voodoo 5." debian/po/eu.po0000644000000000000000000001555412144345377010601 0ustar # Euskara po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2008, 2009 Piarres Beobide # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-2\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-09-10 14:23+0200\n" "Last-Translator: Piarres Beobide \n" "Language-Team: Euskara \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Pootle 1.2.1\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Eskuz hautatu 3Dfx txartelaren kontrolatzaileak?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Ez da aurkitu glide2-k onartzen duen 3Dfx txartelarik. Pakete hau hurrengo " "3Dfx txip-jokoetan oinarritutako txartelentzat da: Voodoo 2, Voodoo Banshee, " "eta Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Ez baduzu zerrendatutako txip-jokoetan oinarritutako txartelik eta ez baduzu " "softwarea glide bidez konpilatzen ez zenuke pakete hau instalaturik eduki " "beharko." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Zerrendatutako txip-jokoetan oinarritutako txartel bat baduzu mesedez bidali " "programa-errore bat txostenean \"lspci -vm\" komandoaren erantzuna erantsiaz." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Aukeratu oraingoz erabili behar den kontrolatzailea eskuz hautatu nahi duzun " "ala ez." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "3D azelerazio kontrolatzaileak:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Mesedez hautatu 3D azeleraziorako erabiliko den kontrolatzailea:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee eta Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "3D azelerazioa erabiltzeko txartela:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Hurrengo 3Dfx txip-jokoetako bat duten txartel bat baino gehiago topatu da: " "Voodoo 2, Voodoo Banshee, eta Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Mesedez hautatu zein txarteletan erabili nahi duzun 3D azelerazioa." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Ez da aurkitu glide3-k onartzen duen 3Dfx txartelarik. Pakete hau hurrengo " "3Dfx txip-jokoetan oinarritutako txartelentzat da: Voodoo Banshee, Voodoo 3, " "Voodoo 4, eta Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Mesedez hautatu 3D azeleraziorako erabiliko den kontrolatzailea:\n" " * h3: Voodoo Banshee eta Voodoo 3;\n" " * h5: Voodoo 4 eta Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Hurrengo 3Dfx txip-jokoetan oinarritutako txartel bat baino gehiago aurkitu " "da: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, eta Voodoo 5." #~ msgid "No 3Dfx card supported by glide2 found! Manually select driver?" #~ msgstr "" #~ "Ez da glide2-k onartzen duen 3Dfx txartelik aurkitu! Eskuz hautatu " #~ "kontrolatzailea?" #~ msgid "ERROR: No 3Dfx card supported by glide2 found!" #~ msgstr "ERROREA: Ez da glide2-k onartzen duen 3Dfx txartelik aurkitu!" #~ msgid "" #~ "Would you like to manually select the driver to use for now? (If not, a " #~ "default sane value for compiling against will be selected.)" #~ msgstr "" #~ "Oraingoz erabiltzeko kontrolatzailea eskuz hautatu nahi al duzu? " #~ "(Ezezkoan konpilatzeko baliagarri den lehenetsitako balioa hautatuko da.)" #~ msgid "Please select a driver." #~ msgstr "Mesedez hautatu kontrolatzaile bat." #~ msgid "Please select the driver you would like to use." #~ msgstr "Mesedez hautatu erabili nahi duzun kontrolatzailea." #~ msgid "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee and Voodoo 3." #~ msgstr "" #~ " cvg - Voodoo 2.\n" #~ " h3 - Voodoo Banshee eta Voodoo 3." #~ msgid "Please select a card." #~ msgstr "Mesedez hautatu txartel bat." #~ msgid "" #~ "We have detected more then one video card based on the following 3Dfx " #~ "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." #~ msgstr "" #~ "Hurrengo 3DFx txip-jokoetan oinarritutako txartel bat baino gehiago " #~ "aurkitu da: Voodoo 2, Voodoo Banshee, eta Voodoo 3." #~ msgid "${e1}" #~ msgstr "${e1}" #~ msgid "${e2}" #~ msgstr "${e2}" #~ msgid "No 3Dfx card supported by glide3 found! Manually select driver?" #~ msgstr "" #~ "Ez da glide3-k onartzen duen 3Dfx txartelik aurkitu! Eskuz hautatu " #~ "kontrolatzailea?" #~ msgid "ERROR: No 3Dfx card supported by glide3 found!" #~ msgstr "ERROREA: Ez da glide3-k onartzen duen 3Dfx txartelik aurkitu!" #~ msgid "" #~ " h3 - Voodoo Banshee and Voodoo 3.\n" #~ " h5 - Voodoo 4 and Voodoo 5." #~ msgstr "" #~ " h3 - Voodoo Banshee eta Voodoo 3.\n" #~ " h5 - Voodoo 4 eta Voodoo 5." debian/po/templates.pot0000644000000000000000000000663412112261460012332 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: glide\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "" #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" debian/po/vi.po0000600000000000000000000001266112112261461010554 0ustar # Vietnamese po-debconf translation of glide # This file is distributed under the same license as the glide package. # # Copyright © 2005, 2009 Free Software Foundation, Inc. # # Clytie Siddall , 2005, 2009. # msgid "" msgstr "" "Project-Id-Version: glide 2002.04.10-19\n" "Report-Msgid-Bugs-To: glide@packages.debian.org\n" "POT-Creation-Date: 2013-02-24 01:47+0100\n" "PO-Revision-Date: 2009-09-24 20:21+0200\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.8\n" #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "Manually select driver for 3Dfx card?" msgstr "Chọn bằng tay trình điều khiển cho bo mạch 3Dfx ?" #. Type: boolean #. Description #: ../libglide2.templates:2001 msgid "" "No 3Dfx card that is supported by glide2 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, and " "Voodoo 3." msgstr "" "Không tìm thấy bo mạch 3Dfx (hiệu ứng ba chiều) nào được glide2. Gói này hỗ " "trợ các bo mạch dựa vào những bộ phiến tinh thể theo đây: Voodoo 2, Voodoo " "Banshee và Voodoo 3." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card in this computer does not use one of these chipsets, " "and you are not compiling programs against glide, this package will not be " "useful." msgstr "" "Nếu bo mạch đồ họa trong máy tính này không sử dụng một của những bộ phiến " "tinh thể này, và bạn không biên dịch chương trình đối với glide, thì gói này " "không có ích." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "If the graphics card is based on one of these chipsets, you should file a " "bug report against this package, including the output from the \"lspci -vm\" " "command." msgstr "" "Nếu bo mạch đồ họa có phải dựa vào một của những bộ phiến tinh thể này, thì " "bạn nên gửi một báo cáo lỗi về gói này, bao gồm kết xuất của câu lệnh « " "lspci -vm »." #. Type: boolean #. Description #: ../libglide2.templates:2001 ../libglide3.templates:2001 msgid "" "Please choose whether you want to manually select the driver to use for now." msgstr "" "Hãy chọn nếu bạn muốn tự chọn trình điều khiển để sử dụng kể từ bây giờ." #. Type: select #. Description #: ../libglide2.templates:3001 ../libglide3.templates:3001 msgid "Driver for 3D acceleration:" msgstr "Trình điều khiển để tăng tốc 3D:" #. Type: select #. Description #: ../libglide2.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * cvg: Voodoo 2;\n" " * h3 : Voodoo Banshee and Voodoo 3." msgstr "" "Hãy chọn trình điều khiển bạn muốn sử dụng để tăng tốc ba chiều :\n" " • cvg\tVoodoo 2\n" " • h3\t\tVoodoo Banshee và Voodoo 3" #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Card to use for 3D acceleration:" msgstr "Bo mạch cần dùng để tăng tốc 3D:" #. Type: select #. Description #: ../libglide2.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, and Voodoo 3." msgstr "" "Phát hiện được nhiều bo mạch kiểu 3Dfx dựa vào một của những bộ phiến tinh " "thể 3Dfx theo đây: Voodoo 2, Voodoo Banshee và Voodoo 3." #. Type: select #. Description #: ../libglide2.templates:4001 ../libglide3.templates:4001 msgid "Please select the card you would like to use for 3D acceleration." msgstr "Hãy chọn bo mạch bạn muốn sử dụng để tăng tốc ba chiều." #. Type: error #. Description #: ../libglide2.templates:5001 ../libglide3.templates:5001 msgid "${target} exists but is not a symlink!" msgstr "" #. Type: boolean #. Description #: ../libglide3.templates:2001 msgid "" "No 3Dfx card that is supported by glide3 was found. This package supports " "cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo " "4, and Voodoo 5." msgstr "" "Không tìm thấy bo mạch 3Dfx nào được glide3 hỗ trợ. Gói này hỗ trợ các bo " "mạch dựa vào những bộ phiến tinh thể 3Dfx theo đây: Voodoo Banshee, Voodoo " "3, Voodoo 4 và Voodoo 5." #. Type: select #. Description #: ../libglide3.templates:3001 msgid "" "Please select the driver you would like to use for 3D acceleration:\n" " * h3: Voodoo Banshee and Voodoo 3;\n" " * h5: Voodoo 4 and Voodoo 5." msgstr "" "Hãy chọn trình điều khiển bạn muốn sử dụng để tăng tốc ba chiều :\n" " • h3\t\tVoodoo Banshee và Voodoo 3\n" " • h5\t\tVoodoo 4 và Voodoo 5" #. Type: select #. Description #: ../libglide3.templates:4001 msgid "" "Multiple 3Dfx-based cards were detected based on one of the following 3Dfx " "chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5." msgstr "" "Phát hiện được nhiều bo mạch kiểu 3Dfx dựa vào một của những bộ phiến tinh " "thể 3Dfx theo đây: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4 và Voodoo 5." debian/libglide3.lintian-overrides0000644000000000000000000000025111365425505014410 0ustar # There's several backends, one of which gets symlinked at install time. libglide3: postrm-has-useless-call-to-ldconfig libglide3: postinst-has-useless-call-to-ldconfig debian/libglide3.links0000644000000000000000000000030011201355434012055 0ustar usr/lib/libglide3.so.3 usr/lib/libglide3.so usr/lib/libglide3.so.3 usr/lib/libglide3x.so usr/lib/libglide3.so.3 usr/lib/libglide.so.3 usr/lib/libglide3.so.3 usr/lib/xorg/modules/libglide3x.so debian/source/0000755000000000000000000000000011275717671010504 5ustar debian/source/format0000644000000000000000000000001411275717671011712 0ustar 3.0 (quilt) debian/libglide3.templates0000644000000000000000000000323112112257543012745 0ustar # These templates have been reviewed by the debian-l10n-english # team # # If modifications/additions/rewording are needed, please ask # debian-l10n-english@lists.debian.org for advice. # # Even minor modifications require translation updates and such # changes should be coordinated with translators and reviewers. Template: libglide3/no_card Type: boolean Default: false _Description: Manually select driver for 3Dfx card? No 3Dfx card that is supported by glide3 was found. This package supports cards based on the following 3Dfx chipsets: Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5. . If the graphics card in this computer does not use one of these chipsets, and you are not compiling programs against glide, this package will not be useful. . If the graphics card is based on one of these chipsets, you should file a bug report against this package, including the output from the "lspci -vm" command. . Please choose whether you want to manually select the driver to use for now. Template: libglide3/driver Type: select Choices: h3, h5 Default: ${default} _Description: Driver for 3D acceleration: Please select the driver you would like to use for 3D acceleration: * h3: Voodoo Banshee and Voodoo 3; * h5: Voodoo 4 and Voodoo 5. Template: libglide3/card Type: select Choices: ${choices} _Description: Card to use for 3D acceleration: Multiple 3Dfx-based cards were detected based on one of the following 3Dfx chipsets: Voodoo 2, Voodoo Banshee, Voodoo 3, Voodoo 4, and Voodoo 5. . Please select the card you would like to use for 3D acceleration. Template: libglide3/target_not_symlink Type: error _Description: ${target} exists but is not a symlink! debian/compat0000644000000000000000000000000212146164671010374 0ustar 9 debian/libglide2-dev.dirs0000644000000000000000000000003311201355434012454 0ustar usr/include/glide usr/lib/ debian/rules0000755000000000000000000000737412146154450010263 0ustar #!/usr/bin/make -f #export DH_VERBOSE = 1 INSTALL=install INSTALL_LIB=$(INSTALL) -m 644 DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -Wall LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) ifeq ($(DEB_HOST_ARCH),alpha) CFLAGS += -mcpu=ev5 -fomit-frame-pointer \ -fexpensive-optimizations -mieee -DBIG_OPT else ifeq ($(DEB_HOST_ARCH),i386) CFLAGS += -O3 -march=i486 -fomit-frame-pointer -funroll-loops \ -fexpensive-optimizations -ffast-math -DBIG_OPT else CFLAGS += -fomit-frame-pointer -fexpensive-optimizations -ffast-math \ -DBIG_OPT endif endif endif export FX_GLIDE_PIC = 1 glide2_build := $(MAKE) -C $(CURDIR)/glide2x -f makefile.linux \ VCDEFS="$(CPPFLAGS)" CNODEBUG="$(CFLAGS)" LNODEBUG="$(LDFLAGS)" define glide3_build ( \ cd $(CURDIR)/glide3x; \ mkdir $(CURDIR)/debian/tmp.$(1); \ ./chores.3dfx --generate "--configure=--enable-fx-glide-hw=$(1) \ --prefix=/usr" --build-dir=build.$(1); \ cd build.$(1); \ ./build.3dfx --no-x DESTDIR="$(CURDIR)/debian/tmp.$(1)/" \ CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install; \ ) endef pkg_dir := $(CURDIR)/debian libglide2_dir := $(pkg_dir)/libglide2 libglide3_dir := $(pkg_dir)/libglide3 debian/po/templates.pot: debian/libglide2.templates debian/libglide3.templates @debconf-updatepo build-indep: build-arch: build-arch.stamp build-arch.stamp: debian/po/templates.pot ifeq ($(DEB_HOST_ARCH),i386) ln -fs ../swlibs glide2x/ $(glide2_build) FX_GLIDE_HW=cvg $(glide2_build) FX_GLIDE_HW=h3 endif ln -fs ../swlibs glide3x/ $(call glide3_build,h3) $(call glide3_build,h5) touch $@ build: build-indep build-arch clean: ifeq ($(DEB_HOST_ARCH),i386) ln -fs ../swlibs glide2x/ $(glide2_build) FX_GLIDE_HW=cvg clobber $(glide2_build) FX_GLIDE_HW=h3 clobber rm -f glide2x/swlibs endif ln -fs ../swlibs glide3x/ cd $(CURDIR)/glide3x; ./chores.3dfx --clean rm -f glide3x/swlibs rm -rf $(CURDIR)/glide3x/build.h3 $(CURDIR)/debian/tmp.h3 rm -rf $(CURDIR)/glide3x/build.h5 $(CURDIR)/debian/tmp.h5 rm -f *.stamp dh_clean binary: binary-indep binary-arch binary-indep: # Nothing to do. binary-arch: build-arch dh_testdir dh_testroot dh_prep -s dh_installdirs -s # libglide2 ifeq ($(DEB_HOST_ARCH),i386) $(INSTALL_LIB) $(CURDIR)/glide2x/cvg/lib/libglide.so.2.53 \ $(libglide2_dir)/usr/lib/glide2/libglide_cvg.so.2.53 $(INSTALL_LIB) $(CURDIR)/glide2x/h3/lib/libglide.so.2.60 \ $(libglide2_dir)/usr/lib/glide2/libglide_h3.so.2.60 $(INSTALL_LIB) $(CURDIR)/glide2x/swlibs/lib/libtexus.so.1.1 \ $(libglide2_dir)/usr/lib/ endif # libglide3 $(INSTALL_LIB) $(CURDIR)/debian/tmp.h3/usr/lib/libglide3.so.3.10.0 \ $(libglide3_dir)/usr/lib/glide3/libglide3_h3.so.3.10.0 $(INSTALL_LIB) $(CURDIR)/debian/tmp.h5/usr/lib/libglide3.so.3.10.0 \ $(libglide3_dir)/usr/lib/glide3/libglide3_h5.so.3.10.0 dh_install -s dh_installdocs -s dh_installchangelogs -s dh_installdebconf -s dh_lintian -s dh_link -s dh_strip -s dh_compress -s dh_fixperms -s dh_makeshlibs -s dh_installdeb -s dh_shlibdeps -s -Nglide2-bin -Nglide3-bin # XXX: We use $(CURDIR) instead of $(libglide2_dir) because we do not # ship in the .deb the symlink to the hardware specific library. # XXX: dh_shlibdeps forces the -l argument to be an absolute path # breaking the build, so pass LD_LIBRARY_PATH directly. LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(CURDIR)/glide2x/h3/lib \ dh_shlibdeps -pglide2-bin -Llibglide2 #dh_shlibdeps -pglide3-bin -Llibglide3 -l$(libglide3_dir)/usr/lib/ dh_gencontrol -s dh_md5sums -s dh_builddeb -s .PHONY: build-indep build-arch build clean binary binary-arch binary-indep debian/libglide2-dev.install0000644000000000000000000000055711201355434013174 0ustar glide2x/h3/include/glide.h usr/include/glide/ glide2x/h3/include/glidesys.h usr/include/glide/ glide2x/h3/include/glideutl.h usr/include/glide/ glide2x/h3/include/gump.h usr/include/glide/ glide2x/h3/include/sst1vid.h usr/include/glide/ swlibs/include/3dfx.h usr/include/glide/ swlibs/include/linutil.h usr/include/glide/ swlibs/include/texus.h usr/include/glide/ debian/libglide3-dev.dirs0000644000000000000000000000002311201355434012454 0ustar usr/include/glide3 debian/libglide2-dev.links0000644000000000000000000000005211201355434012634 0ustar usr/lib/libtexus.so.1 usr/lib/libtexus.so debian/TODO0000644000000000000000000000074511201355434007662 0ustar TODO ==== - Exterminate all warnings. - Create an automake file for glide3 tests. - Build a package for glide3 tests. - Convert glide2 and swlibs old build system to auto*. - Clean build environment. - Rename .s file to .S as they need to be preprocessed. And change the build rules to use libtool only. [done upstream] - Remove redundant files, such as the dri repeated versions. - Remove not used old files. [done upstream on glide3] - Do not depend on user variables. debian/libglide3.config0000644000000000000000000000357511201355434012223 0ustar #!/usr/bin/perl -w # Copyright (C) 2000 Zephaniah E. Hull. # This code is under the GNU GPL, see /usr/share/common-licenses/GPL. use strict; use Debconf::Client::ConfModule ':all'; main(); my (%types); BEGIN { %types = ( "Voodoo Banshee" => "h3", "Voodoo Banshee [Velocity 100]" => "h3", "Voodoo 3" => "h3", "Voodoo 4" => "h5", "Voodoo 4 / Voodoo 5" => "h5", "Voodoo 5" => "h5", ); } sub main { my (@cards, $driver); version('2.0'); title('glide3 configuration'); @cards = get_devices(); if ($#cards == -1) { my ($choice); input('low', 'libglide3/no_card'); go(); $choice = get('libglide3/no_card'); if ($choice eq "true") { input('low', 'libglide3/driver'); go(); } else { set('libglide3/driver', 'h5'); go(); } } elsif ($#cards == 0) { set('libglide3/driver', ${$cards[0]}{'Driver'}); go(); } else { my (%card, $card, $choices, %choices, $choice, $tmp); for $card (@cards) { %card = %$card; if (defined($card{'SVendor'})) { $tmp = sprintf("%s %s (%s)", $card{'SVendor'}, $card{'SDevice'}, $card{'Device'}); } else { $tmp = sprintf("3Dfx %s", $card{'Device'}); } $tmp =~ s/,//g; $choices{$tmp} = $card{'Driver'}; } $choices = join(', ', keys(%choices)); subst('libglide3/card', 'choices', $choices); input('high', 'libglide3/card'); go(); $choice = get('libglide3/card'); $tmp = $choices{$choice}; set('libglide3/driver', $tmp); } # stop(); } sub get_devices { my ($raw, $dev, $line, $tmp, @cards); $raw = `lspci -vm`; foreach $dev (split(/\n\n/, $raw)) { my (%info); foreach $line (split(/\n/, $dev)) { if($line =~ /^(Class|Vendor|Device|SVendor|SDevice|Rev):\s+(.*)$/) { $info{$1} = $2; } } if (defined($types{$info{'Device'}})) { $info{"Driver"} = $types{$info{"Device"}}; push(@cards, \%info); } } return @cards; } debian/changelog0000644000000000000000000006210212146164755011054 0ustar glide (2002.04.10ds1-9) unstable; urgency=low * Remove package creation and maintainers history from debian/copyright. * Ignore error from db_unregister in case the template does not exist. (Closes: #708341) * Remove useless debian/BUGS file, these are tracked in the BTS. * Pass CPPFLAGS, CFLAGS and LDFLAGS to upstream build system. * Fix format string errors. * Use dpkg-buildflags to set CPPFLAGS, CFLAGS and LDFLAGS. * Use debhelper compatibility level 9. * Debconf template translations: - Update Danish (Joe Dalton). (Closes: #708896) - Update Galician (Jorge Barreiro). (Closes: #708875) - Update Portuguese (Américo Monteiro). (Closes: #708736) - Update Russian (Sergey Alyoshin). (Closes: #708440) -- Guillem Jover Sun, 19 May 2013 16:50:38 +0200 glide (2002.04.10ds1-8) unstable; urgency=low * Mark stack on assembler files as not executable. * Fix typos in source code spotted by lintian. * Do not include headers inside fxTime() function. Fixes build failure with gcc-4.8. (Closes: #701287) * Now using Standards-Version 3.9.4 (no changes needed). * Use correct package name in debconf db_subst call in libglide2 postinst. * Use translatable Descriptions in debconf templates. -- Guillem Jover Tue, 14 May 2013 08:00:34 +0200 glide (2002.04.10ds1-7) unstable; urgency=low * Use “-fdollars-in-identifiers -x assembler-with-cpp” instead of “-$” to preprocess assembler code through gcc, the later just stopped working recently. -- Guillem Jover Mon, 01 Aug 2011 05:13:22 +0200 glide (2002.04.10ds1-6) unstable; urgency=low * Add build-indep and build-arch targets (rename build to build-arch). * Update debconf template translations: - Danish. Thanks to Joe Dalton . (Closes: #590001) - Dutch. Thanks to Jeroen Schot . (Closes: #629391) * Now using Standards-Version 3.9.2 (no changes needed). -- Guillem Jover Sat, 30 Jul 2011 15:23:50 +0200 glide (2002.04.10ds1-5) unstable; urgency=low * Debconf template translations: - Update Vietnamese. (Closes: #548039) Thanks to Clytie Siddall . * Switch to source format “3.0 (quilt)”: - Remove quilt from Build-Depends. - Remove quilt.make include from debian/rules. - Remove patch and unpatch target calls from debian/rules. - Remove now unneeded debian/README.source. * Remove duplicated source Section field from libglide2 and libglide3 binary package stanzas. * Add md5sum control files to binary packages. * Now using Standards-Version 3.8.4 (no changes needed). * Switch libglide2-dev and libglide3-dev dependencies on libglide2 and libglide3 (respectively) to be strictly versioned. This was not done as historically the -dev packages were arch:all. * Add lintian overrides for “useless ldconfig calls”, as the symlink under /usr/lib to the actual backend only gets created at install time. -- Guillem Jover Tue, 27 Apr 2010 02:11:41 +0200 glide (2002.04.10ds1-4) unstable; urgency=low * Debconf template translations: - Update Basque. (Closes: #530596) Thanks to Piarres Beobide . - Update Spanish. (Closes: #532290) Thanks to Francisco Javier Cuadrado . - Update Swedish. (Closes: #528573) Thanks to Martin Bagge . - Update Finnish. (Closes: #533223) Thanks to Esko Arajärvi . * Unify debconf template translation headers. * Now using Standards-Version 3.8.3 (no changes needed). -- Guillem Jover Thu, 10 Sep 2009 15:09:49 +0200 glide (2002.04.10ds1-3) unstable; urgency=low * Use $(filter ...) instead of $(findstring ...) to extract space separated options from DEB_BUILD_OPTIONS in debian/rules. * Debconf templates and package descriptions reviewed by the debian-l10n-english team as part of the Smith review project. Thanks to Christian Perrier for the coordination. (Closes: #524384) * Debconf template translations: - Update Czech. (Closes: #527376) Thanks to Michal Šimůnek . - Update French. (Closes: #527212) Thanks to Steve Petruzzello . - Update Galician. (Closes: #527325) Thanks to Marce Villarino . - Update German. (Closes: #527487) Thanks to Erik Schanze . - Update Italian. (Closes: #526377) Thanks to Luca Monducci . - Update Japanese. (Closes: #525098) Thanks to Hideki Yamane . - Update Portuguese. (Closes: #527324) Thanks to Américo Monteiro . - Update Russian. (Closes: #526755) Thanks to Sergey Alyoshin . * Update debconf .po files from the .pot file. -- Guillem Jover Sun, 10 May 2009 06:45:41 +0200 glide (2002.04.10ds1-2) unstable; urgency=low * Do not try to install glide2 libraries on non-i386. -- Guillem Jover Tue, 24 Feb 2009 13:45:16 +0200 glide (2002.04.10ds1-1) unstable; urgency=low * Repackage upstream tarball to stop using tar-in-tar. * Demote glide2-bin from Recommends to Suggests in libglide2. (Closes: #504647) * Switch to debhelper compatibility level 7. * Use dh_prep instead of “dh_clean -k”. * Fix typo (llibglide → libglide) in libglide2-dev Conflicts field. * Refactor glide3 build code into a make define and use it for h3 and h5. * Switch from dbs to quilt: - Remove debian/vars. - Remove dbs and added quilt to Build-Depends. - Add new debian/patches/series file. * Update debian/rules for quilt: - Use CURDIR instead of SRC_DIR. - Include quilt.make. - Remove now unused debian/patch.mk. - Merge sys-clean into clean target. - Merge build.glide2.cvg and build.glide2.h3 into build.glide2. - Merge build.glide3.h3 and build.glide3.h5 into build.glide3. - Move swlibs symlinking into each build and clean target. - On clean patch and unpatch before the actual cleaning. - Remove now unused targets unpack and make-patch. * Refresh all patches with -pab. * Remove unused install.headers.glide2 target from debian/rules. * Merge all binary- targets into binary-arch. - Add “-s” to debhelper commands. - Add “-Nglide2-bin -Nglide3-bin” to the general dh_shlibdeps call. * Use “#else” instead of “#elif”, fix a FTBFS with gcc-4.4. (Closes: #504838) Based on a patch by Martin Michlmayr . * Merge build.glide2 and build.glide3 into the build target. * Only clean glide2x directory on the same architectures where it's built. * Move file installation for glide2-bin, glide3-bin, libglide2-dev and libglide3-dev from debian/rules to .install files. * Move dh_strip after dh_link. * Install textures for test programs in glide2-bin. * Install additional test programs in glide2-bin. * Remove obsolete Conflicts, Provides and Replaces from binary packages. * Add missing ${misc:Depends} substvar to Depends fields. * Add a debian/README.source file. * Now using Standards-Version 3.8.0. -- Guillem Jover Tue, 24 Feb 2009 06:48:12 +0200 glide (2002.04.10-18) unstable; urgency=low * Pass LD_LIBRARY_PATH directly to dh_shlibdeps, because it forces the -l argument to be an absolute path breaking the build. (Closes: #501426) -- Guillem Jover Wed, 08 Oct 2008 05:03:49 +0300 glide (2002.04.10-17) unstable; urgency=low * Update packaging Vcs fields to the new URL. * Remove packaging svn information from debian/copyright. * Refer to LGPL-2 from common-licenses instead of just LGPL. * Debconf template translations: - Add Basque. (Closes: #494804) Thanks to Piarres Beobide . - Add Finnish. (Closes: #495253) Thanks to Esko Arajärvi . - Add Italian. (Closes: #494562) Thanks to Luca Monducci . - Add Japanese. (Closes: #495161) Thanks to Hideki Yamane . - Add Russian. (Closes: #494465) Thanks to Yuri Kozlov . - Add Swedish. (Closes: #484006) Thanks to Martin Bagge . * Update debconf .po files. -- Guillem Jover Tue, 07 Oct 2008 00:49:42 +0300 glide (2002.04.10-16) unstable; urgency=low * Pass the proper -l argument to dh_shlibdeps for glide2-bin, from the build dir instead of the installed dir, as there's no symlink pointing to the hardware specific library there. (Closes: #456875) Based on a patch by Anibal Avelar . -- Guillem Jover Fri, 25 Jan 2008 00:11:58 +0200 glide (2002.04.10-15) unstable; urgency=low * Debconf template translations: - Added Galician. (Closes: #412657) Thanks to Jacobo Tarrio . * Add -L and -l arguments to dh_shlibdeps for glide2-bin and glide3-bin package stanzas. (Closes: #453790) * Switch Build-Depends from automake1.9 to automake. * Do not include empty directories in libglide3-dev, glide3-bin and glide2-bin packages. * Now using Standards-Version 3.7.3 (no changes needed). * Add Homepage field. * Add Vcs-Browser and Vcs-Svn fields. -- Guillem Jover Tue, 11 Dec 2007 01:44:28 +0200 glide (2002.04.10-14) unstable; urgency=high * The "anything for the percentages" release. * Disable assembler optimized triangle setup functions for glide2, as they are not PIC clean. (Closes: #376812) - debian/patches/glide2x-clobber-pic-reg: Removed file. - debian/patches/glide2x-c-trisetup: New file. * Link against libm, so that pow is a resolvable symbol. - debian/patches/glide2x-link-libm: New file. - debian/patches/glide3x-link-libm: Likewise. * Do not consider dollar signs as part of the symbol names in assembler code, thus getting rid of non-existing unresolvable insterted symbols. (Closes: #329920, #326099) - debian/patches/glide3x-link-unresolved: New file. * Enable C based cpu detection code on !i386 instead of only on alpha. This fixes a missing unresolved symbol on amd64 and ia64. (Closes: #307058) - debian/patches/z07-cpudetect-no-ia32: New file. * Debconf template translations: - Updated Dutch. (Closes: #375673, #377260, #388113) Thanks to Kurt De Bree . -- Guillem Jover Thu, 8 Mar 2007 06:05:36 +0200 glide (2002.04.10-13) unstable; urgency=low * Build all binary dependent packages under binary-arch. (Closes: #366062) * Use CURDIR instead of PWD in debian/rules. * Debconf template translations: - Added Portuguese. (Closes: #362838) Thanks to André Costa . -- Guillem Jover Fri, 5 May 2006 04:55:13 +0300 glide (2002.04.10-12) unstable; urgency=low * Update FSF's address in debian/copyright. * Reindent 3dfx license in debian/copyright. * Debconf template translations: - Updated Danish by Claus Hindsgaul. (Closes: #321920) - Updated Vietnamese. (Closes: #322285) Thanks to Clytie Siddall . - Updated Czech. (Closes: #322426) Thanks to Miroslav Kure . - Updated German. (Closes: #345847) Thanks to Erik Schanze . * Wrap lines in debian/control fields. * Use new X.org 7.0 paths for modules. (Closes: #362116) * Switched to debhelper compatibility level 5. * Change architectures for development packages from all to match their library packages. * Change Build-Depends from automake1.7 to automake1.9. -- Guillem Jover Thu, 13 Apr 2006 13:14:03 +0300 glide (2002.04.10-11) unstable; urgency=low * Use -march only on i386, revert to -mcpu for alpha. * Change insane optimization level for i386 from -O6 to -O3. * Add new xorg-x11 Build-Depends on libxxf86dga-dev and libxxf86vm-dev. -- Guillem Jover Sat, 6 Aug 2005 19:53:28 +0300 glide (2002.04.10-10) unstable; urgency=low * Debconf template translations: - Added Vietnamese. (Closes: #311796) Thanks to Clytie Siddall . - Added Czech. (Closes: #310880) Thanks to Miroslav Kure . * Fix some typos in the templates. (Closes: #311797) Thanks to Clytie Siddall . * Unfuzzy correct translations for Catalan, Spanish, French and Brazilian Portuguese. * Use -march instead of -mcpu. * Use misc:Depends instead of an explicit dependency to debconf (>= 0.5) to get the alternative debconf-2.0 as well. * Do not mark PIC register %ebx as clobbered in asm statement, as it is being restored from the stack with eip contents before jumping to the function. (Closes: #320588) - debian/patches/glide2x-clobber-pic-reg: New file. * Do not declare functions inside other functions. Protect assembler macro redefinitions with C preprocessor macros. - debian/patches/z06-gcc401-fix: New file. * Do not change xterm title on build. (Closes: #297276) * Fix Subversion repository URL. * Now using Standards-Version 3.6.2 (no changes needed). -- Guillem Jover Fri, 5 Aug 2005 06:25:28 +0300 glide (2002.04.10-9) unstable; urgency=low * Fix build failure when using libglide3.so and it points to libglide3_h5.so. - debian/patches/glide3x-build-with-voodoo5. (Closes: #270442) Thanks to Hans de Goede . * Fix build failure with gcc 3.4. And as a side effect fix the build for amd64. - debian/patches/z04-gcc34-port. (Closes: #272474) Thanks to Kaare Hviid . * Fix build failure with gcc 4.0. - debian/patches/z05-gcc4-fix. (Closes: #286845) Thanks to Andreas Jochens . -- Guillem Jover Thu, 23 Dec 2004 23:34:58 +0100 glide (2002.04.10-8) unstable; urgency=low * Debconf template translations: - Fix some Catalan slang. Thanks to Jordi Mallach. * Revert moving libglide3.so symlink to package libglide3-dev. Because XFree86 requires libglide3.so to load the library. Make libglide3 Replaces libglide3-dev to be able to overwrite the symlink. (Closes: #256940) -- Guillem Jover Wed, 7 Jul 2004 16:01:35 +0200 glide (2002.04.10-7) unstable; urgency=low * Added amd64 support. - debian/patches/z03-amd64-port. (Closes: #248156) * Enabled amd64 and ia64 on debian/control. * Allow building binary independent packages on any arch. * Build-Conflict against automake1.4, as it lacks AM_PROG_AS. * Added the location of the Subversion repo used for the packages. * Added -O2 to the fallback arch CFLAGS. -- Guillem Jover Thu, 17 Jun 2004 05:16:09 +0200 glide (2002.04.10-6) unstable; urgency=low * Debconf template translations: - Added Danish by Claus Hindsgaul. - Added Dutch. (Closes: #253452) Thanks to Luk Claes . - Added German. (Closes: #253178) Thanks to Erik Schanze . - Use typographic quotes in Catalan and Spanish translations. * debian/control: - Place Build-Depends on one line only, otherwise some tools cannot cope. - Use new xfree86 Build-Depends. - Lower-case first short description letter. * Move libglide3.so symlink to package libglide3-dev. (Closes: #242063) * Added a BUGS file to keep track of things. * debian/patches: - glide3x-libtool-patch: Use libtoolize instead, to be in sync and not break with libtool.sh and libtool.m4 mismatch. (Closes: #254135) - glide3x-build-fix: Quote sed expressions, and balance a missing one. * debian/rules: Cleaned a bit. Marked targets as PHONY. Renamed setup target to unpack, and make_patch to make-patch. * debian/copyright: Cleaned and use properly "License:" instead of "Copyright:". -- Guillem Jover Mon, 14 Jun 2004 22:56:07 +0200 glide (2002.04.10-5) unstable; urgency=low * debian/control: - Tighten libtool Build-Depends. (Closes: #215512) - Removed libglide3 Suggests for device3dfx, as it used DRI instead. * debian/patches/swlibs-004-ioctl: Adapt to the new libc's ioctl.h. * debian/patches/glide3x-autoconf-update: Updated to fix missing symbols in glide3 H5 library, due to deprecated usage of compiler options. Thanks to Nathan Hand . * Debconf template translations: - Updated Catalan. Some verbal form fixes. -- Guillem Jover Fri, 5 Dec 2003 06:03:10 +0100 glide (2002.04.10-4) unstable; urgency=low * debian/control: - Now -dev packages are correctly architecture all. - Remove legacy Conflicts with old glide packages. * debian/rules: - Build unconditionally all indep packages, regardless of architecture. * Updated TODO list. -- Guillem Jover Sun, 14 Sep 2003 18:49:37 +0200 glide (2002.04.10-3) unstable; urgency=low * The Great Unification Release: - Added 64bit support, deprecating glide3-alpha. Patches: debian/patches/z01-64bit-support debian/patches/z02-64bit-support * Switch from inbound dbs to the Debian dbs package. Depend on dbs >= 0.25 as previous versions had a bug with sys-build.mk. * debian/rules: Now only one rule unpacks and patches the source. It was causing problems with 64 bit ports building only glide2. * Updated the TODO list. * Debconf template translations: - Added Brazilian Portuguese. (Closes: #198256) Thanks to Andre Luis Lopes . - Added French. (Closes: #199687) Thanks to Christian Perrier . * Updated to latest libtool (1.5.0a) as well as config.guess and config.sub. (Closes: #208851) * Removed debian/old.patches directory. * Split debian/patches/glide-fix-warnings into: debian/patches/glide2x-fix-warnings debian/patches/glide3x-fix-warnings debian/patches/swlibs-fix-warnings * Now using Standards-Version 3.6.1. -- Guillem Jover Fri, 5 Sep 2003 20:26:40 +0200 glide (2002.04.10-2) unstable; urgency=low * Fixed a call to the old perl debconf module from libglide3.config, missed in the transition. (Closes: #197204, #197215) * Cleaned the .config scripts. * Debconf template translations: - Added Catalan. - Added Spanish. -- Guillem Jover Fri, 13 Jun 2003 02:35:34 +0200 glide (2002.04.10-1) unstable; urgency=low * New Maintainer. (Closes: #189820) * New Upstream glide3x Source. - Disable FX_GLIDE_SWAPINTERVAL by default. (Closes: #118851) * Reverted packaging to non-native. * Removed emacs cruft from changelog. * Removed unused debian/sources file. * Removed dangling vim swap file. * debian/control: - Moved packages from section devel to libdevel. - Moved device3dfx-source from Recommends to Suggests. (Closes: #110954) - Improved short package description. - Removed legacy dummy package glide2-base. - Removed mention to Voodoo Banshee and Voodoo 3 from libglide2 description. (Closes: #166350, #159373, #140355) - Removed build dependency on csh. - Corrected dependencies on debconf. * Removed empty debian/libglide[23]x.config files. * Moved .conf files to proper .config files. Don't execute them from postinst. Which fixes configure hanging sometimes on first install. (Closes: #143550, #143551, #175006) * Recognise "Voodoo 4 / Voodoo 5" properly. (Closes: #186133) * Use new debconf perl module on .config files. * Delegated ldconfig calls to debhelper autogenerated snippets. * debian/rules: - Cleaned. - Use --build-dir instead of --build when calling chores.3dfx as it was building the source, and when calling build.3dfx and passing build variables they had no effect. - Removed deprecated calls to dh_uncocumented. - Moved call to dh_installdeb after dh_makeshlibs, otherwise the generated shell snippets had no effect. - Install pass cvg test binary from glide2-bin to /usr/lib/glide2/bin/. * Switched to debhelper compatibility level 4. * Switched to po-debconf (build depend on debhelper >= 4.1.16). * Now using Standards-Version 3.5.10. * debian/patches/swlibs-nomore-csh: Script ostype converted to bash. * debian/patches/swlibs-001-mcpu-flag: Fixed gcc warnings on -m486 flag. * debian/patches/swlibs-002-automake: Allow user to supply build variables. * debian/patches/swlibs-003-libm: When building with noopt libm is required. * debian/patches/glide-fix-warnings: Fixed misc warnings. * debian/patches/glide2x-pregasp: Fixed missing gasp with its preprocessed output. Thanks to Daniel Schepler . (Closes: #143848, #165307) * debian/patches/glide2x-use-3dfx.mak: Include the newer 3dfx.mak instead of 3dfx.linux.mak. * debian/patches/glide2x-preprocessor: Fixed preprocessor invalid token errors. * debian/patches/glide3x-preprocessor: Likewise. * debian/patches/glide3x-autoconf-update: - Updated glide3x configure.in to autoconf 2.53 and automake 1.7. - Run automake with --add-missing. (Closes: #116341) - Give build.3dfx exec permissions. - Use $(CPP) instead of /lib/cpp. - Use proper shared object for gthread.c. - Include current directory for asm targets. * debian/patches/glide3x-comments-warnings: Fixed comment nesting warnings. * debian/patches/glide3x-build-multiargs: Fixed giving build.3dfx multiple arguments, thus allowing to pass variable assignments. * debian/patches/glide3x-debug-varargs: Fixed so much warnings generated by debug macros that caused the compilation to fail. -- Guillem Jover Thu, 12 Jun 2003 07:15:59 +0200 glide (2001.01.26-1.1) unstable; urgency=low * NMU with permission of Zephaniah E. Hull . * Corrected the build dependencies. (closes: #88373) * Updated libtool in glide3x (to get the package building). -- Adrian Bunk Sun, 17 Jun 2001 23:20:42 +0200 glide (2001.01.26-1) unstable; urgency=high * Updated source. * Completely killed sst1 support, it has been broken too long. (closes: #79204, #74510) -- Zephaniah E. Hull Fri, 26 Jan 2001 07:16:01 -0500 glide (2000.11.02.06-1) unstable; urgency=low * Some rules cleanup. * sst1 works again! (closes: #74510, #74681) * Politely handle the case where someone might be compiling against glide, and thus will have the glide packages installed without having a 3Dfx card in the system. (closes: #77381) * Noted that I seem to have fixed bugs in the past and not closed the reports. (closes: #70612, #70857) -- Zephaniah E. Hull Mon, 27 Nov 2000 06:49:32 -0500 glide (2000.11.02.06) unstable; urgency=low * And roughly five and a half hours later. * Updated the glide3x source, specificly fixing a bashism in chores.3dfx, which I just commited to upstream CVS. * Fixed a bashism in debian/scripts/vars.build. * Thanks to Timshel Knoll for both patches. -- Zephaniah E. Hull Fri, 3 Nov 2000 06:30:56 -0500 glide (2000.11.02) unstable; urgency=low * The merge! We now have ONE source package! * Still trying to figure out how not to loose the glide3 changelog. -- Zephaniah E. Hull Fri, 3 Nov 2000 01:06:51 -0500 glide2 (2000.08.08.1) unstable; urgency=low * Now against X4. * Hopefully the next upload will have glide2 and glide3 merged source package wise. * No upstream source changes, mostly just a recompile, thus the version. -- Zephaniah E. Hull Thu, 2 Nov 2000 04:50:02 -0500 glide2 (2000.08.08) unstable; urgency=low * New packaging setup! Now as a debian native package. * Many of my patches are now in the glide2 CVS tree. * Please note that sst1 /is/ broken at this time. * Separate tarballs for swlibs and glide2, yes, there is a reason. -- Zephaniah E. Hull Sun, 8 Oct 2000 06:13:41 -0400 glide2 (2.cvs.20000712-4) unstable; urgency=low * Killed the libglide.so symlink, per request. * Really truely fixed the debconf issues, joeyh fixed a bug in debconf so that things did not freeze solid in my perfectly valid case. -- Zephaniah E. Hull Wed, 20 Sep 2000 21:48:08 -0400 glide2 (2.cvs.20000712-4) unstable; urgency=low * More debconf fixes. (closes: #70612, #70857) * Cleaned up some patches. * Some depend fixes. -- Zephaniah E. Hull Sat, 16 Sep 2000 07:21:21 -0400 glide2 (2.cvs.20000712-3) unstable; urgency=low * Little fixes with debconf stuff. -- Zephaniah E. Hull Thu, 24 Aug 2000 05:23:08 -0400 glide2 (2.cvs.20000712-2) unstable; urgency=low * /All/ packages need to conflict with the old packages. * Default to the V3 lib if no voodoo cards exist. -- Zephaniah E. Hull Thu, 24 Aug 2000 04:11:43 -0400 glide2 (2.cvs.20000712-1) unstable; urgency=low * Completely repackaged all of glide2 from cvs. -- Zephaniah E. Hull Tue, 8 Aug 2000 04:12:51 -0400 debian/copyright0000644000000000000000000003211612144757762011143 0ustar It was downloaded from the glide CVS branch glide-devel-branch at sourceforge: Upstream Author: 3dfx Interactive, Inc License: All Debian specific code is licensed under the LGPL except where otherwise stated. This package is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA On Debian systems, the complete text of the GNU Lesser General Public License can be found in '/usr/share/common-licenses/LGPL-2'. All remaining code is under the license below, except where otherwise specified: 3DFX GLIDE Source Code General Public License 1. PREAMBLE This license is for software that provides a 3D graphics application program interface (API).The license is intended to offer terms similar to some standard General Public Licenses designed to foster open standards and unrestricted accessibility to source code. Some of these licenses require that, as a condition of the license of the software, any derivative works (that is, new software which is a work containing the original program or a portion of it) must be available for general use, without restriction other than for a minor transfer fee, and that the source code for such derivative works must likewise be made available. The only restriction is that such derivative works must be subject to the same General Public License terms as the original work. This 3dfx GLIDE Source Code General Public License differs from the standard licenses of this type in that it does not require the entire derivative work to be made available under the terms of this license nor is the recipient required to make available the source code for the entire derivative work. Rather, the license is limited to only the identifiable portion of the derivative work that is derived from the licensed software. The precise terms and conditions for copying, distribution and modification follow. 2. DEFINITIONS 2.1 This License applies to any program (or other "work") which contains a notice placed by the copyright holder saying it may be distributed under the terms of this 3dfx GLIDE Source Code General Public License. 2.2 The term "Program" as used in this Agreement refers to 3DFX's GLIDE source code and object code and any Derivative Work. 2.3 "Derivative Work" means, for the purpose of the License, that portion of any work that contains the Program or the identifiable portion of a work that is derived from the Program, either verbatim or with modifications and/or translated into another language, and that performs 3D graphics API operations. It does not include any other portions of a work. 2.4 "Modifications of the Program" means any work, which includes a Derivative Work, and includes the whole of such work. 2.5 "License" means this 3dfx GLIDE Source Code General Public License. 2.6 The "Source Code" for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, any associated interface definition files, and the scripts used to control compilation and installation of the executable work. 2.7 "3dfx" means 3dfx Interactive, Inc. 3. LICENSED ACTIVITIES 3.1 COPYING - You may copy and distribute verbatim copies of the Program's Source Code as you receive it, in any medium, subject to the provision of section 3.3 and provided also that: (a) you conspicuously and appropriately publish on each copy an appropriate copyright notice (3dfx Interactive, Inc. 1999), a notice that recipients who wish to copy, distribute or modify the Program can only do so subject to this License, and a disclaimer of warranty as set forth in section 5; (b) keep intact all the notices that refer to this License and to the absence of any warranty; and (c) do not make any use of the GLIDE trademark without the prior written permission of 3dfx, and (d) give all recipients of the Program a copy of this License along with the Program or instructions on how to easily receive a copy of this License. 3.2 MODIFICATION OF THE PROGRAM/DERIVATIVE WORKS - You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications subject to the provisions of section 3.3 and provided that you also meet all of the following conditions: (a) you conspicuously and appropriately publish on each copy of a Derivative Work an appropriate copyright notice, a notice that recipients who wish to copy, distribute or modify the Derivative Work can only do so subject to this License, and a disclaimer of warranty as set forth in section 5; (b) keep intact all the notices that refer to this License and to the absence of any warranty; and (c) give all recipients of the Derivative Work a copy of this License along with the Derivative Work or instructions on how to easily receive a copy of this License. (d) You must cause the modified files of the Derivative Work to carry prominent notices stating that you changed the files and the date of any change. (e) You must cause any Derivative Work that you distribute or publish to be licensed at no charge to all third parties under the terms of this License. (f) You do not make any use of the GLIDE trademark without the prior written permission of 3dfx. (g) If the Derivative Work normally reads commands interactively when run, you must cause it, when started running for such interactive use, to print or display an announcement as follows: "COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED THIS SOFTWARE IS FREE AND PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THERE IS NO RIGHT TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX INTERACTIVE, INC. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A FULL TEXT OF THE DISTRIBUTION AND NON-WARRANTY PROVISIONS (REQUEST COPY FROM INFO@3DFX.COM)." (h) The requirements of this section 3.2 do not apply to the modified work as a whole but only to the Derivative Work. It is not the intent of this License to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of Derivative Works. 3.3 DISTRIBUTION (a) All copies of the Program or Derivative Works which are distributed must include in the file headers the following language verbatim: "THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC (info@3dfx.com). THIS PROGRAM. IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A FULL TEXT OF THE NON-WARRANTY PROVISIONS. USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED" (b) You may distribute the Program or a Derivative Work in object code or executable form under the terms of Sections 3.1 and 3.2 provided that you also do one of the following: (1) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 3.1 and 3.2; or, (2) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 3.1 and 3.2 on a medium customarily used for software interchange; or, (3) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection 3.3(b)(2) above.) (c) The source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable code. (d) If distribution of executable code or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. (e) Each time you redistribute the Program or any Derivative Work, the recipient automatically receives a license from 3dfx and successor licensors to copy, distribute or modify the Program and Derivative Works subject to the terms and conditions of the License. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. (f) You may not make any use of the GLIDE trademark without the prior written permission of 3dfx. (g) You may not copy, modify, sublicense, or distribute the Program or any Derivative Works except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program or any Derivative Works is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 4. MISCELLANEOUS 4.1 Acceptance of this License is voluntary. By using, modifying or distributing the Program or any Derivative Work, you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. Nothing else grants you permission to modify or distribute the Program or Derivative Works and doing so without acceptance of this License is in violation of the U.S. and international copyright laws. 4.2 If the distribution and/or use of the Program or Derivative Works is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 4.3 This License is to be construed according to the laws of the State of California and you consent to personal jurisdiction in the State of California in the event it is necessary to enforce the provisions of this License. 5. NO WARRANTIES 5.1 TO THE EXTENT PERMITTED BY APPLICABLE LAW, THERE IS NO WARRANTY FOR THE PROGRAM. OR DERIVATIVE WORKS THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AND ANY DERIVATIVE WORKS"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM AND ANY DERIVATIVE WORK IS WITH YOU. SHOULD THE PROGRAM OR ANY DERIVATIVE WORK PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 5.2 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL 3DFX INTERACTIVE, INC., OR ANY OTHER COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM OR DERIVATIVE WORKS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM OR DERIVATIVE WORKS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM OR DERIVATIVE WORKS TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. debian/libglide3.postinst0000644000000000000000000000120212144761567012641 0ustar #!/bin/sh set -e . /usr/share/debconf/confmodule if [ "$1" = "configure" ] ; then # Remove old question db_unregister libglide3/error || true db_get 'libglide3/driver' target='/usr/lib/libglide3.so.3' if [ "$RET" = "h3" ]; then drv_lib='/usr/lib/glide3/libglide3_h3.so.3.10.0'; elif [ "$RET" = "h5" ]; then drv_lib='/usr/lib/glide3/libglide3_h5.so.3.10.0'; else exit 1; fi if [ -e $target ] ; then { if [ -L $target ] ; then { rm $target; } else { db_subst libglide3/target_not_symlink target "$target" db_go exit 1; } fi } fi ln -s $drv_lib $target fi #DEBHELPER#