Commit Graph

698 Commits

Author SHA1 Message Date
Soren Jorvang 61bd545f80 A little iterator bug and a compiler warning in the OpenGL code.
Use -fvisibility-inlines-hidden on OS X as well.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5875 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-12 20:11:19 +00:00
Soren Jorvang addb89fecc Allow full-length Unix pathnames.
Move bits of HAVE_OPENCL/HAVE_WX for OS X from SConstruct to header files.

Use /usr/lib/libz on OS X now that we no longer have -L/opt/local/lib in
the library path. It is still possible that we could pick up a libz in
/usr/local/lib that would make the application non-redistributable, but
the danger is much less than previously.

Also bits of minor portability cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5868 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-10 21:17:08 +00:00
Soren Jorvang 2bcdf4f5a4 Remove NSAutoreleasePools that are no longer necessary now that pools
are properly declared at thread entry/exit. I am leaving the ones in
Wiiuse while there's still a small hope that it may be used outside of
Dolphin, though.

Move the fixed MAP_32BIT definition for OS X to Common.h.

UDPNunchuk.cpp was deleted, so update the scons build.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5864 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 22:31:04 +00:00
Soren Jorvang 0284a7a1df Some more attempts at cleaning up the scons build and more clearly
identifying which options and parameters go with which platforms etc.

OS X, like Windows, now no longer uses Config.h. Configure() is still
used for the wx-config parameters, but that is a temporary measure.

Globals.cpp has never been used.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5860 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 01:26:53 +00:00
Soren Jorvang 1d535c9e50 Forgot to add Version.cpp in previous.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5853 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 15:44:39 +00:00
Soren Jorvang 39ae36398f Copy the version string obtained from svnversion at runtime instead of
using it as a constant in several places. Saves a few bytes and the time
it takes to recompile a bunch of files whenever svnversion twitches.

Using the SVN version string as an integer is not portable as the Unix
svnversion always includes e.g. the "M" suffix for a modified tree.

Windows people, please check my change to Plugin_VideoDX9/Src/main.cpp
as I don't really understand how _T() and the %hs format string work.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5852 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-08 15:25:01 +00:00
Glenn Rice 0ad71eda6b Revise the way that cdrom and dvd rom drives are identified in linux to remove reduntant drive listings. Also no longer checking mount points (in fstap and mtab). This can give redundant listings, and GC/Wii backup discs can not be mounted anyway. This prevents multiple listings from appearing in the GameListCtrl when "Show Drives" is selected.
Some general code cleanup, and removed a PanicAlert (made it a NOTICE_LOG instead) so that only one panic alert is shown when attempting to load from dvd/cdrom drives, and none are shown when "Show Drives" is selected from the menu.  

Also removed the hack introduced in revision 5564 that prevents the GameListCtrl from being properly updated when a game is loaded from the command line or via the autostart feature of the debugger.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5848 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-07 19:47:45 +00:00
Glenn Rice 0e2b4d8306 Implement proper thread naming on linux. This fixes a segmentation fault with thte wiimote new configuration dialog when a thread was named without first calling ThreadInit.
Also take care of some more eols.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5843 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 16:16:07 +00:00
luisr142004 e9e12ff100 cleanup + some eolz
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5842 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 13:14:51 +00:00
Glenn Rice e34a8baa82 Fix a segmentation fault when attempting to load an invalid plugin.
Removed an erroneous fprintf.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5828 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-03 16:47:49 +00:00
Rodolfo Osvaldo Bogado 12a676c273 this is a pure optimization commit:
return to the  old values in constants in pixelshader, the old values give mi 3 or 4 fps more,(maybe some kind of compiler optimization) in some games and with the current algorithm i notice no difference with this values, please report any problem.
optimizes SSAA to make it a little faster and, the quality should be the same but with a little speedup.
change the way the frame is processed depending is xfb is enabled or not to make this a little faster.
please test and report any problem

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5820 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-02 17:09:53 +00:00
j4ck.fr0st 89c4068663 Fix a bug in DSP Jit where branches had a blockSize of zero.
Add some useful checking to J_CC/SetJumpTarget.
Refactor increment/decrement and reuse code with increase/decrease.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5816 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-30 16:17:20 +00:00
Rodolfo Osvaldo Bogado a52d2f0ccc little fix for may last commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5813 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 16:54:15 +00:00
Rodolfo Osvaldo Bogado d511b50612 this commit is divided in 4 parts:
1 - Optimize pixelshadergen to avoid redundant register overflow math, with this if a game don't need this will be not applied.
this must bring some fill rate back and improve speed a little in fill rate limited systems.
2- some corrections to vertexshadergen to avoid uninitialized texture coordinates, dono if is the correct way to fix it but t least it will make house of the dead overkill playable in dx11.
the bad thing: still missing geometri in dx9, in dx11 it works exactly as on opengl.
3 - some optimization made to improve fps a little wih the latests changes made to fifo.
* back to the original code in beginfield as now it will work right.
* check for efb access more often as a lot of time is lost waiting for efb access
4 - apply a little fix for missing textures in nvidia opengl tanks to  Wagnard28 for finding that nvidia does not like invalid shader id :)
please test for any regression

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5812 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 14:40:37 +00:00
Soren Jorvang 4afe48a0fb Check for weakly linked OpenCL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5811 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 10:23:40 +00:00
Orphis 685bae34e5 Dynamically load OpenCL on Windows with CLRun. There shouldn't be the need to make a separate build now or download a big SDK to link Dolphin.
If compilation fails, rebuild the whole solution as Visual Studio struggles with the not so complex project dependencies.
ATI users still need to install the Stream SDK as it's the only way to have an OpenCL driver.
NVidia users just have to install a recent driver (version 197 is tested and working).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5808 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 02:23:09 +00:00
Glenn Rice 8bfb17bba1 Config.h needs to be included in CommonPaths.h because CommonPaths.h is included in Common.h before Config.h is. If you want to find an alternate way to fix this so that Config.h is only included in Common.h watch for circular inclusions next time.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5801 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 14:54:43 +00:00
Soren Jorvang 7ce5e5d1bd Config.h should never be included directly, but rather through Common.h
for portability.

(It is a bit unfortunate that some of the plugins have a Config.h of
their own, which can confuse this matter.)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5795 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:11:34 +00:00
Marcos Vitali 10b5d2371c My first commit :D
Dual Core sync fix.
When the FIFO is processing data we must not advance the cpu cycles in CoreTiming because in this way the VI will be desynchronized. So, We are waiting until the FIFO finish and while we process only the events required by the FIFO.
This should fix Issue 2072 .
This affect to all games in dual core mode.
Please, You can test all games with VPS limiter auto, 60, 50 depending of the game and compare with prev revision.
For example now NSMB in the video Intro has 60 fps (prev 30 fps) :D or SMG does't need anymore FPS Limitter Hack to get 55-60 fps
Beside the slowdowns now are more softly and the fps more stables because the VI sync is almost perfect.
The Core Timing and Fifo modifications are delicated. Please report if this hang any game. Don't forget check with prev revision.
Enjoy it! Thanks to Rodolfo for teach me all about dolphin.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5777 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-24 13:28:54 +00:00
Orphis 2cc5b98f07 Added OpenCL texture decoding to RGBA usable by DX11 for formats RGB565, RGBA8, RGB5A3 and CMPR
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5765 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-22 03:10:43 +00:00
snzgoo 6e83fe2416 win32: Some more work on real wiimote automatic ingame pairup (automatic paired up wiimotes get connected now ingame as well, but it's not completely working yet, we're almost there tho:P) and changed the automatic unpair real wiimotes routine, so it won't get loaded via dll_detach anymore.
minor code changes and adding comments.
And issue fix 2792 with credits to Karloathian for finding and fixing it.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5750 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-20 02:17:53 +00:00
hrydgard ccbc1feb0b D3D9: Fix issue where the shader caches were lost whenever the render window was resized. Add some error logging to LinearDiskCache. + some minor cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5747 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-19 16:22:24 +00:00
ayuanx 221e722284 Linux build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5725 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 14:22:17 +00:00
Rodolfo Osvaldo Bogado cb1694252b more bug fix in dx11:
fixed screen clearing and simplify drawClearQuad a little
put some nice code from dx11 that i like in dx9.
modify plugin spec preparing for implementing efb poke (is not used often but is a missing functionality so..)
please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5710 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 21:19:09 +00:00
Rodolfo Osvaldo Bogado fc12291806 some fixes to my last commit and ....
modify shader generator to produce native sm 4.0 code.
eliminate compatibility mode in dx11 so now all shader must work much better.
please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5691 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 14:36:01 +00:00
Rodolfo Osvaldo Bogado 41266b5ed0 fast fix for pixel shader compilation in dx11
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5687 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 03:09:44 +00:00
Glenn Rice 43076bdb91 Oops, that wasn't supposed to be in there.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5677 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-13 14:52:11 +00:00
Glenn Rice 9123ae3230 Fix pad configuration dialog on linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5676 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-13 14:49:49 +00:00
hrydgard 8cae2fee56 Merge the pad plugin into Dolphin. Since there's only one plugin left under active development, and it's awesome, we no longer have a need for a pad plugin mechanism.
In the future if we merge wiimote too, this will bring the advantage that the two will be able to cooperate, to no longer fight over control of input devices which can sometimes cause problems.

Thanks shuffle2 for the patience.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5670 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-13 09:14:40 +00:00
NeoBrainX a6ebc8234f Preparing stuff for DX11:
- be more strict with the input signature of generated pixel shaders
- replace the D3D parameter with an API_TYPE one, so that we can further distinguish between DX9 and DX11
- for what it's worth dx11 (using vs_4_0) doesn't support D3DCOLORtoUBYTE4; added a workaround for this
- add a "dx9-" prefix to the shader cache files to avoid conflicts with dx11 shaders

Apart from that we're calling CommandProcessor::Shutdown() in main.cpp,Shutdown() now.
Delete all files in User/ShaderCache if you want to save a few KB disk space :P


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5659 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-12 15:49:21 +00:00
Rodolfo Osvaldo Bogado f0d178122e revert my last change to vertex manager as the performance difference is negligible an causes performance drop in higher definitions
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5658 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-12 15:38:42 +00:00
Rodolfo Osvaldo Bogado ce3c2700e7 This commit is separate in two parts:
Fix: fix for lighting equations , that must improve lighting in a lot of games (  test smg :) )
experimental speedup: implemented alpha pass using stencil buffer instead of a duplicate shader. i recommend to test this well as i dono if will work the same way in all the systems. i my system it gives a nice 2-5 fps improvement. if it brings problems in any system or game will revert asap.
enjoy

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5653 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-12 12:36:33 +00:00
Soren Jorvang 404c625622 Simplify the SCons build:
On OS X, build all code as Objective-C(++).

Centralize framework handling.

Cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5645 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-10 14:18:21 +00:00
hrydgard 5845ff6728 build fixin', warning fixin'.
Thanks soren for the macosx fixes, this fixes the windows build and eliminates some warning from the same.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5643 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 21:19:23 +00:00
Soren Jorvang 5c335a8c85 Fixed WXKeyToString which had several problems, mostly just to get
hotkey configuration working with wx 2.9, but it turned out to be
too tempting to use it to hack up OS X keyboard support using wx
key events in the "old" input plugins.

It was with some reluctance that I used PAD_Input (and copied it
for Wiimote as well) as that is clearly a deprecated interface,
but this way the hack is contained within the old plugins for when
the switchover to ControllerInterface happens.

The idea is to provide stable keyboard support on OS X for both
GCPad and Wiimote while we debug HID keyboard and real 'mote code.

It works pretty well, although the wx approach does impose a few
limitations like no arrow keys and left/right side modifier keys
are considered equivalent.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5622 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 19:03:37 +00:00
Soren Jorvang 7d0f03cb61 Don't store the absolute pathname of plugins in the configuration file,
just the basename like libPlugin_foo.dylib. Dolphin then loads the
plugins relative to the compiled-in plugins directory.

This means that you won't have to reselect the plugins when running 
different builds (in different directories) and is most obviously
beneficial on OS X where application bundles are not (should not) be
expected to stay in the place where they are first installed.

This is tested on OS X and Linux with local/global build options, but
not Windows. I don't anticipate any problems on Windows, but that OS
does have slightly different semantics with regard to path component
separators and file suffixes, so it's something to watch out for.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5621 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 18:52:56 +00:00
Jordan Woyak 656ff26ed8 New GCPad/Wiimote: Enabled SDL 1.2 on the Windows build to support some gamepads that weren't working with DirectInput. Made DirectInput use (and prefer) buffered data rather than polled data (some gamepads should work better). In GUI: Changed all numeric wxChoice to wxSpinCtrl (config dialog opens much faster), removed "+" buttons, made UI more compact. Fixed a few problems that were introduced with the IniFile change. Made minor changes to IniFile.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5619 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 05:30:23 +00:00
luisr142004 2e783d9769 space changes, merge #defines, language fix, and code reorder/cleanup :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5614 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 01:38:22 +00:00
Rodolfo Osvaldo Bogado c98f8a96d2 HUGE commit :)
in general cleanup and bugfix disable pierre  patch for the moment as it causes problem in some games and hopefully fix the remaining missing textures for nvidia users in opengl.
make the code in pixelshadergen looks nice and readable.
D3D: this is a ultra experimental commit please check for regressions or error.
make the efb Scale / super sampling level customizable to improve the output quality and let the user configure quality according to his hardware.
is everyone likes this change will translate it to opengl
please test


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5612 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 00:01:18 +00:00
Soren Jorvang b6a281eaff Nits.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5606 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 20:54:13 +00:00
hrydgard 05c418ebe2 Refactor the original and much more compatible IniFile implementation to work more like Billiard's, with a public Section interface, but keep the old interface as well.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5603 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 19:56:34 +00:00
hrydgard 5539dd4e8b Gamelist loading speedup: Be lazy about parsing the file system - it's not necessary for Wii games since the banners are external (in savegames). Also make it possible for the gamelist code to create cache entries for GC images without banners.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5595 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 20:37:32 +00:00
Soren Jorvang 49bbbe099d Cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5593 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 19:15:15 +00:00
Soren Jorvang 4a18908c57 Reapply r5586 and r5587:
Have lint mean -Werror at least until the issue with
-Warray-bounds and -Wunused-result can be resolved.

Avoid producing empty object files:

CoreRecording.cpp is not configured through the build system,
so just give it a dummy symbol when it's not compiled in.
ChunkFile.cpp and DSPBreakpoints.cpp are no longer used.
ExtendedTrace.cpp is Windows-only.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5592 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 18:49:35 +00:00
hrydgard a3c96ac42c Warp back to 5578. Sorry for the lost changes, please re-apply. Reason: 5579 is a complete disaster.
Not only does it change tons of files to switch to a new and non-working (it doesn't parse my ini files, at least) ini parser, it also reshuffles a lot of code and removes a plugin. The latter part is fine, but doing these two major switches in one revision, one of which is broken, is completely unacceptable. I said to merge tiny changes, not massive reworkings.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5589 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 18:05:08 +00:00
Soren Jorvang acd2b03afe Avoid producing empty object files:
CoreRecording.cpp is not configured through the build system,
so just give it a dummy symbol when it's not compiled in.
ChunkFile.cpp and DSPBreakpoints.cpp are no longer used.
ExtendedTrace.cpp is Windows-only.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5587 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 07:50:37 +00:00
nakeee a34ad40517 An almost linux/osx compile fix beside some undefined references
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5581 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 05:59:58 +00:00
Shawn Hoffman e4085f0f04 Merge GCPadNew into Dolphin. This takes place in three segments: Core, InputCommon, and InputUICommon. From now on it can be referred to just as "GCPad".
Switch to Billiard's IniFile implementation throughout Dolphin (it's faster!!).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5579 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 04:55:39 +00:00
Soren Jorvang 30e437f9e3 Fix some cases of variables being used uninitialized. Also some unused
variables, writeable strings and dangerously shadowed variables.

index(), gamma(), exp() and y0() are POSIX functions and using those
names can cause namespace confusion.

A number of C files were missing the final newline required by ANSI C
and some versions of GCC are pedantic enough to complain about this.

These changes simply the scons build, allowing us to get rid of
filterWarnings which is simply more trouble than it's worth.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5574 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 20:35:12 +00:00
Soren Jorvang c48aca7c37 De-inline StripTailDirSlashes() to work around a weird code generation bug.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5549 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 09:41:38 +00:00