Commit Graph

878 Commits

Author SHA1 Message Date
Rodolfo Osvaldo Bogado 3cc5d8ce6f First a bugfix:
fixed a misbehavior in the clear code that causes depth clear problems in reference hardware (Intel as example).
add 6 parameters to optimize Safe Texture Cache:
SafeTextureCacheColorSamples, SafeTextureCacheIndexedSamples, SafeTextureCacheTlutSamples:

this 3 parameters gives the number of samples taken to calculate the final hash value, less samples = more speed, more samples = more accuracy
if 0 is specified the hash is calculated using all the data in the texture.
SafeTextureCacheColorMaxSize, SafeTextureCacheIndexedMaxSize, SafeTextureCacheTlutMaxSize:
this parameters limits the amount of data used for the hash calculation, it could appear as redundant but in some games is better to make a full hash of the first bytes instead of some samples of all the texture.

color, indexed, tlut : define the texture type, full color data, indexed, and the tlut memory.

the parameters are available in the config , no GUI at this time, if the test are OK will add it to the GUI.
if someone needs it will give more examples on how to configure the values for specific games.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5116 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-23 21:52:12 +00:00
Glenn Rice ba25f08d62 Convert a few other EVT_COMBOBOX's to EVT_CHOICE's that I missed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5115 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-23 02:20:35 +00:00
Glenn Rice 74883a1735 Fix some wxChoice events that were still wxComboBox events.
Fixes issue 2334


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5114 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-23 01:59:59 +00:00
Glenn Rice 303769d31c Revert commit 5105 until we sort out how we want this to work in linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5110 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 16:10:08 +00:00
sl1nk3.s ffdf087aad Fixes issue 2331, plugins won't cause a crash/hang on stop anymore if their config dialog was opened, note that stopping a game while a config dialog is open still causes a crash (that should not be possible in the first place since the dialogs are modals, but heh...).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5109 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 04:59:57 +00:00
Sonicadvance1 ae945ec90e More conversions to wxChoice, weee
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5108 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 01:08:42 +00:00
Glenn Rice 73d575c5c2 On linux don't compile and link against lzo, soil, and sfml "Externals."
Instead use system libraries liblzo2-dev, libsoil-dev, and libsfml-dev


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5105 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 00:39:38 +00:00
Glenn Rice 154bc956ad Some code clean up, and take care of some compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5090 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-20 04:18:19 +00:00
Glenn Rice d5c094df75 In linux when in fullscreen, make escape leave fullscreen then pause.
More like on windows?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5079 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-18 00:50:08 +00:00
Glenn Rice 967c5891e9 Make the Escape key pause the emulator in linux when not in fullscreen.
I believe this is the same as in windows?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5078 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-17 23:44:07 +00:00
Glenn Rice 634f6e512e Minor tweaks to fullscreen in linux, and make FullScr button in GUI work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5074 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-17 17:53:08 +00:00
Glenn Rice 7c76d51c67 Enable fullscreen switching with resolution mode changing using Xrandr in linux.
This changes the dependency in linux from libxxf86vm-dev to libxrandr-dev.
Use Alt-Return to toggle fullscreen mode (as in windows).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5065 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-16 04:59:45 +00:00
Glenn Rice 666a33eeed Fix mouse emulation in fullscreen mode in linux. The window doesn't have focus then.
Also minor tweak to mouse hiding.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5063 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-15 01:09:34 +00:00
j4ck.fr0st 14bb1b5f01 ...and a buildfix for non-win32
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5060 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 16:44:16 +00:00
j4ck.fr0st cd321feb83 attempt to fix the main window closing from r5056. i'm not sure how this affects window deletion tho.
apply eol-style native to GCPad, pretty annoying to break patches and stuff

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5059 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 16:33:53 +00:00
Sonicadvance1 5b1d21d1a1 Bunch of tiny memory leaks fixed and cleanup, フウ〜!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5056 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 14:06:33 +00:00
Glenn Rice e5afde67ce In linux only read keyboard and mouse input when the emulator window has focus.
Also other code clean up.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5053 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 23:56:24 +00:00
Glenn Rice c2e0c75c93 EXPERIMENTAL
Removed X event loops from GCPad and Wiimote plugins, and implemented an asynchronous check for keyboard and mouse buttons.
Also added an X event loop in core that handles events while the emulator is paused.  Prevents unexpected behavior from events that occur while the emulator is paused.
Now there is only one event loop running at a time (besides those hidden in SDL).
I will revert this commit if other devs are unhappy with it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5048 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 20:47:23 +00:00
Sonicadvance1 060bbcf067 Compiling with rev 63470 of wxWidgets now works with OSX x86_64. There are a BUNCH of errors while running, none fatal from what I've seen. This also fixes Dolphin creating multiple NSWindows when running multiple games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5041 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-12 12:41:53 +00:00
Glenn Rice 78f8fe2e85 Implement wiimote IR emulation with the mouse without using the pointer motion events. Hopefully this removes some of the overhead from the X event loops. One downside is that the IR emulation will not work until another event on the window has occured. Although this is minor, usually an event happens before you need the IR pointer.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5040 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-12 02:53:45 +00:00
Rodolfo Osvaldo Bogado 6200c99dd4 test commit: please test if this improve the performance with the safe texture cache
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5038 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-10 15:55:24 +00:00
luisr142004 c291a2db67 make ESC pause the game now instead of quitting plus fix another bug with key and window handling
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5035 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-09 00:34:27 +00:00
Rodolfo Osvaldo Bogado e93e777ffb second try to implement a more correct safe texture cache, implemented full hashing of tlut textures as they are the more problematic, this should solve virtually all the problems with characters in all the games that have them.
sorry to tell but this will bring a speed drop, so let you decide if this change stay or not.( used the fastest open source hash algorithm i know) 
do not apply full hashing to other format because it kills the performance.
for popular request added 9x SSAA believe me will kill your graphic card even if is the best but the image quality is exceptional.
as always please test and let me know the results.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5034 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-08 23:23:04 +00:00
luisr142004 3f90bb215c make ESC quit the game instead of toggling out of/into full screen mode (fixes issue 2246),
implement proper window handling (d3d/sw) which i believe fixes a hang that occurs when a game is stopped (plz test this :)) + some minor stuff

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5030 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-08 09:57:52 +00:00
Glenn Rice 3915f0fbca Enable dynamic fullscreen switching in linux. Toggle fullscreen mode with the escape key. Unfortunately this fullscreen mode is separate from the fullscreen mode obtained from the OGL config dialog. To close that fullscreen mode you must use Alt-F4 for now (not escape). This is not how we want this to end up but there is a mode switching issue I can't figure out.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5029 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-08 04:30:01 +00:00
sl1nk3.s 449b21fd65 Fix an issue with OpenAL not properly using the correct Volume on boot
Proper fix for issue 1886 as well as a fix to OGL fullscreen code that might fix issue 2095

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5028 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 19:36:29 +00:00
ayuanx 7be712808a Makes ESC always toggle full screen as requested in Issue 2225
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5025 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 08:34:46 +00:00
Glenn Rice 13437c1f6b Fix segfault in linux if user clicks on the window manager close button of the
emulator.  Also added the ability to close the emulator with the escape key.
Fixed an issue that caused a segmentation fault when trying to close the
emulator when running in fullscreen mode, which can also be done using the
escape key.  This makes fullscreen mode useable in linux!


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5023 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 02:41:02 +00:00
j4ck.fr0st f3868dd491 Some internal code shuffling for Config dialogs. OSX seems to be picky about when StaticSizerBoxes are created, as described in Issue 2229.
Bit of cleanup/grouping, control creation is now a bit more separate from value setting and tooltip assignment which IMO cluttered the code as it was.
Removed something from main.cpp that looked like a hack to me.
Fixes Issue 2229

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5021 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 16:20:54 +00:00
Rodolfo Osvaldo Bogado 811cfb059e D3D and Opengl:
reverted a tiny leftover of my safe texture cache commit
D3D
renamed the SSAA modes to use samples as MSAA now they are 2,25x and 4x.
OpenGL:
fixed a nasty logical bug introduced in 4984 that causes efb corruption when efb to texture is used
re enabled shader caching as it was not producing errors.
fixed efb misalignment caused by integer rounding still a bit misaligned but many games will look better now

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5020 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 16:05:48 +00:00
Glenn Rice a9db66a41a Completed TODO: Core::GetStartupParameter is dead
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5019 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 05:22:53 +00:00
Glenn Rice d979532c00 In linux process events from the main frame regularly to update statusbar text
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5018 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 01:08:36 +00:00
Sonicadvance1 675e1f668e Correct stopping of Core in OSX via Command+Q, and fix a thread from not dying when stopping with CoreAudio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5013 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-05 10:48:31 +00:00
Glenn Rice 6e2104b050 Implement hiding of mouse cursor on linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5007 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-04 04:49:29 +00:00
Rodolfo Osvaldo Bogado e98a273b54 fixes for my last commit:
chage the global format of the screenshots to bmp, is correctly supported by both plugins and is faster.
reverted the changes in safe texture cache, will try to make them more stable then commit them, this should fix compilation in linux and macand error introduced in MP games
corrected all the issues commented by ector, thanks for the comments alway is good that the code is revised by others to find missed spots.
please report any remaining issue to solve them.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5001 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03 14:13:03 +00:00
Rodolfo Osvaldo Bogado 9e2bbec47f a lot of modifications here :)
first fixed scaling when updating backbuffer to make it friendly with encoders, now frame dumping must work without errors in any codec.
clean screenshot and frame dumping code now is more correct, faster and stable.
improve safe texture cache, improving the distribution of the hash algorithm, including tlut hash in the final hash of the texture, and making use of a 64 bit hash to make it more accurate.
clean a lot of code and corrected some missused vertex formats when drawing full screen quads.
and biggest change last:
implemented pseudo antialiasing: a image post-process algorithm that mimics antialiazing and is fare more easier to implement in this scenario.
you can change the intensity of the effect changing the values of the antialiasing combo. the right value depends on the game.
for example mkwii looks awesome with 8x.
please try all the changes and let me know the results.
if something is broken, please let me know and will fix it asap.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5000 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03 03:52:50 +00:00
Glenn Rice feba09f7a3 Linux global build. At least the basic footwork is done here.
Basic usage:  "sudo scons install=global install"
Hopefully this doesn't break builds on Macs.  I have tested this on linux and windows.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4994 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-02 21:56:29 +00:00
ayuanx 8b129fca0c Fies Issue 1584
OSD and Hotkey to do quick config toggling

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4984 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-29 07:44:21 +00:00
ayuanx 9a49e91e41 Fixes an issue caused by r4964
FrameUpdate() must be called even when a frame is skipped, otherwise frameskipping will freeze.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4980 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-28 14:37:03 +00:00
ayuanx 40cc180dfd OpenGL fix: s_swapRequested must be volatile.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4964 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-26 14:56:51 +00:00
Glenn Rice 727283c4de Added mouse support for linux. It is still rather crude, but it works.
Unfortunately the mouse pointer doesn't match up very well with the IR pointer yet.
Also, I had to add the PointerMotionMask to XSelectInput which adds overhead to the already stressed X event loops.  Five event loops by my count, really?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4961 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-26 00:11:45 +00:00
ayuanx 85c2310b03 Minor fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4955 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-25 05:12:24 +00:00
Rodolfo Osvaldo Bogado 9ec5ee94b4 this was a hard fix to found:
if a degenerated primitive is passed to the VertexManager treat it as a compatible primitive, for example if a 5 vertex quad is passed treat it as a triangle fan.
as crazy at this seems it fix the sun glare in ZWW, please test an d let me know if it make a difference in other games

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4931 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-23 12:56:07 +00:00
hrydgard a43428253b Kill the last timeGetTime calls.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4921 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 21:27:52 +00:00
j4ck.fr0st a08bfc1344 thats more like it i guess...
does the Software Plug in not check for RenderToMainframe on purpose?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4920 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 20:58:26 +00:00
ayuanx af305ca95b Fixes Issue 2080 for DX9 & OGL
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4910 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 19:51:13 +00:00
skidau 50019fb525 Added sanity check to the OpenGL framedumper. At startup, the AVI Dumper was being sent frames with a zero pixel height to render, crashing the dumper. Closed issue 1324.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4905 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 12:26:47 +00:00
hrydgard 577d4e73ea OGL: Fix a wrong warning message. Fixes issue 2057. (well, not really - but the confusion is gone).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4883 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-18 21:11:50 +00:00
hrydgard 3e01152793 Shader Disk Cache implementation for D3D. Saves generated shaders on disk. Eliminates "freeze jerks" in D3D plugin the _second_ and later times you play something.... not much to do about the first time. The D3D shader compiler is just slow.
Also assorted cleanup around the shader code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4869 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 17:44:09 +00:00
j4ck.fr0st f599fdcec5 Added missing wxEvent for Widescreen Hack, unchecked and disabled 2x checkbox when selecting "Use Real XFB".
Fixes Issue 2026

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4868 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 14:17:23 +00:00