summaryrefslogtreecommitdiff
path: root/libre-multilib/lib32-sdl
diff options
context:
space:
mode:
Diffstat (limited to 'libre-multilib/lib32-sdl')
-rw-r--r--libre-multilib/lib32-sdl/PKGBUILD12
-rw-r--r--libre-multilib/lib32-sdl/libre.patch478
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;