Commit Graph

9138 Commits

Author SHA1 Message Date
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
degasus 2c9c4d0f01 remove syncing on hacked buffer
nvidia does wait for their gpu on syncing, so removing it.
But now, we have to recheck it on every plattform
2013-03-08 10:23:27 +01:00
degasus 708b7d57cd fix wrapping in postprocessing 2013-03-08 09:36:28 +01:00
Ryan Houdek be217bf096 Add a comment about Qualcomm in load stores. 2013-03-07 20:28:18 -05:00
degasus f673e33a7d fix hotkey osd position 2013-03-07 21:42:40 +01:00
degasus a6719abab7 mesa doesn't like 0x0 fbo 2013-03-07 21:30:11 +01:00
degasus 7af0838e98 disable ubo for intel/mesa
our ubo workaround isn't much better, but not corrupted and much faster (on hd4000) than the ubo one
2013-03-07 21:07:57 +01:00
degasus a6844d6b9e move shader error files in dolphin user directory 2013-03-07 20:37:28 +01:00
degasus 2bd7ba76b9 only report errors without debug_glsl 2013-03-07 20:26:56 +01:00
degasus 8b232c7a4d fix "some" pp shaders ... 2013-03-07 19:51:57 +01:00
degasus ebb34ced91 postprocessing: only add *.txt shader and sort them 2013-03-07 19:11:50 +01:00
degasus 1c125f0fb4 add resolution uniform for pp, 16bit uses this for reducing screen resolution (wtf?) 2013-03-07 17:35:27 +01:00
degasus 12e84f918a Merge branch 'master' into GLSL-master
this fix debug build
2013-03-07 17:05:32 +01:00
degasus 800a58f01c reimplement postprocessing and fix one shader as example 2013-03-07 17:00:11 +01:00
lioncash 279e3c7e14 Fix a potential memory leak in function DecompressBlobToFile in CompressedBlob.cpp 2013-03-07 10:59:50 -05:00
Ryan Houdek f3528277c4 Make sure to mask out the FPU rounding mode correctly. Good spot from LionCash. 2013-03-07 09:52:38 -06:00
skidau d3e431af9e Set g_bSignalTokenInterrupt on the main thread. Fixes the random hang in Harry Potter: Prisoner of Azkaban. 2013-03-07 22:16:00 +11:00
degasus eaa5a77d9e fix debug build 2013-03-06 20:47:48 +01:00
Ryan Houdek 427a26fcc2 Clean up PPCSTATE_OFF 2013-03-06 13:46:36 -06:00
degasus 5dd502df3b Merge branch 'master' into GLSL-master
the only commit on master is to fix vertexloader, so disable jit for osx
2013-03-06 19:07:15 +01:00
degasus 7158c14d7a fix vertexloader without jit 2013-03-06 18:58:15 +01:00
degasus 03511d54d6 fix compilation
i missed to fix a merge conflict in dx9
2013-03-06 16:17:07 +01:00
degasus a1c5e90083 Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/CMakeLists.txt
	Source/Core/DolphinWX/Src/GLInterface.h
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
	Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
degasus 8d5299c20b Merge branch 'vertex-loader-cleanup' 2013-03-06 14:08:02 +01:00
degasus 10983b0eae fix VertexManager::GetRemainingIndices
the old implementation returns the amound of primitives fit into index buffers
but also gc needs more than one index per primitve
2013-03-06 12:33:02 +01:00
skidau 0f1ef49da1 Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size. Fixes NFS:HP2 GC. 2013-03-06 17:08:40 +11:00
Ryan Houdek 1214bf1359 Add ARM Jit to GUI when built on ARM 2013-03-06 03:25:45 +00:00
Ryan Houdek d6558e1c31 Make the (V)LDR/(V)STR instructions support negative offsets. This fixes a bug where Arm Jit couldn't load the top 33 FPRs. Also makes it so the core can access all GPRs, FPRs, and SPRs in ppcState. This increases VPS 15-20 on SSBM intro movie on ODROIDX 2013-03-06 01:51:59 +00:00
Jordan Woyak 2095641af0 OK, seriously, buildfix. I shouldn't even have commit access! 2013-03-05 16:17:45 -06:00
Jordan Woyak b34991c4c3 Buildfix for real. 2013-03-05 16:08:26 -06:00
Jordan Woyak fe3a54d7fd Buildfix! 2013-03-05 15:48:57 -06:00
Jordan Woyak 10d57a3402 Use standard binary multiple unit symbols for game size display.
Use integer math for the calculation as we cannot rely on floats for something as important as game size display!
2013-03-05 14:58:30 -06:00
degasus a2bb7d5766 initialize bSupportsDualSourceBlend only in renderer 2013-03-05 18:35:30 +01:00
degasus 5534d7e8c3 Revert "remove flag GL_SYNC_FLUSH_COMMANDS_BIT on syncing"
This reverts commit 025f8d342f.
OSX may wait forever, so fix osx freeze
2013-03-05 16:51:09 +01:00
degasus d19bc15d26 fix glsl140 workaround 2013-03-05 15:24:10 +01:00
degasus 4714e4f99c fix agl 2013-03-05 15:17:00 +01:00
Ryan Houdek 240238308c Disable SSE2 check in the GUI when building ARM. 2013-03-05 14:03:01 +00:00
Jordan Woyak 33a13b1a37 Fixed issue 5270. Don't ask me how, I just clean up code and then it works! I think it was int overflow. 2013-03-05 00:35:24 -06:00
Ryan Houdek 3ac7ee4623 Fix compiling Dolphin on devices that provide crazy GLES drivers 2013-03-05 03:53:25 +00:00
Jordan Woyak b7db96e2e5 Merge branch 'hle-fs-cleanup' 2013-03-04 19:02:41 -06:00
Jordan Woyak f3f89e1d00 Merge branch 'master' into vertex-loader-cleanup
Conflicts:
	Source/Core/Common/Src/CommonFuncs.h
	Source/Core/VideoCommon/Src/VertexLoader.cpp
2013-03-04 15:47:56 -06:00
Jordan Woyak bf58c70e9b Move copy-pasted code into function. 2013-03-04 15:35:29 -06:00
degasus 642eab92bc disable per pixel depth if depth textures aren't used 2013-03-04 20:12:58 +01:00
degasus efcfc5c014 workaround for GLEW_AMD_pinned_memory and older glew versions 2013-03-04 12:40:23 +01:00
degasus e4f8d7b4c8 fix debug build 2013-03-04 10:20:55 +01:00
Jordan Woyak 5d47fd1dde Remove HLE_IPC_CreateVirtualFATFilesystem as it no longer takes 3 minutes to LLE like the comment says. 2013-03-04 02:39:05 -06:00
Jordan Woyak 6d50bd127d Remove hack that seems to be no longer needed. 2013-03-04 02:22:11 -06:00
Jordan Woyak efcb2abe9b Don't open/close file for every file operation. 2013-03-04 02:21:58 -06:00
Jordan Woyak 04a33b177a Make seek mode 2 (offset from end of file) make sense. I doubt any games use this. 2013-03-04 01:42:38 -06:00
Jordan Woyak 0efe6c2124 GET_ATTR should not be returning the real filepath that we built. 2013-03-04 01:42:38 -06:00
Jordan Woyak 0041ec618c Don't null-terminate some random std::string. 2013-03-03 20:16:01 -06:00
Jordan Woyak 814c2ffdfd Fix some leaking file handles and buildfix probably. 2013-03-03 19:20:35 -06:00
Jordan Woyak 989f0663eb Make "Crypto" file opening unicode-safe on Windows. 2013-03-03 19:14:13 -06:00
Jordan Woyak 6b2818199c Fix WAD volume name extracting. 2013-03-03 19:00:29 -06:00
Jordan Woyak bdc96342ba More string conversion cleanup. 2013-03-03 18:40:50 -06:00
Jordan Woyak 6026b29844 Separate banner and volume name getting functions. Game properties now shows the correct "banner" name in more cases. 2013-03-03 18:34:03 -06:00
Jordan Woyak a30636cb88 Buildfix. 2013-03-03 18:00:48 -06:00
Jordan Woyak ae14578bc5 Eliminate some netplay gamelist ugliness. 2013-03-03 17:56:40 -06:00
Jordan Woyak c07b8a6e37 Fix more of what I broke. 2013-03-03 17:08:41 -06:00
Jordan Woyak b1a2915304 Merge branch 'master' into windows-unicode 2013-03-03 15:05:10 -06:00
Jordan Woyak cedfa452b4 Windows: Open wiimotes with the FILE_SHARE_WRITE flag like before.
This should fix issues introduced by real-wiimote-scanning.
2013-03-03 14:34:59 -06:00
skidau 61b01474fa Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
Fixes issue 4644.
2013-03-03 23:35:07 +11:00
Jordan Woyak fad2b65d76 More wxString conversion cleanup. 2013-03-03 02:30:45 -06:00
Jordan Woyak aeb4fc9846 Fix what I broke. 2013-03-03 02:12:24 -06:00
Ryan Houdek a01f793f59 Fix ARM build. 2013-03-03 07:37:22 +00:00
Jordan Woyak ed90feb2b4 Kill warning. 2013-03-02 23:00:14 -06:00
skidau 6dbd80d73e Reverted the audio streaming tweak from r7a04ec6f9220dd66147c86baaebc2f9e05d65ead as it was causing audio clipping in some Wii games like Fire Emblem: Radiant Dawn. 2013-03-03 15:20:15 +11:00
Jordan Woyak 88cb11ba0a I'm confused at why SHIFT-JIS was being used here. 2013-03-02 20:42:48 -06:00
Jordan Woyak e183711d74 wxString conversion cleanup. 2013-03-02 20:34:53 -06:00
Jordan Woyak 6c8adf6130 Eliminate the wstring game name.
Some cleanup throughout related code. (try to make logic in ISOFile understandable by a human)
Encode strings in UTF-8 rather than somehow trying to determine the encoding in the GUI code.

Non-windows OSes temporarily broken.
2013-03-02 20:00:36 -06:00
Jordan Woyak 2b1af36900 Merge branch 'master' into windows-unicode 2013-03-02 15:33:32 -06:00
skidau 643f18d28b Added direct GameCube controller commands to the Serial Interface emulation. Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc. 2013-03-02 22:35:10 +11:00
Jordan Woyak 2356e5c0e7 Eliminate some baseless restrictions in PointerWrap, mainly vector<string> not working. 2013-03-02 03:32:30 -06:00
skidau 5bb6ac8164 Increased the FIFO buffer size to 2MB from 1MB. Fixes Killer 7's Angel boss.
Fixes issue 5415.
2013-03-02 16:18:55 +11:00
Jordan Woyak e079d24912 Kill wstring version of game description. 2013-03-01 22:45:10 -06:00
skidau 3874b46a93 Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
Changed the maximum timeslice back to 20000 as it was causing slowdown.
2013-03-02 12:37:55 +11:00
NeoBrainX 008fdc7310 Merge branch 'perfqueries'.
Adds support for PE performance metrics.
Used in Super Mario Sunshine's "Scrubbing Sirena Beach" level to determine when enough goop has been cleaned up to finish the level.
Also used in TimeSplitters: Future Perfect to determine the appearance of flares around light sources (e.g. sun).

OpenGL and D3D11 only. D3D9 support unlikely to be added unless anyone bothers to do the work.
Initial work and D3D11 support by me. Kudos go to Billiard for adding the OpenGL support and reviving development of this branch that way :D

Slightly (~7%) decreases performance when performance metrics are used (and only then).

Fixes issue 1498.
Fixes issue 5368.
2013-03-02 00:17:37 +01:00
NeoBrainX cb1d21c032 PerfQueries: Fix an integer overflow. 2013-03-01 23:57:56 +01:00
NeoBrainX d1acb0a937 OGL: Fix perf metrics being overcounted when using a non-native internal resolution. 2013-03-01 23:12:41 +01:00
NeoBrainX 4058b4c38a Add documentation to PerfQueryBase interface.
Remove the config field for perf queries (wasn't used for the new interface anyway).
Few other cleanups.
2013-03-01 23:02:11 +01:00
NeoBrainX 5a7bb2abfa D3D11: Port perf queries code to the PerfQueryBase interface.
Remove deprecated PerfQuery methods from RenderBase.
Windows build fix.
2013-03-01 19:30:37 +01:00
degasus ef7083d78c also don't cleanup efb copys on efb2ram
these may be upscaled and this high res textures would be lost
2013-03-01 11:31:52 +01:00
skidau 4c6bbec600 Changed the maximum slice length to 1000 from 20000. This makes the emulator check external exceptions more regularly. 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.  Fixes a hang in Mario Super Baseball.

Fixes issue 5825.
Fixes issue 5096.
2013-03-01 20:23:55 +11:00
skidau 73da6f4f3f Merge branch 'master' into FIFO-BP
# By Jordan Woyak (46) and others
# Via Jordan Woyak (2) and others
* master: (70 commits)
  Fixes two memory leaks, one is pretty bad for OSX. Yell at pauldachz if this doesn't work. Or... say thanks.
  Added a BluetoothEnumerateInstalledServices call so that the wiimote remembers the pairing.
  Make ARMJit core default CPU core on ARM architecture
  Fix a StringUtil regression from the arm-noglsl merge
  Small improvement to cmpli/cmpi in ARMJit.
  Merge latest ArmEmitter changes from ppsspp while we're at it.
  Ah. I blame vim on this typo entirely.
  Add disabled code for authenticating wiimotes on Windows.
  Add the missing FPR cache
  Buildfix.
  Yell at the user if they change window size while dumping frames, and some other avi dumping stuff.
  Not sure if this is the right way to handle this, but it makes the save states perfectly stable. That's all that really matters, right?
  Abort loading states from incompatible graphics backends.
  ARM Support without GLSL
  Improve VideoSoftware save states. They are fairly stable, but not perfect. OpcodeDecoder::DoState() needs to be fixed.
  Begin implementing save states to video software. Kind of works, sometimes.
  Make error message for loading save state with wrong dsp engine shorter.
  Abort load state if it uses a different dsp engine, instead of crashing.
  Update the gameini of F-zero. Efb to Ram is no longer the default choice.
  fix last commit by neobrain
  ...

Conflicts:
	Source/Core/VideoCommon/Src/Fifo.cpp
2013-03-01 20:12:56 +11:00
Pierre Bourdon a2d08d6740 Fix Dolphin starting only once then crashing at startup 2013-03-01 10:11:08 +01:00
Matthew Parlane 99cf57eb39 Fixes two memory leaks, one is pretty bad for OSX.
Yell at pauldachz if this doesn't work.
Or... say thanks.
2013-03-01 19:21:34 +13:00
Jordan Woyak b0630790c1 It's 2013! Why can't I use C++11 yet!? 2013-02-28 19:42:29 -06:00
Jordan Woyak dea1e2827d Open std::fstream in a unicode-safe manner. 2013-02-28 19:33:39 -06:00
skidau 7a04ec6f92 Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack.
Cleaned up some of the audio streaming code.
2013-03-01 11:51:11 +11:00
NeoBrainX b94f65b666 Remove two incorrect lines. How did those even get there?! 2013-03-01 01:37:47 +01:00
NeoBrainX cbf5efe191 Some cleanups.
PE perf metrics officially declared unsupported for the D3D9 project (out of pure laziness, anyone who cares can implement them :P).
2013-03-01 01:31:57 +01:00
NeoBrainX 1c9860246c Build fixes for everyone! 2013-03-01 01:14:10 +01:00
NeoBrainX d0dbcc6369 VideoSoftware: Cleanup PE perf metrics; returning the proper value now. 2013-03-01 01:08:43 +01:00
NeoBrainX 7682ed22c6 Merge branch 'master' into perfqueries.
Conflicts:
	Source/Core/VideoCommon/Src/VideoConfig.h
	Source/Core/VideoCommon/VideoCommon.vcxproj.filters
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/Rasterizer.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/Tev.cpp
2013-03-01 01:07:34 +01:00
skidau 5c4a130688 Added a BluetoothEnumerateInstalledServices call so that the wiimote remembers the pairing. 2013-03-01 10:28:42 +11:00
Ryan Houdek bc15919e2e Make ARMJit core default CPU core on ARM architecture 2013-02-28 16:15:32 -06:00
Rachel Bryk 0c16489c39 Merge branch 'VideoSoftware-savestates' 2013-02-28 13:36:29 -05:00
skidau 0399959c39 Skipped the EE check if there is a CP interrupt pending.
Fixes issue 4336.
2013-03-01 00:59:38 +11:00
Pierre Bourdon 07539b9a3f Fix a StringUtil regression from the arm-noglsl merge
Fixes issue 6048. Thanks to Starscream for locating the regression.
2013-02-28 13:12:35 +01:00
Jordan Woyak 95558cdc69 Buildfix. 2013-02-28 03:11:10 -06:00
Jordan Woyak 03ec9a2e08 Kill some unnecessary c_str and use StrToWxStr in a few places that I missed. 2013-02-28 02:40:03 -06:00
Jordan Woyak 56f09d3b91 Attempt to be consistent with conversions between std::string and wxString. 2013-02-28 02:30:05 -06:00
Jordan Woyak e82d976d2f Buildfix for non-legacy OSes. 2013-02-27 20:55:19 -06:00
Jordan Woyak 6f87611767 Fix "Core" to build with "Unicode". 2013-02-27 20:30:57 -06:00
Jordan Woyak 536c110b31 Fix "DiscIO" to build with "Unicode". 2013-02-27 20:04:07 -06:00
Jordan Woyak 65683ebc64 Hopefully fix all filename handling to support Unicode. 2013-02-27 20:03:06 -06:00
Jordan Woyak 69f7671ee8 Fix "Common" to build with "Unicode" project setting. 2013-02-27 19:19:38 -06:00
Jordan Woyak ea75577278 Use the new UTF-16 conversion function in two places. 2013-02-27 18:02:07 -06:00
Jordan Woyak 0ea458b4dc Add functions for converting between UTF-8/16. 2013-02-27 18:00:42 -06:00
Ryan Houdek 9ff704f202 Small improvement to cmpli/cmpi in ARMJit. 2013-02-27 15:17:23 -06:00
Ryan Houdek f1d727cf13 Merge latest ArmEmitter changes from ppsspp while we're at it. 2013-02-27 11:53:24 -06:00
Ryan Houdek 8c779bb242 Ah. I blame vim on this typo entirely. 2013-02-27 10:26:32 -06:00
degasus 1b8d044543 clear cg from project files 2013-02-27 10:55:25 +01:00
Jordan Woyak 6b80e6f83c Tweak Vertex/Index buffer handling a bit. 2013-02-27 01:57:02 -06:00
Jordan Woyak e435851e7a Add disabled code for authenticating wiimotes on Windows. 2013-02-26 21:13:35 -06:00
Ryan Houdek 692e39d1bb Merge branch 'arm-noglsl' 2013-02-27 02:22:08 +00:00
Ryan Houdek be7643cd2d Add the missing FPR cache 2013-02-27 02:15:32 +00:00
Jordan Woyak a680d17eef Buildfix. 2013-02-26 19:59:33 -06:00
Jordan Woyak f1c990069c Yell at the user if they change window size while dumping frames, and some other avi dumping stuff. 2013-02-26 20:47:48 -05:00
Rachel Bryk 46f5c19c6d Not sure if this is the right way to handle this, but it makes the save states perfectly stable. That's all that really matters, right? 2013-02-26 18:52:38 -05:00
Rachel Bryk 08fe3c213a Abort loading states from incompatible graphics backends. 2013-02-26 18:28:56 -05:00
degasus ae481068cd cleanup ogl extension osd 2013-02-26 23:36:22 +01:00
degasus a650ae8c7b workaround for base vertex. damn old nvidia driver 2013-02-26 23:15:55 +01:00
degasus 025f8d342f remove flag GL_SYNC_FLUSH_COMMANDS_BIT on syncing 2013-02-26 21:48:35 +01:00
Ryan Houdek 717b976875 ARM Support without GLSL 2013-02-26 13:49:00 -06:00
degasus 9bc8d6e02b make samplercache global and call constructor/destructor 2013-02-26 18:30:13 +01:00
degasus 4883fa268f Split VideoBackend::Cleanup from Shutdown.
First is called from ogl/d3d thread, second is called from emulation thread (x11...)
2013-02-26 16:42:32 +01:00
degasus 90ff648d00 shader cache based by git revision 2013-02-26 10:48:19 +01:00
degasus 8b7141d3de Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer."
This reverts commit 380f22ca0e.

Yeah, reverting a revert.
2013-02-26 08:57:35 +01:00
skidau e69c58ee89 Removed the disc seek times for GC games and removed the disc speed option on Wii games.
Checked for external exceptions only in mtmsr.

Fixes issue 5545.
2013-02-26 18:10:02 +11:00
Rachel Bryk db838e759b Improve VideoSoftware save states. They are fairly stable, but not perfect. OpcodeDecoder::DoState() needs to be fixed. 2013-02-26 01:36:24 -05:00
Jordan Woyak 380f22ca0e Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.
This reverts commit 52dacaa3e3.
2013-02-25 20:52:30 -06:00
Rachel Bryk 415a2f17c9 Begin implementing save states to video software. Kind of works, sometimes. 2013-02-25 20:05:02 -05:00
Jordan Woyak bd14ad5300 Merge branch 'master' into vertex-loader-cleanup 2013-02-25 17:55:44 -06:00
Jordan Woyak 46adbfa9ed Merge branch 'real-wiimote-scanning' 2013-02-25 17:33:34 -06:00
Rachel Bryk e5c53e371f Make error message for loading save state with wrong dsp engine shorter. 2013-02-25 18:12:48 -05:00
Rachel Bryk a450ba4420 Abort load state if it uses a different dsp engine, instead of crashing. 2013-02-25 15:58:12 -05:00
degasus d173d646de fix last commit by neobrain 2013-02-25 16:11:24 +01:00
NeoBrainX 73a0bdd379 Build fixing. 2013-02-25 12:42:52 +00:00
NeoBrainX 1141af64f6 TextureCacheBase: Do not assume EFB copies can safely be deleted when we think they're "unused".
Fixes issue 6040.
2013-02-25 12:36:50 +00:00
Jordan Woyak 6b2804e296 Possible crashfix for OSX. 2013-02-24 22:29:33 -06:00
degasus c86b892f95 Revert "remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords"
This reverts commit 4653adecf1.

Also dx9 isn't able to hanlde more than 11 varying registers.
More frustrating is the lightning issue by this commit. I don't know why it happens...
2013-02-24 20:51:44 +01:00
skidau dc98ce5922 Added the addeo instruction to the JIT tables. Fixes Inkub (WiiWare). 2013-02-24 23:05:12 +11:00
skidau 6b28b3929a Delayed the interrupts in the EXI Channel.
Fixes issue 5580.
2013-02-24 21:32:14 +11:00
skidau 40b65fdc04 Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871) 2013-02-24 17:10:33 +11:00
Jordan Woyak 52dacaa3e3 Make the posmtx vertex attribute an int instead of converting to and from a float. 2013-02-23 20:54:30 -06:00
skidau ae566d6b3c Merge branch 'aram-dma-fixes' into FIFO-BP
# By Pierre Bourdon
# Via Pierre Bourdon
* aram-dma-fixes:
  Simulate a small delay on GC Memcard operations
2013-02-24 00:11:11 +11:00
Jonathan Jones ba979582e2 Makes the "No banner" banner image theme-able. Current "sexy X" banner included as part of "Boomy" theme.
Fixes issue 6023.
2013-02-22 15:30:07 -05:00
degasus 0a05fcade4 fix glsl compilation error on intel 2013-02-22 12:19:52 +01:00
degasus d9adc26332 real Star Fox fix 2013-02-22 12:14:39 +01:00
degasus 242d960781 increase buffer size
32M UBO, 16M Vertex, 2M Index
2013-02-22 10:25:38 +01:00
Jordan Woyak 86935ab4fd forceinline IndexGenerator::WriteTriangle 2013-02-22 03:22:20 -06:00
degasus e270c8b153 fix Star Fox 2013-02-22 09:54:19 +01:00
Jordan Woyak d3f1bb93f2 Use DataWrite in a few more places. 2013-02-22 02:19:59 -06:00
Jordan Woyak db1be085c2 VertexManager cleanup 2013-02-22 01:41:52 -06:00
Jordan Woyak 21bd5be753 Buffer size changes. 2013-02-21 23:12:53 -06:00
skidau d76ca57837 Fixed a JIT timing bug that prevented Eternal Darkness from booting in Single Core mode. 2013-02-22 15:13:49 +11:00
Jordan Woyak f16dcfe6f6 Remove logic from IndexGenerator which does not seem to match that of Video Software. 2013-02-21 21:02:49 -06:00
Jordan Woyak 368c78dd5c IndexGenerator cleanup. 2013-02-21 19:11:07 -06:00
degasus 9332775b68 default upload method for nvidia is buffersubdata 2013-02-21 21:59:40 +01:00
Jordan Woyak 677c6229ad Experimental VertexLoader cleanup! 2013-02-21 14:41:06 -06:00
Jordan Woyak a92c93f870 Automate some calculations, with templates! 2013-02-21 13:29:05 -06:00
Jordan Woyak 7987d6babb Use templates for 8+16 bit indexed versions of SSSE3/SSE4 TextCoord reading. 2013-02-21 12:42:09 -06:00
degasus bed29f843f fix spelling 2013-02-21 18:29:17 +01:00
degasus 40e17b4cb8 add option for hacked upload and disable it by default 2013-02-21 18:18:44 +01:00
degasus d0e8217714 remove intel pixel shader hack
did not work correctly and made warnings on dx11
2013-02-21 17:44:56 +01:00
degasus c7f4d6b9ac wrapper for s_pCurBufferPointer 2013-02-21 13:45:48 +01:00
degasus 4b4dce1bd9 build fix 2013-02-21 13:00:19 +01:00
degasus 76e6085e31 consistently usage of buffer pointers 2013-02-21 12:36:29 +01:00
degasus a849bb5242 Merge branch 'vertexloader_cleanup' into vertex-loader-cleanup
Conflicts:
	Source/Core/VideoCommon/Src/VertexLoader_TextCoord.cpp
2013-02-21 12:18:50 +01:00
degasus 66d0c1c301 small cleanups of s_pCurBufferPointer 2013-02-21 11:45:29 +01:00
degasus 0d33e20026 bbox: replace s_pCurBufferPointer with locale buffer, so it can be read without read from the writeonly buffer 2013-02-21 11:41:14 +01:00
degasus 7a89faf13f converting the last vertices again instead of copying from buffer on buffer split
for mapping, this buffer must be write only, so we cannot copy anthing.
converting again needs more cpu, but should happen rarely
2013-02-21 11:36:10 +01:00
Jordan Woyak dc776a19a0 Cleanup VertexLoader's Color functions a bit. 2013-02-21 02:49:17 -06:00
Jordan Woyak 660fc12927 Cleanup Position loader functions. 2013-02-21 02:19:06 -06:00
Jordan Woyak 5efdcef34a No longer have the signed/unsigned hack I guess. 2013-02-21 00:49:47 -06:00
Jordan Woyak 3938d3713b Fix what I broke. 2013-02-21 00:40:22 -06:00
Jordan Woyak 5b63472ad7 Templatify Normal Loader functions. 2013-02-21 00:10:06 -06:00
Jordan Woyak 5e78f8a176 Templatify TextCord Loader functions. 2013-02-20 20:43:53 -06:00
Jordan Woyak 8f256237a3 Templatify DataReader a bit. 2013-02-20 20:21:25 -06:00
Jordan Woyak 6a13a4e5ed Add template "swap" function to CommonFuncs. 2013-02-20 20:20:53 -06:00
Jordan Woyak e9232280c4 Fix OSX! 2013-02-20 17:35:41 -06:00
Jordan Woyak f3e91bc10d Hopefully kill a stupid warning on Windows. 2013-02-20 17:30:34 -06:00
Jordan Woyak e7c93b8ac3 Minor sampler cache cleanup. 2013-02-20 17:15:10 -06:00
Jordan Woyak b7fae1febb Fix my DX11 texture-related failure..
Fixes issue 6026. (probably)
2013-02-20 14:18:21 -06:00
skidau 36f2082a5f Made vertex loading take constant time. Fixes a hang in Gladius. 2013-02-20 23:38:25 +11:00
Jordan Woyak 6e6d8af6dd Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly.
All backend TextureCaches now load level 0 in CreateTexture.

This reverts commit 294cb165ba.
2013-02-20 05:42:22 -06:00
Jordan Woyak eae20b77a8 Remove some unneeded sampler-related calls in BPStructs. 2013-02-20 02:01:54 -06:00
Jordan Woyak 294cb165ba Don't load level 0 twice for 1-level textures in DX11. 2013-02-19 22:39:28 -06:00
Jordan Woyak 55c2a01744 Check for sampler object support, just to be nice. 2013-02-19 21:24:08 -06:00
Jordan Woyak f2647a1216 Implement OGL sampler cache. Allows binding a texture multiple times with different parameters. Also possibly gives a very small speed improvement. 2013-02-19 21:18:53 -06:00
degasus d93e57ff22 revert b5fe39b8c7 "fix texture parameters"
these parameters are really floats. I was just wrong
2013-02-19 22:20:39 +01:00
degasus b5fe39b8c7 fix texture parameters 2013-02-19 17:28:46 +01:00
degasus 50f4bf114e Revert "map_orphan_and_risk - next try for upload method"
This reverts commit 17747fcfb8.

On orphaning, some gl drivers do heurisitics where to store the buffer.
As the hack may only work on pinned memory, it would be much less deteministic.
2013-02-19 15:51:48 +01:00
degasus 0f2ee45d96 remove ati workaroung for mipmap creation
isn't needed any more by merging mapmap_fixes
2013-02-19 15:40:34 +01:00
skidau 351c741906 Merge branch 'master' into FIFO-BP
# By Jordan Woyak (9) and others
* master:
  Fixed a buffer overflow in the OpenAL buffer.
  TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
  WII_IPC_HLE_Device_FileIO: don't rebuild the filename on every operation.
  Some cleanup of CWII_IPC_HLE_Device_FileIO: The real file was never kept open for longer than a single operation so there was no point in dealing with it in DoState. Saving the real path in the savestate was also probably a bad idea. Savestates should be a bit more portable now.
  Removing destination on rename when source isn't present doesn't make sense. IOCTL_RENAME_FILE still might not be totally correct.
  Change some CNANDContentLoader logic to what was probably intended. Kills some warn logs when opening Dolphin.
  Let's not CreateDir an empty string every time CreateFullPath is used, logging an error every time.
  Fix a memleak. Probably/maybe improve USBGecko performance.
  Remove the core count from the cpu info OSD message. It was often wrong and not rather important.
  Use omp_get_num_procs to set the number of OpenMP threads rather than our core count detection.
  Bulk send TCP data to the client with the emulated USB Gecko.
  Added the ability to reverse the direction of the force feedback by allowing negative range values.
  Changes/cleanup to TextureCache::Load and other mipmap related code. The significant change is what is now line 520 of TextureCacheBase.cpp: ((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1) to TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);
2013-02-19 23:19:29 +11:00
degasus 17747fcfb8 map_orphan_and_risk - next try for upload method
should work around nvidia600 driver issue which will flush gpu on syncing
also increase buffer size by orphaning
2013-02-19 13:18:48 +01:00
skidau 718a1b5ded Fixed a buffer overflow in the OpenAL buffer. 2013-02-19 23:18:13 +11:00
degasus fed574d08b solve merge conflict 2013-02-18 18:55:42 +01:00
degasus a629dea4dc Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Src/GLInterface/WX.cpp
	Source/Core/DolphinWX/Src/GLInterface/WX.h
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.h
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h
	Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp

damn mipmap_fixes ...
2013-02-18 18:49:20 +01:00
NeoBrainX 19ab5bf50d TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs. 2013-02-18 17:14:56 +01:00
NeoBrainX 0f617183a8 Add a possible TODO.
Dunno if the hardware behaves like this, but it likely does.
2013-02-18 14:54:24 +00:00
degasus 4653adecf1 remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords 2013-02-17 22:37:00 +01:00
degasus bef24b5c6b new format for gl extensions 2013-02-17 21:41:00 +01:00
Jordan Woyak d0ea94a2aa WII_IPC_HLE_Device_FileIO: don't rebuild the filename on every operation. 2013-02-17 13:52:04 -06:00
Jordan Woyak fa9aafeed8 Some cleanup of CWII_IPC_HLE_Device_FileIO:
The real file was never kept open for longer than a single operation so there was no point in dealing with it in DoState.
Saving the real path in the savestate was also probably a bad idea. Savestates should be a bit more portable now.
2013-02-17 13:37:01 -06:00
Jordan Woyak 0cdd4434b9 Removing destination on rename when source isn't present doesn't make sense.
IOCTL_RENAME_FILE still might not be totally correct.

Fixes issue 5440.
2013-02-17 12:51:12 -06:00
Jordan Woyak bf4be1d8d1 Change some CNANDContentLoader logic to what was probably intended. Kills some warn logs when opening Dolphin. 2013-02-17 01:57:25 -06:00
Jordan Woyak 3330842505 Let's not CreateDir an empty string every time CreateFullPath is used, logging an error every time. 2013-02-17 01:33:22 -06:00
Jordan Woyak 9ac2fbb0a5 Fix a memleak. Probably/maybe improve USBGecko performance. 2013-02-17 00:19:42 -06:00
Jordan Woyak 206fdde933 Remove the core count from the cpu info OSD message. It was often wrong and not rather important. 2013-02-16 23:48:20 -06:00
Jordan Woyak 537d5ea942 Use omp_get_num_procs to set the number of OpenMP threads rather than our core count detection. 2013-02-16 23:48:20 -06:00
skidau 123035a192 Bulk send TCP data to the client with the emulated USB Gecko.
Fixes issue 6006.
2013-02-17 15:27:15 +11:00
skidau 1792a9d27b Added the ability to reverse the direction of the force feedback by allowing negative range values.
Fixes issue 5981.
2013-02-17 15:03:10 +11:00
Jordan Woyak 53aec6c476 Fix OGL perf queries and make them not slow! 2013-02-16 19:30:24 -06:00
skidau 0e2c3f3483 Increased the cycle time of the vertex command. Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision". 2013-02-16 22:54:10 +11:00
skidau 45efced280 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. 2013-02-16 18:30:20 +11:00
Jordan Woyak d994e56b60 Changes/cleanup to TextureCache::Load and other mipmap related code.
The significant change is what is now line 520 of TextureCacheBase.cpp:
((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1)
to
TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);

Fixes issue 5328.
Fixes issue 5461.
2013-02-15 22:56:29 -06:00
skidau 0c882cca66 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. 2013-02-16 13:54:58 +11:00
skidau 9bff8e00c8 Added preliminary support to synchronise the timing of the CPU and GPU threads. A new option has been added to the game properties for this purpose. This option may help with random freezes in Dual Core mode.
Fixes Gladius and Baten Kaitos: Eternal Wings and the Lost Ocean

Fixes issue 5150.
2013-02-16 12:51:09 +11:00
skidau 51795d8811 Merge branch 'master' into FIFO-BP
# By Jordan Woyak (24) and others
# Via Jordan Woyak (3) and others
* master: (66 commits)
  Reduce some DI command delays. Fix DKCR hanging with DSP HLE. My other games continue to work.
  Video_Software: Fix ZComploc option breaking stuff.
  Video_Software: Fix the ZFreeze option doing nothing.
  Video_Software: Toggable zfreeze and early_z support for testing.
  Fix header guard and definitions not being set to 1
  Add the option to turn on only the EGL interface to use desktop OpenGL with it.
  Change the ugly "no banner" banner to the sexy "X" from the website.
  Fix a crash in the FifoPlayer dialog.
  Use different reply delays for various DI commands. Fixes issue 5983.
  Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
  Fix some potential issues when blending on EFB formats without alpha. Clean up state transition tables.
  Disable play and record buttons if an iso was selected, but is later deselected.
  Disable start/play recording buttons when no iso is selected.
  Only delay DI and fs IPC replies. Fixes issue 5982.
  Fix compilation with SDL2. (based on a patch from matthewharveys) Fixes issue 5971.
  "Fix" using SDL from externals.
  Clean up SDL includes a bit. Maybe fix an SDL2 problem.
  Number "unknown" axes in OSX rather than call them all "unk".
  Revert "Only delay DI command replies." Fix "Wii Party" again.
  Hopefully make wiimote speaker less crappy.
  ...
2013-02-16 11:10:03 +11:00
Jordan Woyak 5a3435255b Reduce some DI command delays. Fix DKCR hanging with DSP HLE. My other games continue to work. 2013-02-15 16:02:38 -06:00
NeoBrainX 6fd96a162f Video_Software: Fix ZComploc option breaking stuff. 2013-02-15 17:55:16 +01:00
NeoBrainX fb0102d441 Video_Software: Fix the ZFreeze option doing nothing. 2013-02-15 17:47:29 +01:00
NeoBrainX 183ad0c628 Video_Software: Toggable zfreeze and early_z support for testing. 2013-02-15 17:45:33 +01:00
degasus 334bd52f2c NaNs handling in pixel shader 2013-02-15 15:46:31 +01:00
degasus e259343275 fix efb copy shaders 2013-02-15 13:13:45 +01:00
Jordan Woyak ef90b15f3e Provide an option to not send speaker data. It can cause rumble lag even when the speaker is muted. 2013-02-15 03:00:31 -06:00
Jordan Woyak 1f20a24a04 Minor changes. 2013-02-14 21:02:41 -06:00
Jordan Woyak 891de52769 Don't need to hang dolphin when searching for wiimote with the refresh button.
This code is getting pretty ugly. :/
2013-02-14 19:04:34 -06:00
Jordan Woyak cda88a8c1e Random improvements. 2013-02-14 18:43:11 -06:00
Jordan Woyak 306e6b1d80 Turn off continuous scanning by default. 2013-02-14 18:43:11 -06:00
degasus 9f4a616f2e build fix 2013-02-14 19:04:52 +01:00
degasus a0ef58418b workaround for buggy intel windows driver. revert this as soon as there are newer driver 2013-02-14 18:59:45 +01:00
degasus 0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
Jordan Woyak e57ff06130 Futile attempts at fixing Windows. 2013-02-13 14:00:15 -06:00
degasus 3392562501 rewrite efb copy shader, copied from dx11 2013-02-13 18:01:06 +01:00
degasus 21b83b436c create shader cache directoy 2013-02-13 16:50:56 +01:00
degasus b3675d15dc enable shader cache again 2013-02-13 16:30:15 +01:00
degasus 398b37f371 fix ValidateShaderIDs 2013-02-13 15:16:32 +01:00
degasus bbc292c210 merge Vertex and PixelShaderCache into ProgramShaderCache
this is the first step, uniform handling is still missing
2013-02-13 13:12:19 +01:00
Jordan Woyak 77381a1af2 Futile attempts at fixing OS X. 2013-02-12 21:37:47 -06:00
Jordan Woyak 7f305ba822 Fix sloppy connection logic. 2013-02-12 18:59:45 -06:00
Jordan Woyak 12674b3164 Possibly improve real wiimotes on Windows. 2013-02-12 17:01:51 -06:00
Ryan Houdek 818a376bd4 Fix header guard and definitions not being set to 1 2013-02-12 14:11:29 -06:00
Jordan Woyak 1e64c38998 Clean up SDL includes a bit. Maybe fix an SDL2 problem.
Conflicts:
	Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
2013-02-12 14:02:43 -06:00
Jordan Woyak 46f94203b7 Fix compilation with SDL2. (based on a patch from matthewharveys)
Fixes issue 5971.

Conflicts:
	Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
2013-02-12 14:00:51 -06:00
Jordan Woyak da53ca8ee3 "Wait for the wiimote to connect"? I think that's a horrible idea. 2013-02-12 00:19:27 -06:00
Jordan Woyak a6461ca186 Improve wiimote reconnection on changing wiimote sources. 2013-02-11 23:39:04 -06:00
Jordan Woyak fa10335c55 Make continuous scanning optional. 2013-02-11 17:58:56 -06:00
Jordan Woyak f3d25f2cb0 OSX buildfix! 2013-02-11 16:07:01 -06:00
Jordan Woyak 0fb7f65e04 Problems on Windows? Just SLEEP twice as long! 2013-02-11 15:58:23 -06:00
Jordan Woyak c2d2fb8c7c Try to improve real wiimotes on Windows. 2013-02-11 15:21:58 -06:00
Ryan Houdek 8923f0e13b Fix header guard and definitions not being set to 1 2013-02-11 15:06:40 -06:00
Jordan Woyak b8fd5c0c30 Fix Windows for real! 2013-02-11 05:57:55 -06:00
Jordan Woyak c267be2682 Hopefully fix windows! 2013-02-11 05:30:51 -06:00
Jordan Woyak 7a053d0f07 buildfix! 2013-02-11 03:50:54 -06:00
Jordan Woyak 05ec90488b Make real wiimotes not so crappy on Windows hopefully. 2013-02-11 03:39:09 -06:00
skidau f26650e55b Removed the updating of PC in the Cleanup function. This was causing Metroid Prime to hang. 2013-02-11 08:42:16 +11:00
skidau 17c4fcfd90 Removed the updating of PC in GenQuantizedStores() as the generated code is static. 2013-02-10 18:40:50 +11:00
skidau 0cafc33eda Moved the token update to the CPU thread. 2013-02-10 18:24:30 +11:00
skidau 056930cac8 Updated PC on a few memory writes that were missed in the FifoBusy branch. Thanks to hk.konpie for the tip.
Fixes issue 5993.
2013-02-10 13:33:56 +11:00
Jordan Woyak 1c64b1993d Change the ugly "no banner" banner to the sexy "X" from the website. 2013-02-09 17:04:41 -06:00
NeoBrainX 6645bd6fc6 Fix a crash in the FifoPlayer dialog. 2013-02-09 12:39:19 +01:00
skidau 5f672baca3 Used Atomic functions to update variables shared between the CPU and GPU threads.
Changed the variables from bool to u32 to match the atomic functions.
2013-02-09 17:46:48 +11:00
Jordan Woyak 50c83d614c More attempts at fixing Windows and OS X. 2013-02-08 21:20:54 -06:00
Jordan Woyak 9bb9286cd3 OSX buildfix! 2013-02-08 16:59:59 -06:00
Jordan Woyak 1f1b4a6992 Hopefully make real wiimotes on OSX less crashy. 2013-02-08 16:54:48 -06:00
Jordan Woyak a11827cdf0 Use different reply delays for various DI commands.
Fixes issue 5983.
2013-02-08 16:27:14 -06:00
Jordan Woyak 1998da867b OSX fix maybe. (based on jchadwick's patch) 2013-02-08 12:33:45 -06:00
Jordan Woyak 8ce58759e3 Remove some old nonsense. 2013-02-07 23:52:50 -06:00
Jordan Woyak 87bbdbf542 Remove settings stuff that was not actually used anywhere. 2013-02-07 23:23:32 -06:00
Jordan Woyak 026793fa4a Fixup real wiimote GUI. 2013-02-07 23:17:51 -06:00
Jordan Woyak 3063942dd0 some cleanup 2013-02-07 21:54:23 -06:00
Jordan Woyak c4df69a342 Merge branch 'master' into real-wiimote-scanning
Conflicts:
	Source/Core/Core/Src/HW/WiimoteReal/IOWin.cpp
	Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp
2013-02-07 20:22:06 -06:00
Jordan Woyak a2ca76ebd9 Buildfix. 2013-02-07 15:16:41 -06:00
Jordan Woyak 57ea09dcc2 Fix BT-less! 2013-02-07 14:46:01 -06:00
NeoBrainX 95d08db46f Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
This reverts commit 6c8a22de24.
2013-02-07 21:45:06 +01:00
Jordan Woyak 9ecfb5e75d Buildfix for real! 2013-02-07 14:42:50 -06:00
Jordan Woyak 85f25ded4c Buildfix!
Programming for Windows on Linux is hard, OK?
2013-02-07 14:22:45 -06:00
Jordan Woyak 8f5fb7e6f9 Hopefully buildfix Windows. (thanks for the patch, RachelB) 2013-02-07 14:15:47 -06:00
NeoBrainX ed0abc9dc5 Merge branch 'mipmap_fixes'. 2013-02-07 20:40:33 +01:00
NeoBrainX 6870c1fdd5 Fix some potential issues when blending on EFB formats without alpha.
Clean up state transition tables.
2013-02-07 18:01:24 +01:00
degasus 10567cb23f always write to uv coords 2013-02-07 13:23:20 +01:00
degasus f079b04a5d also check for glsl errors on linking, activation GLSL_DEBUG again (slowdown on shader compilation) 2013-02-07 12:47:41 +01:00
degasus 9987765b1f build fix 2013-02-07 10:48:42 +01:00
degasus 376a807dea first try of osx fix, mostly by pauldachz 2013-02-07 10:34:29 +01:00
Rachel Bryk 0ebe35e0ef Disable play and record buttons if an iso was selected, but is later deselected. 2013-02-07 00:31:57 -05:00
Rachel Bryk 6bc9e7579c Disable start/play recording buttons when no iso is selected. 2013-02-06 20:56:07 -05:00
degasus dae1226e1b workaround for division by zero on fog calculation 2013-02-07 02:21:30 +01:00
Jordan Woyak 9cbfddd788 Only delay DI and fs IPC replies.
Fixes issue 5982.
2013-02-06 16:52:51 -06:00
Jordan Woyak ef9d7fb789 Fix compilation with SDL2. (based on a patch from matthewharveys)
Fixes issue 5971.
2013-02-05 21:08:52 -06:00
degasus e7a8d3f854 check for GL_ARB_sync, it's in ogl 3.2 2013-02-06 01:05:19 +01:00
Jordan Woyak 708fed92c8 Clean up SDL includes a bit. Maybe fix an SDL2 problem. 2013-02-05 15:34:23 -06:00
Jordan Woyak f506783c37 Number "unknown" axes in OSX rather than call them all "unk". 2013-02-05 13:51:08 -06:00
degasus ef602fd643 workaround for glGetUniformLocation in efb2ram 2013-02-05 18:22:23 +01:00
degasus 76adc77fa6 bigger buffers 2013-02-05 18:01:27 +01:00
Jordan Woyak 937d9e9007 Revert "Only delay DI command replies."
Fix "Wii Party" again.

This reverts commit fb5b5e8b63.
2013-02-05 02:51:34 -06:00
Jordan Woyak d0190faded Hopefully make wiimote speaker less crappy. 2013-02-04 22:11:13 -06:00
Jordan Woyak bc35764ec2 Fixed issue 5973. (probably) 2013-02-04 21:25:14 -06:00
Jordan Woyak a455abe00b Merge branch 'more-ipc-hle-hacks'
Fixes issue 5972.
2013-02-04 21:01:46 -06:00
Jordan Woyak d5ec631337 Make real wiimote speaker not cause massive input delays.
Fixes issue 5966.
2013-02-04 20:57:08 -06:00
Jordan Woyak fb5b5e8b63 Only delay DI command replies. 2013-02-04 19:39:31 -06:00
degasus 1d86dafbe2 evil hack: map the buffer once and use this pointer after unmaping
This isn't allowed by gl and may _only_ work, if the driver uses cpu bound buffer.
But it may speed up :-)
2013-02-05 00:53:14 +01:00
Jordan Woyak 2ad30958d6 Stuck an IPC HLE Update call in WII_IPCInterface::Write32.
While hacky, this seems to fix various problems without increasing IPC HLE freq to infinity.
Thanks to Aristar for helping test.
Increase IPC command reply delay to 1/100th of a second. (fixes DKCR hanging)
2013-02-04 17:41:10 -06:00
degasus f677b8cba3 update to glew1.9, win binaries also from official release 2013-02-04 21:11:12 +01:00
degasus 2108529120 also align the size of buffers for pinned memory 2013-02-04 20:48:28 +01:00
skidau 2c8c8db731 Used AtomicStore to write to the signal interrupts. 2013-02-03 23:52:18 +11:00
skidau 03d9cca2fe Added a script to copy the OpenAL dll's to the main Dolphin folder on new builds. 2013-02-03 19:02:46 +11:00
skidau 9a4e9da7c2 Set the token and finish interrupt signal from the video thread. This fixes the inconsistent state caused by lag from the scheduler. Fixes Rayman 3: Hoodlum Havoc and Shamu's Deep Sea Adventures.
Fixes issue 5401.
Fixes issue 5589.
2013-02-03 18:05:46 +11:00
Jordan Woyak ca46a34dde Merge branch 'ipc-hle-hacks'
Thanks skid_au for testing and helping think of the solution!

Fixes Issue 4608.
Fixes Issue 5050.
Fixes Issue 5103.
2013-02-02 12:54:22 -06:00
Jordan Woyak e3c6c6dd69 Increase IPC HLE freq a bit for DKCR. 2013-02-02 12:52:12 -06:00
degasus 6e0b0192a8 correct spelling of align 2013-02-02 19:39:26 +01:00
degasus 0c7aa4ff4f build fix 2013-02-02 19:32:40 +01:00
degasus 6e20af9ee9 align memory, use pinned memory if available 2013-02-02 19:26:29 +01:00
Jordan Woyak 5c08df00b2 Re-increase max ACL queue size to 100. Better than possibly dropping a packet.
Reduced IPC update freq some.
Removed some other nonsense.
2013-02-02 03:55:33 -06:00
skidau 867bfaa696 Changed cmdidle to match the isGpuReadingData flag. Fixes the random freezes in The Last Story. 2013-02-02 20:50:40 +11:00
Jordan Woyak 286392af9d Reduce ACL max queue size back to 10. Increase IPC_HLE freq to 8 KHz to compensate. 2013-02-01 23:44:17 -06:00