diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2017-04-01 11:30:48 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2017-04-01 12:03:16 -0300 |
commit | 836ddfc1b6bbf2184fdda5ee5af7b58a3a19578e (patch) | |
tree | 0452a9997d55c80ac33c50874613e487a90974a9 | |
parent | bff8fa175fce50f1f32a8a3a56a2bd0301438647 (diff) | |
download | abslibre-836ddfc1b6bbf2184fdda5ee5af7b58a3a19578e.tar.gz abslibre-836ddfc1b6bbf2184fdda5ee5af7b58a3a19578e.tar.bz2 abslibre-836ddfc1b6bbf2184fdda5ee5af7b58a3a19578e.zip |
sdl-1.2.15-8.parabola1: bump to Arch's revision
-rw-r--r-- | libre/sdl/PKGBUILD | 44 | ||||
-rw-r--r-- | libre/sdl/libre.patch | 478 |
2 files changed, 38 insertions, 484 deletions
diff --git a/libre/sdl/PKGBUILD b/libre/sdl/PKGBUILD index de3a260e6..b5222257a 100644 --- a/libre/sdl/PKGBUILD +++ b/libre/sdl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 223594 2014-09-27 21:07:22Z heftig $ +# $Id: PKGBUILD 291910 2017-03-30 20:59:20Z heftig $ # Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor (Arch): Allan McRae <allan@archlinux.org> # Contributor (Arch): dorphell <dorphell@archlinux.org> @@ -8,10 +8,10 @@ pkgname=sdl pkgver=1.2.15 -pkgrel=7.parabola2 +pkgrel=8.parabola1 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard, without nonfree riva_mmio.h file" -arch=('i686' 'x86_64' 'mips64el' 'armv7h') -url="http://www.libsdl.org" +arch=('i686' 'x86_64' 'armv7h') +url="https://www.libsdl.org" license=('LGPL') conflicts=('sdl-libre') replaces=('sdl-libre') @@ -20,8 +20,7 @@ makedepends=('alsa-lib' 'mesa' 'libpulse' 'glu') optdepends=('alsa-lib: ALSA audio driver' 'libpulse: PulseAudio audio driver') options=('staticlibs') -mksource=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz - libre.patch) +mksource=(https://www.libsdl.org/release/SDL-${pkgver}.tar.gz) source=(https://repo.parabola.nu/other/${pkgname}-libre/SDL-libre-${pkgver}.tar.gz SDL-1.2.10-GrabNotViewable.patch SDL-1.2.15-SDL_EnableUNICODE_drops_keyboard_events.patch @@ -32,24 +31,25 @@ source=(https://repo.parabola.nu/other/${pkgname}-libre/SDL-libre-${pkgver}.tar. sdl-1.2.14-fix-mouse-clicking.patch sdl-1.2.14-disable-mmx.patch libsdl-1.2.15-resizing.patch - X11_KeyToUnicode.patch) -mkmd5sums=('9d96df8417572a2afb781a7c4c811a85' - '5c665f72b8a2adc97a91f6db6f2da79a') -md5sums=('c6e53ef16fa347ed066c3d68fe93c378' - '37ad001a4d2ff924a5fab356b49f8a78' - '8d5a61a0adf1a302695a30141f402712' - 'd6a1bfa054507f281338626e5f12d74b' - 'e382e5b7449e95969c5ba4084b0aab39' - '1b0578c76453813eb4eaf0125ce242db' - '321377e38e2db7f1baf43c392e165dd5' - '04d8c179f125e04bcd4c9d60e013c2d7' - 'e5c16b7611f62c7cb25f0534eff68852' - '3dd50347d8856160a9cbd7f80383a1f8' - 'edea272dff4698470877c016d818918d') + X11_KeyToUnicode.patch + libre.patch) +mksha256sums=('d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00') +sha256sums=('806485cf92574ce883480b7f010aeb1b27c7e325c6c1e799f6cdc950df10da8a' + 'ea2042b8a45a083b1447d5c56e52b23b79f2ddb0d717ec7b287b34ef71bd2d1a' + '292046466d52a2ebe995a0121404864e4ee0de2b6024203acb95bbd600844da0' + 'bab60b515a74b71650ee71d5a0075c77046a7bad48b061673c3798dbdd35446d' + '7586d6124d5452ad721ca6aa10eae09946d94854748e22f9c9c6fdca3d0aeb12' + '3941c44a5580df95c6868936cfc57ba3e7b6952fb8a3eb14f963d54d9d8ca8a4' + 'd296af5bb0d9856d049b4e5adb9dd995d2a1e51d76a6adf63457e65101a50620' + '8d178f13eb707e81f5f9d86bf7b609ae8f0bac937fb4a37ebcbf4bbc9b89e21b' + '17bb880dd2cb4922d4e3771d146660b9da8be8f1629a5cdaae7523d4a9d2bd7c' + '5160fb1c07b04480d98d45b89a0aa6e577f2ac4c3bace0c80b251e6aca1fb4a1' + 'b1ad9c60829b166e6b647006d6549ea657155e755cf574fcfc4b91b658654769' + '89a6d08e1d2f8cf2d144d43d0511f7da430eb4a2020acb52775de6f506e40d48') mksource() { cd SDL-$pkgver - patch -Np0 -i ../libre.patch + rm -v src/video/fbcon/riva_mmio.h } prepare() { @@ -67,6 +67,8 @@ prepare() { patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch patch -Np1 -i ../libsdl-1.2.15-resizing.patch patch -Np1 -i ../X11_KeyToUnicode.patch + + patch -Np1 -i ../libre.patch } build() { diff --git a/libre/sdl/libre.patch b/libre/sdl/libre.patch index 72f7da56a..dc93bfeeb 100644 --- a/libre/sdl/libre.patch +++ b/libre/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; |