Commit graph

8855 commits

Author SHA1 Message Date
parlane
71a1ae3a16 Make debug builds use unicode, not multibyte. 2013-04-12 02:44:48 +00:00
skidau
ef4d59a21e Refactored the SystemTimers to allow for per-UCode timing. Fixes issue 6237. 2013-04-12 12:08:05 +10:00
degasus
addd3926d9 ogl: remove GL_TRIANGLE_FAN on utils rendering
wtf have I done? fans aren't supported well on hardware
2013-04-11 16:27:32 +02:00
degasus
7e630ba920 Merge branch 'primitive_restart' 2013-04-11 14:01:58 +02:00
degasus
3c87512180 ogl: fix single core crash
osx is missing, sorry but I'm too stupid for objective-c
2013-04-11 03:32:07 +02:00
NeoBrainX
7480f5dfd6 ShaderGenCommon: Clean up. 2013-04-10 14:55:46 +02:00
NeoBrainX
6af14bd4ce DolphinWX: Fail less at explaining what framelimit is doing. 2013-04-10 12:52:13 +00:00
NeoBrainX
e7a5847c30 ShaderGen: Build fix. 2013-04-10 14:44:09 +02:00
NeoBrainX
abde070f63 LightingShaderGen: Use a float4 array for lights instead of a struct (uniform management in the non-UBO path is a mess otherwise).
Also fix a small bug (cf. revision  154c533e76).
2013-04-10 14:25:18 +02:00
degasus
26b428539a small cleanup suggested by neobrain 2013-04-10 14:12:35 +02:00
NeoBrainX
154c533e76 VertexShaderGen: Fix a small GLSL regression in emboss mapping. 2013-04-10 11:44:49 +00:00
NeoBrainX
fab4f1d0a5 LightingShaderGen: Improve code flexibility. 2013-04-10 13:38:31 +02:00
degasus
b9ba82ec03 proper ogl primitive restart code 2013-04-10 12:58:52 +02:00
NeoBrainX
31d2cab8d3 Add ShaderGenCommon to vcproj file list. 2013-04-10 12:55:42 +02:00
NeoBrainX
ec08914905 Move Shader UID mismatch checking to VideoCommon. 2013-04-10 12:54:22 +02:00
degasus
1aa10b579a fix triangle_fan size calculation
wasn't updated for the new primitive restart implementation
2013-04-10 12:45:44 +02:00
degasus
a6412f7bd4 render a triangle for a 3 vertice quad
fix issue 6214
2013-04-10 12:36:59 +02:00
NeoBrainX
ec5f596b31 VertexShaderGen: More per-pixel-lighting fixes. 2013-04-10 12:17:28 +02:00
Jordan Woyak
b30c5b0048 NetPlay: Updated the "Alert" text. Removed the "?" button as it was useless. Sorted the game lists. Made wider the player list. 2013-04-09 22:04:55 -05:00
Jordan Woyak
385d8e2b15 ChunkFile has allowed me to accidentally "Do" a non-POD for the last time! 2013-04-09 19:02:22 -05:00
Jordan Woyak
5c374b2718 Update iso file cache version. 2013-04-09 13:04:23 -05:00
Jordan Woyak
98d35e590e Fixed split WBFS file size display. (probably)
Fixed issue 6222.
2013-04-09 12:58:56 -05:00
Jordan Woyak
018282c2b9 Track the real wiimote rumble state to drop outgoing rumble reports with no effect.
This eliminates constant streams of reports in various games that constantly send audio reports. (Just Dance 2, DKCR, etc.)
(Speaker data reports are converted to rumble reports when speaker data is disabled.)
2013-04-08 18:50:42 -05:00
degasus
b0108631f6 use templates for primitive restart 2013-04-08 19:39:43 +02:00
degasus
4dca133745 small cleanups 2013-04-08 17:58:23 +02:00
degasus
80b56ddd17 convert triangle_fan to triangle_strip 2013-04-08 17:22:16 +02:00
degasus
cf98ef8cf3 enable primitive restart on dx11 2013-04-08 16:34:47 +02:00
degasus
702198f39b Merge branch 'master' into primitive_restart
Conflicts:
	Source/Core/VideoCommon/Src/VideoConfig.h
	Source/Plugins/Plugin_VideoDX9/Src/main.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2013-04-08 15:57:51 +02:00
degasus
4c40e70b8a ogl: support glsl120 2013-04-08 14:50:58 +02:00
degasus
3897e1959e ogl: one framebuffer per efb2tex texture
suggestion from nvidia/valve. let's see if it helps
2013-04-08 14:36:58 +02:00
Rachel Bryk
deece78e19 Seriously, someone kill me. 2013-04-08 03:11:45 -04:00
Rachel Bryk
48f3e962d6 Kill me now.
Fixes issue 6227.
2013-04-08 03:05:12 -04:00
Lioncash
3ed0a96367 Remove an extraneous comment indicator from DebuggerPanel.cpp in DolphinWX.
Was asked to remove it, so... yeah.
2013-04-08 01:47:51 -04:00
Lioncash
1db10b139c Remove all tab/space mismatches from the DolphinWX project (at least 99%. I promise!)
Also fix up the dangling else's. Shit just looks incredibly ugly in terms of actual structure in the code.

I took the liberty of adding comments in FifoPlayerDlg.cpp, LogConfigWindow.cpp, LogWindow.cpp, and FrameAui.cpp to better explain some things.

If any comments are wrong, don't hesitate to complain.
2013-04-08 01:16:50 -04:00
NeoBrainX
5b2d9a7d9f Rename the "Disable Dest. Alpha Pass" option to "Disable Destination Alpha" (GUI-only). 2013-04-07 21:41:25 +00:00
Lioncash
195336021f Fix a few typos in the comments/logging in VideoDX9, VideoCommon, and VideoSoftware projects.
See Render.cpp, PixelShaderGen.cpp, and PixelShaderManager.cpp for most of the changes.

See VertexShaderManager.cpp for a logging typo fix.

See SWRenderer.cpp for a small typo fix for a message that gets swprintf'd in DrawDebugText.

See SWVertexLoader.cpp for a typo fix of an assert message.

Should slightly improve the readability of some of those files.
2013-04-07 17:11:29 -04:00
Jordan Woyak
42e97e462c Look for wiimotes when "Continuous Scanning" is enabled even if a device using the MS stack is not found.
Fixed issue 6215.
2013-04-07 14:21:20 -05:00
Pierre Bourdon
0ca7ea6c3f D3D11: Fix glitched polygon edges when MSAA is enabled (this time without breaking OpenGL) 2013-04-07 20:58:48 +02:00
John Chadwick
8ce0d43717 Allow enabling memory card writes for netplay clients, instead of just the server. 2013-04-07 13:04:44 -04:00
John Chadwick
c7abf7e8d2 Allow disabling memory card writes in netplay.
Fixes issue 6217.
2013-04-07 12:18:07 -04:00
NeoBrainX
5f32febcf3 Apply re07a91930df0 to the software renderer. 2013-04-07 16:54:22 +02:00
skidau
b76c7cf4f3 Bumped up the LLE period to 12600 as it seemed to be a bit more stable. 2013-04-07 21:44:44 +10:00
skidau
52053f5d95 Forced an exception check after an interrupt is generated by the DSP. Changed the timing back to 3ms/5ms periods, fixing the slowdown and garbled AX audio.
Fixed Accurate VBeam emulation when DSP HLE audio is being used.
2013-04-07 16:27:46 +10:00
Jordan Woyak
53368823cb Merge branch 'real-wiimote-minor-fixes' 2013-04-06 16:57:55 -05:00
skidau
8a2109691a Quick fix to get Zelda: Wind Waker booting again. 2013-04-07 07:18:28 +10:00
skidau
ecb4337209 Made the timing consistent between DSP HLE and DSP LLE. Fixes Lost Kingdoms II in DSP HLE mode. 2013-04-06 20:26:43 +11:00
Rachel Bryk
4d81e0739d Use an enum for efb scale values. 2013-04-06 01:49:13 -04:00
Jordan Woyak
c32e2f33ac Fix IORead return off-by-one error in Windows real wiimote code. 2013-04-05 21:45:35 -05:00
Jordan Woyak
3c8477df03 Real Wiimotes: Invalidate last data report when any non-data input reports comes in. 2013-04-05 21:10:36 -05:00
skidau
518e7a7635 Adjusted the ARAM DMA transfer size again. Fixes the audio in the Sonic Mega Collection games. 2013-04-06 11:52:00 +11:00
Rachel Bryk
ee163d1e49 Someone take my commit rights away. 2013-04-05 17:26:56 -04:00
Rachel Bryk
6a5a522bba Hastily committing untested code without making sure i didn't miss anything first? I would never! 2013-04-05 17:20:34 -04:00
Rachel Bryk
e531970052 Round IR scale down to whole number if using 1.5x/2.5x IR, if game ini specifies -1 for EFBScale.
Fixes issue 6210.
2013-04-05 17:13:48 -04:00
degasus
3e8ba3f3e8 fix msaa detection 2013-04-05 07:08:32 +02:00
Jordan Woyak
ceebed9268 Apply changes to Windows real wiimote code as suggested by bughunter2.
Fixed issue 6071.
2013-04-04 21:46:00 -05:00
Jordan Woyak
f8e52bd83a Eliminate some redundant constants. 2013-04-04 19:46:42 -05:00
Jordan Woyak
71f4bf25a7 Make FifoQueue take advantage of rvalue references to avoid std::vector copies. 2013-04-04 19:34:50 -05:00
Jordan Woyak
99da297951 Fix minor issue with real wiimote data report handling. 2013-04-04 19:34:00 -05:00
degasus
a2ebb2b324 ogl: remove "Missing Extension" from osd
I think it was the best place, but I can't see "this issue is because of ..." any more
2013-04-04 18:55:37 +02:00
Rodolfo Bogado
d032f3fd79 Fix for the hang after close caused by my previews perf queries commit.
Sorry for that.
fix issue 6205
2013-04-04 12:53:06 -03:00
degasus
e11f5630b1 OGL: use GLEW_ARB_debug_output in debug builds
should also be used in normal build, but as our ubo "workaround" throws too much errors, it's disabled atm
2013-04-04 17:37:16 +02:00
lioncash
a7c05dc922 Remove an unused variable in VideoConfig.cpp and SWVideoConfig.cpp 2013-04-04 09:32:28 -04:00
skidau
aaf6c3b753 Forced the exception check when the ARAM DMA transfer is between 32 and 320 blocks in size. Fixes Lost Kingdoms II. 2013-04-04 22:38:39 +11:00
Grant Paul
39965e894d Add native fullscreen support for OS X. 2013-04-03 21:20:43 -07:00
Grant Paul
9f8841e960 Revert "D3D11: Fix glitched polygon edges when MSAA is enabled."
This reverts commit 61c327ba8b.
2013-04-03 21:17:09 -07:00
Rodolfo Bogado
0c4713a152 ups missing file for my last commit sorry 2013-04-03 19:56:35 -03:00
Rodolfo Bogado
c4bc20b4d9 Adds support for PE performance metrics in the D3D9 backend 2013-04-03 19:53:48 -03:00
Ryan Houdek
d06379fc59 Fix 32bit Linux. GCC's lrotl/lrotr instrinsic functions are 32bit when building for 32bit, we require 64bit at all times, so keep using our own instead. 2013-04-03 12:43:17 -05:00
NeoBrainX
61c327ba8b D3D11: Fix glitched polygon edges when MSAA is enabled. 2013-04-03 18:56:33 +02:00
Ryan Houdek
b5676fe82b Fix GCC 4.8 compiling. GCC 4.8 now defines _rotl/_rotr/_lrotl/_lrotr. 2013-04-03 10:52:26 -05:00
Glenn Rice
3fdc46877a Make the GUI show a translated "No audio output" sound backend string. 2013-04-03 09:22:39 -05:00
Ryan Houdek
1dd1ebb8bd Fix ARM building. 2013-04-03 05:20:41 +00:00
Glenn Rice
6371a6f15d Fix some more strings for translation, and update the catalog. 2013-04-02 17:44:27 -05:00
Jordan Woyak
92e82a4160 Suppress warnings. 2013-04-02 15:02:02 -05:00
Pierre Bourdon
27e08f66b5 Fix build on OS X 2013-04-02 21:15:04 +02:00
Pierre Bourdon
eb06c62a6e Merge branch 'new-ax-hle'
GC and Wii games using the AX UCode should now work almost perfectly with DSP
HLE. If you get any issue, make sure the "DSP on dedicated thread" option is
disabled, and try setting framelimit to "Audio".

As a side effect, DSP HLE should not desync anymore (making it usable in
netplay and TAS) with AX games.

Conflicts:
	Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.h
	Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp
2013-04-02 21:00:44 +02:00
Pierre Bourdon
9860137291 Initialize the audiocommon mixer on the first write to DSPCR, even if DSP is not enabled. Fixes issue 6192. 2013-04-02 20:42:07 +02:00
Jordan Woyak
d951c4c374 real buildfix 2013-04-02 13:07:51 -05:00
Jordan Woyak
c65473d9d3 Probably a sloppy buildfix. 2013-04-01 23:30:05 -05:00
Jordan Woyak
69779a4321 Fix loading of "themes" with non-ascii character names.
Fixed issue 6189.
Why did GetUserPath return a non-const ref to string..?
2013-04-01 23:22:20 -05:00
Pierre Bourdon
6e708005df Implement AXWii commands 08/09, aka. "upload AUXA/AUXB and use it as a temp buffer to mix to MAIN L/R/S and AUXC L", aka. "what the fuck were they thinking?!" 2013-04-02 04:12:17 +02:00
Pierre Bourdon
0220fd1940 Implemented command 03: ADD_SUB_TO_LR 2013-04-02 03:23:48 +02:00
Pierre Bourdon
74dee41b87 Add implementation for command 02: SUB_TO_LR 2013-04-02 03:10:29 +02:00
Pierre Bourdon
5c67a0bcf6 Partial fix for the EA Wii games having no sound - implement the second OUTPUT command in AXWii. Sound in videos and musics still don't play. 2013-04-02 02:53:19 +02:00
Jordan Woyak
4ba12be669 We can use unordered_map without pain now! 2013-04-01 19:25:32 -05:00
Lioncash
f36e18593b More log elaborating. Final time I'm doing this.
Logs should actually be somewhat understandable to some people outside of programming and stuff (in a way). It's certainly better than being bombarded by abbreviations when errors/general logging occur, at least.
2013-04-01 18:45:23 -04:00
Lioncash
04913a855e Update function descriptions in GCPad.cpp and Wiimote.cpp
Add inputs. Those that still need a description are tagged with [Description Needed]
2013-04-01 18:07:44 -04:00
Rodolfo Bogado
a562c7c1f6 As requested apply the same changes made by rev 6958822f19 to the D3D9 backend.
handle v-sync changed while the emulation is running.
thanks to neobrain for pointing the missing functionality.
2013-04-01 14:23:48 -03:00
Pierre Bourdon
49d809ac0e Merge branch 'osx-libcxx' 2013-04-01 18:17:49 +02:00
Lioncash
58159a1693 Some more logging typos and clarifications. Missed these in my last commit.
This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.

A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).

Elaborations can be seen in WGL.cpp

I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.
2013-04-01 00:10:54 -04:00
Rodolfo Bogado
5ae8bec2fd Disable dual source blend until a valid support test is found 2013-03-31 21:15:58 -03:00
Lioncash
f432d6038e Fix some typos and correct some capitalizations in the log messages.
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
Rodolfo Bogado
45651098f6 Use a brute force approach to test for Dual source blend support.
Sorry for a direct commit to the main branch but i need fast feedback, and i don't want to leave problematic code in the main branch for a long time.
if this approach does not work for the drivers with problems will transform dual source blend to an option in the D3D9 backend.
I appreciate the help of the people that tested my last commit and thanks to neobrain for pointing this solution.
2013-03-31 20:02:13 -03:00
NeoBrainX
a60e1a3db8 ShaderGen: Remove some TODOs and fix an issue with per pixel lighting. 2013-03-31 23:57:39 +02:00
NeoBrainX
f57b902d33 PixelShaderGen: Cleanups. 2013-03-31 23:53:46 +02:00
NeoBrainX
f6d65a636e ShaderGen: Fix per pixel lighting. 2013-03-31 23:29:33 +02:00
NeoBrainX
248d56d930 ShaderGen: Small optimization. 2013-03-31 20:55:57 +02:00
Grant Paul
aabd8ce664 Add retina display support for Mac. 2013-03-31 11:36:42 -07:00
Ryan Houdek
31500f2522 Fix Intel Ironlake since it doesn't support version 120 of GLSL. I don't have Ironlake so it is hard to test. Dropping the shaders to version 120 worked here for me, ATI may be giving me some slack though. 2013-03-30 23:27:24 -05:00
Pierre Bourdon
4d27315cd1 Initialize the AX Thread after the sync objects are initialized 2013-03-31 01:55:41 +01:00
Pierre Bourdon
60b43eb8d3 Support the old AXWii version used in games like Wii Sports or Excite Truck 2013-03-31 00:25:00 +01:00
Pierre Bourdon
276c457bed Basic framework to support the old AXWii version used in Wii Sports and Excite Truck 2013-03-30 22:22:57 +01:00
degasus
6958822f19 only apply vsync on changes
nvidia over bumblebee slows down on changes
2013-03-30 22:17:39 +01:00
Pierre Bourdon
79c0316243 Disable the polyphase resampler - it causes audio glitches with non integer ratios 2013-03-30 16:59:06 +01:00
Pierre Bourdon
04f9c6793b Fix the argument to the samples reading callback in voice processing - should fix issues with wiimote audio, untested 2013-03-30 14:39:59 +01:00
Pierre Bourdon
a813f9e13c Support loading polyphase resampling coeffs from User and Sys in HLE 2013-03-30 14:38:14 +01:00
Pierre Bourdon
e3b0a2c9bf Add an option to run the AX processing on the CPU thread. Fixes timing issues causing audio glitches on Wii, and should improve the overall stability of AX HLE. 2013-03-30 14:02:30 +01:00
Pierre Bourdon
c271082ec5 Add volume ramping for MAIN output, separate old volume values for each AUX channel and refactor 2013-03-30 00:55:55 +01:00
NeoBrainX
cdddb26bba Apparently override is less fun than I thought. 2013-03-29 22:29:37 +01:00
NeoBrainX
2afd892e46 ShaderGen: More interface cleanups. Less wtfs :) 2013-03-29 22:24:49 +01:00
Pierre Bourdon
4b09f525f6 Fix AUX volume mixing in AXWii: implement volume ramping and MixAdd properly. Home menu sounds now work properly. 2013-03-29 22:22:24 +01:00
NeoBrainX
e31c2aa601 ShaderGen: Cleanup uid data writing. 2013-03-29 21:53:57 +01:00
Pierre Bourdon
ef501137be Fix audio glitching at the end of a voice because of bad non-looping sound handling in AXWii 2013-03-29 21:02:27 +01:00
NeoBrainX
9eccd56ef0 PixelShaderGen: Some cleanups. 2013-03-29 20:59:03 +01:00
NeoBrainX
3c02f227db PixelShaderManager: Disable constant cache (won't work in the non-UBO path of the opengl backend).
ShaderGen: Replace typeid usage with more general code.
2013-03-29 20:35:31 +01:00
Glenn Rice
485bd70df2 Fix some strings for translation and update the pot file to include
those strings once again.
2013-03-29 11:05:22 -05:00
Pierre Bourdon
194ada2481 More MSVC 2010 build fixes 2013-03-29 07:55:56 -07:00
Pierre Bourdon
38db520617 MSVC 2010 does not have <mutex> or <thread> either, adding the Std* files back 2013-03-29 07:53:45 -07:00
Pierre Bourdon
a8513e4605 Re-add StdConditionVariable, MSVC 2010 does not support <condition_variable> 2013-03-29 07:42:41 -07:00
Pierre Bourdon
4895e38bd5 This change might work better if I git add the files 2013-03-29 07:31:15 -07:00
Pierre Bourdon
b73941c0ea Use libc++ for Mac OS X builds now that we require >= 10.7 anyway 2013-03-29 07:29:31 -07:00
NeoBrainX
b2517c0308 More build fixes. 2013-03-29 15:08:00 +01:00
NeoBrainX
4e9c3db545 OSX build fix. 2013-03-29 15:03:16 +01:00
NeoBrainX
41c4108ce6 OpenGL: Reimplement shader uid debugging. 2013-03-29 14:56:01 +01:00
NeoBrainX
f2a8fbb314 PixelShaderGen: Slightly reduce the number of redundant shader compilations. 2013-03-29 14:54:13 +01:00
degasus
ca8554e7d1 first try of primitive restart index generator
Convert all quads+triangles into trangle_strip and uses primitive restart to split them.
Speed up triangle_strip, but slows down all others primitive formats.
Only implemented in ogl.
2013-03-29 14:27:33 +01:00
Pierre Bourdon
e9b236be05 OSX sucks at c++11 2013-03-29 13:55:55 +01:00
Pierre Bourdon
a997824f68 Add missing <functional> header include 2013-03-29 13:51:52 +01:00
Pierre Bourdon
4dc1ffbb20 Refactor the resampling code to avoid having two polyphase resampling implementations (normal/wm) 2013-03-29 13:49:36 +01:00
Pierre Bourdon
85b498ba97 Update the right cur_addr_frac after wiimote audio resampling 2013-03-29 13:18:30 +01:00
Rodolfo Bogado
c743e75d92 fixes for my last commit 2013-03-29 00:41:36 -03:00
Pierre Bourdon
57d4ba8dcc Merge branch 'master' into new-ax-hle 2013-03-29 00:49:07 +01:00
Rodolfo Bogado
40d919b352 Implement dual source blending to avoid unneeded alpha pass.
this implementation does not work in windows xp (sorry no support for dual source blending there).
this should improve speed on older hardware or in newer hardware using super sampling.
disable partial fix for 4x supersampling as I'm interested in knowing the original issue with the implementation to fix it correctly.
remove the deprecation label from the plugin while I'm working on it.
2013-03-28 20:08:51 -03:00
NeoBrainX
fb28349056 VideoSoftware: Fail less at clamping. 2013-03-28 23:34:14 +01:00
NeoBrainX
6e88ae9695 Recommend Direct3D 11 or OpenGL instead of Direct3D 9. 2013-03-28 23:34:14 +01:00
NeoBrainX
c10d9ea87a Clean up blending code a bit. 2013-03-28 23:00:19 +01:00
Rodolfo Bogado
8a33d49de2 buildfix for my last commit on Mac OSX 2013-03-28 18:32:59 -03:00
Rodolfo Bogado
246907d371 Small Blending logic fix for opengl backend 2013-03-28 18:04:33 -03:00
skidau
b2575c6280 Removed some redundant code introduced in the last commit. 2013-03-29 00:53:30 +11:00
skidau
9b7db5954f Rounded the loop addresses to the nearest 16bit value in the loop comparison.
Fixes issue 6160.
2013-03-29 00:43:41 +11:00
degasus
53377425d1 OGL: enable buffersubdata in detection 2013-03-28 12:18:39 +01:00
skidau
e38e48923d Readded the tracking of the FIFO Writes.
Fixes issue 6165.
2013-03-28 19:36:37 +11:00
Lioncash
b1dd14c319 Fix a slight leak in LogManager.
m_debuggerLog wasn't ever deleted in the destructor.
2013-03-27 23:39:48 -04:00
Ryan Houdek
2444fdbbdd I missed some files required for our GLInterface. 2013-03-27 21:18:07 -05:00
Jordan Woyak
507f53e226 Fixed issue 6119. 2013-03-27 14:26:45 -05:00
lioncash
6fe5f5a6ba [DolphinWX] Remove a duplicate conditional in Frame.cpp 2013-03-27 15:09:04 -04:00
skidau
5cea0d9def Revert "Don't open/close file for every file operation." as it was crashing PokePark in Windows builds.
This reverts commit efcb2abe9b.

Fixes issue 6098.
2013-03-27 13:06:15 +11:00
NeoBrainX
a171525df6 Fix Windows crash. 2013-03-27 01:33:27 +01:00
NeoBrainX
45c70be83f Fix Windows build, try 5. 2013-03-27 00:20:25 +01:00
NeoBrainX
11fae2e1cb Fix Windows build, try 4. 2013-03-27 00:17:46 +01:00
NeoBrainX
f8d2936840 Fix Windows build, try 3. 2013-03-27 00:13:23 +01:00
NeoBrainX
98362e5934 Fix Windows build, try 2. 2013-03-26 23:44:41 +01:00
NeoBrainX
24ab51f9f6 Fix Windows build, try 1. 2013-03-26 23:35:14 +01:00
NeoBrainX
364a5093d9 ShaderGenCommon: Replace the GenOutput enum by using typeid instead. 2013-03-26 23:21:08 +01:00
NeoBrainX
0e31943216 ShaderGenCommon: Introduce a common shader generator interface to make stuff less confusing. 2013-03-26 23:03:10 +01:00
NeoBrainX
3253603ae7 Merge 'master' into shader-uids-awesome.
Conflicts:
	Source/Core/VideoCommon/Src/LightingShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.h
	Source/Core/VideoCommon/Src/PixelShaderManager.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.h
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.h
2013-03-26 22:21:19 +01:00
NeoBrainX
b75a617d8a VertexShaderGen: De-uglify VS output structure writing 2013-03-26 19:36:59 +01:00
NeoBrainX
30f1a4b4fe Partially revert "Now CG plays nice with this new stuff."
This reverts commit 3943840d5c.

Suppport for old GLSL versions has been dropped, so to make things less ugly we can use a structure for lights again.
2013-03-26 19:36:59 +01:00
lioncash
ae62af8a93 Array overrun fixed in VertexShaderCache for the DX11 plugin.
vs_constant_offset_table only has a size of 239. It was originally iterating up to element 241.
2013-03-26 09:19:19 -04:00
skidau
b83be4875a Fixed DSPTool build. 2013-03-26 21:50:49 +11:00
skidau
6a6c086b50 Windows build fix 2013-03-26 18:48:57 +11:00
Jordan Woyak
b8b5afa323 Go back to assuming every HID device is a wiimote on Windows.
Fixed issue 6117.
Unfixed issue 6031.
2013-03-25 21:14:55 -05:00
NeoBrainX
0994a5828d VideoSoftware: Improve fog range adjustment by using less magic and more comments. 2013-03-26 00:57:45 +01:00
degasus
3ab4e35582 revert RasterFont for VideoSoftware
Backends shouldn't depend on each other. Here RasterFont depends on ProgramShaderCache, which itself depends on global config again ...
2013-03-26 00:05:46 +01:00
degasus
e5841f233a ogl: fix virtual xfb 2013-03-25 23:23:32 +01:00
NeoBrainX
beb083721a Windows build fix from web interface... 2013-03-25 21:43:32 +00:00
skidau
51290fd482 Adjusted the audio loop criteria, using >= on the Wii and == on GC. This fixes the audio static that occurred in Wii games after hours of play.
Fixes issue 5938.
Fixes issue 6067.
2013-03-26 08:31:20 +11:00
skidau
b00201dcbd Merge branch 'Fast-EE'
* Fast-EE:
  Forced the exception check only for ARAM DMA transfers. Removed the Eternal Darkness boot hack and replaced it with an exception check.
  Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4.
  Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4.
  Forced the external exception check to occur sooner by changing the downcount.
2013-03-26 08:24:21 +11:00
skidau
0ccaaee38c Forced the exception check only for ARAM DMA transfers.
Removed the Eternal Darkness boot hack and replaced it with an exception check.
2013-03-26 08:23:20 +11:00
NeoBrainX
ae146e8bc7 VideoSoftware: Implement fog range adjustment, fixing issue 6147. 2013-03-25 21:13:31 +01:00
degasus
d4fadf4b6f implement 4xSSAA for OGL
I don't think it's needed, but its requested often
2013-03-25 15:45:10 +01:00
degasus
3d5e0a6d3d move ogl-only settings into backend 2013-03-25 15:14:24 +01:00
Ryan Houdek
7034c79ab9 Big commit. Fix running the APK, I had missed a view in the manifest. Clean up the Android EGL context creation to fit more in line with how Dolphin works. This breaks input at the moment as well. Change the memarena from 768MB to 64MB to allow 1GB phones to potentially run it. Rename EGL_X11 back to EGL since this merge brings in some of soreau's changes to more easily allow different platforms like Wayland and Android. Not quite all of the code because some needs to be cleaned up still. 2013-03-24 21:06:34 -05:00
Rachel Bryk
81e261eb68 Fix description of disable fog, and move it to enhancements tab. 2013-03-24 15:47:18 -04:00
skidau
dfa1845ae1 Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4. 2013-03-25 01:01:29 +11:00
skidau
4fa61a1e7f Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4. 2013-03-25 00:57:53 +11:00
skidau
1d550f4496 Forced the external exception check to occur sooner by changing the downcount.
Fixes issue 5825.
2013-03-25 00:47:44 +11:00
NeoBrainX
bb3ce1f8d3 Mark the Direct3D9 backend deprecated. 2013-03-23 23:53:19 +01:00
NeoBrainX
816020f4eb Prefer D3D11 and OpenGL over D3D9 by default. 2013-03-23 23:52:30 +01:00
Ryan Houdek
ff61dc3840 Switch to using bitfields in the streambuffer class so we can exclude buggy streambuffer types. This disables pinned memory on ATI for GL_ELEMENT_ARRAY_BUFFER because it seems to be buggy. This fixes ATI for me. 2013-03-23 15:37:01 -05:00
Ryan Houdek
086252380d Had this sitting around for a while to fix nogui. 2013-03-23 14:57:55 -05:00
degasus
470c9ff08a check for overflow vertex indices, fixes issue 6135
thx @ JMC47 for identifying the reversion, creating a useful bug report with fifo log :-)
2013-03-23 00:18:35 +01:00
degasus
04943cb852 more restrict disable of pinned memory, disable ubo for intel/mesa-9.1.1 2013-03-21 09:26:32 +01:00
Ryan Houdek
d11679a06e Android mega commit of trash. 2013-03-19 21:53:09 -05:00
lioncash
edd9d0e0ef Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.
Not planning to touch Core since it's the most actively changed part of the project.
2013-03-19 21:51:12 -04:00
lioncash
0e3d8e2e9f Clean up some space/tab mismatches in DiscIO and InputCommon.
Keeps the files consistent.
2013-03-19 09:59:41 -04:00
Ryan Houdek
61e1659b97 Disabled OSX x86 build since we require 10.7 minimum. This takes support back to late 2006 models. Also, Missed CG framework addition. 2013-03-19 08:50:56 -05:00
degasus
7514b41966 GLSL: fix msaa egdes
MSAA is a optimiztion to execute the fragment shader just once per pixel instead per sample.
It sounds great, but has a big issue: At edges where the center isn't in the polygon, the
fragment would still be executed, but still with the center of the pixel as position.
So if some calculations aren't allowed outside the polygon, the result would be invalid.

But the nice one: we can give a hint to each input to be choosen from a valid pixel,
so now every pixel will be calculated with valid source.
2013-03-19 13:50:43 +01:00
skidau
a6249b5388 Properly set the DMAState flag while ARAM DMA transfers are underway.
Fixes issue 6118.
2013-03-19 23:03:38 +11:00
Braden
befe6e6962 Short,sweet and fixes issue 5725 2013-03-18 21:40:46 -05:00
Rachel Bryk
7c2c4662a7 Disable Vsync while holding tab to disable the frame limit, and allow toggling vsync while emulation is running in OGL.
D3D9 still doesn't support changing vsync while emulation is running.

Fixes issue 6111.
2013-03-18 20:42:18 -04:00
Braden
c5033e8594 Hide cursor in fullscreen mode on OSX fixes issue 3956 2013-03-18 17:45:08 -05:00
Braden
a2af6494cf Clean up CInterfaceAGL, make sure the screen gets cleared on stop, and remove the FPS update that messes up GUI builds since GUIless doesn't build anyways. 2013-03-18 17:15:59 -05:00
Ryan Houdek
7d74293170 Fix a typo in ArmEmitter noticed by LionCash. 2013-03-18 08:45:33 -05:00
Ryan Houdek
12f5f102c7 Set GLES Tex2D function to texture2D, texture is only available in GLES3. Fix some tabs in the config file. 2013-03-18 07:50:52 +00:00
Ryan Houdek
b512b23407 Reenable mulli and negx, seems to work fine. 2013-03-18 07:50:52 +00:00
Braden
f21706bc17 Git pull 2013-03-17 21:10:54 -05:00
Braden
ae3c5a64cc Fix full screen on OSX, well as fixed as its ever been. Apperently in render to main it always shown the FPS on the bottom in full screen. 2013-03-17 20:58:43 -05:00
Ryan Houdek
9ae9910490 Finish up VFP cleanup. A few more instructions are left for VFP, and a bunch of NEON ones if it will ever be used. 2013-03-18 00:10:56 +00:00
degasus
234604e067 GLSL: also define pinned_memory in renderer.cpp 2013-03-17 19:03:23 +01:00
Rachel Bryk
0c86634101 Revert "Disable Vsync while holding tab to disable the frame limit."
This reverts commit 341eb87806.

I'll do it right later.
2013-03-17 12:30:44 -04:00
Rachel Bryk
341eb87806 Disable Vsync while holding tab to disable the frame limit.
Fixes issue 6111.
2013-03-17 11:56:24 -04:00
degasus
106d7c37e8 GLSL: store and use exact ubo sizes 2013-03-17 16:49:42 +01:00
Pierre Bourdon
612c2e8516 Fix converting the charset of an empty string. Thanks to MrData on the forums for reporting this issue. 2013-03-17 14:37:00 +01:00
degasus
f480697b9b remove some ogl error
but it doesn't resolve any issue
2013-03-17 12:46:30 +01:00
degasus
7597b8b8d5 fix software backend
ogl rasterfont sets vao and vbo, but both aren't used on software backend
2013-03-17 12:37:37 +01:00
degasus
2312a8d9d5 GLSL: don't apply unsupported msaa settings 2013-03-17 10:44:57 +01:00
degasus
4a8ab0fafa disable pinned memory for fglrx 2013-03-17 10:06:16 +01:00
Jordan Woyak
8faefa3672 Windows - Don't disconnect real wiimotes on Dolphin close. (back to the old behavior)
Fixed issue 6103.
2013-03-16 18:55:01 -05:00
Jordan Woyak
98fa5006fd Fix some warnings. 2013-03-16 18:53:34 -05:00
degasus
4a929f85b6 GLSL: fix transparency issues on dual source blend. fix issue 6104 2013-03-17 00:36:13 +01:00
Pierre Bourdon
9a404ca6d4 Ship by default a free DSP ROM that can handle most games with LLE
At the end of July 2011, LM published a free DSP ROM that works with games
using the Zelda UCode. His ROM only has the code to handle UCode loading and a
few utility functions, the rest is missing. This includes the four large sound
mixing functions used by the AX UCode and the DROM containing coefficients used
for polyphase resampling in AX.

This is an improved, updated version of this ROM, which changes the following:

- We now have a free DROM that works for polyphase resampling by "emulating"
  linear interpolation. The coefficients contained in the DROM are normally a
  list of { c1, c2, c3, c4 } which are used to interpolate a sample value from
  four previous samples:
    out_sample = prev1 * c1 + prev2 * c2 + prev3 * c3 + prev4 * c4

  The coefficients are chosen depending on the fractional part of the current
  position (basically, our position between the previous and the next sample).
  We can use this fact to generate (c1, c2, c3, c4) for each possible
  fractional part so that:
    out_sample = prev3 * curr_pos + prev4 * (1 - curr_pos)

  Which is the formula for linear interpolation between prev3 and prev4. Linear
  interpolation is not as good as polyphase resampling but it still works very
  well and I couldn't really hear any difference between the two. If someone
  wants to generate real polyphase filter coefficients, they are welcome to
  submit a patch.

- The IROM now contains the 4 mixing functions used by the AX UCode: mix_add,
  mix_add_two, mix_add_ramp, mix_add_ramp_two. They are large, inlined
  functions (probably for performance reasons) in the official DSP IROM, our
  version prefers to use a loop. This *should* be more performant with our DSP
  JIT implementation, but I did not benchmark that.

Because the new DSP ROM is working just as well as the official ROM in 95% of
cases, it is now shipped by default with Dolphin and will be used with DSPLLE
if you don't have an official DSP ROM in User/GC. It will still display a panic
alert at every boot to notice you that you are using a non official DSP ROM
made by us, which is not perfect.

Games using the CARD, IPL or GBA UCodes are still broken. I don't know what
games this actually impacts, but this is a very small proportion compared to
what works.
2013-03-16 23:54:55 +01:00
degasus
c7d75ee437 GLSL: explicitly check for gl errors for pinned memory 2013-03-16 10:08:46 +01:00
Jordan Woyak
059e100425 Check for HID wiimote name on Windows instead of assuming everything is a wiimote.
Fixed issue 6031.
2013-03-15 21:27:46 -05:00
James Dunne
f1ef51abc8 Removing Core::IsGPUThread() and Core::IsCPUThread() calls in favor of simple bool isCPUThread parameter value. 2013-03-15 19:42:42 -05:00
James Dunne
4137fc0023 Removed calls to YieldCPU from RunGpuLoop. 2013-03-15 19:42:38 -05:00
degasus
6962929356 GLSL: fix nfs-hp2 2013-03-15 23:32:01 +01:00
degasus
e1a081ad2d Merge branch 'GLSL-master'
Merge an endless story. The branch name is a lie, it was started as glsl, but now it is a complete reworked opengl3 backend.

It just began with simple changes which aren't supported on osx.
They either support ogl2 OR ogl3 core, but mixing isn't allowed.
As the branch name says, the vicious circle starts with GLSL, but just implementing one wasn't possible either:
- OSX supports only GLSL100 which doesn't support our shaders.
- Vertex Array Objects are needed for ogl3, but not supported on ogl2
- immediate mode isn't supported any more, so we must implement vertex buffers
- uniform buffers are recommended as else we would need tons glUniform
- postprocessing shaders have to be converted to glsl
- lots of smaller outdated issues and bug fixes :-)

Thanks at all for testing and at Sonic for converting all of our shaders to glsl130

And sorry for all upcoming bugs...
2013-03-15 22:49:26 +01:00
Rachel Bryk
8767b30f75 My OCD will not stand for this. 2013-03-15 15:42:59 -04:00
Ryan Houdek
363d0be9f9 Derp. No Windows to test compile on. 2013-03-15 11:29:12 -05:00
Ryan Houdek
8c1091a21f Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00
Rachel Bryk
d63d7fde9e So much more readable now! 2013-03-15 11:45:43 -04:00
NeoBrainX
e877b5019b PixelShaderManager: Reload fog range adjustment shader constants upon viewport change.
Fixes issue 5618.
2013-03-15 15:08:51 +01:00
Rachel Bryk
def578fea6 Fix checks for preventing the main and render windows from spawning off screen. 2013-03-15 09:19:39 -04:00
skidau
afb6f9127a Corrected a typo. 2013-03-15 19:32:47 +11:00
degasus
84119a966b Revert "remove wx from agl"
This reverts commit e63a5d8529.
window_handle is also used at many other places, so just move it here isn't allowed
2013-03-15 02:40:08 +01:00
NeoBrainX
203b1748a3 PixelShaderGen: Force depth textures to be emulated when the result is needed for fog calculation. 2013-03-15 01:01:00 +01:00
NeoBrainX
1f73651a7a VideoSoftware: Do not clear the depth buffer on EFB copy clears when depth writing is disabled. 2013-03-14 23:59:52 +01:00
Ryan Houdek
d6c7e7d652 Let's do this version check again. 2013-03-14 15:46:27 -05:00
Ryan Houdek
db1fc9019b Add a OSX version check to GLSL so if anyone running < OSX 10.7 gets a message instead of crashing when running the game. Turn off DEBUG_GLSL. 2013-03-14 15:25:41 -05:00
Ryan Houdek
e6c6053fcc Beginning of VFP cleanup. Will finish when I have the hardware in front of me. 2013-03-14 10:45:26 -05:00
Ryan Houdek
b4830be9bc Actually set the bIDIVa value in the ARM CPUDetect. 2013-03-14 08:48:01 -05:00
Rachel Bryk
eaebebc33d Prevent the render window from spawning off screen.
Fixes issue 6063.
2013-03-14 05:28:02 -04:00
degasus
e63a5d8529 remove wx from agl 2013-03-14 09:52:13 +01:00
Braden
a0fdcaced8 Removes the redundant window on OSX 2013-03-13 21:34:52 -05:00
Ryan Houdek
c93f7760ce Really clean up all the emitter loadstores on ARM. If a ARM device supports VFPv4, then it supports IDIVA, so handle that in CPUDetect. 2013-03-14 01:50:38 +00:00
Ryan Houdek
202e2fa5c8 Add a new WriteNewStoreOp emitter function for beginning of rewrite of the Arm Emitter LoadStores. Will finish when I have the hardware in front of me to test on. 2013-03-13 14:08:54 -05:00
skidau
85eab1d262 Used the scheduler to generate the interrupt for IPC. Fixes the ES_LAUNCH games. 2013-03-13 22:23:59 +11:00
Rachel Bryk
0b34457a8e All the cool kids hard code string lengths.
Fixes issue 6090.
2013-03-13 07:04:53 -04:00
Rachel Bryk
e73cc858bc Allow playing movies from command line. Also remove some unneeded code. 2013-03-13 01:37:35 -04:00
degasus
2c84c32ddc decrease d3d vertex buffer size 2013-03-12 17:48:20 +01:00
degasus
382be2aabd Merge branch 'master' into GLSL-master
Conflicts:
	.gitignore
2013-03-12 11:28:56 +01:00
skidau
83fc5f4747 Merge branch 'FIFO-BP'
# By skidau (30) and Pierre Bourdon (1)
* FIFO-BP: (31 commits)
  Set g_bSignalTokenInterrupt on the main thread.  Fixes the random hang in Harry Potter: Prisoner of Azkaban.
  Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size.  Fixes NFS:HP2 GC.
  Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
  Enabled Synchronise GPU on "SPEED CHALLENGE - Jacques Villeneuve's Racing Vision".  Required to go in-game.
  Added direct GameCube controller commands to the Serial Interface emulation.  Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc.
  Increased the FIFO buffer size to 2MB from 1MB.  Fixes Killer 7's Angel boss.
  Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
  Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE. Triggered the ARAM interrupt by the scheduler instead of directly in function.
  Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack. Cleaned up some of the audio streaming code.
  Skipped the EE check if there is a CP interrupt pending.
  Disabled "Speed up disc transfer" from the ZTP GC game ini.
  Removed the disc seek times for GC games and removed the disc speed option on Wii games. Checked for external exceptions only in mtmsr.
  Delayed the interrupts in the EXI Channel.
  Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871)
  Added a patch that bypasses the FIFO reset code in Wallace and Gromit: Project Zoo, allowing it to go in-game.
  Made vertex loading take constant time.
  Increased the cycle time of the vertex command.  Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision".
  Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang.
  Profile stores, fp stores and ps stores only to the fifo write addresses list.  This should make the JIT a little faster as it will not be checking for external exceptions unnecessarily.
  ...

Conflicts:
	Source/Core/VideoCommon/Src/PixelEngine.cpp
2013-03-12 19:47:59 +11:00
Ryan Houdek
8406d9972d Fix JIT from rebasing on PPSSPP ArmEmitter. 2013-03-12 02:35:29 +00:00
Ryan Houdek
b94b4a9e8f Rebase ArmEmitter on PPSSPP's base. The loadstores are making my heart cry at this point. 2013-03-11 13:57:55 -05:00
degasus
e1ca002937 osx: only use accelerated backends 2013-03-11 16:36:07 +01:00
Rachel Bryk
9a3633924d Dolphin needs to be restarted before playing back a wiimote movie, so let's suggest that instead of giving an unhelpful error message. 2013-03-09 02:44:24 -05:00
Rachel Bryk
13a64e992d Fix a typo. 2013-03-08 22:47:56 -05:00
Rachel Bryk
723371e022 Wow, I'm dumb. Fix mismatched set/get. 2013-03-08 20:06:04 -05:00
Ryan Houdek
f6d45ea461 Fix a potential issue when someone has a CPU core that isn't available on that host set in the INI file, it would just fail out. Now it defaults to interpreter. 2013-03-08 10:52:04 -06:00