Commit Graph

922 Commits

Author SHA1 Message Date
Sonicadvance1 2049caa9fc Fix NoWX build, use a different define in CoreParameter, the one we all know and love, and add a Function call to VertexManager which can boost performance, tells the drivers that we don't care about the current data, because we are putting new data in it anyway. This gives quite a performance boost on OSX since it bypasses a call in the drivers that takes around 24% CPU time
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5179 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-09 21:15:28 +00:00
Glenn Rice 5beb6dfd47 Implement render to main in linux. In order to compile this in you will have to have libgtk2.0-dev (or your distributions equivalent) installed. If not dolphin-emu will still build, but without render to main operational.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5176 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-08 23:29:16 +00:00
Glenn Rice beba3b7f5b Removed more compiler warnings in linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5170 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-07 22:48:37 +00:00
Sonicadvance1 e79dc93a5c Fix noWX compiling, Fix OSX crashing when opening options because of dumb code. Fix OSX Wiimote, will fix multi-wiimote in OSX later.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5154 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-05 07:03:44 +00:00
luisr142004 e2316087f7 accidently broke free look with mouse input, fixed (fixes issue 2377)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5153 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-03 19:21:24 +00:00
Glenn Rice 8035ccaef4 Enable the OSD hotkeys in linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5147 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-28 21:56:17 +00:00
Shawn Hoffman 80d303222b code cleanup, focusing on dsp hle
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5143 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-28 18:21:22 +00:00
Glenn Rice 0425ff2f06 Add rodolfo's safe texture cache options to the OGL plugin dialog
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5137 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-27 16:07:29 +00:00
Rodolfo Osvaldo Bogado 6b1ca64428 experimental commit: simplify even more the params. please test and if theres something wrong will revert asap
thanks for the comments in the prev commit they make my re think the approach.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5136 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-26 22:14:29 +00:00
Rodolfo Osvaldo Bogado 02189ec5e0 Simplify the params for the safe texture cache
after some test the more relevant parameters were the color samples and the tlut max size.
so delete the rest of the parameters and define 3 modes:
Safe : the two values are set to 0 meaning all the texture data and all the tlut data are hashed this is the most correct and slowwwwwwwwwww way
Normal: 37 samples are taken from the color textures an the firs 4096 bytes of the tlut are hashed, is a lot faster than safe mode but in some games i observe small glitches.
Fast: 8 samples are taken from the color textures an the first 1024 bytes are hashed from the tlut, is a little slower than the unsafe cache but at least all the games i tested have correct text output and fast frame rate. the glitches in dinamyc color textures are more noticeable in this mode
this values could be improved, if you find a better combination please post it and the game it fixes and i will update the source.
for the moment, as my time is limited by a lot of work, only implemented the d3d gui, if someone can implement the opengl gui will be a lot of help for me.
please test a lot and let me know the results.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5135 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-26 12:54:08 +00:00
sl1nk3.s 6da7695843 Fix issue 2364 + another issue introduced in r5129 causing the main window to lose the focus on windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5133 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 17:50:08 +00:00
Glenn Rice f1ed7e5656 Build fix for linux. sprintf_s does not exist in linux. Does it in windows?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5132 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 12:35:31 +00:00
luisr142004 816febd3b0 finish proper window handling, fix the modal state of the config dialogs, plus some minor cleanup/changes :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5129 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 06:12:35 +00:00
Glenn Rice 1d40b8a5ae Systematically eliminating compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5117 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-24 03:38:36 +00:00
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