Commit Graph

389 Commits

Author SHA1 Message Date
Rodolfo Osvaldo Bogado 090d7ec534 a lot of people don't get convinced by my "Pseudo-antialiasing " effect and is true is not near the quality of the true effect so :)
true antialiasing using supersampling:
3 modes implemented:
2x = is a one and a half samples supersampled buffer with a linear texture fetch, this produce a similar result of a 2x MSAA
4x = four samples with a aligned texture fetch in the center of the 4 samples, this produce a little best effect that the first mode.
8x = is a four samples with a  rotated grid fetching producing a nicer (really nicer in some cases) antialiasing.
please test an let me know if you like this :)
i remember to everyone that supersampling is expensive so don't complain in speed drops :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5006 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03 22:19:00 +00:00
j4ck.fr0st 43051ffe41 some cleanup, housekeeping for error cases and increased a few buffer sizes that are overflown by its content.
Thanks to Fatalis for the initial patch and pointing us to cppcheck.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5004 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-03 20:29:49 +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 4d0b87fdde Revert r4978.
Until anti-alias is implemented, turning it on will only slow things down.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4979 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-28 13:38:09 +00:00
ayuanx b12ed5d171 This should make anti-alias effective again in DX9, though it seems it was turned off deliberately.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4978 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-28 13:25:40 +00:00
Rodolfo Osvaldo Bogado 2b5cadfeb4 small fix for my last commit, resizing is working again but screenshot do not work when rendering to main window, will fix in my next commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4977 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-28 04:30:07 +00:00
Rodolfo Osvaldo Bogado e856d0b3ed EXPERIMENTAL:
rewrite frame dumping and screen shots to make them more stable and correct
enable viewport resizing for all cards, the emulation is more correct in this way
test this a lot please.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4971 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-27 22:07:59 +00:00
Rodolfo Osvaldo Bogado 438bf20771 quick fix for issue 2086
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4965 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-26 15:19:57 +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 dbfdcc263b this should solve issue 2128 please test because i don't have the games mentioned in that issue
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4954 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-25 01:10:46 +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
Rodolfo Osvaldo Bogado 8c2bae9802 some minor bug fixes to my last commit and uncommented one line that was commented by error
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4922 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 22:32:24 +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
hrydgard b88a70aa50 Hm, when did we lose linear filtering of backbuffer scaling, when necessary? Fixes Issue 2093 .
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4918 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 20:26:07 +00:00
hrydgard 9893122a58 Attempt at fixing the colors of loaded "hi-res" replacement textures in D3D. Fixes issue 2074. Delete some obsolete commented-out code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4916 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 19:31:48 +00:00
death2droid cb1038dd99 DX:Change the DirectX plugins texture dumping format back to PNG
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4914 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 10:23:13 +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 ab509465d5 The D3D plugin was dumping BMP textures with an incorrect png extension. Fixes issue 2074.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4906 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 13:06:02 +00:00
ayuanx 82ccf1d34c Fixes Issue 2070
Fixes Issue 1886
Fixes Issue 1519
Fixes wxWindow Destroy Issue
Quits DX9 full screen when a message box pops up 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4898 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 07:47:41 +00:00
ayuanx 1c09cba69a Create wxWindow in heap rather than stack
Center DX9 window
Bring Wiimote reconnect confirm dialog to topmost, now only works with OpenGL.
(It seems DX9 in full screen doesn't like other windows overlapped upon it.)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4895 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 20:18:41 +00:00
Rodolfo Osvaldo Bogado c4c809f6b1 Small fixes:
in opengl correct an error introduced by mi in efb to ram alignment, it's seems to fix SMS but it missalign a lot of other games, so revert to the default. must solve truncated coins in NSMB.
revert alpha testing values to the values in rev 4812 as they fix some games.
in d3d dynamized the Render target size so it will change at runtime when viewport exceed it size, in the worse case it will cause a missing frame when resizing but in the games I tested is not noticeable at all
This must solve all the remaining viewports problems in nvidia cards, in ati this is not needed.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4888 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 15:00:45 +00:00
Shawn Hoffman 86b46f7de9 (build fix in debugfast mode)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4873 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 22:30:09 +00:00
hrydgard 994372c725 (build fix in debugfast mode)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4872 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 22:23:05 +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
hrydgard f3b52ea23d D3D Plugin GUI cleanup of Advanced tab.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4850 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 11:30:23 +00:00
Rodolfo Osvaldo Bogado c62fb1d7d2 quick fix for MP games, only tested mp1 but my solve mp2 issues to
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4846 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 22:07:53 +00:00
Rodolfo Osvaldo Bogado 0a88519ecf :) this is what happens when you don't test what you commit, sorry :(
efb to ram fixed i hope :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4845 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 18:46:02 +00:00
Rodolfo Osvaldo Bogado 9d36cd05be sooooooooooorry forget this file, now efb to ram if fixed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4844 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 17:15:31 +00:00
Rodolfo Osvaldo Bogado 8de76f8fe8 ok big changes here:
in videocommon little fix for the alpha test values, return to the original values as they are more accurate.
in D3D:
huge change in state management, now all the state management is centralized and redundant state changes are eliminated.
Fixed the overlapped viewport error in non ati cards:
the error was caused by this: when a viewport is defined larger than the current rendertarget, an error is thrown and the last valid viewport is used, this is the reference behavior, in ati cards if a larger viewport is defined, no eror is returned, the rendering is valid and is rendered using the projection defined by the viewport but limited to the rendertarget are, exactly like opengl or the GC hardware.
to solve this in reference drivers defined a large rendertarget (2x the size of the original) and proceed to render in a centered quad insithe the larger rendertarget, in this way larger viewports always falls inside a valid rendertarget size, the drawback of this is the waste of resources. it can be dynamized, depending or games or changed at runtime when a oversized viewport is detected, but i live that to future commits.
please test this and let me know the results.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4841 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 15:52:08 +00:00
hrydgard 2db709aeb6 Add "Auto Aspect Ratio" to both graphics plugins. It's the new default, so you can forget about switching aspect manually from now on. In the Auto mode, aspect ratio is automatically set depending on whether it's a Wii or GC game, and whether the global Wii Widescreen setting has been set. There is still the possibility to override, which can be useful for the very few GC games that do support widescreen.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4828 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 21:11:02 +00:00
hrydgard a81efdb597 D3D: Fix some texture wrapping issues by setting the texture state for every texture used at draw time. Hopefully there will not be a noticable slowdown, thanks to the state caching. Also some minor cleanup. Should fix issues like repeated shadows. TODO: In theory it should have worked without this, so I should investigate why this change was needed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4815 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 23:40:30 +00:00
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