diff options
Diffstat (limited to 'libre-multilib/lib32-sdl')
-rw-r--r-- | libre-multilib/lib32-sdl/PKGBUILD | 12 | ||||
-rw-r--r-- | libre-multilib/lib32-sdl/libre.patch | 478 |
2 files changed, 23 insertions, 467 deletions
diff --git a/libre-multilib/lib32-sdl/PKGBUILD b/libre-multilib/lib32-sdl/PKGBUILD index 9160f18f9..88c5d68fd 100644 --- a/libre-multilib/lib32-sdl/PKGBUILD +++ b/libre-multilib/lib32-sdl/PKGBUILD @@ -7,7 +7,7 @@ _pkgbasename=sdl pkgname=lib32-$_pkgbasename pkgver=1.2.15 -pkgrel=6.parabola1 +pkgrel=6.parabola2 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit), without nonfree riva_mmio.h file" arch=('x86_64') url="http://www.libsdl.org" @@ -25,14 +25,16 @@ source=(https://repo.parabola.nu/other/sdl-libre/SDL-libre-${pkgver}.tar.gz fix_joystick_misc_axes.diff libsdl-1.2.15-resizing.patch sdl_x11sym.patch - X11_KeyToUnicode.patch) -md5sums=('c6e53ef16fa347ed066c3d68fe93c378' + X11_KeyToUnicode.patch + libre.patch) +md5sums=('6b9b5ac27428e1a3b96c50604f2b1c40' '04d8c179f125e04bcd4c9d60e013c2d7' 'e5c16b7611f62c7cb25f0534eff68852' '687586a108b597a2a6b73070c1d37e51' '3dd50347d8856160a9cbd7f80383a1f8' '148b285bccee9d21bb96db807363b962' - 'edea272dff4698470877c016d818918d') + 'edea272dff4698470877c016d818918d' + '71fb007f43825950d0ec7558a30253e0') prepare() { cd SDL-$pkgver @@ -42,6 +44,8 @@ prepare() { patch -Np1 -i ../libsdl-1.2.15-resizing.patch patch -Np0 -i ../sdl_x11sym.patch patch -Np1 -i ../X11_KeyToUnicode.patch + + patch -Np1 -i ../libre.patch } build() { diff --git a/libre-multilib/lib32-sdl/libre.patch b/libre-multilib/lib32-sdl/libre.patch index 72f7da56a..dc93bfeeb 100644 --- a/libre-multilib/lib32-sdl/libre.patch +++ b/libre-multilib/lib32-sdl/libre.patch @@ -1,457 +1,7 @@ ---- src/video/fbcon/riva_mmio.h 2012-01-19 04:30:06.000000000 -0200 -+++ /dev/null 2012-04-01 13:58:27.776718756 -0300 -@@ -1,449 +0,0 @@ --/***************************************************************************\ --|* *| --|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *| --|* *| --|* NOTICE TO USER: The source code is copyrighted under U.S. and *| --|* international laws. Users and possessors of this source code are *| --|* hereby granted a nonexclusive, royalty-free copyright license to *| --|* use this code in individual and commercial software. *| --|* *| --|* Any use of this source code must include, in the user documenta- *| --|* tion and internal comments to the code, notices to the end user *| --|* as follows: *| --|* *| --|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *| --|* *| --|* NVIDIA, CORPORATION MAKES NO REPRESENTATION ABOUT THE SUITABILITY *| --|* OF THIS SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" *| --|* WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. NVIDIA, CORPOR- *| --|* ATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOURCE CODE, *| --|* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGE- *| --|* MENT, AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL *| --|* NVIDIA, CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT, INCI- *| --|* DENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RE- *| --|* SULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION *| --|* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *| --|* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. *| --|* *| --|* U.S. Government End Users. This source code is a "commercial *| --|* item," as that term is defined at 48 C.F.R. 2.101 (OCT 1995), *| --|* consisting of "commercial computer software" and "commercial *| --|* computer software documentation," as such terms are used in *| --|* 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Govern- *| --|* ment only as a commercial end item. Consistent with 48 C.F.R. *| --|* 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), *| --|* all U.S. Government End Users acquire the source code with only *| --|* those rights set forth herein. *| --|* *| --\***************************************************************************/ -- --#ifndef __RIVA_HW_H__ --#define __RIVA_HW_H__ --#define RIVA_SW_VERSION 0x00010003 -- --/* -- * Typedefs to force certain sized values. -- */ --typedef Uint8 U008; --typedef Uint16 U016; --typedef Uint32 U032; -- --/* -- * HW access macros. -- */ --#define NV_WR08(p,i,d) (((U008 *)(p))[i]=(d)) --#define NV_RD08(p,i) (((U008 *)(p))[i]) --#define NV_WR16(p,i,d) (((U016 *)(p))[(i)/2]=(d)) --#define NV_RD16(p,i) (((U016 *)(p))[(i)/2]) --#define NV_WR32(p,i,d) (((U032 *)(p))[(i)/4]=(d)) --#define NV_RD32(p,i) (((U032 *)(p))[(i)/4]) --#define VGA_WR08(p,i,d) NV_WR08(p,i,d) --#define VGA_RD08(p,i) NV_RD08(p,i) -- --/* -- * Define supported architectures. -- */ --#define NV_ARCH_03 0x03 --#define NV_ARCH_04 0x04 --#define NV_ARCH_10 0x10 --/***************************************************************************\ --* * --* FIFO registers. * --* * --\***************************************************************************/ -- --/* -- * Raster OPeration. Windows style ROP3. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BB]; -- U032 Rop3; --} RivaRop; --/* -- * 8X8 Monochrome pattern. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BD]; -- U032 Shape; -- U032 reserved03[0x001]; -- U032 Color0; -- U032 Color1; -- U032 Monochrome[2]; --} RivaPattern; --/* -- * Scissor clip rectangle. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BB]; -- U032 TopLeft; -- U032 WidthHeight; --} RivaClip; --/* -- * 2D filled rectangle. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop[1]; -- U032 reserved01[0x0BC]; -- U032 Color; -- U032 reserved03[0x03E]; -- U032 TopLeft; -- U032 WidthHeight; --} RivaRectangle; --/* -- * 2D screen-screen BLT. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BB]; -- U032 TopLeftSrc; -- U032 TopLeftDst; -- U032 WidthHeight; --} RivaScreenBlt; --/* -- * 2D pixel BLT. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop[1]; -- U032 reserved01[0x0BC]; -- U032 TopLeft; -- U032 WidthHeight; -- U032 WidthHeightIn; -- U032 reserved02[0x03C]; -- U032 Pixels; --} RivaPixmap; --/* -- * Filled rectangle combined with monochrome expand. Useful for glyphs. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BB]; -- U032 reserved03[(0x040)-1]; -- U032 Color1A; -- struct -- { -- U032 TopLeft; -- U032 WidthHeight; -- } UnclippedRectangle[64]; -- U032 reserved04[(0x080)-3]; -- struct -- { -- U032 TopLeft; -- U032 BottomRight; -- } ClipB; -- U032 Color1B; -- struct -- { -- U032 TopLeft; -- U032 BottomRight; -- } ClippedRectangle[64]; -- U032 reserved05[(0x080)-5]; -- struct -- { -- U032 TopLeft; -- U032 BottomRight; -- } ClipC; -- U032 Color1C; -- U032 WidthHeightC; -- U032 PointC; -- U032 MonochromeData1C; -- U032 reserved06[(0x080)+121]; -- struct -- { -- U032 TopLeft; -- U032 BottomRight; -- } ClipD; -- U032 Color1D; -- U032 WidthHeightInD; -- U032 WidthHeightOutD; -- U032 PointD; -- U032 MonochromeData1D; -- U032 reserved07[(0x080)+120]; -- struct -- { -- U032 TopLeft; -- U032 BottomRight; -- } ClipE; -- U032 Color0E; -- U032 Color1E; -- U032 WidthHeightInE; -- U032 WidthHeightOutE; -- U032 PointE; -- U032 MonochromeData01E; --} RivaBitmap; --/* -- * 3D textured, Z buffered triangle. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BC]; -- U032 TextureOffset; -- U032 TextureFormat; -- U032 TextureFilter; -- U032 FogColor; --/* This is a problem on LynxOS */ --#ifdef Control --#undef Control --#endif -- U032 Control; -- U032 AlphaTest; -- U032 reserved02[0x339]; -- U032 FogAndIndex; -- U032 Color; -- float ScreenX; -- float ScreenY; -- float ScreenZ; -- float EyeM; -- float TextureS; -- float TextureT; --} RivaTexturedTriangle03; --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BB]; -- U032 ColorKey; -- U032 TextureOffset; -- U032 TextureFormat; -- U032 TextureFilter; -- U032 Blend; --/* This is a problem on LynxOS */ --#ifdef Control --#undef Control --#endif -- U032 Control; -- U032 FogColor; -- U032 reserved02[0x39]; -- struct -- { -- float ScreenX; -- float ScreenY; -- float ScreenZ; -- float EyeM; -- U032 Color; -- U032 Specular; -- float TextureS; -- float TextureT; -- } Vertex[16]; -- U032 DrawTriangle3D; --} RivaTexturedTriangle05; --/* -- * 2D line. -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop[1]; -- U032 reserved01[0x0BC]; -- U032 Color; /* source color 0304-0307*/ -- U032 Reserved02[0x03e]; -- struct { /* start aliased methods in array 0400- */ -- U032 point0; /* y_x S16_S16 in pixels 0- 3*/ -- U032 point1; /* y_x S16_S16 in pixels 4- 7*/ -- } Lin[16]; /* end of aliased methods in array -047f*/ -- struct { /* start aliased methods in array 0480- */ -- U032 point0X; /* in pixels, 0 at left 0- 3*/ -- U032 point0Y; /* in pixels, 0 at top 4- 7*/ -- U032 point1X; /* in pixels, 0 at left 8- b*/ -- U032 point1Y; /* in pixels, 0 at top c- f*/ -- } Lin32[8]; /* end of aliased methods in array -04ff*/ -- U032 PolyLin[32]; /* y_x S16_S16 in pixels 0500-057f*/ -- struct { /* start aliased methods in array 0580- */ -- U032 x; /* in pixels, 0 at left 0- 3*/ -- U032 y; /* in pixels, 0 at top 4- 7*/ -- } PolyLin32[16]; /* end of aliased methods in array -05ff*/ -- struct { /* start aliased methods in array 0600- */ -- U032 color; /* source color 0- 3*/ -- U032 point; /* y_x S16_S16 in pixels 4- 7*/ -- } ColorPolyLin[16]; /* end of aliased methods in array -067f*/ --} RivaLine; --/* -- * 2D/3D surfaces -- */ --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BE]; -- U032 Offset; --} RivaSurface; --typedef volatile struct --{ -- U032 reserved00[4]; -- U016 FifoFree; -- U016 Nop; -- U032 reserved01[0x0BD]; -- U032 Pitch; -- U032 RenderBufferOffset; -- U032 ZBufferOffset; --} RivaSurface3D; -- --/***************************************************************************\ --* * --* Virtualized RIVA H/W interface. * --* * --\***************************************************************************/ -- --struct _riva_hw_inst; --struct _riva_hw_state; --/* -- * Virtialized chip interface. Makes RIVA 128 and TNT look alike. -- */ --typedef struct _riva_hw_inst --{ -- /* -- * Chip specific settings. -- */ -- U032 Architecture; -- U032 Version; -- U032 CrystalFreqKHz; -- U032 RamAmountKBytes; -- U032 MaxVClockFreqKHz; -- U032 RamBandwidthKBytesPerSec; -- U032 EnableIRQ; -- U032 IO; -- U032 VBlankBit; -- U032 FifoFreeCount; -- U032 FifoEmptyCount; -- /* -- * Non-FIFO registers. -- */ -- volatile U032 *PCRTC; -- volatile U032 *PRAMDAC; -- volatile U032 *PFB; -- volatile U032 *PFIFO; -- volatile U032 *PGRAPH; -- volatile U032 *PEXTDEV; -- volatile U032 *PTIMER; -- volatile U032 *PMC; -- volatile U032 *PRAMIN; -- volatile U032 *FIFO; -- volatile U032 *CURSOR; -- volatile U032 *CURSORPOS; -- volatile U032 *VBLANKENABLE; -- volatile U032 *VBLANK; -- volatile U008 *PCIO; -- volatile U008 *PVIO; -- volatile U008 *PDIO; -- /* -- * Common chip functions. -- */ -- int (*Busy)(struct _riva_hw_inst *); -- void (*CalcStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *,int,int,int,int,int,int,int,int,int,int,int,int,int); -- void (*LoadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *); -- void (*UnloadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *); -- void (*SetStartAddress)(struct _riva_hw_inst *,U032); -- void (*SetSurfaces2D)(struct _riva_hw_inst *,U032,U032); -- void (*SetSurfaces3D)(struct _riva_hw_inst *,U032,U032); -- int (*ShowHideCursor)(struct _riva_hw_inst *,int); -- void (*LockUnlock)(struct _riva_hw_inst *, int); -- /* -- * Current extended mode settings. -- */ -- struct _riva_hw_state *CurrentState; -- /* -- * FIFO registers. -- */ -- RivaRop *Rop; -- RivaPattern *Patt; -- RivaClip *Clip; -- RivaPixmap *Pixmap; -- RivaScreenBlt *Blt; -- RivaBitmap *Bitmap; -- RivaLine *Line; -- RivaTexturedTriangle03 *Tri03; -- RivaTexturedTriangle05 *Tri05; --} RIVA_HW_INST; --/* -- * Extended mode state information. -- */ --typedef struct _riva_hw_state --{ -- U032 bpp; -- U032 width; -- U032 height; -- U032 repaint0; -- U032 repaint1; -- U032 screen; -- U032 pixel; -- U032 horiz; -- U032 arbitration0; -- U032 arbitration1; -- U032 vpll; -- U032 pllsel; -- U032 general; -- U032 config; -- U032 cursor0; -- U032 cursor1; -- U032 cursor2; -- U032 offset0; -- U032 offset1; -- U032 offset2; -- U032 offset3; -- U032 pitch0; -- U032 pitch1; -- U032 pitch2; -- U032 pitch3; --} RIVA_HW_STATE; -- --/* -- * FIFO Free Count. Should attempt to yield processor if RIVA is busy. -- */ -- --#define RIVA_FIFO_FREE(hwptr,cnt) \ --{ \ -- while (FifoFreeCount < (cnt)) \ -- FifoFreeCount = hwptr->FifoFree >> 2; \ -- FifoFreeCount -= (cnt); \ --} --#endif /* __RIVA_HW_H__ */ -- ---- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200 -+++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300 +diff --git a/src/video/fbcon/SDL_fbriva.c b/src/video/fbcon/SDL_fbriva.c +index eb4b71f1b..59469759c 100644 +--- a/src/video/fbcon/SDL_fbriva.c ++++ b/src/video/fbcon/SDL_fbriva.c @@ -24,12 +24,10 @@ #include "SDL_video.h" #include "../SDL_blit.h" @@ -465,7 +15,7 @@ /* Wait for vertical retrace */ static void WaitVBL(_THIS) -@@ -41,20 +39,6 @@ +@@ -41,20 +39,6 @@ static void WaitVBL(_THIS) while ( !(*port & 0x08) ) ; } @@ -486,7 +36,7 @@ #if 0 /* Not yet implemented? */ /* Sets video mem colorkey and accelerated blit function */ -@@ -74,7 +58,6 @@ +@@ -74,7 +58,6 @@ static int FillHWRect(_THIS, SDL_Surface *dst, SDL_Rect *rect, Uint32 color) { int dstX, dstY; int dstW, dstH; @@ -494,7 +44,7 @@ /* Don't blit to the display surface when switched away */ if ( switched_away ) { -@@ -93,13 +76,6 @@ +@@ -93,13 +76,6 @@ static int FillHWRect(_THIS, SDL_Surface *dst, SDL_Rect *rect, Uint32 color) dstX += rect->x; dstY += rect->y; @@ -508,7 +58,7 @@ FB_AddBusySurface(dst); if ( dst == this->screen ) { -@@ -115,7 +91,6 @@ +@@ -115,7 +91,6 @@ static int HWAccelBlit(SDL_Surface *src, SDL_Rect *srcrect, int srcX, srcY; int dstX, dstY; int dstW, dstH; @@ -516,7 +66,7 @@ /* FIXME: For now, only blit to display surface */ if ( dst->pitch != SDL_VideoSurface->pitch ) { -@@ -142,11 +117,6 @@ +@@ -142,11 +117,6 @@ static int HWAccelBlit(SDL_Surface *src, SDL_Rect *srcrect, dstX += dstrect->x; dstY += dstrect->y; @@ -528,7 +78,7 @@ FB_AddBusySurface(src); FB_AddBusySurface(dst); -@@ -185,23 +155,15 @@ +@@ -185,23 +155,15 @@ static int CheckHWBlit(_THIS, SDL_Surface *src, SDL_Surface *dst) void FB_RivaAccel(_THIS, __u32 card) { @@ -552,8 +102,10 @@ /* The Riva has an accelerated color fill */ this->info.blit_fill = 1; ---- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200 -+++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200 +diff --git a/src/video/fbcon/SDL_fbvideo.c b/src/video/fbcon/SDL_fbvideo.c +index 5e5880908..dee999cbd 100644 +--- a/src/video/fbcon/SDL_fbvideo.c ++++ b/src/video/fbcon/SDL_fbvideo.c @@ -46,7 +46,6 @@ #include "SDL_fbevents_c.h" #include "SDL_fb3dfx.h" @@ -562,7 +114,7 @@ /*#define FBCON_DEBUG*/ -@@ -769,13 +768,6 @@ +@@ -769,13 +768,6 @@ static int FB_VideoInit(_THIS, SDL_PixelFormat *vformat) #endif FB_3DfxAccel(this, finfo.accel); break; |