Mercurial > sdl-ios-xcode
view src/video/qtopia/SDL_QPEApp.cc @ 880:9ef41050100c
Date: Tue, 30 Mar 2004 21:26:47 -0600
From: Tyler Montbriand
Subject: [SDL] Opteron MMX patches for SDL_blit.c and SDL_blit_A.c
The inline MMX assembly in SDL_blit.c and SDL_blit_A.c compiles and runs fine
unmodified under AMD Opteron. The inline assembly in SDL_yuv_mmx.c and
SDL_blit_N.c unfortunately isn't directly compatible.
I've included diffs from SDL_blit.c and SDL_blit_A.c that allow the MMX
assembly to be compiled when USE_ASMBLIT, __x86_64__, and __GNUC__ are all
defined. All I had to modify was typedefs, the inline assembly itself wasn't
touched.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 11 Apr 2004 19:47:28 +0000 |
parents | b8d311d90021 |
children | 376665398b25 |
line wrap: on
line source
/* SDL - Simple DirectMedia Layer Copyright (C) 1997-2004 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Sam Lantinga slouken@libsdl.org */ #include <qpe/qpeapplication.h> #include <qapplication.h> #include <qevent.h> #include "SDL_thread.h" #include "SDL_timer.h" #include "SDL_error.h" /* Flag to tell whether or not the Be application is active or not */ int SDL_QPEAppActive = 0; static QPEApplication *app; int SDL_InitQPEApp() { if(SDL_QPEAppActive <= 0) { if(!qApp) { int argc = 1; char *argv[] = { { "SDLApp" } }; app = new QPEApplication(argc, argv); QWidget dummy; app->showMainWidget(&dummy); } else { app = (QPEApplication*)qApp; } SDL_QPEAppActive++; } return 0; } /* Quit the QPE Application, if there's nothing left to do */ void SDL_QuitQPEApp(void) { /* Decrement the application reference count */ SDL_QPEAppActive--; /* If the reference count reached zero, clean up the app */ if ( SDL_QPEAppActive == 0 && app) { delete app; app = 0; qApp = 0; } }