Make wxgl mandatory on OS X.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5576 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Soren Jorvang 2010-06-03 01:24:26 +00:00
parent 3a7b8c51c6
commit 52c912a59e
17 changed files with 699 additions and 1157 deletions

View File

@ -108,10 +108,10 @@ vars.AddVariables(
BoolVariable('verbose', 'Set for compilation line', False), BoolVariable('verbose', 'Set for compilation line', False),
BoolVariable('bundle', 'Set to create bundle', False), BoolVariable('bundle', 'Set to create bundle', False),
BoolVariable('lint', 'Set for lint build (extra warnings)', False), BoolVariable('lint', 'Set for lint build (extra warnings)', False),
BoolVariable('nowx', 'Set For Building with no WX libs (WIP)', False), BoolVariable('nowx', 'Set For Building with no WX libs', False),
BoolVariable('openal', 'Build with OpenAL', False), BoolVariable('openal', 'Build with OpenAL', False),
BoolVariable('noao', 'Build without AO', False), BoolVariable('noao', 'Build without AO', False),
BoolVariable('wxgl', 'Set For Building with WX GL libs (WIP)', False), BoolVariable('wxgl', 'Set For Building with WX GL libs', False),
BoolVariable('opencl', 'Build with OpenCL', False), BoolVariable('opencl', 'Build with OpenCL', False),
BoolVariable('nojit', 'Remove entire jit cores', False), BoolVariable('nojit', 'Remove entire jit cores', False),
BoolVariable('shared_soil', 'Use system shared libSOIL', False), BoolVariable('shared_soil', 'Use system shared libSOIL', False),
@ -354,7 +354,6 @@ if not env['SHARED_SFML']:
#osx specifics #osx specifics
if sys.platform == 'darwin': if sys.platform == 'darwin':
compileFlags.append('-mmacosx-version-min=10.5') compileFlags.append('-mmacosx-version-min=10.5')
env['HAVE_COCOA'] = 1
env['HAVE_XRANDR'] = 0 env['HAVE_XRANDR'] = 0
env['HAVE_X11'] = 0 env['HAVE_X11'] = 0
env['CC'] = "gcc-4.2" env['CC'] = "gcc-4.2"
@ -365,21 +364,20 @@ if sys.platform == 'darwin':
else: else:
env['HAVE_X11'] = conf.CheckPKG('x11') env['HAVE_X11'] = conf.CheckPKG('x11')
env['HAVE_XRANDR'] = env['HAVE_X11'] and conf.CheckPKG('xrandr') env['HAVE_XRANDR'] = env['HAVE_X11'] and conf.CheckPKG('xrandr')
env['HAVE_COCOA'] = 0
# handling wx flags CCFLAGS should be created before # handling wx flags CCFLAGS should be created before
wxmods = ['aui', 'adv', 'core', 'base'] wxmods = ['aui', 'adv', 'core', 'base']
env['USE_WX'] = 0 env['USE_WX'] = 0
if env['wxgl']: if env['wxgl']:
wxmods.append('gl')
env['USE_WX'] = 1 env['USE_WX'] = 1
if sys.platform == 'win32' or sys.platform == 'darwin':
if sys.platform == 'win32':
env['HAVE_WX'] = 1 env['HAVE_WX'] = 1
env['USE_WX'] = 1 env['USE_WX'] = 1
if env['USE_WX']:
wxmods.append('gl')
# Gui less build # gui-less build
if env['nowx']: if env['nowx']:
env['HAVE_WX'] = 0; env['HAVE_WX'] = 0;
else: else:
@ -415,7 +413,6 @@ conf.Define('HAVE_WX', env['HAVE_WX'])
conf.Define('USE_WX', env['USE_WX']) conf.Define('USE_WX', env['USE_WX'])
conf.Define('HAVE_X11', env['HAVE_X11']) conf.Define('HAVE_X11', env['HAVE_X11'])
conf.Define('HAVE_XRANDR', env['HAVE_XRANDR']) conf.Define('HAVE_XRANDR', env['HAVE_XRANDR'])
conf.Define('HAVE_COCOA', env['HAVE_COCOA'])
conf.Define('HAVE_PORTAUDIO', env['HAVE_PORTAUDIO']) conf.Define('HAVE_PORTAUDIO', env['HAVE_PORTAUDIO'])
conf.Define('SHARED_SOIL', env['SHARED_SOIL']) conf.Define('SHARED_SOIL', env['SHARED_SOIL'])
conf.Define('SHARED_LZO', env['SHARED_LZO']) conf.Define('SHARED_LZO', env['SHARED_LZO'])

View File

@ -30,7 +30,7 @@
#include "Frame.h" #include "Frame.h"
#include "HotkeyDlg.h" #include "HotkeyDlg.h"
#if defined(HAVE_COCOA) && HAVE_COCOA #ifdef __APPLE__
#include <Cocoa/Cocoa.h> #include <Cocoa/Cocoa.h>
#endif #endif
@ -1188,7 +1188,7 @@ void CConfigMain::AddResolutions()
main_frame->m_XRRConfig->AddResolutions(arrayStringFor_FullscreenResolution); main_frame->m_XRRConfig->AddResolutions(arrayStringFor_FullscreenResolution);
#elif defined(HAVE_COCOA) && HAVE_COCOA #elif defined(__APPLE__)
CGDisplayModeRef mode; CGDisplayModeRef mode;
CFArrayRef array; CFArrayRef array;

View File

@ -32,7 +32,7 @@
#include "X11Utils.h" #include "X11Utils.h"
#endif #endif
#if defined(HAVE_COCOA) && HAVE_COCOA #ifdef __APPLE__
#import "cocoaApp.h" #import "cocoaApp.h"
#endif #endif
@ -260,7 +260,7 @@ void X11_MainLoop()
#endif #endif
//for cocoa we need to hijack the main to get event //for cocoa we need to hijack the main to get event
#if defined(HAVE_COCOA) && HAVE_COCOA #ifdef __APPLE__
@interface CocoaThread : NSObject @interface CocoaThread : NSObject
{ {

View File

@ -44,37 +44,29 @@ if wxenv['HAVE_WX']:
'NetWindow.cpp', 'NetWindow.cpp',
] ]
CPPDEFINES = [ CPPDEFINE = [
'wxNEEDS_CHARPP', 'wxNEEDS_CHARPP',
], ],
compileFlags = [
],
libs = [ 'debwx', 'debugger_ui_util'] + libs libs = [ 'debwx', 'debugger_ui_util'] + libs
if wxenv['HAVE_COCOA']:
files += [ 'cocoaApp.m', ]
compileFlags = [
'-x',
'objective-c++',
]
wxenv.Append(
CXXFLAGS = compileFlags,
LINKFLAGS = [
'-pthread', '-framework', 'IOKit'
],
LIBS = libs
)
else:
wxenv.Append(
LINKFLAGS = [
'-pthread',
],
LIBS = libs
)
if sys.platform == 'darwin': if sys.platform == 'darwin':
files += [ 'cocoaApp.m', ]
compileFlags = [
'-x',
'objective-c++',
]
linkflags = [
'-pthread', '-framework', 'IOKit'
]
exeGUI = env['binary_dir'] + 'Dolphin.app/Contents/MacOS/Dolphin' exeGUI = env['binary_dir'] + 'Dolphin.app/Contents/MacOS/Dolphin'
exeNoGUI = env['binary_dir'] + 'DolphinNoGUI' exeNoGUI = env['binary_dir'] + 'DolphinNoGUI'
@ -96,11 +88,17 @@ if sys.platform == 'darwin':
else: else:
exeGUI = env['binary_dir'] + 'dolphin-emu' exeGUI = env['binary_dir'] + 'dolphin-emu'
exeNoGUI = env['binary_dir'] + 'dolphin-emu-nogui' exeNoGUI = env['binary_dir'] + 'dolphin-emu-nogui'
linkflags = [ '-pthread' ]
if wxenv['HAVE_X11']: if wxenv['HAVE_X11']:
files += [ 'X11Utils.cpp' ] files += [ 'X11Utils.cpp' ]
#objects = [ wxenv.Object(srcFile) for srcFile in files ]
wxenv.Append(
CXXFLAGS = compileFlags,
LINKFLAGS = linkflags,
LIBS = libs,
)
if wxenv['HAVE_WX']: if wxenv['HAVE_WX']:
wxenv.Program(exeGUI, files + [ 'Main.cpp' ]) wxenv.Program(exeGUI, files + [ 'Main.cpp' ])

View File

@ -454,8 +454,6 @@
292AC39C11838FD700B8790B /* CheatsWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABF8D11838FD600B8790B /* CheatsWindow.h */; }; 292AC39C11838FD700B8790B /* CheatsWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABF8D11838FD600B8790B /* CheatsWindow.h */; };
292AC39D11838FD700B8790B /* cmdline.c in Sources */ = {isa = PBXBuildFile; fileRef = 292ABF8E11838FD600B8790B /* cmdline.c */; }; 292AC39D11838FD700B8790B /* cmdline.c in Sources */ = {isa = PBXBuildFile; fileRef = 292ABF8E11838FD600B8790B /* cmdline.c */; };
292AC39E11838FD700B8790B /* cmdline.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABF8F11838FD600B8790B /* cmdline.h */; }; 292AC39E11838FD700B8790B /* cmdline.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABF8F11838FD600B8790B /* cmdline.h */; };
292AC39F11838FD700B8790B /* cocoaApp.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABF9011838FD600B8790B /* cocoaApp.h */; };
292AC3A011838FD700B8790B /* cocoaApp.m in Sources */ = {isa = PBXBuildFile; fileRef = 292ABF9111838FD600B8790B /* cocoaApp.m */; };
292AC3A111838FD700B8790B /* ConfigMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABF9211838FD600B8790B /* ConfigMain.cpp */; }; 292AC3A111838FD700B8790B /* ConfigMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABF9211838FD600B8790B /* ConfigMain.cpp */; };
292AC3A211838FD700B8790B /* ConfigMain.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABF9311838FD600B8790B /* ConfigMain.h */; }; 292AC3A211838FD700B8790B /* ConfigMain.h in Headers */ = {isa = PBXBuildFile; fileRef = 292ABF9311838FD600B8790B /* ConfigMain.h */; };
292AC3A311838FD700B8790B /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABF9411838FD600B8790B /* Frame.cpp */; }; 292AC3A311838FD700B8790B /* Frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292ABF9411838FD600B8790B /* Frame.cpp */; };
@ -794,8 +792,6 @@
292AC4F711838FD700B8790B /* XFStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC12B11838FD700B8790B /* XFStructs.cpp */; }; 292AC4F711838FD700B8790B /* XFStructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC12B11838FD700B8790B /* XFStructs.cpp */; };
292AC4F811838FD700B8790B /* XFStructs.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC12C11838FD700B8790B /* XFStructs.h */; }; 292AC4F811838FD700B8790B /* XFStructs.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC12C11838FD700B8790B /* XFStructs.h */; };
292AC4F911838FD700B8790B /* BPFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC13011838FD700B8790B /* BPFunctions.cpp */; }; 292AC4F911838FD700B8790B /* BPFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC13011838FD700B8790B /* BPFunctions.cpp */; };
292AC4FA11838FD700B8790B /* cocoaGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC13111838FD700B8790B /* cocoaGL.h */; };
292AC4FB11838FD700B8790B /* cocoaGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 292AC13211838FD700B8790B /* cocoaGL.m */; };
292AC4FC11838FD700B8790B /* Debugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC13411838FD700B8790B /* Debugger.cpp */; }; 292AC4FC11838FD700B8790B /* Debugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC13411838FD700B8790B /* Debugger.cpp */; };
292AC4FD11838FD700B8790B /* Debugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC13511838FD700B8790B /* Debugger.h */; }; 292AC4FD11838FD700B8790B /* Debugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC13511838FD700B8790B /* Debugger.h */; };
292AC4FE11838FD700B8790B /* DLCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC13611838FD700B8790B /* DLCache.cpp */; }; 292AC4FE11838FD700B8790B /* DLCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC13611838FD700B8790B /* DLCache.cpp */; };
@ -837,8 +833,6 @@
292AC52211838FD700B8790B /* BPMemLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC16011838FD700B8790B /* BPMemLoader.h */; }; 292AC52211838FD700B8790B /* BPMemLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC16011838FD700B8790B /* BPMemLoader.h */; };
292AC52311838FD700B8790B /* Clipper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC16111838FD700B8790B /* Clipper.cpp */; }; 292AC52311838FD700B8790B /* Clipper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC16111838FD700B8790B /* Clipper.cpp */; };
292AC52411838FD700B8790B /* Clipper.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC16211838FD700B8790B /* Clipper.h */; }; 292AC52411838FD700B8790B /* Clipper.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC16211838FD700B8790B /* Clipper.h */; };
292AC52511838FD700B8790B /* cocoaGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC16311838FD700B8790B /* cocoaGL.h */; };
292AC52611838FD700B8790B /* cocoaGL.m in Sources */ = {isa = PBXBuildFile; fileRef = 292AC16411838FD700B8790B /* cocoaGL.m */; };
292AC52711838FD700B8790B /* CommandProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC16511838FD700B8790B /* CommandProcessor.cpp */; }; 292AC52711838FD700B8790B /* CommandProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC16511838FD700B8790B /* CommandProcessor.cpp */; };
292AC52811838FD700B8790B /* CommandProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC16611838FD700B8790B /* CommandProcessor.h */; }; 292AC52811838FD700B8790B /* CommandProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 292AC16611838FD700B8790B /* CommandProcessor.h */; };
292AC52911838FD700B8790B /* CPMemLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC16711838FD700B8790B /* CPMemLoader.cpp */; }; 292AC52911838FD700B8790B /* CPMemLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 292AC16711838FD700B8790B /* CPMemLoader.cpp */; };
@ -1778,8 +1772,6 @@
292ABF8D11838FD600B8790B /* CheatsWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheatsWindow.h; sourceTree = "<group>"; }; 292ABF8D11838FD600B8790B /* CheatsWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheatsWindow.h; sourceTree = "<group>"; };
292ABF8E11838FD600B8790B /* cmdline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cmdline.c; sourceTree = "<group>"; }; 292ABF8E11838FD600B8790B /* cmdline.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cmdline.c; sourceTree = "<group>"; };
292ABF8F11838FD600B8790B /* cmdline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cmdline.h; sourceTree = "<group>"; }; 292ABF8F11838FD600B8790B /* cmdline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cmdline.h; sourceTree = "<group>"; };
292ABF9011838FD600B8790B /* cocoaApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoaApp.h; sourceTree = "<group>"; };
292ABF9111838FD600B8790B /* cocoaApp.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = cocoaApp.m; sourceTree = "<group>"; };
292ABF9211838FD600B8790B /* ConfigMain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConfigMain.cpp; sourceTree = "<group>"; }; 292ABF9211838FD600B8790B /* ConfigMain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConfigMain.cpp; sourceTree = "<group>"; };
292ABF9311838FD600B8790B /* ConfigMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigMain.h; sourceTree = "<group>"; }; 292ABF9311838FD600B8790B /* ConfigMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigMain.h; sourceTree = "<group>"; };
292ABF9411838FD600B8790B /* Frame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Frame.cpp; sourceTree = "<group>"; }; 292ABF9411838FD600B8790B /* Frame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Frame.cpp; sourceTree = "<group>"; };
@ -2148,8 +2140,6 @@
292AC12C11838FD700B8790B /* XFStructs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XFStructs.h; sourceTree = "<group>"; }; 292AC12C11838FD700B8790B /* XFStructs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XFStructs.h; sourceTree = "<group>"; };
292AC12E11838FD700B8790B /* Plugin_VideoOGL.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Plugin_VideoOGL.vcproj; sourceTree = "<group>"; }; 292AC12E11838FD700B8790B /* Plugin_VideoOGL.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Plugin_VideoOGL.vcproj; sourceTree = "<group>"; };
292AC13011838FD700B8790B /* BPFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BPFunctions.cpp; sourceTree = "<group>"; }; 292AC13011838FD700B8790B /* BPFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BPFunctions.cpp; sourceTree = "<group>"; };
292AC13111838FD700B8790B /* cocoaGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoaGL.h; sourceTree = "<group>"; };
292AC13211838FD700B8790B /* cocoaGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = cocoaGL.m; sourceTree = "<group>"; };
292AC13411838FD700B8790B /* Debugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Debugger.cpp; sourceTree = "<group>"; }; 292AC13411838FD700B8790B /* Debugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Debugger.cpp; sourceTree = "<group>"; };
292AC13511838FD700B8790B /* Debugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Debugger.h; sourceTree = "<group>"; }; 292AC13511838FD700B8790B /* Debugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Debugger.h; sourceTree = "<group>"; };
292AC13611838FD700B8790B /* DLCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DLCache.cpp; sourceTree = "<group>"; }; 292AC13611838FD700B8790B /* DLCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DLCache.cpp; sourceTree = "<group>"; };
@ -2193,8 +2183,6 @@
292AC16011838FD700B8790B /* BPMemLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BPMemLoader.h; sourceTree = "<group>"; }; 292AC16011838FD700B8790B /* BPMemLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BPMemLoader.h; sourceTree = "<group>"; };
292AC16111838FD700B8790B /* Clipper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Clipper.cpp; sourceTree = "<group>"; }; 292AC16111838FD700B8790B /* Clipper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Clipper.cpp; sourceTree = "<group>"; };
292AC16211838FD700B8790B /* Clipper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Clipper.h; sourceTree = "<group>"; }; 292AC16211838FD700B8790B /* Clipper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Clipper.h; sourceTree = "<group>"; };
292AC16311838FD700B8790B /* cocoaGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoaGL.h; sourceTree = "<group>"; };
292AC16411838FD700B8790B /* cocoaGL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = cocoaGL.m; sourceTree = "<group>"; };
292AC16511838FD700B8790B /* CommandProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommandProcessor.cpp; sourceTree = "<group>"; }; 292AC16511838FD700B8790B /* CommandProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommandProcessor.cpp; sourceTree = "<group>"; };
292AC16611838FD700B8790B /* CommandProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandProcessor.h; sourceTree = "<group>"; }; 292AC16611838FD700B8790B /* CommandProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandProcessor.h; sourceTree = "<group>"; };
292AC16711838FD700B8790B /* CPMemLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPMemLoader.cpp; sourceTree = "<group>"; }; 292AC16711838FD700B8790B /* CPMemLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPMemLoader.cpp; sourceTree = "<group>"; };
@ -3378,8 +3366,6 @@
292ABF8D11838FD600B8790B /* CheatsWindow.h */, 292ABF8D11838FD600B8790B /* CheatsWindow.h */,
292ABF8E11838FD600B8790B /* cmdline.c */, 292ABF8E11838FD600B8790B /* cmdline.c */,
292ABF8F11838FD600B8790B /* cmdline.h */, 292ABF8F11838FD600B8790B /* cmdline.h */,
292ABF9011838FD600B8790B /* cocoaApp.h */,
292ABF9111838FD600B8790B /* cocoaApp.m */,
292ABF9211838FD600B8790B /* ConfigMain.cpp */, 292ABF9211838FD600B8790B /* ConfigMain.cpp */,
292ABF9311838FD600B8790B /* ConfigMain.h */, 292ABF9311838FD600B8790B /* ConfigMain.h */,
292ABF9411838FD600B8790B /* Frame.cpp */, 292ABF9411838FD600B8790B /* Frame.cpp */,
@ -4075,8 +4061,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
292AC13011838FD700B8790B /* BPFunctions.cpp */, 292AC13011838FD700B8790B /* BPFunctions.cpp */,
292AC13111838FD700B8790B /* cocoaGL.h */,
292AC13211838FD700B8790B /* cocoaGL.m */,
292AC13311838FD700B8790B /* Debugger */, 292AC13311838FD700B8790B /* Debugger */,
292AC13611838FD700B8790B /* DLCache.cpp */, 292AC13611838FD700B8790B /* DLCache.cpp */,
292AC13711838FD700B8790B /* DLCache.h */, 292AC13711838FD700B8790B /* DLCache.h */,
@ -4159,8 +4143,6 @@
292AC16011838FD700B8790B /* BPMemLoader.h */, 292AC16011838FD700B8790B /* BPMemLoader.h */,
292AC16111838FD700B8790B /* Clipper.cpp */, 292AC16111838FD700B8790B /* Clipper.cpp */,
292AC16211838FD700B8790B /* Clipper.h */, 292AC16211838FD700B8790B /* Clipper.h */,
292AC16311838FD700B8790B /* cocoaGL.h */,
292AC16411838FD700B8790B /* cocoaGL.m */,
292AC16511838FD700B8790B /* CommandProcessor.cpp */, 292AC16511838FD700B8790B /* CommandProcessor.cpp */,
292AC16611838FD700B8790B /* CommandProcessor.h */, 292AC16611838FD700B8790B /* CommandProcessor.h */,
292AC16711838FD700B8790B /* CPMemLoader.cpp */, 292AC16711838FD700B8790B /* CPMemLoader.cpp */,
@ -4605,7 +4587,6 @@
292AC39A11838FD700B8790B /* BootManager.h in Headers */, 292AC39A11838FD700B8790B /* BootManager.h in Headers */,
292AC39C11838FD700B8790B /* CheatsWindow.h in Headers */, 292AC39C11838FD700B8790B /* CheatsWindow.h in Headers */,
292AC39E11838FD700B8790B /* cmdline.h in Headers */, 292AC39E11838FD700B8790B /* cmdline.h in Headers */,
292AC39F11838FD700B8790B /* cocoaApp.h in Headers */,
292AC3A211838FD700B8790B /* ConfigMain.h in Headers */, 292AC3A211838FD700B8790B /* ConfigMain.h in Headers */,
292AC3A411838FD700B8790B /* Frame.h in Headers */, 292AC3A411838FD700B8790B /* Frame.h in Headers */,
292AC3A811838FD700B8790B /* GameListCtrl.h in Headers */, 292AC3A811838FD700B8790B /* GameListCtrl.h in Headers */,
@ -4769,7 +4750,6 @@
292AC4F411838FD700B8790B /* TabControl.h in Headers */, 292AC4F411838FD700B8790B /* TabControl.h in Headers */,
292AC4F611838FD700B8790B /* Thread.h in Headers */, 292AC4F611838FD700B8790B /* Thread.h in Headers */,
292AC4F811838FD700B8790B /* XFStructs.h in Headers */, 292AC4F811838FD700B8790B /* XFStructs.h in Headers */,
292AC4FA11838FD700B8790B /* cocoaGL.h in Headers */,
292AC4FD11838FD700B8790B /* Debugger.h in Headers */, 292AC4FD11838FD700B8790B /* Debugger.h in Headers */,
292AC4FF11838FD700B8790B /* DLCache.h in Headers */, 292AC4FF11838FD700B8790B /* DLCache.h in Headers */,
292AC50111838FD700B8790B /* FramebufferManager.h in Headers */, 292AC50111838FD700B8790B /* FramebufferManager.h in Headers */,
@ -4790,7 +4770,6 @@
292AC52011838FD700B8790B /* XFB.h in Headers */, 292AC52011838FD700B8790B /* XFB.h in Headers */,
292AC52211838FD700B8790B /* BPMemLoader.h in Headers */, 292AC52211838FD700B8790B /* BPMemLoader.h in Headers */,
292AC52411838FD700B8790B /* Clipper.h in Headers */, 292AC52411838FD700B8790B /* Clipper.h in Headers */,
292AC52511838FD700B8790B /* cocoaGL.h in Headers */,
292AC52811838FD700B8790B /* CommandProcessor.h in Headers */, 292AC52811838FD700B8790B /* CommandProcessor.h in Headers */,
292AC52A11838FD700B8790B /* CPMemLoader.h in Headers */, 292AC52A11838FD700B8790B /* CPMemLoader.h in Headers */,
292AC52C11838FD700B8790B /* DebugUtil.h in Headers */, 292AC52C11838FD700B8790B /* DebugUtil.h in Headers */,
@ -5647,7 +5626,6 @@
292AC39911838FD700B8790B /* BootManager.cpp in Sources */, 292AC39911838FD700B8790B /* BootManager.cpp in Sources */,
292AC39B11838FD700B8790B /* CheatsWindow.cpp in Sources */, 292AC39B11838FD700B8790B /* CheatsWindow.cpp in Sources */,
292AC39D11838FD700B8790B /* cmdline.c in Sources */, 292AC39D11838FD700B8790B /* cmdline.c in Sources */,
292AC3A011838FD700B8790B /* cocoaApp.m in Sources */,
292AC3A111838FD700B8790B /* ConfigMain.cpp in Sources */, 292AC3A111838FD700B8790B /* ConfigMain.cpp in Sources */,
292AC3A311838FD700B8790B /* Frame.cpp in Sources */, 292AC3A311838FD700B8790B /* Frame.cpp in Sources */,
292AC3A511838FD700B8790B /* FrameAui.cpp in Sources */, 292AC3A511838FD700B8790B /* FrameAui.cpp in Sources */,
@ -5823,7 +5801,6 @@
292AC4F511838FD700B8790B /* Thread.cpp in Sources */, 292AC4F511838FD700B8790B /* Thread.cpp in Sources */,
292AC4F711838FD700B8790B /* XFStructs.cpp in Sources */, 292AC4F711838FD700B8790B /* XFStructs.cpp in Sources */,
292AC4F911838FD700B8790B /* BPFunctions.cpp in Sources */, 292AC4F911838FD700B8790B /* BPFunctions.cpp in Sources */,
292AC4FB11838FD700B8790B /* cocoaGL.m in Sources */,
292AC4FC11838FD700B8790B /* Debugger.cpp in Sources */, 292AC4FC11838FD700B8790B /* Debugger.cpp in Sources */,
292AC4FE11838FD700B8790B /* DLCache.cpp in Sources */, 292AC4FE11838FD700B8790B /* DLCache.cpp in Sources */,
292AC50011838FD700B8790B /* FramebufferManager.cpp in Sources */, 292AC50011838FD700B8790B /* FramebufferManager.cpp in Sources */,
@ -5845,7 +5822,6 @@
292AC51F11838FD700B8790B /* XFB.cpp in Sources */, 292AC51F11838FD700B8790B /* XFB.cpp in Sources */,
292AC52111838FD700B8790B /* BPMemLoader.cpp in Sources */, 292AC52111838FD700B8790B /* BPMemLoader.cpp in Sources */,
292AC52311838FD700B8790B /* Clipper.cpp in Sources */, 292AC52311838FD700B8790B /* Clipper.cpp in Sources */,
292AC52611838FD700B8790B /* cocoaGL.m in Sources */,
292AC52711838FD700B8790B /* CommandProcessor.cpp in Sources */, 292AC52711838FD700B8790B /* CommandProcessor.cpp in Sources */,
292AC52911838FD700B8790B /* CPMemLoader.cpp in Sources */, 292AC52911838FD700B8790B /* CPMemLoader.cpp in Sources */,
292AC52B11838FD700B8790B /* DebugUtil.cpp in Sources */, 292AC52B11838FD700B8790B /* DebugUtil.cpp in Sources */,

View File

@ -122,7 +122,7 @@ static const int gcDefaultControls[] =
0x00, // L semi-press 0x00, // L semi-press
0x00, // R semi-press 0x00, // R semi-press
}; };
#elif defined(HAVE_COCOA) && HAVE_COCOA #elif defined(__APPLE__)
// Reference for Cocoa key codes: // Reference for Cocoa key codes:
// http://boredzo.org/blog/archives/2007-05-22/virtual-key-codes // http://boredzo.org/blog/archives/2007-05-22/virtual-key-codes
{ {

View File

@ -42,9 +42,6 @@
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <X11/keysym.h> #include <X11/keysym.h>
#include <X11/XKBlib.h> #include <X11/XKBlib.h>
//no need for Cocoa yet, but I guess ayuanx isn't done yet.
//#elif defined(HAVE_COCOA) && HAVE_COCOA
// #include <Cocoa/Cocoa.h>
#endif #endif
#include "pluginspecs_pad.h" #include "pluginspecs_pad.h"

View File

@ -55,8 +55,6 @@ void OpenGL_SwapBuffers()
{ {
#if defined(USE_WX) && USE_WX #if defined(USE_WX) && USE_WX
GLWin.glCanvas->SwapBuffers(); GLWin.glCanvas->SwapBuffers();
#elif defined(HAVE_COCOA) && HAVE_COCOA
cocoaGLSwap(GLWin.cocoaCtx,GLWin.cocoaWin);
#elif defined(_WIN32) #elif defined(_WIN32)
SwapBuffers(hDC); SwapBuffers(hDC);
#elif defined(HAVE_X11) && HAVE_X11 #elif defined(HAVE_X11) && HAVE_X11
@ -78,8 +76,6 @@ void OpenGL_SetWindowText(const char *text)
{ {
#if defined(USE_WX) && USE_WX #if defined(USE_WX) && USE_WX
// GLWin.frame->SetTitle(wxString::FromAscii(text)); // GLWin.frame->SetTitle(wxString::FromAscii(text));
#elif defined(HAVE_COCOA) && HAVE_COCOA
cocoaGLSetTitle(GLWin.cocoaWin, text);
#elif defined(_WIN32) #elif defined(_WIN32)
// TODO convert text to unicode and change SetWindowTextA to SetWindowText // TODO convert text to unicode and change SetWindowTextA to SetWindowText
SetWindowTextA(EmuWindow::GetWnd(), text); SetWindowTextA(EmuWindow::GetWnd(), text);
@ -268,12 +264,6 @@ bool OpenGL_Create(SVideoInitialize &_VideoInitialize, int _iwidth, int _iheight
GLWin.glCanvas->SetCurrent(*GLWin.glCtxt); GLWin.glCanvas->SetCurrent(*GLWin.glCtxt);
#elif defined(HAVE_COCOA) && HAVE_COCOA
GLWin.width = s_backbuffer_width;
GLWin.height = s_backbuffer_height;
GLWin.cocoaWin = cocoaGLCreateWindow(GLWin.width, GLWin.height);
GLWin.cocoaCtx = cocoaGLInit(g_Config.iMultisampleMode);
#elif defined(_WIN32) #elif defined(_WIN32)
g_VideoInitialize.pWindowHandle = (void*)EmuWindow::Create((HWND)g_VideoInitialize.pWindowHandle, g_hInstance, _T("Please wait...")); g_VideoInitialize.pWindowHandle = (void*)EmuWindow::Create((HWND)g_VideoInitialize.pWindowHandle, g_hInstance, _T("Please wait..."));
if (g_VideoInitialize.pWindowHandle == NULL) if (g_VideoInitialize.pWindowHandle == NULL)
@ -415,8 +405,6 @@ bool OpenGL_MakeCurrent()
// connect the glx-context to the window // connect the glx-context to the window
#if defined(USE_WX) && USE_WX #if defined(USE_WX) && USE_WX
GLWin.glCanvas->SetCurrent(*GLWin.glCtxt); GLWin.glCanvas->SetCurrent(*GLWin.glCtxt);
#elif defined(HAVE_COCOA) && HAVE_COCOA
cocoaGLMakeCurrent(GLWin.cocoaCtx,GLWin.cocoaWin);
#elif defined(_WIN32) #elif defined(_WIN32)
return wglMakeCurrent(hDC,hRC); return wglMakeCurrent(hDC,hRC);
#elif defined(HAVE_X11) && HAVE_X11 #elif defined(HAVE_X11) && HAVE_X11
@ -437,11 +425,6 @@ void OpenGL_Update()
// TODO fill in // TODO fill in
#elif defined(HAVE_COCOA) && HAVE_COCOA
RECT rcWindow = {0};
rcWindow.right = GLWin.width;
rcWindow.bottom = GLWin.height;
#elif defined(_WIN32) #elif defined(_WIN32)
RECT rcWindow; RECT rcWindow;
if (!EmuWindow::GetParentWnd()) if (!EmuWindow::GetParentWnd())
@ -481,10 +464,6 @@ void OpenGL_Shutdown()
{ {
#if defined(USE_WX) && USE_WX #if defined(USE_WX) && USE_WX
delete GLWin.glCanvas; delete GLWin.glCanvas;
#elif defined(HAVE_COCOA) && HAVE_COCOA
cocoaGLDeleteWindow(GLWin.cocoaWin);
cocoaGLDelete(GLWin.cocoaCtx);
#elif defined(_WIN32) #elif defined(_WIN32)
if (hRC) // Do We Have A Rendering Context? if (hRC) // Do We Have A Rendering Context?
{ {

View File

@ -48,10 +48,6 @@
#elif defined(USE_SDL) && USE_SDL #elif defined(USE_SDL) && USE_SDL
#include <GL/glew.h> #include <GL/glew.h>
#include <SDL.h> #include <SDL.h>
#elif defined(HAVE_COCOA) && HAVE_COCOA
#include <GL/glew.h>
#include "cocoaGL.h"
#endif // end USE_WX #endif // end USE_WX
#if defined(__APPLE__) #if defined(__APPLE__)
@ -76,10 +72,7 @@
typedef struct { typedef struct {
int screen; int screen;
#if defined(HAVE_COCOA) && HAVE_COCOA #if defined(HAVE_X11) && HAVE_X11
NSWindow *cocoaWin;
NSOpenGLContext *cocoaCtx;
#elif defined(HAVE_X11) && HAVE_X11
Window win; Window win;
Window parent; Window parent;
Display *dpy; Display *dpy;
@ -87,8 +80,7 @@ typedef struct {
GLXContext ctx; GLXContext ctx;
XSetWindowAttributes attr; XSetWindowAttributes attr;
Common::Thread *xEventThread; Common::Thread *xEventThread;
#endif // X11 #elif defined(USE_WX) && USE_WX
#if defined(USE_WX) && USE_WX
wxGLCanvas *glCanvas; wxGLCanvas *glCanvas;
wxPanel *panel; wxPanel *panel;
wxGLContext *glCtxt; wxGLContext *glCtxt;

View File

@ -25,8 +25,6 @@ files = [
'PostProcessing.cpp', 'PostProcessing.cpp',
'FramebufferManager.cpp', 'FramebufferManager.cpp',
] ]
compileFlags = [
]
linkFlags = [ linkFlags = [
] ]
libs = [ libs = [
@ -48,12 +46,6 @@ if gfxenv['HAVE_WX']:
'Debugger/Debugger.cpp', 'Debugger/Debugger.cpp',
] ]
if gfxenv['HAVE_COCOA']:
files += [ 'cocoaGL.m' ]
compileFlags += [
'-x',
'objective-c++',
]
if sys.platform == 'win32': if sys.platform == 'win32':
files += [ 'OS/Win32.cpp' ] files += [ 'OS/Win32.cpp' ]
@ -105,7 +97,6 @@ if gfxenv['USE_WX'] and not gfxenv['HAVE_WX']:
print "Must have wx to use wxgl" print "Must have wx to use wxgl"
Return() Return()
gfxenv.Append( gfxenv.Append(
CXXFLAGS = compileFlags,
LINKFLAGS = linkFlags, LINKFLAGS = linkFlags,
) )

View File

@ -1,29 +0,0 @@
#import <Cocoa/Cocoa.h>
#import <OpenGL/CGLRenderers.h>
#ifdef __cplusplus
extern "C"
{
#endif
void cocoaGLCreateApp();
NSWindow *cocoaGLCreateWindow(int w,int h);
void cocoaGLSetTitle(NSWindow *win, const char *title);
void cocoaGLMakeCurrent(NSOpenGLContext *ctx, NSWindow *win);
NSOpenGLContext* cocoaGLInit(int mode);
void cocoaGLDelete(NSOpenGLContext *ctx);
void cocoaGLDeleteWindow(NSWindow *window);
void cocoaGLSwap(NSOpenGLContext *ctx,NSWindow *window);
#ifdef __cplusplus
}
#endif

View File

@ -1,149 +0,0 @@
#import "cocoaGL.h"
NSWindow *cocoaGLCreateWindow(int w,int h)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSWindow *window;
window = [[NSWindow alloc] initWithContentRect:NSMakeRect(50,50,w,h)
styleMask:NSTitledWindowMask | NSResizableWindowMask
backing:NSBackingStoreBuffered
defer:FALSE];
[window setReleasedWhenClosed: YES];
[window setTitle:@"Dolphin on OSX"];
//[window makeKeyAndOrderFront: nil];
[pool release];
return window;
}
void cocoaGLSetTitle(NSWindow *win, const char *title)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[win setTitle: [[[NSString alloc] initWithCString: title encoding: NSASCIIStringEncoding] autorelease]];
[pool release];
}
void cocoaGLMakeCurrent(NSOpenGLContext *ctx, NSWindow *win)
{
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];
int value = 0;
[ctx setValues:&value forParameter:NSOpenGLCPSwapInterval];
if (ctx) {
[ctx setView:[win contentView]];
[ctx update];
[ctx makeCurrentContext];
}
else
[NSOpenGLContext clearCurrentContext];
[pool release];
}
NSOpenGLContext* cocoaGLInit(int mode)
{
NSAutoreleasePool *pool;
NSOpenGLPixelFormatAttribute attr[32];
NSOpenGLPixelFormat *fmt;
NSOpenGLContext *context;
int i = 0;
pool = [[NSAutoreleasePool alloc] init];
attr[i++] = NSOpenGLPFADepthSize;
attr[i++] = 24;
attr[i++] = NSOpenGLPFADoubleBuffer;
attr[i++] = NSOpenGLPFASampleBuffers;
attr[i++] = mode;
attr[i++] = NSOpenGLPFASamples;
attr[i++] = 1;
attr[i++] = NSOpenGLPFANoRecovery;
#ifdef GL_VERSION_1_3
#else
#ifdef GL_VERSION_1_2
#warning "your card only supports ogl 1.2, dolphin will use software renderer"
//if opengl < 1.3 uncomment this twoo lines to use software renderer
attr[i++] = NSOpenGLPFARendererID;
attr[i++] = kCGLRendererGenericFloatID;
#endif
#endif
attr[i++] = NSOpenGLPFAScreenMask;
attr[i++] = CGDisplayIDToOpenGLDisplayMask(CGMainDisplayID());
attr[i] = 0;
fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr];
if (fmt == nil) {
printf("failed to create pixel format\n");
[pool release];
return NULL;
}
context = [[NSOpenGLContext alloc] initWithFormat:fmt shareContext:nil];
[fmt release];
if (context == nil) {
printf("failed to create context\n");
[pool release];
return NULL;
}
[pool release];
return context;
}
void cocoaGLDelete(NSOpenGLContext *ctx)
{
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];
[ctx clearDrawable];
[ctx release];
[pool release];
}
void cocoaGLDeleteWindow(NSWindow *window)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[window close];
[pool release];
return;
}
void cocoaGLSwap(NSOpenGLContext *ctx,NSWindow *window)
{
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];
[window makeKeyAndOrderFront: nil];
ctx = [NSOpenGLContext currentContext];
if (ctx != nil)
[ctx flushBuffer];
else
printf("bad cocoa gl ctx\n");
[pool release];
}

File diff suppressed because it is too large Load Diff

View File

@ -1,148 +1,141 @@
// Copyright (C) 2003-2009 Dolphin Project. // Copyright (C) 2003-2009 Dolphin Project.
// This program is free software: you can redistribute it and/or modify // This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0. // the Free Software Foundation, version 2.0.
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details. // GNU General Public License 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program. // A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/ // If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at // Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/ // http://code.google.com/p/dolphin-emu/
#ifndef _GLINIT_H_ #ifndef _GLINIT_H_
#define _GLINIT_H_ #define _GLINIT_H_
#if defined GLTEST && GLTEST #if defined GLTEST && GLTEST
#include "nGLUtil.h" #include "nGLUtil.h"
#else #else
#include "Common.h" #include "Common.h"
#include <string> #include <string>
#include "VideoConfig.h" #include "VideoConfig.h"
#include "pluginspecs_video.h" #include "pluginspecs_video.h"
#ifdef _WIN32 #ifdef _WIN32
#define GLEW_STATIC #define GLEW_STATIC
#include <GLew/glew.h> #include <GLew/glew.h>
#include <GLew/wglew.h> #include <GLew/wglew.h>
#include <GLew/gl.h> #include <GLew/gl.h>
#include <GLew/glext.h> #include <GLew/glext.h>
#else // linux basic definitions #else // linux basic definitions
#if defined(USE_WX) && USE_WX #if defined(USE_WX) && USE_WX
#include <GL/glew.h> #include <GL/glew.h>
#include "wx/wx.h" #include "wx/wx.h"
#include "wx/glcanvas.h" #include "wx/glcanvas.h"
#undef HAVE_X11 #undef HAVE_X11
#elif defined(HAVE_X11) && HAVE_X11 #elif defined(HAVE_X11) && HAVE_X11
#define I_NEED_OS2_H // HAXXOR #define I_NEED_OS2_H // HAXXOR
#include <GL/glxew.h> #include <GL/glxew.h>
#include <X11/XKBlib.h> #include <X11/XKBlib.h>
#elif defined(USE_SDL) && USE_SDL #elif defined(USE_SDL) && USE_SDL
#include <GL/glew.h> #include <GL/glew.h>
#include <SDL.h> #include <SDL.h>
#elif defined(HAVE_COCOA) && HAVE_COCOA #endif // end USE_WX
#include <GL/glew.h>
#include "cocoaGL.h" #if defined(__APPLE__)
#endif // end USE_WX #include <OpenGL/gl.h>
#else
#if defined(__APPLE__) #include <GL/gl.h>
#include <OpenGL/gl.h> #endif
#else
#include <GL/gl.h> #endif // linux basic definitions
#endif
#ifndef GL_DEPTH24_STENCIL8_EXT // allows FBOs to support stencils
#endif // linux basic definitions #define GL_DEPTH_STENCIL_EXT 0x84F9
#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
#ifndef GL_DEPTH24_STENCIL8_EXT // allows FBOs to support stencils #define GL_DEPTH24_STENCIL8_EXT 0x88F0
#define GL_DEPTH_STENCIL_EXT 0x84F9 #define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
#define GL_UNSIGNED_INT_24_8_EXT 0x84FA #endif
#define GL_DEPTH24_STENCIL8_EXT 0x88F0
#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 #ifndef _WIN32
#endif #if defined(HAVE_X11) && HAVE_X11
#include <X11/Xlib.h>
#ifndef _WIN32 #include <X11/Xutil.h>
#if defined(HAVE_X11) && HAVE_X11 #include <X11/keysym.h>
#include <X11/Xlib.h> #endif // X11
#include <X11/Xutil.h>
#include <X11/keysym.h> #include <sys/stat.h>
#endif // X11 #include <sys/types.h>
#include <sys/stat.h> typedef struct {
#include <sys/types.h> int screen;
#if defined(HAVE_X11) && HAVE_X11
typedef struct { Window win;
int screen; Window parent;
#if defined(HAVE_COCOA) && HAVE_COCOA Display *dpy;
NSWindow *cocoaWin; GLXContext ctx;
NSOpenGLContext *cocoaCtx; XSetWindowAttributes attr;
#elif defined(HAVE_X11) && HAVE_X11 #elif defined(USE_WX) && USE_WX
Window win; wxGLCanvas *glCanvas;
Window parent; wxFrame *frame;
Display *dpy; wxGLContext *glCtxt;
GLXContext ctx; #endif
XSetWindowAttributes attr; int x, y;
#endif // X11 unsigned int width, height;
#if defined(USE_WX) && USE_WX unsigned int depth;
wxGLCanvas *glCanvas; } GLWindow;
wxFrame *frame;
wxGLContext *glCtxt; extern GLWindow GLWin;
#endif
int x, y; #endif
unsigned int width, height;
unsigned int depth; // Public OpenGL util
} GLWindow;
// Initialization / upkeep
extern GLWindow GLWin; bool OpenGL_Create(SVideoInitialize &_VideoInitialize, int _width, int _height);
void OpenGL_Shutdown();
#endif void OpenGL_Update();
bool OpenGL_MakeCurrent();
// Public OpenGL util void OpenGL_SwapBuffers();
// Initialization / upkeep // Get status
bool OpenGL_Create(SVideoInitialize &_VideoInitialize, int _width, int _height); u32 OpenGL_GetBackbufferWidth();
void OpenGL_Shutdown(); u32 OpenGL_GetBackbufferHeight();
void OpenGL_Update();
bool OpenGL_MakeCurrent(); // Set things
void OpenGL_SwapBuffers(); void OpenGL_SetWindowText(const char *text);
// Get status // Error reporting - use the convenient macros.
u32 OpenGL_GetBackbufferWidth(); void OpenGL_ReportARBProgramError();
u32 OpenGL_GetBackbufferHeight(); GLuint OpenGL_ReportGLError(const char *function, const char *file, int line);
bool OpenGL_ReportFBOError(const char *function, const char *file, int line);
// Set things
void OpenGL_SetWindowText(const char *text); #if 1
#define GL_REPORT_ERROR() OpenGL_ReportGLError (__FUNCTION__, __FILE__, __LINE__)
// Error reporting - use the convenient macros. #define GL_REPORT_PROGRAM_ERROR() OpenGL_ReportARBProgramError()
void OpenGL_ReportARBProgramError(); #define GL_REPORT_FBO_ERROR() OpenGL_ReportFBOError (__FUNCTION__, __FILE__, __LINE__)
GLuint OpenGL_ReportGLError(const char *function, const char *file, int line); #else
bool OpenGL_ReportFBOError(const char *function, const char *file, int line); #define GL_REPORT_ERROR() GL_NO_ERROR
#define GL_REPORT_PROGRAM_ERROR()
#if 1 #define GL_REPORT_FBO_ERROR()
#define GL_REPORT_ERROR() OpenGL_ReportGLError (__FUNCTION__, __FILE__, __LINE__) #endif
#define GL_REPORT_PROGRAM_ERROR() OpenGL_ReportARBProgramError()
#define GL_REPORT_FBO_ERROR() OpenGL_ReportFBOError (__FUNCTION__, __FILE__, __LINE__) #if defined(_DEBUG) || defined(DEBUGFAST)
#else #define GL_REPORT_ERRORD() OpenGL_ReportGLError(__FUNCTION__, __FILE__, __LINE__)
#define GL_REPORT_ERROR() GL_NO_ERROR #else
#define GL_REPORT_PROGRAM_ERROR() #define GL_REPORT_ERRORD()
#define GL_REPORT_FBO_ERROR() #endif
#endif
#endif // GLTEST ??
#if defined(_DEBUG) || defined(DEBUGFAST)
#define GL_REPORT_ERRORD() OpenGL_ReportGLError(__FUNCTION__, __FILE__, __LINE__) #endif // _GLINIT_H_
#else
#define GL_REPORT_ERRORD()
#endif
#endif // GLTEST ??
#endif // _GLINIT_H_

View File

@ -53,9 +53,6 @@ conf = gfxenv.Configure(custom_tests = tests,
if sys.platform == 'darwin': if sys.platform == 'darwin':
gfxenv['FRAMEWORKS'] = ['CoreFoundation', 'System', 'OpenGL', 'Cocoa', 'Cg'] gfxenv['FRAMEWORKS'] = ['CoreFoundation', 'System', 'OpenGL', 'Cocoa', 'Cg']
compileFlags = ['-x','objective-c++',]
files += [ 'cocoaGL.m', ]
conf.CheckPKG('OpenGL') conf.CheckPKG('OpenGL')
if gfxenv['HAVE_OPENCL']: if gfxenv['HAVE_OPENCL']:
gfxenv['FRAMEWORKS'] += ['OpenCL'] gfxenv['FRAMEWORKS'] += ['OpenCL']

View File

@ -1,29 +0,0 @@
#import <Cocoa/Cocoa.h>
#import <OpenGL/CGLRenderers.h>
#ifdef __cplusplus
extern "C"
{
#endif
void cocoaGLCreateApp();
NSWindow *cocoaGLCreateWindow(int w,int h);
void cocoaGLSetTitle(NSWindow *win, const char *title);
void cocoaGLMakeCurrent(NSOpenGLContext *ctx, NSWindow *win);
NSOpenGLContext* cocoaGLInit(int mode);
void cocoaGLDelete(NSOpenGLContext *ctx);
void cocoaGLDeleteWindow(NSWindow *window);
void cocoaGLSwap(NSOpenGLContext *ctx,NSWindow *window);
#ifdef __cplusplus
}
#endif

View File

@ -1,149 +0,0 @@
#import "cocoaGL.h"
NSWindow *cocoaGLCreateWindow(int w,int h)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSWindow *window;
window = [[NSWindow alloc] initWithContentRect:NSMakeRect(50,50,w,h)
styleMask:NSTitledWindowMask | NSResizableWindowMask
backing:NSBackingStoreBuffered
defer:FALSE];
[window setReleasedWhenClosed: YES];
[window setTitle:@"Dolphin on OSX"];
//[window makeKeyAndOrderFront: nil];
[pool release];
return window;
}
void cocoaGLSetTitle(NSWindow *win, const char *title)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[win setTitle: [[[NSString alloc] initWithCString: title encoding: NSASCIIStringEncoding] autorelease]];
[pool release];
}
void cocoaGLMakeCurrent(NSOpenGLContext *ctx, NSWindow *win)
{
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];
int value = 0;
[ctx setValues:&value forParameter:NSOpenGLCPSwapInterval];
if (ctx) {
[ctx setView:[win contentView]];
[ctx update];
[ctx makeCurrentContext];
}
else
[NSOpenGLContext clearCurrentContext];
[pool release];
}
NSOpenGLContext* cocoaGLInit(int mode)
{
NSAutoreleasePool *pool;
NSOpenGLPixelFormatAttribute attr[32];
NSOpenGLPixelFormat *fmt;
NSOpenGLContext *context;
int i = 0;
pool = [[NSAutoreleasePool alloc] init];
attr[i++] = NSOpenGLPFADepthSize;
attr[i++] = 24;
attr[i++] = NSOpenGLPFADoubleBuffer;
attr[i++] = NSOpenGLPFASampleBuffers;
attr[i++] = mode;
attr[i++] = NSOpenGLPFASamples;
attr[i++] = 1;
attr[i++] = NSOpenGLPFANoRecovery;
#ifdef GL_VERSION_1_3
#else
#ifdef GL_VERSION_1_2
#warning "your card only supports ogl 1.2, dolphin will use software renderer"
//if opengl < 1.3 uncomment this twoo lines to use software renderer
attr[i++] = NSOpenGLPFARendererID;
attr[i++] = kCGLRendererGenericFloatID;
#endif
#endif
attr[i++] = NSOpenGLPFAScreenMask;
attr[i++] = CGDisplayIDToOpenGLDisplayMask(CGMainDisplayID());
attr[i] = 0;
fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr];
if (fmt == nil) {
printf("failed to create pixel format\n");
[pool release];
return NULL;
}
context = [[NSOpenGLContext alloc] initWithFormat:fmt shareContext:nil];
[fmt release];
if (context == nil) {
printf("failed to create context\n");
[pool release];
return NULL;
}
[pool release];
return context;
}
void cocoaGLDelete(NSOpenGLContext *ctx)
{
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];
[ctx clearDrawable];
[ctx release];
[pool release];
}
void cocoaGLDeleteWindow(NSWindow *window)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[window close];
[pool release];
return;
}
void cocoaGLSwap(NSOpenGLContext *ctx,NSWindow *window)
{
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];
[window makeKeyAndOrderFront: nil];
ctx = [NSOpenGLContext currentContext];
if (ctx != nil)
[ctx flushBuffer];
else
printf("bad cocoa gl ctx\n");
[pool release];
}