Set «Release» as the default build type. Also cleaned up the CMakeLists.txt file a bit.
Edited wiki page Linux_dependencies through web user interface.
Pretty much rewrote this thing. Updated dependencies and added cmake
Improve the compiler flags for the cmake build system. -fPIC only needs to be specified for static libraries that are linked into shared libraries. cmake automatically uses -fPIC for shared libraries. Also ported several other needed compiler flags from the scons build. Set up the debug build, enabled with «-D CMAKE_BUILD_TYPE=Release», to work with wxWidgets debugging.
Note that most users will want to use the release build to get a -O3 optimized build. This can be enabled by adding «-D CMAKE_BUILD_TYPE=Release».
config.h is only created on Unix.
Add the c++ definition HAVE_CONFIG_H in the scons build and check it before including config.h so the cmake build system doesn’t need to worry about conflicts from that file if it exists.
r6346 x86 – скачать, зеркало
r6346 x64 – скачать, зеркало
Okay. Big (possible controversial changes) to the cmake build system.
I am officially killing the local/global build crap. The «local» build thing should never have existed. There is now only one build that is essentially what the «global» build was before. This is the way a proper build system should work. I will soon write a wiki page to describe how to properly use the cmake build system, and how you can still set things up to get the «local» build from before. However, that type of build should be considered a developer tool, and not the way that dolphin-emu should be built.
Briefly, to use cmake now do the following from the toplevel of dolphin’s source:
make install (you may need superuser privileges)
Note that the scons build is still building dolphin in the old way.
r6341 x86 – скачать, зеркало
r6341 x64 – скачать, зеркало
fix for r6337: don’t restore cached settings if a gameconfig was not used.
Removed one of the extraneous conditions from JIT64 UnsafeLoadToEAX.
More cmake work.
Added autodetection of shared libraries.
Added a check for Xrandr.
Fix OpenAL linkage.
Copy User and Sys directories to lower case in the binary directory.
r6340 x86 – скачать, зеркало
r6340 x64 – скачать, зеркало
hackfix for per-game settings overriding the main settings. This quick and dirty hack goes out to billiard in return for his own generous hacks. fixes issue 3004. it’s a hack, so it should be replaced with a more sane method…
gray out ntsc-j option during emulation
Make NTSC-J setting an option. This allows games which use Japanese ROM fonts to work correctly. Unfortunately trying to autodetect when to enable this setting is not good enough.
Also move Progressive Scan option to main display settings, since it affects both GC and Wii.
Fix some linkage issues with the cmake build system.
Also X11 is required on *nix systems.
GTK2 is required for building the wxWidgets builds on *nix systems.
Added a check for pulseaudio.
unbreak japanese rom font, broken by r6297
r6337 x86 – скачать, зеркало
r6337 x64 – скачать, зеркало
JIT fix for the lfs instruction in x64 builds. Fixes Ultimate Spider-man.
Added NullSound to CMake without typo
Added NullSound to CMake
Re-implemented the NullSound back-end. Allows Dolphin to be used on hosts with no sound hardware. Emulates strict DSP timing in the DSP HLE plugin.
Allow the game to set the DSP sample rate. Fixes Bomberman Generation.
Fixes issue 2523.
r6332 x86 – скачать, зеркало
r6332 x64 – скачать, зеркало
DX9/DX11: Fix and simplify ClearScreen. At least fixes a small glitch in Super Mario Sunshine with DX11, might fix several other things as well in both plugins though (so test this, please!)
Explanation of this commit: We only have to care about four BP registers in ClearScreen, the remaining API state should be reset. The colorEnable and alphaEnable parameters are obsolete, for some reason directly using them caused the SMS glitch with DX11 (because of that bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24 check in BPFunctions.cpp, is this one actually correct?)
The comment in BPFunctions.cpp was at least misleading (if not even wrong), so I removed it.
For what it’s worth, someone needs to port this to the OpenGL and Software plugins (unless they’re doing this properly already)
Add an experimental CMake build system as a possible replacement for SCons. Only tested on Linux, should work on OS X and Windows in the future as well though.
Some notes about this:
— config.h doesn’t get written yet, so you’ll have to use one generated by SCons
— dependency checking isn’t really implemented, yet. Just some basic checks for OpenGL or ALSA, we need something more sophisticated though.
— the OpenGL plugin fails to load for some reason which I can’t debug right now due to the libc debuginfo package version in openSUSE not matching the runtime packages
— there’s even some support for generating install packages (rpm/deb/.. packages, NSIS installer, etc). It doesn’t work properly right now though, since some paths seem to be hardcoded into Dolphin’s source
— probably lots of other stuff I forgot… Just take a look at all the TODOs in the CMakeLists.txt files for more information ;P
Additionally, I added various files to the svn:ignore list.
tl;dr: Unless you are a dev or you’re building binary packages, this commit shouldn’t bother you :P
r6327 x86 – скачать, зеркало
r6327 x64 – скачать, зеркало
Core/DSPCore: Extended opcode handling fixes
* Make writeToBackLog private to DSPIntExtOps.cpp
(JIT variants of ‘l and ‘ln are disabled and broken as is)
* Make zeroing of the backlog conditional on doing an interpreter fallback and
do it at a few more places
* Fix selection of cleanup for extended opcodes.
* Fix the DSP unit tests to correctly emit the function prolog/epilog
(else EBX wouldn’t be saved)
* Add a few more DSP unit tests
r6325 x86 – скачать, зеркало
r6325 x64 – скачать, зеркало
Attempt to fix real wiimote delay issues experienced by some. (Issue 3428)
Only enable shader dumping in Debug/DebugFast builds since the required information isn’t available in Release builds due to performance reasons.
DX9, Debugger: Implement pixel/vertex shader and texture dumping.
r6324 x86 – скачать, зеркало
r6324 x64 – скачать, зеркало
Remove vestiges of standalone memcard manager build.
remove standalone MemcardManager, now has its own repo
add some svn:ignores (windows build dirs)
VideoCommon: Properly upscale the mantissa of some fog params.
Might fix games with minor gfx glitches, try e.g. Super Mario Sunshine or Super Mario Galaxy 2.
r6321 x86 – скачать, зеркало
r6321 x64 – скачать, зеркало
Gah, need _both_ -search_paths_first and -Z.
Re-establish /usr/lib priority over /usr/local/lib using -Z instead
of -search_paths_first which doesn’t play well with —sysroot.
r6318 x86 – скачать, зеркало
r6318 x64 – скачать, зеркало