Commit Graph

8594 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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