Mercurial > sdl-ios-xcode
view src/video/SDL_cursor_c.h @ 787:07760c8854d1
Date: Sat, 24 Jan 2004 14:49:58 +0100
From: Stephane Marchesin
Subject: Re: [SDL] 3DNow! detection on a P4 system
Well... I found another bug : 3dnow was detected on P2/P3 cpus. So I
took one more look at the code and found a mistake in
CPU_getCPUIDFeaturesExt :
The condition for having extended cpuinfo is that when we query extended
cpuinfo we get a result >= 0x80000001. So we must exit if eax < 0x80000001.
The attached patch does that.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 24 Jan 2004 15:55:00 +0000 |
parents | b8d311d90021 |
children | c9b51268668f |
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 */ #ifdef SAVE_RCSID static char rcsid = "@(#) $Id$"; #endif /* Useful variables and functions from SDL_cursor.c */ #include "SDL_mouse.h" extern int SDL_CursorInit(Uint32 flags); extern void SDL_CursorPaletteChanged(void); extern void SDL_DrawCursor(SDL_Surface *screen); extern void SDL_DrawCursorNoLock(SDL_Surface *screen); extern void SDL_EraseCursor(SDL_Surface *screen); extern void SDL_EraseCursorNoLock(SDL_Surface *screen); extern void SDL_UpdateCursor(SDL_Surface *screen); extern void SDL_ResetCursor(void); extern void SDL_MoveCursor(int x, int y); extern void SDL_CursorQuit(void); #define INLINE_MOUSELOCK #ifdef INLINE_MOUSELOCK /* Inline (macro) versions of the mouse lock functions */ #include "SDL_mutex.h" extern SDL_mutex *SDL_cursorlock; #define SDL_LockCursor() \ do { \ if ( SDL_cursorlock ) { \ SDL_mutexP(SDL_cursorlock); \ } \ } while ( 0 ) #define SDL_UnlockCursor() \ do { \ if ( SDL_cursorlock ) { \ SDL_mutexV(SDL_cursorlock); \ } \ } while ( 0 ) #else extern void SDL_LockCursor(void); extern void SDL_UnlockCursor(void); #endif /* INLINE_MOUSELOCK */ /* Only for low-level mouse cursor drawing */ extern SDL_Cursor *SDL_cursor; extern void SDL_MouseRect(SDL_Rect *area); /* State definitions for the SDL cursor */ #define CURSOR_VISIBLE 0x01 #define CURSOR_USINGSW 0x10 #define SHOULD_DRAWCURSOR(X) \ (((X)&(CURSOR_VISIBLE|CURSOR_USINGSW)) == \ (CURSOR_VISIBLE|CURSOR_USINGSW)) extern volatile int SDL_cursorstate;