Commit Graph

355 Commits

Author SHA1 Message Date
Rodolfo Osvaldo Bogado 532ab905c4 this is a dev commit, a cleanup in the pixel shader generator to make the generate code a lot cleaner and readable, and a little fill rate optimization when using alpha test, i don't thing any game is limited by fill rate but the code looks more cleaner and is ordered in the same way is executed in hardware.
please test, if any problem apears let me know

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4812 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 03:39:14 +00:00
hrydgard 8558f364e1 D3D vertex format wrapper: Fix a really small memory leak, add some sanity checks.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4809 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 23:47:32 +00:00
ayuanx 9cbd508181 1. This should fix Issue 1625 (Bizarre Auto Frame Limit)
Now the frame limiter yields on CPU thread, not as before on GPU thread mistakenly

2. Fixed clear of VI interrupts
   I guess VI interrupts are not used at all, because they were never cleared before

3. Made GPU thread 0% processor usage when paused whatever your active config is.
   I tried the event approach but somehow the thread resume latency is excessively long (Who can tell me why?)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4790 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-07 20:01:41 +00:00
fgfemperor 64167bcb60 Now you can switch between Emulated and Real WiiMotes, connect more Real Wiimotes and even pair them up (if you have MS BT Stack) during gameplay!
All you gotta do is Pause the emulation! That's useful for when your batteries run out during gameplay, for example...

But if you change the WiiMote source (between Emulated, Real or Inactive) you must disconnect and reconnect (Menu Tools -> Connect WiiMote) the WiiMotes affected by the change...

Thanks to jack.fr0st who did all the emulation state notification work!

Now every plugin has a way to know the current emulation state (paused, stopped or playing)

@ayuanx: I thought about doing a PostMessage(g_WiimoteInitialize.hWnd, WM_USER, WIIMOTE_DISCONNECT, current_number); so that the user gets asked to reconnect that WiiMote, trying to avoid having to disconnect and reconnect, but it didn't work because shooting that message only asks to reconnect, doesn't do a disconnect... Do you have any ideas on how to accomplish that?

Also, if anyone could check if Issue 1916 is finally fixed... Or at least when is the cursor being hidden or not...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4789 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-06 19:26:52 +00:00
fgfemperor 6500db254f Now you can pair up your Real WiiMotes on the Wiimote config panel!
It's really helpful since pairing up using Microsoft's Stack is a real pain!

Thanks to jack.fr0st and sanchez who did most of the work!

Note: IT ONLY WORKS WITH MICROSOFT BLUETOOTH STACK!

Also you should press the Refresh Real WiiMotes button after everything is paired up! (Because it takes a while for the drivers to get installed)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4786 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-05 17:38:37 +00:00
ayuanx 736d84f5d6 Remap wiimote hotkeys to Alt+F5/F6/F7/F8 to make Windows happy.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4783 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-04 03:31:49 +00:00
ayuanx 430f44cb1e Added hotkey Alt+F1/F2/F3/F4 for connect/disconnect wiimote with OSD display
(But there is still a little problem with DX9 fullscreen toggling)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4782 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-04 03:11:31 +00:00
ayuanx 72b1570e08 Fixed Issue 1928
Fixed Issue 1917
(Since wxWidgets is not allowed in core, so I moved the popup window to CFrame)

*Maybe* this could also fix Issue 1919?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4780 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-03 23:05:52 +00:00
sl1nk3.s ede1c935f4 Fix Fullscreen issues in DirectX plugin. Fixes issue 1470, issue 1886 and issue 1673 too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4779 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-03 22:18:50 +00:00
sl1nk3.s 5877961354 Some fixes to Stop() process.
Unbreak linux stop on Single Core, remove an unnecessary wait event, fix DSP HLE/DSP LLE/OGL plugin hang on stop when the config dialog has been opened (nJoy and Wiimote still need to be fixed), avoid the CpuThread to be stuck in the efb/swap loop by setting a flag before the thread is actually shutdown (contrary to r4756 which was setting it.. after :D)
Clear the status bar Framerate/Core message when the game is stopped.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4769 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-01 03:55:39 +00:00
fgfemperor 75a3e391a0 * Hides cursor on D3D Fullscreen mode. Fixes Issue 1411
- It's worth noticing that both in OGL and D3D the Config options for Always and Auto Hide Cursor have no effect. I can't get (read) those values in D3DBase.cpp ...
* Some more key bindings
* Removes duplicate ifdef _Win32 from VKToString
* Made VKToString a little faster (smarter) (but don't expect any speedups though...)
* Corrects Pal60 name in Config (it was Pal6)

I'm still trying to figure out why the Toggle Fullscreen Button doesn't work...
Also I really thought about commiting my changes to Wiimote_real, which are tested and working for 1 real wiimote, but I need someone to test them with more than one real wiimote (I only have one)... See Issue 1876 ...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4757 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 16:20:41 +00:00
sl1nk3.s 18e951f97a Fix a crash when closing DirectX's window, also apply a fix from j4ck.fr0st/BhaaL @ issue 1277 to prevent two possibles hang on stop.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4756 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 15:08:18 +00:00
ayuanx 97779ea295 1. Proper shutdown, hopefully no crash anymore (Continuation of skidau's work)
2. Connect/Disconnect Wiimote on the fly, no need to pause game

PS: Toggling full screen by ESC in DX9 doesn't work yet, it will close Dolphin instead at the time.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4754 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 09:00:43 +00:00
sl1nk3.s bf6ed51b87 Fix an issue with BPMEM_LOADTLUT, thanks to revned @ issue 1831, also fix a speed issue int the FIFO loop introduced recently (ZWW was ~20% slower)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4739 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-28 19:13:06 +00:00
death2droid a1fefe870c DX9: - Add hires texture loading.
- Add an option to enable the EFB scaled copy *TODO find a better place for it to go.

SOIL - Update stb_image to the latest version (1.16 to 1.18)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4716 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-22 06:47:42 +00:00
Rodolfo Osvaldo Bogado 9c930f0825 nice little hack to make efb copies scaled with the efb so everything will look a more HD, for now there is no GUI i'm with a lot of work at home. if everyone likes this change will add it to the GUI. for now just use the config file.
it brakes sms goop so in that game avoid this . test and let me know.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4696 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-15 01:40:54 +00:00
Rodolfo Osvaldo Bogado 8cc2cc11fd this is a little commit:
changed the blending functions for the logic ops emulation, now the accuracy is the best possible with the functions available in D3D.
if someone is interested i'll post how i get this values :) please test and let me know the results.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4673 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-10 17:34:19 +00:00
Rodolfo Osvaldo Bogado 0bc7fa7bf5 Small fix for the last commit, and a little fix for disable fog to really disable it :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4662 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-09 13:51:28 +00:00
Rodolfo Osvaldo Bogado d02426a8e9 mixed commit:
in D3D and Opengl:
fixed one nasty bug in texture loading where if a dynamic texture keeps his format but the tlut format is changed, the try or reloading the texture in the same texture could cause a hang if the size of the resulting texture is different than the original (size in bytes)
Applied a ugly temporal hack to the texture conversor to solve efb to ram misalignments and effect distortions.
in D3D:
Pseudo implementation of logic ops using basic blending: the first 8 operations are "good approximations", the remaining 8 are bullshit :) if someone have a better approximation to emulate this logic please let me know.
please test if i don't break anything in the process and test Mario kart wee you will get a nice surprise.:)
 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4656 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-07 18:48:31 +00:00
hrydgard f0bba97070 Delete the misnamed GlobalControl.cpp/h, move the (ugly) projection hack code that was there into VertexShaderManager where it belongs.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4644 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-05 13:56:23 +00:00
Rodolfo Osvaldo Bogado 714618f4ad small commit to fix a error introduced in 4618, thanks to LordMark for show me the games where the error is visible
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4638 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-03 22:28:03 +00:00
Rodolfo Osvaldo Bogado a99a1451f9 d3d: a little speedup in efb to ram please test and let me know the result
opengl: a little code cleanup and possible speedup in texture recreation.
d3d and opengl :plugins corrected the efb alignment when efb to ram is used.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4637 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-03 20:09:15 +00:00
donkopunchstania e6d51e8ff4 Fixed 24 bit depth copies to RAM. 24 and 16 bit depth copies are now more accurate. Added an offset to DX copies to RAM and made half sized copies to a texture linearly filtered.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4635 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-02 04:17:18 +00:00
ayuanx 4d512ecba7 1. Fixed the unbearable noise in "Resident Evil: Umbrella Chronicles", "Resident Evil: Dark Chronicles", and many other games.
No need to use "Sound Loop Hack", so I just removed it.

2. Fixed the WAD game loading issue. What can I say, I have to go though and patch all the WII_IPC_HLE devices to take care of this.

3. Applied tomman's Linux keyboard patch, but I can't test here, no suitable environment.

4. Disabled configuration dialogs when game is running, you have to pause game first to be able to change any configuration. (Which prevents some accidental crash to happen.)

5. Other trivial fixes, no need to mention.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4632 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-01 15:39:37 +00:00
luisr142004 9e17ee5155 fix a linux wiimote compile error and apply some little changes to the dx plugin :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4631 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-30 03:48:59 +00:00
luisr142004 60352d92eb Wiimote: reapply the Upright wiimote option
D3D: add the EFB Copy option to complete Rodolfo's commit plus add the Overlay FPS and the Disable Fog options
also change the config dialog's behaviour a bit

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4622 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-28 05:59:46 +00:00
Rodolfo Osvaldo Bogado 5e31f22e50 small code reorganization.
Now efb to ram display correctly but still is misaligned by one pixel
please test and give me feedback

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4618 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-27 19:42:27 +00:00
Rodolfo Osvaldo Bogado 55dc7efaa4 corrected viewport and scissor test behavior in both plugins.
some code cleanup in d3d.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4605 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-23 14:08:08 +00:00
Rodolfo Osvaldo Bogado 19d7bb2c84 big commit, implemented depth textures with hardware support in D3D, so now they will be correct as in opengl. please test a lot because i only tested the ati path, nvidia path is "Theoretical" :).
Also reimplemented screen clearing as a color quad to support alpha blending when clearing as in the original hardware.
the funny thing is how is implemented peeking, as locking depth textures is not supported, implemented peeking copying the values form the depth texture to a r32f render target and then reading back the data.
please a lot of testing to this commit.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4599 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-22 02:37:00 +00:00
Rodolfo Osvaldo Bogado c9f5521d26 forget the new files Sorry :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4595 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-20 20:14:34 +00:00
Rodolfo Osvaldo Bogado 802c112ad9 Well this commit has 2 parts:
first part if fixing, fixed, i thing, the flickering that everyone has reported, at least in my case i only have flickering in the one texture in one game and now is fixed. The other fix is not for an reported issue, is more a correctness fix, running dolphin with pix to review debug errors, result in a ton of warnings and error, now with this commit, at least for ati, there no more error or warnings, this means, correct management and state change, no accurate emulation, for this still a lot of work to do.
for this part of the commit please give me feedback and let me know of remaining issues

Te second part is the partial implementation of efb to ram copy in d3d, this won't brake anything because is commented but i commit this to ask for help from ector and donko in some errors remaining in the implementation related to differences between opengl an d3d.
if you want to test this you have to uncomment line 150 to 155 of bpstruct.cpp

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4594 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-20 18:46:30 +00:00
bztdlinux f796d4d747 STAND BACK - NEWLINE POLICE
gcc spams warnings when newlines are not at the end of files.
reason: http://gcc.gnu.org/ml/gcc/2001-07/msg01120.html


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4582 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-15 22:26:39 +00:00
luisr142004 14c3878543 reapply the changes from rev 4532 (without the resizing issues) and the changes from rev 4555 -- fixes issue 1660
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4578 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-15 07:46:43 +00:00
Rodolfo Osvaldo Bogado f8c2dcaa4e fix for re missing characters in both plugins, thanks to autoran for the testing. also modified depth efb copy behavior to work accordantly to this change.
in opengl  efb copy, set the destination texture format and not use argb always.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4575 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 23:15:09 +00:00
Shawn Hoffman 4622bd0c8b reapply changes from 4550-4551,4556-4559 correctly...sigh...some files were ignored by tortoisesvn, and myself :|
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4570 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 17:50:51 +00:00
Shawn Hoffman 5bafbbd361 re-apply the warning fixes to Source\Plugins\Plugin_VideoDX9\Src\resource.h from r4555
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4568 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 17:39:02 +00:00
Shawn Hoffman 06aa62504c revert to r4531, but keep the changes from the following revisions: 4533,4550-4551,4556-4559
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4566 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 17:08:32 +00:00
Rodolfo Osvaldo Bogado e56ca08b4f some minor changes preparing for future commits, and a correction to texture alignment that must solve the efb misalignments in various games
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4556 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-13 11:55:14 +00:00
luisr142004 654800458f OGL: allow the Esc button to work while windowed and not rendering to main
D3D: fix the wireframe option getting enabled when using the fullscreen option
and did some code cleanup

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4555 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-13 10:45:41 +00:00
luisr142004 1ba75a05d0 Fix some plugin communication with the video plugins (fixes Esc button) and apply an opengl equivalent of my first commit :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4532 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-12 07:18:31 +00:00
Rodolfo Osvaldo Bogado c2a4e33313 Implemented secondary path for hardware with no multiples render target support, so please a lot of testing from people with problems in the last release.
corrected a little depth textures still broken but now at least i discover the reason, the ultra bad news for d3d lover is, the only correct way to implement depth textures will be do a firs depth only pass disabling blending. 
This is because blending is affecting the values stored in the depth texture, so to store the true values, blending mus be deactivated.
this will degrade performance but is the only "Correct" way in d3d 9. the other possibility is dx10 but that's a complete different story ;)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4526 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-10 12:45:03 +00:00
Rodolfo Osvaldo Bogado 0ac07e8aa8 Big Commit this will break a lot, fix a lot, but i thing is a good step:
Implemented all the correct format conversions in efb to texture copy.
replaced all the stretcrect calls with quad draws this must improve speed a bit.
A BIGGGGGGGGGG cleanup in the code and reorganization.
reimplemented zpeek using a secondary render target ( this still is buggy so many issues left)
please a lot off feedback.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4520 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-08 20:35:11 +00:00
Shawn Hoffman 1b7303ea0a apply warning fixes from r1447
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4514 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-08 02:28:06 +00:00
Rodolfo Osvaldo Bogado 8e204c659e This is a "Try to fix" commit, reverted all the changes made by my first commit that could affect texturing, so please everyone with texture problems please test this, also in opengl let the viewport calculations the way they where, opengl can handle any values in the viewport.
in direct3d this is different, the only valid values are between 0.0 an 1.0 so fix this and let the shader handle the rest.
please test all this and let me know the results.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4494 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-02 21:09:48 +00:00
Shawn Hoffman b3553eb53c when dumping shaders from VertexManager.cpp, don't overwrite old ones.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4493 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-01 02:03:26 +00:00
Rodolfo Osvaldo Bogado 22a0864337 Discover that various games that have black screen problem in nvidia is just caused by having negative zfar or znear values, in ati is not a problem, the drivers can handle it.
This is a test, clamp the values to see if this fix the problem, please test a lot don't know if this breaks something else 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4491 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-01 01:15:06 +00:00
luisr142004 0127d9ba7c D3D: fix the wire frame option
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4482 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-30 11:03:50 +00:00
Rodolfo Osvaldo Bogado dd7f6f991f small code cleanup, and little fixing of errors introduced by mi in my first commit :(
fixed scissor test in direct 3d


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4480 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-30 04:14:43 +00:00
luisr142004 f3681c0e1b D3D: change window startup a bit (pretty minor but it's just to get me started :P)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4473 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-28 22:40:18 +00:00
Rodolfo Osvaldo Bogado a31eb24955 small commit,but should fix 2 big issues:
* clear and flicker problem in d3d, backbuffer clearing was commented out, (if this was on right let me know and I'll revert).
* alpha problem introduced by my modifications to the tev, must been sleeping when i wrote that code, should be fixed now.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4471 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-28 02:00:13 +00:00