Commit Graph

9182 Commits

Author SHA1 Message Date
Lioncash fc30597f7a Remove function Xchg from SWStatistics.cpp. Like the one previous, this can be replaced with std::swap 2014-02-09 19:55:44 -05:00
Lioncash ebb48d019e Clean up some struct indentations
Also cleaned up the indentations of some variable declarations.
2014-02-09 19:40:11 -05:00
Ryan Houdek 0030784cbf Merge pull request #38 from Sonicadvance1/GLExt-lessfail
Cleanup GLExtensions on how it fails.
Fixes Mesa with buffer_storage patches and no direct_state_access.
2014-02-09 17:48:34 -06:00
Lioncash 40182a48a5 Cleanup enum indentations. 2014-02-09 16:16:10 -05:00
Pierre Bourdon e59f770ccb Revert "Merge pull request #49 from Parlane/sprintf_tidy"
Change broke the build on Debian stable.

This reverts commit 28755439b3, reversing
changes made to 64e01ec763.
2014-02-09 16:14:13 +01:00
Pierre Bourdon 9da6900595 Merge pull request #12 from Armada651/osx_rumble
OS X Rumble Support
2014-02-09 16:10:07 +01:00
Jules Blok 2063eddfa3 ForceFeedback: Fixed scoping bug
Previous code relied on a destroyed variable to still be valid.
2014-02-09 17:04:05 +09:00
Jules Blok 992b91c082 ForceFeedback: Don't depend on the force_type_name index.
Instead use a for-each loop, compare GUIDs and save the name pointers.
2014-02-09 17:01:45 +09:00
Jules Blok c6d650c058 ForceFeedback: Add OSX rumble support 2014-02-09 17:01:45 +09:00
Jules Blok 02a95c139e ControllerInterface: Move DInput ForceFeedback support to a seperate class 2014-02-09 17:01:38 +09:00
Ryan Houdek 6a5cd02629 Cleanup GLExtensions on how it fails.
If there is an issue with a reported extension, disable it instead of failing out entirely.
Fixes an issue with buffer_storage that I had overlooked as well.
2014-02-08 19:50:12 -06:00
Ryan Houdek 9f91769def Improve GLExtensions compile time.
This changes from using logical and to bitwise and, which causes the compile time to drop from an absurd amount of time to around five seconds on my
crappy laptop.
2014-02-08 15:04:17 -06:00
Matthew Parlane ebff7974c3 Some tidy up of sprintf to StringFromFormat 2014-02-08 14:32:48 +13:00
Matthew Parlane 64e01ec763 Merge pull request #48 from Parlane/SetupWiiMemory_tidy
Tidy up SetupWiiMemory
2014-02-08 00:22:24 +13:00
Pierre Bourdon 4f97666bfd Merge pull request #20 from degasus/pulseaudioRewrite
Pulseaudio: rewrite the pa backend with the async api
2014-02-07 11:51:25 +01:00
Matthew Parlane 6b980cbf30 Tidy up SetupWiiMemory 2014-02-07 19:00:34 +13:00
Pierre Bourdon 70e2ed320d Revert "Merge pull request #47 from lioncash/remove-stringfromint"
Breaks Android build.

This reverts commit 12d026c544, reversing
changes made to 6d678490f5.
2014-02-07 00:26:33 +01:00
degasus ab124b96c4 Atomic Stores / Loads 2014-02-07 00:20:10 +01:00
degasus 5c646d334a Pulseaudio: rewrite the pa backend with the async api
The default async api allow us to set some latency options. The old one (simple API) was the lazy way to go for usual audio where latency doesn't matter.

This also streams audio, so it should be a bit faster then the old one.
2014-02-07 00:20:10 +01:00
Pierre Bourdon 12d026c544 Merge pull request #47 from lioncash/remove-stringfromint
Remove function StringFromInt from StringUtil.cpp/.h. C++11 has std::to_string for this now.
2014-02-07 00:19:15 +01:00
Pierre Bourdon 4c6d4cc270 Merge pull request #41 from Parlane/printf_warnings
Give StringFromFormat a printf format attribute.
2014-02-07 00:18:12 +01:00
Lioncash 05742ffd48 Remove function StringFromInt from StringUtil.cpp/.h. C++11 has std::to_string for this now. 2014-02-06 18:08:31 -05:00
Ryan Houdek 7a9f7bfa83 Fix a typo in EGL.h for setting mode.
Seems to have been a copy and paste issue where SetMode would always set to DETECT
This isn't right since mode should be set correctly by SetMode
2014-02-06 21:41:11 +00:00
Matthew Parlane 70d2592ffb Fix warnings found by StringFromFormat having printf style checking. 2014-02-07 01:38:08 +13:00
Matthew Parlane 09cc7e2ddf Give StringFromFormat a printf format attribute.
It gives StringFromFormat printf style arguments that should be type-checked against a format string.
2014-02-07 01:10:04 +13:00
Lioncash 9ac6e35b5f Add static and const qualifiers to the maps. 2014-02-06 03:23:13 -05:00
Lioncash 78356ce184 Simplified GetAreaCode() and GetHardwareModel() to simply use a map in comparisons. 2014-02-05 19:59:13 -05:00
Pierre Bourdon 9a24ba343b Merge pull request #34 from lioncash/geckocode-foreach
Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops.
2014-02-05 17:07:40 +01:00
Lioncash 249b00c469 Change the modified parameter in the Clamp function to be a pointer.
Makes it easier to identify the one being modified.
2014-02-05 04:04:35 -05:00
Lioncash 6b87a0ef20 Introduce a generic clamp function to clean up some similarly duplicated code. 2014-02-04 20:43:07 -05:00
Lioncash 8039963858 Add const qualifiers to two foreach loop variables for consistency.
Also fix a vector include I happened to notice. Should be "<vector>" not "vector"
2014-02-04 19:44:02 -05:00
Pierre Bourdon 59e2179172 Merge pull request #35 from lioncash/videocommons-kill-xchg-in-statistics
[VideoCommon] Eliminate the function Xchg in Statistics.cpp. std::swap does the same thing.
2014-02-04 16:40:25 -08:00
Lioncash 6d9cd07bb9 [VideoCommon] Eliminate the function Xchg in Statistics.cpp. std::swap does the same thing. 2014-02-04 19:35:27 -05:00
Lioncash a73a600343 Fix name conventions of some of the foreach loop variables. 2014-02-04 19:30:46 -05:00
Lioncash 63700ad28a Change some for+iterator loops in GeckoCode.cpp and GeckoCodeConfig.cpp into foreach loops. 2014-02-04 19:19:48 -05:00
Tony Wasserka af24ed782d Merge pull request #14 from degasus/uboWorkaroundRemove
OGL: Remove non-UBO code path.
2014-02-04 14:05:55 -08:00
Ryan Houdek 00089433a6 Merge pull request #31 from Sonicadvance1/slowmemfix
[JITARM] Fixes an issue in the slowmem path that causes grey THP movies,...
2014-02-04 12:55:43 -08:00
Ryan Houdek 57f86f7f52 [JITARM] Fixes an issue in the slowmem path that causes grey THP movies, and issues of games not working like Mario Kart being incapable of getting ingame. This was due to me forgetting an instruction. 2014-02-04 13:44:26 -06:00
Tillmann Karras 442796b681 Jit64IL: nits 2014-02-04 09:09:06 +01:00
Matthew Parlane 0c2a826693 Merge pull request #29 from lioncash/remove-pointless-cstr
Remove a pointless c_str() call in FileUtil.cpp.
2014-02-03 19:48:53 -08:00
Lioncash 7ebc829b17 Remove a pointless c_str() call in FileUtil.cpp. The function takes a string in it's parameter 2014-02-03 21:31:12 -05:00
Pierre Bourdon 36f6ec8b89 Merge pull request #27 from delroth/swcp-struct-fix
SWCommandProcessor: fix the CPReg structure fields
2014-02-03 16:42:05 -08:00
Tillmann Karras 8ef57064b2 Silence warning 2014-02-04 01:30:39 +01:00
Pierre Bourdon 8ab6ed4b49 SWCommandProcessor: fix the CPReg structure fields
This structure fields should match byte-to-byte the layout of MMIO registers:
it is addressed using the MMIO reg address when doing a CP MMIO read. This was
unfortunately not the case, causing CP reads to be mostly broken with the
software renderer.
2014-02-04 01:16:14 +01:00
Pierre Bourdon 3363b396af Merge pull request #23 from lioncash/sorta-large-input-cleanup
Larger cleanup to input-related source files (this time using unique_ptr).
2014-02-02 15:11:15 -08:00
Lioncash e96f464eb5 [VideoCommon] Remove references to now non-existant files OpenCL.h and OpenCL/OCLTextureDecoder.h in the Visual Studio vcxproj file. 2014-02-01 21:52:06 -05:00
Lioncash 3efb0aa5f7 Purely stylistic cleanup of Core/HW/WiimoteEmu/Attachment/* files.
Also cleaned up WiimoteEmu.h as well.
2014-02-01 19:13:38 -05:00
Lioncash c31a623780 Clean up InputConfigDiag.cpp.
Changes a bunch of for+iterator loops into foreach loops.
2014-02-01 19:02:32 -05:00
Lioncash 557015626a Introduce the usage of unique_ptr into the InputCommon ControlEmu.h class. Allows for the automatic handling of resource deallocation. 2014-02-01 17:20:35 -05:00
degasus 6089e4470a OGL: remove ubo workaround
This was only keeped for some broken mesa versions. Meanwhile most used versions should be fixed for almost a year.
2014-02-01 22:33:45 +01:00
Pierre Bourdon 97119d0e89 Merge pull request #18 from lioncash/small-jit-macro-cleanup
Move two macros (JITDISABLE and INSTRUCTION_START) into JitBase.h.
2014-02-01 09:29:00 -08:00
degasus 31c3bee5bc VertexShaderGen: fix D3D posmtx attribute regression by VertexLoaderCleanup branch
Sorry, I'm too dumb too test my code. I hope this will work fine now.
2014-02-01 11:35:46 +01:00
Tony Wasserka 3dd31fe22b Merge pull request #11 from degasus/VertexLoaderCleanup
Vertex loader cleanup.
2014-01-31 06:13:26 -08:00
neobrain 0735fb7a52 Merge pull request #13 from degasus/dlCacheRemove
Remove Display List caching.
2014-01-31 03:42:06 -08:00
degasus 3437c7f060 VideoCommon: small VertexLoader(Manager)? refactoring 2014-01-31 07:31:03 +01:00
degasus 010a0d481a VideoCommon: remove Cache Displaylist
This option was known to break every second game and only boost a bit.
It also seems to be broken because of streaming into pinned memory and buffer storage buffers.

v2: also remove dlc_desc
2014-01-31 07:30:55 +01:00
degasus a65162f1cd PortableVertexFormat: use AttributeFormat for posmtx attribute format 2014-01-31 07:19:34 +01:00
degasus 6c59b691b0 PortableVertexFormat: use AttributeFormat for texcoord attribute format 2014-01-31 07:19:34 +01:00
degasus ef2d6e7d53 PortableVertexFormat: use AttributeFormat for color attribute format 2014-01-31 07:19:34 +01:00
degasus b38ef39ab7 PortableVertexFormat: use AttributeFormat for normal attribute format 2014-01-31 07:19:34 +01:00
degasus 210f4f3e55 PortableVertexFormat: add a struct which hold all needed information for every vertex and use this for position
atm, position attribute is hardcoded both in VertexLoader and in backends.

v2: fix coding style + cleanup lookup table
2014-01-31 07:19:25 +01:00
Lioncash 89001accd8 Move two macros that literally doesn't change across all JIT platforms (JITDISABLE and INSTRUCTION_START) and simply have it in the JitBase.h source file. This way the macro is just located in one spot rather than 6 places. 2014-01-30 22:11:39 -05:00
Lioncash 825c5f689b Remove some unnecessary comments, as pointed out by Matt_P. 2014-01-30 20:21:18 -05:00
Lioncash d91a5abba1 Light cleanup to a little bit of InputCommon. Replaces much of the iterators that litter this section of the codebase.
Also clean up a little bit of the comments that describe the interface classes.
2014-01-30 19:51:21 -05:00
Lioncash fea3076241 Fix an unused variable within function GetScheduledEventsSummary() in CoreTiming.cpp. 2014-01-30 15:52:27 -05:00
degasus 02d1d8e6a0 NativeVertexFormat: swap unsigned / signed formats to match GX order 2014-01-30 11:12:10 +01:00
Pierre Bourdon 72cc6431e5 Merge pull request #9 from Sonicadvance1/Fix-AndroidRender
[Android] Fix Android not calling eglSwapBuffers
2014-01-29 15:08:32 -08:00
Ryan Houdek 99b6c82ac3 [Android] Fix Adreno v53 development drivers rotating framebuffer
Older Qualcomm drivers rotated the framebuffer 90 degrees and this fix didn't work.
Now for some obscene reason it rotates a full 180 degrees.
This can at least be worked around by flipping around the image on our end.
2014-01-29 16:39:45 -06:00
Ryan Houdek 990be70eb7 [Android] Fix Android not calling eglSwapBuffers
This isn't the cleanup that GLInterface needs, but for now it makes it so it'll swap and not just black screen
A cleanup to GLInterface will be coming in a couple weeks.
2014-01-29 15:54:55 -06:00
Lioncash 0f555d3a47 Remove two references to DX9 in VideoCommon.
DX9 isn't a backend anymore, so may as well get rid of them
2014-01-29 14:39:13 -05:00
degasus b1290a8630 OGL: remove version check for buffer_storage on windows
On Windows, nvidia don't give us their driver version, so we can't workaround any issues.
As buffer_storage is broken on some drivers, we wanted to disble it for them.
So we can't.

Luckyly only "some" released driver versions are affected as this extension is only available since some months. Let's hope that nobody have to use one of this driver version, else they will get a black screen ...
2014-01-28 15:15:26 +01:00
Jules Blok 5d1db5d717 Fix compilation 2014-01-27 21:40:28 +09:00
Jules Blok 76019848a4 Fix coding style 2014-01-27 21:24:35 +09:00
Zakk 0eadc2e2a4 Implement SwapInterval for AGL interface 2014-01-27 21:11:03 +09:00
crudelios 9b6c6fa9e4 BBox: Changed the rounding again, the old one fixed Paper Mario but had bugs in Mickey's Magical Mirror. This change fixes the glitches in both games.
Also fixed some compiler warnings.
2014-01-26 13:21:22 +00:00
degasus d3fd0eddbb OSX: don't avoid unsync mapping on nvida gpus just because the windows driver doesn't like it
OSX has their own driver, so performance issues aren't shared with the nvidia driver (unlike the closed source linux and windows nvidia driver). So now they'll also use the MapAndSync backend like all other osx drivers.

fixes issue 6596

I've also cleaned up the if/else block selecting the best backend a bit.
2014-01-26 11:00:29 +01:00
Lioncash 6f74f59427 [Core] Remove an unnecessary pragma directive from EXI_Channel.h.
Dolphin uses warning level 3 in VS. This warning is only triggered in warning level 4.
2014-01-25 17:12:59 -05:00
Tillmann Karras e94a6f07f4 Fix warning 2014-01-25 21:42:44 +01:00
crudelios 23b8465621 BBox: fix for a small rounding issue.
The new chapter title in Paper Mario TTYD had a small graphical bug due to the new code because it read one extra pixel, this fixes it.

I hope this gets everything, I though I had checked most bugs and yet here I am, commit-spamming...
2014-01-25 19:13:32 +00:00
crudelios 90a7e053c5 Merge branch 'master' of https://code.google.com/p/dolphin-emu 2014-01-25 18:06:58 +00:00
crudelios 5f14f0e3ce BBox: read from the proper world matrix index when transforming vertexes to screen coordinates.
Fixes some remaining bbox related bugs in Mickey's Magical Mirror and a slight graphical glitch in Paper Mario: TTYD when flipping and Vivian as your companion (I've been scratching my head for days to find this one).
2014-01-25 18:04:15 +00:00
Tillmann Karras b34fe2b8f1 x64: fix parameter names of WriteModRM() 2014-01-25 17:36:09 +01:00
crudelios cdfe58f7ed Rewrote bounding box algotithm. Fixes issues 5967, 6154, 6196, 6211.
Instead of being vertex-based, it is now primitive (point, line or dissected triangle) based, with proper clipping.
Also, screen position is now calculated based on viewport values, instead of "guesstimating".

This fixes many graphical glitches in Paper Mario: TTYD and Super Paper Mario.

Also, the new code allows Mickey's Magical Mirror and Disney's Hide & Sneak to work (mostly) bug-free. I changed their inis to use bbox.

These changes have a slight cost in performance when bbox is being used (rare), mostly due to the new clipping algorithm.

Please check for any regressions or crashes.
2014-01-25 15:36:23 +00:00
Scott Mansell dd42af9a7c Videosoftware: Fix memory cleanup code. 2014-01-25 11:06:18 +13:00
Rachel Bryk a3d1b9aba7 Increase save state version. 2014-01-24 00:15:56 -05:00
Scott Moreau 202054708b EGL: Fix android build broken by last commit 2014-01-23 19:41:07 -07:00
Scott Moreau d4ff195cad EGL: Properly set parent window.
In X with EGL and WX frontend enabled, running the emulator created
two windows. This was because the parent window was set incorrectly.
2014-01-23 19:20:22 -07:00
degasus 1898524c96 VideoCommon: fix "Buffer not large enough for all vertices!" 2014-01-24 00:10:21 +01:00
Ryan Houdek fd8757a64b Fix OpenGL 2.1 devices that support everything we need.
The only two devices that do this are Mesa software rasterizer and Intel Ironlake(With a few hacks).
Basically since it doesn't support OpenGL 3.0, it can't grab the version the new way.
So failing that, it sets to GL 2.1, and continues.

Further along, on Ironlake at least, it tries grabbing the extensions the new GL 3.0 way and fails.
So have a fallback that grabs the extensions string the old way, in probably the most elegant way possible.
2014-01-23 16:02:53 -06:00
degasus 65121cf9a9 OpenGL: remove unused OpenGL headers 2014-01-23 18:52:57 +01:00
degasus 1ff681a412 D3D: move streaming buffer fallback into D3D backend
Neith OGL nor VideoCommon doen't use it, so there is no need to have it in VideoCommon.
2014-01-23 15:27:18 +01:00
degasus 62f1905978 VideoCommon: don't save streaming fifos into savestate 2014-01-23 15:12:31 +01:00
degasus ff002320a5 OpenGL: Stream vertices + indices 2014-01-23 15:12:31 +01:00
degasus 52feed04db VideoCommon: allow backends to set the buffer pointer as they want to 2014-01-23 15:12:31 +01:00
degasus 128fcdac26 OpenGL: refactor all of our StreamBuffers
The old way was to use big switch/case statements based on a type of buffer.
The new one is to use inheritance.

This change prohibits us to change the buffer type while running, but I doubt we'll ever do so.
Performance should also be a bit better. Also a nice cleanup.

Added some comments about this different kind of buffers.
2014-01-23 15:12:31 +01:00
degasus be1fee6d74 OpenGL: change StreamBuffer in a streaming way
This is a bit slower on map_and_* because of flushing and _very_ much slower on buffer(sub)?data because of a new memcpy.
But this design allow us to decode directly into a gpu buffer, eg vertexloader will profit :)
2014-01-23 15:12:31 +01:00
Ryan Houdek 650bae12e1 Bit of a failure. Fixes 6964.
I was attempting to grab wglSwapIntervalEXT prior to having a valid WGL context.
This was doomed to fail.
2014-01-23 08:04:33 -06:00
Ryan Houdek 07db7520bf [GLExt-Cleanup] This cleans up some extra bits unneeded in the extension headers
gl.h and glext.h provide most of the function pointer typedefs and defines for extensions and core features.
The only one it doesn't provide is GL 1.1 function typedefs, but this is to be expected.
If anything needs defines or typedefs in their header in the future, that's as easy as before.
2014-01-23 07:11:13 -06:00
Lioncash 391d26d3bf [DolphinWX] Prevent hotkeys from being assigned to more than one button/function.
Prior to this commit it was possible to assign the same keycode to more than one button.

ie. Say I assigned Open with the hotkey Ctrl+O; well, it was possible to also add it to another function as well, which leads to hotkey clashing.

Now, say I assign Open with Ctrl+O, but then assign that same hotkey to Refresh List; it will unbind the hotkey from Open and then assign it to refresh list.
2014-01-22 18:28:59 -05:00
degasus 3cb5bb3b30 VertexLoader: temp class for reader/writer 2014-01-21 23:44:51 +01:00
degasus 0b97b33ceb VertexLoader: inline destionation buffer 2014-01-21 19:23:07 +01:00
degasus c613868f57 VertexLoader: load scale factor as const, this will save some assembler instructions 2014-01-21 18:54:16 +01:00
degasus f90fe90320 fix windows debug comile
This is broken because of revision ebbf1d392b
2014-01-21 14:23:50 +01:00
degasus ebbf1d392b VideoCommon: merge trivial parts of VertexManager::Flush 2014-01-21 10:47:00 +01:00
degasus 60632fda6f OpenGL: remove small optimization
This one was introduced to reduce the glBindTexture and glActiveTexture calls. But it was quite a bit of logic and only an improvment on uploading/creating a texture, which is done rarely.
2014-01-21 10:34:48 +01:00
degasus fe02833f13 OpenGL: fix our ubo workaround when blend_func_extended is missing 2014-01-21 10:03:05 +01:00
Scott Mansell 8b2c540544 Finally Merge branch 'videosoftware-xfb'
This adds xfb support to the videosoftware backend, which increases it's
accuracy and more imporantly, enables the usage of many homebrew apps
which write directly to the xfb on the videosoftware backend.

Conflicts:
	Source/Core/VideoBackends/Software/SWRenderer.cpp
	Source/Core/VideoBackends/Software/SWmain.cpp
2014-01-21 00:10:00 +13:00
Scott Moreau 2c8340e1dc Move GLInterface.h into GLInterface directory 2014-01-20 00:46:21 -07:00
Scott Moreau 4b3c338930 Merge Platform.h into GLInterface.h 2014-01-20 00:32:01 -07:00
Ryan Houdek 683dbc09ac Stop building GLExtensions.cpp twice(One in GL, one in software). We don't need to build it twice, this'll save a bit of time in the build process.
Also a bit of spacing cleanup.
2014-01-19 11:37:37 -06:00
Scott Moreau 84aa98a5a4 wayland: Add bits required to run as a wayland client. 2014-01-19 10:36:20 -07:00
Tillmann Karras 21b0252e27 Jit64: disable non-IEEE mode emulation
I give up. Merging the ppc_fp branch has caused issues in numerous games
and I can't find the bug. I'm leaving this merged to enable easy
recompilation for people who would like to play games that benefit from
non-IEEE mode emulation (e.g. Starfox Assault).
2014-01-19 09:36:08 +01:00
Rachel Bryk 4a81baff3f Reenable vsync after releasing tab even if frame limit is disabled. 2014-01-19 02:48:59 -05:00
Ryan Houdek 5d26bf6d9d Rename our GLInterface class function 'GetProcAddress' in order to not have clashing function names due to Windows. 2014-01-18 14:18:32 +00:00
Ryan Houdek bea484e12f Move Win32 specific function grabbing fallback to WGL.cpp. Fixes issue 6964. 2014-01-18 14:10:24 +00:00
Ryan Houdek 839df31347 Merge of GL-AutoChoose.
This branch is the final step of fully supporting both OpenGL and OpenGL ES in the same binary.
This of course only applies to EGL and won't work for GLX/AGL/WGL since they don't really support GL ES.
The changes here actually aren't too terrible, basically change every #ifdef USE_GLES to a runtime check.

This adds a DetectMode() function to the EGL context backend.
EGL will iterate through each of the configs and check for GL, GLES3_KHR, and GLES2 bits
After that it'll change the mode from _DETECT to whichever one is the best supported.
After that point we'll just create a context with the mode that was detected
2014-01-18 04:11:59 +00:00
degasus 5a599d472e Merge branch 'GLExtensions' 2014-01-17 16:49:51 +01:00
degasus 304adc6e0d IndexGenerator: inline all variables
As we do lots of writes to *Iptr, the compiler isn't allowed to cache any shared variable (neither index nor Iptr itself).
This commit inlines Iptr + index into the index generator functions, so the compiler know that they are const.
2014-01-17 16:34:53 +01:00
degasus 1d6425bd5e IndexGenerator: drop unused variable 2014-01-17 16:34:53 +01:00
degasus 6b01839525 VideoCommon: merge triangle+list+point index buffers
We are used to render them out of order as long as everything else matches, but rendering order does matter, so we have to flush on primitive switch. This commit implements this flush.
Also as we flush on primitive switch, we don't have to create three different index buffers. All indices are now stored in one buffer.

This will slow down games which switch often primitive types (eg ztp), but it should be more accurate.
2014-01-17 16:34:53 +01:00
degasus e932a349e8 [GLExtensions] fixup for missing changes on rebase 2014-01-17 16:10:10 +01:00
Ryan Houdek 29e0a90b88 [GLExtensions] Rename internal GetProcAddress function since it clashes with the global Windows function. Fix Windows function pointer grabbing. 2014-01-17 16:06:46 +01:00
Ryan Houdek 3d4d3f6b11 [GLExtensions] Remove a bunch of unneeded headers. Fix Linux+EGL compiling. Move include to glx.h around to work around it including global GL/gl.h 2014-01-17 16:06:29 +01:00
Ryan Houdek 6cdb05b633 [GLExtensions] OpenGL 3.0 also added GL_ARB_map_buffer_range to core. 2014-01-17 16:06:23 +01:00
Ryan Houdek a5ffe9932a [GLExtensions] Future proof ourself by putting the default: instance on the top, so we'll grab extensions if they support something newer. Handle older GLVersions in the case they get that far. 2014-01-17 16:06:18 +01:00
Ryan Houdek 2a11fead5c [GLExtensions] Populate the extension list for OpenGL implementations that don't show core extensions. 2014-01-17 16:06:13 +01:00
Ryan Houdek 0ea6718d99 [GLExtensions] Fix OS X build. 2014-01-17 16:06:08 +01:00
Ryan Houdek 34c9a33807 [GLExtensions] Remove AGL GetProcAddress. Change dlsym to using RTLD_NEXT. Enable dlsym fallback for OS X 2014-01-17 16:06:03 +01:00
Ryan Houdek ca96274936 [GLExtensions] Make sure to link against libdl since we use it to grab GL function pointers in Linux/Android in the case the GLInterface->GetProcAddress fails. 2014-01-17 16:05:57 +01:00
Ryan Houdek 45dfa3a481 [GLExtensions] Missed a couple USE_GLES3 compile time differences. 2014-01-17 16:05:52 +01:00
Ryan Houdek 97dc20d1be [GLExtensions] Pull in all the function pointers for OpenGL 1.1, This removes the need for a couple compile time differences between GL and GLES3 mode. 2014-01-17 16:05:40 +01:00
Ryan Houdek f308b878b2 [GLExtensions] Oops. Don't just outright disable these helper functions. 2014-01-17 16:05:34 +01:00
Ryan Houdek cfb8b43b4a [GLExtensions] Don't fail out loading funciton pointers in both ES2 and ES3 modes. 2014-01-17 16:05:25 +01:00
Ryan Houdek fc1f8291d6 [GLExtensions] Make sure to initialize our function pointers with VideoSoftware as well. 2014-01-17 16:05:07 +01:00
Ryan Houdek 17955fa025 [GLExtensions] Still had a GLEW lib hanging out in the CMake file for the software renderer. 2014-01-17 16:01:49 +01:00
Ryan Houdek 2a8ee1a7ff [GLExtensions] Hopefully fix OS X build. 2014-01-17 16:01:35 +01:00
Jack Frost f4bd7bdef0 fix windows build
add the GL include (back) to Base.props
use a similar technique to GLX.cpp (by Sonic) in WGL.cpp to get
wglSwapIntervalEXT without the WGLEW check

Conflicts:
	Source/Core/VideoBackends/OGL/OGL.vcxproj
	Source/Core/VideoBackends/OGL/OGL.vcxproj.filters
	Source/VSProps/Base.props
2014-01-17 16:01:17 +01:00
Ryan Houdek 10bd61a9d2 [GLExtensions] Dynamically pull in the GL 1.3 and 1.4 functions as well. 2014-01-17 15:56:54 +01:00
Ryan Houdek d5a7ea2041 [GLExtensions] KHR_debug on OpenGL ES 3 has a KHR suffix on their function pointers. In Desktop OpenGL there is no suffix. So handle this correctly. Make the GrabFunction macro slightly less evil, so update the init_* to reflect it. Thanks Bh44L for the suggestion. 2014-01-17 15:56:28 +01:00
Ryan Houdek d093276e93 [GLExtensions] Fix a typo in KHR_debug 2014-01-17 15:56:20 +01:00
Ryan Houdek a024c515c8 [GLExtensions] Remove glew includes from wgl and agl. 2014-01-17 15:56:04 +01:00
Ryan Houdek cf8865a6e5 [GLExtensions] Add ARB_buffer_storage to negate at least one null pointer instance. 2014-01-17 15:52:34 +01:00
Ryan Houdek 71681de81a [GLExtensions] Initial code drop for GLExtensions. This drops GLEW entirely from the codebase. This has been tested on Android and Linux+ATI. Of course untested on Windows and Apple. Also untested with Linux + EGL but should be fine there. There are most likely a couple of extensions I'm missing which would result in null pointer runs but not bad for the initial commit.
Conflicts:
	CMakeLists.txt
	Externals/GLew/glew.vcxproj
	Externals/GLew/glew.vcxproj.filters
	Source/Core/VideoBackends/OGL/CMakeLists.txt
	Source/Core/VideoBackends/OGL/GLFunctions.cpp
	Source/Core/VideoBackends/OGL/GLFunctions.h
	Source/Core/VideoBackends/OGL/GLUtil.h
	Source/Core/VideoBackends/OGL/Render.cpp
	Source/VSProps/Base.props
2014-01-17 15:50:51 +01:00
degasus 770485ad04 VertexLoader: don't check for possible range
I(index) < std::numeric_limits<I>::max() is always true, so we don't have to check it
2014-01-16 22:07:48 +01:00
degasus 5eae39766b enable buffer_storage on nvidia 331.38 on linux
it works fine here, and as the VSH is removed, this is the newest driver.
2014-01-16 17:51:38 +01:00
degasus 331af32038 fixup "Remove the ZTP speedup hack"
This fixes revision b49c09c36b
2014-01-16 00:26:49 +01:00
Tony Wasserka f1adc56a56 Remove vertex streaming hack.
NV has buffer_storage, AMD has pinned memory.
Both are better than that hack which shouldn't ever have been introduced in the first place.
2014-01-16 00:11:12 +01:00
Tony Wasserka b49c09c36b Remove the ZTP speedup hack. Also remove useless debugging code, and a presumably outdated workaround (which was commented out).
Fixes issue 6875.
2014-01-16 00:11:12 +01:00
degasus 5e5db9fbc6 VideoCommon: cleanup of "components" usage
This "u32 components" is a list of flags which attributes of the vertex loader are present.
We are used to append this variable to lots of vertex generation functions, but some of them don't need it at all.
2014-01-15 16:58:36 +01:00
Pierre Bourdon a561c436fc Change the default GFX backend from D3D11 to OGL.
Rationale and discussion:
    https://ml.dolphin-emu.org/archives/dolphin-dev/2014-January/000003.html
2014-01-14 21:57:32 +01:00
skidau 8b53385c54 Added a check for a redundant mov in the fastmem writes code.
Fixes issue 6905.
2014-01-13 22:18:19 +11:00
degasus e00c3ce363 TextureConverter: remove implicit int->float convertion
They was used to check if we're writing to the first or second part of one pixel.
So this is now done with a boolean and a ternary operator.
2014-01-13 12:10:17 +01:00
Scott Mansell 9aff16e7c1 Fix stupid bug in Z16L depth texture efb2ram encoding shader. 2014-01-12 13:32:06 +13:00
Ryan Houdek e3d103f60c Update some of the comments in DriverDetails.h for drivers that have fixed their bugs. 2014-01-11 07:31:47 -06:00
Ryan Houdek 67f099af33 Enable buffer_storage for Nvidia drivers 332.21 and above. 2014-01-09 12:06:12 -06:00
degasus 95aa977d81 OGL: remove masking from streambuffer
We used this to disable pinned memory for index buffer, but as the detection
was reworked completely, it's just unused code.
2014-01-09 18:52:05 +01:00
degasus eb310cbd1d VideoCommon: disable efb access + perf querys on cph thread
The usual way to handle this kind of request is to rise a flag which the gpu thread polls.
The gpu thread itself either generates the result or just write zeros if disabled.
After this, it rise another flag which says that this work is done.

So if disabled, we still have the cpu-gpu round trip time. This commit just returns 0 on the cpu thread
instead of playing ping pong...
2014-01-09 18:37:59 +01:00
Pierre Bourdon 45f74840d6 Do not fastmem addresses that were constant propagated 2014-01-09 08:28:45 +01:00
Rachel Bryk 48470a20ca Code cleanup
Move enums for max SI and EXI devices to their respective .h file, and rename them.

Use only those enums in BootManager.cpp. Same thing in Movie.cpp

Change one instance of MAX_BBMOTES to MAX_WIIMOTES in Movie.cpp, since movies do not support balance board.
2014-01-08 20:36:27 -05:00
Jasper St. Pierre 3046d0e701 NetPlay: Sync CPU engine between NetPlay clients/servers 2014-01-08 19:42:02 -05:00
Rachel Bryk 216f4c927a Fix copy and paste error in BootManager.cpp. 2014-01-08 19:37:51 -05:00
Ryan Houdek b55a4bb087 Slight optimization in the pixel shader. We are using pow(2.0, X) in place of exp2(X). This can be faster in places that don't optimize a pow to a exp2 in this case.
Notice this from here: http://cgit.freedesktop.org/mesa/mesa/commit/?id=847bc36a38d42967ad6bf0492fe90a4892d9d799
Intel Haswell GPU is 24 cycles for POW and 14 cycles for EXP2.
Maybe other GPUs don't optimize this either. Just be safe.
2014-01-08 16:40:31 -06:00
Ryan Houdek cdf69adcb0 Fix for previous commit. I was supposed to use GL_VERSION, not GL_RENDERER. 2014-01-07 19:35:06 -06:00
Ryan Houdek d2e62796fc Probe the GL_RENDERER string on Nvidia to grab the driver version. 2014-01-07 18:29:04 -06:00
Ryan Houdek 7acc64eb0a [Android] Reenable the bug for dynamic UBO array member accesses.
Some information on this bug since this isn't quite true.
Seemingly with the v53 driver, Qualcomm has actually fixed this bug. So we can dynamically access UBO array members.
The issue that is cropping up is actually converting our attribute 'fposmtx' to an integer.
int posmtx = int(fpostmtx);
This line causes some seemingly garbage values to enter in to the posmtx variable.
Not sure exactly why it is failing, probably them just not actually converting the float to an integer and just handling the float directly as a integer.
So the bug is going to stay active with Qualcomm devices until we convert this vertex attribute from a float to a integer.
2014-01-07 07:56:30 -06:00
NeoBrainX 55717ed216 D3D: Verbosify an error message. 2014-01-06 10:31:09 +00:00
degasus e6676b4565 OpenGL: fix scaled efb2ram copys
This fix a regression in revision 687097d4bc because of the wrong order of moving the sampled rect and scaling.
2014-01-05 18:19:17 +01:00
Pierre Bourdon ed67d1ae2f Fix the Zelda: The Wind Waker heat effect glitch.
Let's talk a bit about this bug. 12nd oldest bug not fixed in Dolphin, it was a
lot of fun to debug and it kept me busy for a while :)

Shoutout to Nintendo for framework.map, without which this could have taken a
lot longer.

Basic debugging using apitrace shows that the heat effect is rendered in an
interesting way:
* An EFB copy texture is created, using the hardware scaler to divide the
  texture resolution by two and that way create the blur effect.
* This texture is then warped using indirect texturing: a deformation map is
  used to "move" the texture coordinates used to sample the framebuffer copy.

Pixel shader: http://pastie.org/private/25oe1pqn6s0h5yieks1jfw

Interestingly, when looking at apitrace, the deformation texture was only 4x4
pixels... weird. It also does not have any feature that you would expect from a
deformation map. Seeing how the heat effect glitches, this deformation texture
being wrong looks like a good candidate for the problem. Let's see how it's
loaded!

By NOPing random calls to GXSetTevIndirect, we find a call that when removed
breaks the effect completely. The parameters used for this call come from the
results of methods of JPAExTexShapeArc objects. 3 different objects go through
this code path, by breaking each one we can notice that the one "controlling"
the heat effect is the one at 0x81575b98.

Following the path of this object a bit more, we can see that it has a method
called "getIndTexId". When this is called, the returned texture ID is used to
index a map and get a JPATextureArc object stored at 0x81577bec.

Nice feature of JPATextureArc: they have a getName method. For this object, it
returns "AK_kagerouInd01". We can probably use that to see how this texture
should look like, by loading it "manually" from the Wind Waker DVD.
Unfortunately I don't know how to do that. Fortunately @Abahbob got me the
texture I wanted in less than 10min after I asked him on Twitter.
AK_kagerouInd01 is a 32x32 texture that really looks like a deformation map:
http://i.imgur.com/0TfZEVj.png . Fun fact: "kagerou" means "heat haze" in JP.

So apparently we're not using the right texture object when rendering! The
GXTexObj that maps to the JPATextureArc is at offset 0x81577bf0 and points to
data at 0x80ed0460, but we're loading texture data from 0x0039d860 instead.

I started to suspect the BP write that loads the texture parameters "did not
work" somehow. Logged that and yes: nothing gets loaded to texture stage 1! ...
but it turns out this is normal, the deformation map is loaded to texture stage
5 (hardcoded in the DOL). Wait, why is the TextureCache trying to load from
texture stage 1 then?!

Because someone sucked at hex.

Fixes issue 2338.
2014-01-05 11:33:15 +01:00
degasus c42f274e22 OpenGL: use shader 420pack if available to staticly bind ubo location
Bindung locations after compiling a shader stalls the driver. So if we manage not to bind anything after compilation, the lag would be reduced much.
2014-01-05 10:38:45 +01:00
degasus 4fff5ac90d OpenGL: drop UBO-workaround usage for efb2ram shaders
It's just brainfuck to use this workaroung there. Just fetch the uniform location like all other util shaders.
2014-01-05 09:52:26 +01:00
degasus 01351795f0 TextureCache: Warn for invalid custom textures
At the moment, custom textures with:
- invalid mipmap size
- invalid aspect ratio
- non-fractional scaling factors
are allowed. But they can't be loaded fine by the backend, so generate a warning if someone trys to load them.
2014-01-03 14:30:12 +01:00
degasus 0f0a3cc509 ogl: clamp to edge for out of bound efb access
fixes issue 6898

OpenGL defaults are GL_REPEAT, which is even more unlikely than GL_CLAMP_TO_EDGE.
As I can't test the behavoir of the real hardware, I changed it to how it works before,
but I guess just clip the texture makes more sense.
2014-01-03 08:15:19 +01:00
Rachel Bryk 509ec9cc99 Bootmanager.cpp fixes and clean up.
Some settings that bootmanger reads from game ini can be changed while a game is running, so we don't have to revert these back to what they were when starting the game, unless they were actually changed by the game ini.

Fix signed/unsigned warnings that pauldacheez pointed out.
2014-01-02 16:36:06 -05:00
Rachel Bryk 450cacd092 Allow pad settings to be set via game ini. 2014-01-02 13:13:59 -05:00
Ryan Houdek 0faf696be7 Merge Fail. We don't disable BaseVertex on broken pinned memory. 2014-01-01 17:20:09 -06:00
Ryan Houdek d36355e45c Merge branch 'buffer_storage' 2014-01-01 17:14:35 -06:00
Rachel Bryk 7a818e05ef I've never claimed to be a good coder. 2014-01-01 07:45:20 -05:00
Rachel Bryk 8f34085172 Really fix android build. 2014-01-01 07:39:50 -05:00
Rachel Bryk 777c62c67a Fix android build. 2014-01-01 07:04:30 -05:00
Rachel Bryk 8a765f8749 Allow wiimote source to be set via game ini. 2014-01-01 06:59:01 -05:00
Ryan Houdek 1118226f27 Merge branch 'master' into buffer_storage 2013-12-31 19:18:30 -06:00
Ryan Houdek 8d8b0fc884 Merge branch 'master' into buffer_storage
Conflicts:
	Source/Core/VideoBackends/OGL/Src/Render.cpp
	Source/Core/VideoCommon/Src/DriverDetails.cpp
	Source/Core/VideoCommon/Src/DriverDetails.h
2013-12-31 15:41:50 -06:00
Jasper St. Pierre 34692ab826 Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00
Jasper St. Pierre 43e618682e Convert all vcxproj files to UNIX line endings 2013-12-31 14:03:18 -05:00
Jasper St. Pierre b6ad8bd712 HW: Remove unnecessary "../HW/" in include paths 2013-12-31 14:03:17 -05:00
Jasper St. Pierre 70d4d973f9 TAP_Win32: Remove unnecessary Memmap.h include 2013-12-31 14:00:06 -05:00
Ryan Houdek 6d63db96e9 Disable primitive restart on buggy OS X Intel HD 3000 drivers. 2013-12-30 18:26:55 -06:00
Tony Wasserka de16b7207c D3D/OGL: Add a TODO noting that we don't support GX_CULL_ALL, most notably required for accurate zfreeze emulation. 2013-12-30 20:37:59 +01:00
Tony Wasserka 3aa0a63fe6 VertexShaderGen: Remove Sonic Unleashed hack. Doesn't seem to be required anymore.
Either way, even if it's still needed for anything, this is not the correct way to fix the issue.
2013-12-30 20:28:07 +01:00
NeoBrainX 3cfa04b5cf VertexShaderManager: Remove a hardcoded projection hack. 2013-12-30 19:26:10 +00:00
Tony Wasserka bbde075420 Software renderer: Add a zfreeze related TODO. 2013-12-30 20:18:53 +01:00
Ryan Houdek a5bfdbf6cd Free performance for AMD+Linux. Instead of disabling BaseVertex due to pinned_memory. Just disable pinned_memory for the ELEMENT_ARRAY_BUFFER type which has issues with baseVertex(ELEMENT_ARRAY_BUFFER)+pinned_memory. In my two tests with this, I went from 5FPS to 11FPS in one test, and 2FPS to 6FPS in another. 2013-12-28 08:00:44 -06:00
Ryan Houdek 0b31fc8f52 [buffer_storage] Temporary fix for Android/GLES3 just like how everything else is. Cleanup for this will be in a new branch. 2013-12-28 05:16:39 -06:00
Ryan Houdek 8fdcba0c06 [buffer_storage] Code formatting changes suggested by Bh44L 2013-12-28 05:15:43 -06:00
Ryan Houdek 935e1fdf99 [Android] Enable shader cache. 2013-12-28 04:55:39 -06:00
Ryan Houdek c8cdc81ce3 [ARM] Implement tw/twi 2013-12-28 04:43:07 -06:00
Ryan Houdek d8b7f4d73f [Android] Support grabbing OpenGL extensions and a function for checking for support. 2013-12-28 01:08:52 -06:00
Ryan Houdek e04edd89cc Support grabbing whichever OpenGL mode we are running under from GLInterface. GLES or GL 2013-12-28 00:58:08 -06:00
Ryan Houdek 77ba051361 [buffer_storage] Add the CLIENT_STORAGE_BIT since we access the buffer more frequently on the client side than the server side. That is exactly what the hint is for. 2013-12-27 22:58:36 -06:00
Jordan Woyak 8230da26fe Fixed issue 6245. (ISO Path's "Remove" button not being disabled when it should be) 2013-12-27 17:16:28 -06:00
Jordan Woyak 620bf0b304 Eliminate some Wiimote acceleration logic redundancy.
Yeah, I eliminated a total of 3 LSB of accel data in the process, but no one will notice.
2013-12-27 16:35:11 -06:00
Jordan Woyak c5695c987b Revert "Reading shake force from calibration rather than a constant"
It didn't make sense. The math was nonsensical. Calibration data was somehow applied twice. I don't even.

This reverts commit 4dad640d5f.

Fixed issue 6702.
2013-12-27 16:00:59 -06:00
Ryan Houdek d8ceb97a60 [buffer_storage] Require GLEW 1.10 which has the new OpenGL 4.4 methods. Fixes linux build. 2013-12-27 15:37:31 -06:00
Ryan Houdek ce99921c20 [buffer_storage] Implement ARB_buffer_storage. Disable it for GL_ARRAY_BUFFER due to a bug in Nvidia's drivers that causes black screen with it. 2013-12-27 10:56:03 -06:00
Jordan Woyak 4d1f113ab1 Fix some emulated wiimote turntable stupidness (DJ Hero controller). Happy Christmas!
Fixed issue 6865.
2013-12-25 15:33:33 -06:00
Ryan Houdek a87e0e7489 Remove our GLU dependency. Fix static zlib 2013-12-23 16:01:34 -07:00
Rachel Bryk 04b87e1dcc Change a PanicAlert to OSD message. 2013-12-23 07:18:28 -05:00
Ryan Houdek 42217fbd75 Fix the extended information status line that shows emulated mhz + idles skipped. 2013-12-21 17:58:04 -06:00
Ryan Houdek e697d7a2dd [Android] Work around Qualcomm's broken garbage in their v53 drivers. This doesn't fix the issue, just a work around. This is the stupidest issue coming from Qualcomm. Now Dolphin Mobile won't crash immediately, but there are new SPS issues. 2013-12-19 17:30:39 -06:00
Ryan Houdek 945b903499 Work around AMD's broken Linux drivers when it comes to pinned memory and base_vertex usage. It seems that using pinned memory with base_vertex disabled is quicker than the other way around. 2013-12-19 09:40:13 -06:00
Ryan Houdek a35b62358a [Android] Things fixed in Qualcomm driver v53. GLSL Centroid usage. SHADER_INFO_LOG reporting 0 at all times. Some crazy nonsense that broke the FPS counter. Those are all fixed. glBufferSubData still makes the device do a OOM error, and is still stupidly slow to use. Many more bugs remain in this latest Qualcomm driver. 2013-12-18 22:23:26 -06:00
Ryan Houdek 8c264a3964 In the shader log message, say if the error came from a PS or VS. 2013-12-18 22:21:14 -06:00
degasus 5eab3239bb Jit64: load second operator for double intrutions
SSE do support non-vector instructions, but they _all_ overwrite the dest register
if the src location isn't a register. (wtf?)
So we have to load the src into a temporay register :(
2013-12-17 08:49:06 +01:00
degasus 2fad2a3e88 Revert "Jit64: use AVX instructions in some places"
and the fixes afterwards

This reverts commit ff91789773.
This reverts commit bcefa880e4.
This reverts commit 710a0ff435.
This reverts commit ddaf29e039.
2013-12-17 08:49:06 +01:00
comex 1b617c736c Add a non-tiny warning about CPUs that will silently desync. 2013-12-16 22:41:52 -05:00
comex d619ccee21 Remove the flawed, unused attempt to manually emulate Gecko codes.
Parsing Gecko codes (in any manner) is much like parsing HTML with regex
- that w̷a̶y̸ l̵i̷e̴s̵ m̴̲a̵͈d̵̝n̵̙ę̵͎̞̼̙̼͔̞͖͎̝s̵̨̬̱͍͓͉̠̯̤͙̝s̷͍̲̲̭̼͍͎͖̤̭̘.  Luckily, with the embedded codehandler.bin,
the monstrosity may remain at only one implementation.  Anyway, removing
the inserted_asm_codes thing probably speeds up the interpreter a bit.
2013-12-16 22:27:13 -05:00
Tony Wasserka 07820aaa9e Software renderer: Add linear interpolation of fog range adjustment factors. 2013-12-16 18:42:46 +01:00
Ryan Houdek 2e1aa64958 [Android] Fix joysticks only capable of right/down movements. Also make it capable of using onscreen joystick even if controller 1 is bound. 2013-12-12 21:24:39 -06:00
Ryan Houdek d7be993889 Oops, I left a bit being set when it shouldn't have been. 2013-12-12 22:35:05 +00:00
Ryan Houdek 09680ccee6 Small cleanup in the EGL GLInterface. 2013-12-12 22:08:54 +00:00
Ryan Houdek 50df037bb5 [Android] Fix gamepad input. 2013-12-12 14:42:25 -06:00
Ryan Houdek f9ff0bc55d Have our OpenGL/ES context creation be less stupid. 2013-12-12 12:43:49 -06:00
Ryan Houdek 40b3534319 [Android] Remove the now unused texture loader on the JNI side of things. 2013-12-11 20:09:54 -06:00
Ryan Houdek 0e1e14b3a1 Fix Linux build. 2013-12-11 16:06:19 -06:00
Ryan Houdek eb3b933dd0 Remove all instances of OpenCL in the Dolphin Project. A brief history of OpenCL in Dolphin. OpenCL was originally added to the Dolphin codebase 1 month after it was released with OS X Snow Leopard in 2009. OpenCL was one of the largest group projects that Dolphin ever has had. The OpenCL texture decoder was originally aded with version 1.0 of the OpenCL spec; This version didn't have the capability of a OpenCL-OpenGL interop which would allow for uploading textures once and have it decoded directly to a OpenGL texure. This was to be worked out when the OpenCL 1.1 spec was released and allowed the interop. This work has never been done, and no one in the team is willing to work on it for various reasons. OpenCL has had the unreasonable expectation that it increases the performance of video games that require a large amount of EFB copies like NSMBW. In reality, enabling OpenCL just put the graphics card in a higher power mode which increased the game speed. This is due to the unfortunate effect of Dolphin tending to not push GPUs out of their lower frequency power savings modes. Thanks to everyone that had contributed to the OpenCL texture decoder. 2013-12-11 15:15:55 -06:00
Tony Wasserka c9d9081bf9 Use less brain damaged names for DLCache and TextureDecoder. 2013-12-11 20:35:12 +01:00
Lioncash e0aa674c72 Minor const-correctness for some functions in FifoPlayer and some AudioCommon headers. 2013-12-11 08:43:58 -05:00
comex 101bded6b3 Oops, don't use -lrt on Android either. 2013-12-10 16:35:44 -05:00
comex eaacf10f71 Fix an idiotic race condition when starting games in multiple Dolphin instances at the same time on Unix.
MemArena mmaps the emulated memory from a file in order to get the same
mapping at multiple addresses.  A file which, formerly, was located at a
static filename: it was unlinked after creation, but the open did not
use O_EXCL, so if two instances started up on the same system at just
the right time, they would get the same memory.  Naturally, this caused
extremely mysterious crashes, but only in Netplay, where the game is
automatically started when the client receives a broadcast from the
server, so races are actually quite likely.

And switch to shm_open, because it fits the bill better and avoids any
issues with using /tmp.
2013-12-10 16:20:52 -05:00
degasus 2d8515c0cf VideoCommon: remove outdated copy of OGL::VertexManager::vFlush 2013-12-09 23:49:09 +01:00
degasus 134c89ef98 OpenGL: disable shader cache when ShaderDebugging is enabled
fixes 6859
2013-12-09 16:45:20 +01:00
degasus 42619c1d2d Merge branch 'ogl-tex2d'
Conflicts:
	Source/Core/VideoBackends/OGL/Src/TextureConverter.cpp
2013-12-09 13:04:14 +01:00
degasus 687097d4bc OGL: use integer uniforms for efb2ram texture converter 2013-12-09 12:33:50 +01:00
Chanwoong Kim c405d92c41 fixed issue 6852. 2013-12-07 16:07:47 +09:00
Ryan Houdek 4867937355 Add Read16/Read8 to the CBlobBigEndianReader so the key check is reading 8bit from the correct location to determin which key to use. Also change check to == 1 as suggested in the IRC channel on first implementation. Potentially fixes 6852. 2013-12-06 20:40:12 -06:00
Ryan Houdek 14d9802ea4 Oops. Fix a typo in the DriverDetails change. 2013-12-06 12:18:20 -06:00
Ryan Houdek faf8792351 Support OS specific bugs in our DriverDetails. 2013-12-05 09:32:27 -06:00
degasus 2cbefa2905 PixelShaderManager: clear s_bViewPortChanged flag
This flag wasn't cleared at all, so we set our constants dirty every time...

This could fix some performance regressions because of revision 6798a4763e
2013-12-03 09:37:45 +01:00
degasus edc879ce48 OpenGL: fix crash in revision 95aeedec19
Real xfb didn't provide any read_stride, so there is a division by zero.

This commit calculates the correct read_stride for real_xfb, so there is also no hack for texture vs xfb needed.
2013-12-03 00:09:37 +01:00
Ryan Houdek 7bdd8191db Merge branch 'master' into android-new-control-input-overlay
Conflicts:
	Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-29 21:27:17 -06:00
Ryan Houdek 49eef423a8 [Android-overlay] Add the new overlay icons. Support configuring them. Disable hardfloat since it has issues since Dalvik doesn't understand passing floats due to ABI differences. 2013-11-29 18:37:33 -06:00
degasus 69137cff4c Merge X11+D3D FreeLook feature into DolphinWX
This removes the redundant code and also implements this feature for OSX and Wayland.
But so it's dropped for non-wx builds...

imo DolphinWX still isn't the best place for this, but now it's in the same file as all other hotkeys. Maybe they'll be moved to InputCommon sometimes at once ...
2013-11-29 06:09:54 +01:00
degasus 95aeedec19 OpenGL: readback efb2ram with different strides at once
This is done with a pixel buffer object. We still have to stall the GPU, but
we only do it once per efb2ram call.
As the cpu can't access the vram, it has to queue a memcpy for the gpu and
wait for the gpu to finish this copy. We did this for every cache line which
is just stupid. Now we copy the complete texture into a pbo and readback this
at once. So we don't have to wait for lots of round-trip-times.
2013-11-26 20:05:49 +01:00
degasus 1138c2e155 OpenGL: reset EFB after efb2ram FB initialization 2013-11-26 04:07:59 +01:00
Ryan Houdek db9c586356 Revert "jit: change our linking module to be able to handle arbitrary exit addresses"
This shouldn't cause issues, but does in Windows. Revert for now.
This reverts commit 1aa06b8fa4.
2013-11-25 16:56:04 -06:00
degasus 0b4cb2e15f OpenGL: split real xfb + efb2ram framebuffers 2013-11-25 22:27:11 +01:00
Ryan Houdek 7718c9959e [Android-overlay] Multiple physical gamepad support. 2013-11-25 10:58:05 -06:00
degasus 11973d31c1 TextureConverter: remove WriteIncrementSampleX 2013-11-25 17:11:41 +01:00
Ryan Houdek 421fd0e16e Fix OpenGL ES 3. 2013-11-25 15:36:24 +00:00
degasus 64a1969e36 TextureConverter: fix scoping 2013-11-25 16:34:08 +01:00
degasus 2a2f2fd4eb TextureConvertion: merge Write*Swizzler 2013-11-25 16:19:08 +01:00
Ryan Houdek 9dbb262aab Fix for OpenGL ES 3. 2013-11-25 15:11:06 +00:00
degasus 6750a81972 TextureConverter: Use integer math for swizzling
also move int(efb_coord) -> float(ogl_fb_coord) into WriteSampleColor
2013-11-25 15:49:13 +01:00
degasus bcb31b09d3 TextureConverter: Use gl_FragCoord instead of uv0 2013-11-25 15:01:18 +01:00
degasus a289e0604f TextureConverter: remove D3D9 foo
This file is in VideoCommon, but as D3D11 doesn't use it and D3D9 is dropped, it's time to clean up.
2013-11-25 14:53:44 +01:00
degasus 454e1dd9a2 OpenGL: attributeless rendering for efb2ram
This wasn't as easy as we now have to cache also the uniform locations.
2013-11-25 13:03:35 +01:00
degasus 6ed3f82aff OpenGL: attributeless rendering for postprocessing 2013-11-25 12:36:17 +01:00
degasus 38fe05b1df OpenGL: attributeless rendering in emulate format changes
only cleanup
2013-11-25 12:27:54 +01:00
degasus dd0b74ac15 OpenGL: cleanup efb2tex
Also use attributeless rendering. But we need the src rect, so set it by uniform.
If there is a slowdown here (I doubt as the driver likely has a fast path to update uniforms)
then we should check if this rect changes and only then update the uniform.
2013-11-25 12:19:34 +01:00
degasus b93756df87 OpenGL: drop texture_rect hack
Everything is moved to texture2d (but often in a hacky way), so we don't need this global hack any more.
2013-11-25 09:05:50 +01:00
degasus afcf0e65d1 OpenGL: fix emulate format changes for texture2d 2013-11-25 08:59:04 +01:00
degasus 146e435009 OpenGL: fix efb2ram for texture2D
This was hacky as hell. Our efb2ram shader generator is just freaked out.
2013-11-25 08:56:01 +01:00
degasus b904d56036 OpenGL: fix efb2tex for texture2d 2013-11-25 08:43:55 +01:00
degasus 1a3e790d9e OpenGL: fix xfb for texture2d 2013-11-25 08:38:00 +01:00
degasus e8f23af10b OpenGL: always use texture2d as efb 2013-11-25 08:32:41 +01:00
degasus 230e12ae8c OpenGL: also remove VAO from xfb convertion
We use attributeless rendering, so officially we have to bind _any_ VAO.
As the state of this VAO doesn't matter, we don't have to switch it.

Also fix an AMD issue as they don't like to render from an empty VAO.
2013-11-25 07:38:20 +01:00
Ryan Houdek da3eef1019 Fix the issue with COLOROUT not being defined anymore. Fix a issue where Mali shader compiler is idiotic in finding an overload for the mix function. 2013-11-25 00:06:29 +00:00
Ryan Houdek cb3dd6b94b Merge branch 'master' into android-new-control-input-overlay 2013-11-24 17:10:24 -06:00
Ryan Houdek 2c09e8fc5a [Android] Enable hard-float support. Requires Android NDK r9b. 2013-11-24 16:43:53 -06:00
Ryan Houdek ba18f38e70 Merge branch 'master' into android-new-control-input-overlay
Conflicts:
	Source/Android/res/values-ja/strings.xml
	Source/Android/res/values/strings.xml
	Source/Android/src/org/dolphinemu/dolphinemu/AboutFragment.java
	Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java
	Source/Android/src/org/dolphinemu/dolphinemu/folderbrowser/FolderBrowser.java
	Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java
	Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-24 16:12:00 -06:00
Ryan Houdek f292819ff5 [Android] Due to recent changes in code breaking Tegra 4 support, and also the upcoming code which will be breaking GLES2 support entirely. Taking the initiative to drop the remaining support code from the codebase in preparation for the upcoming changes. For a look at how Dolphin on Tegra 4 looked like prior and would not have been able to be fixed at all due to Tegra 4 not supporting the precision we need in our shaders; Look at this Youtube video http://youtu.be/Ga7Jc_Ote7U 2013-11-24 15:49:23 -06:00
Ryan Houdek f6f2b1fc60 [Android-overlay] Support multiple gamepads with touch screen controls. 2013-11-24 15:04:53 -06:00
degasus d410fe7c96 OpenGL: cleanup yuv2rgb (real xfb) workflow
We neither scale nor render from subimages, so we by using gl_Position, we don't have to generate _any_ vertices for this converting.

Also remove the glTexSubImage optimization as every driver does it when needed. But there are some workflows (eg on APU) where it's better to realloc this texture instead of a second memcpy or stall.
2013-11-24 15:56:50 +01:00
Scott Mansell 12741f6406 Add comments for anybody attempting accuracy improvements in the future. 2013-11-25 01:30:53 +13:00
Scott Mansell b5bd2ba847 OpenGL: Enable filtering for EFB to Real XFB copies.
This fixes Real XFB Jaggies in OpenGL on games which use yscaling, such
as most PAL games.

This fixes the last of the "Real XFB Macroblocking" issues for opengl,
see issue #6503
2013-11-25 01:11:42 +13:00
Ryan Houdek 6f73162df4 [ARM] Implement the Acid test in the JIT core. This test is currently broken in JIT64 since it uses cr instead of cr_fast. 2013-11-24 10:51:07 +00:00
Scott Mansell e6b35642df Fix Desktop GLSL versions in the recent changes.
Seems OpenGL ES 3 Requires you must have an lod argument, while Desktop
versions require you must not have a lod argument if you are using a
Sampler2DRect (which doesn't do Mipmapping).
2013-11-24 22:48:10 +13:00
Ryan Houdek 531f840720 Fix OpenGL ES 3 in the recent changes. texelFetch doesn't require the lod argument in desktop GLSL versions, but in GLSL ES 3 it is a required argument. 2013-11-24 07:45:42 +00:00
degasus 994426b3dc Opengl: fix real XFB sample positions
(0,0) and (1,0) aren't accurate xfb sample positions. This fixes the image shift to the left and some blocking on higher IR.
2013-11-24 05:39:40 +01:00
Scott Mansell eef2cddfd7 Opengl: Fix opengl realxfb "macroblocking"/bluring issue.
YUYV textures should NEVER be interpolated/filtered in RGB colour space.
Use TexelFetch to always fetch an actual texture sample.

issue 6503
2013-11-24 17:15:11 +13:00
degasus 09f4439d0c VideoCommon: reorder cbufid in orderer. We've used once two times 2013-11-24 04:43:54 +01:00
degasus 7d58278b67 Merge branch 'efb2tex_alpha' 2013-11-24 04:02:38 +01:00
degasus 2bf7379a7f D3D: also fix MAX_COPY_BUFFERS
the D3D backend caches the colmat buffers. As we've created more different colmats, the maximum of this matrices must also be updated.
2013-11-24 04:00:12 +01:00
Matthew Parlane 0a31255943 Unused arguments removed from XFBSource::Draw
Thanks neo.
2013-11-24 11:33:43 +13:00
Scott Mansell 43d1678fb2 Dynamically allocate color textures.
Saves ram when the video software backend isn't being used.
2013-11-24 00:52:17 +13:00
Scott Mansell afe47ff847 Increase res of color texture to match PAL Super Smash Bros: Brawl
The pal version of SSBB has a 640x568 xfb, which is larger than the efb.
Increase the size of the static textures and put in some runtime checks
to prevent buffer overruns.
2013-11-24 00:15:08 +13:00
Scott Mansell e720ea7837 Remove c++11 feature so VC2010 can be happy. 2013-11-23 23:44:05 +13:00
Scott Mansell 786e49ed48 Merge branch 'master' into videosoftware-xfb
Conflicts:
	Source/Core/VideoBackends/Software/Src/EfbCopy.cpp
	Source/Core/VideoBackends/Software/Src/SWRenderer.cpp
	Source/Core/VideoBackends/Software/Src/SWRenderer.h
	Source/Core/VideoBackends/Software/Src/SWVideoConfig.cpp
	Source/Core/VideoBackends/Software/Src/SWmain.cpp
2013-11-23 23:20:45 +13:00
Tony Wasserka 672fa65ee7 OpenGL: Enable pinned memory even for index buffers (works for me). Big-ish speedup on AMD GPUs for streaming intensive games. 2013-11-22 18:09:52 +01:00
skidau efeb0096c9 Changed the DSP ROM warning from a panic alert to an on-screen message. 2013-11-22 14:55:25 +11:00
degasus b0a83c9aaa VideoCommon: don't read alpha from efb which don't have alpha
This fixes issue 6788
2013-11-22 04:50:33 +01:00
Ryan Houdek ea9ac07ec9 Merge branch 'master' into jit_exit_addresses 2013-11-21 21:17:58 -06:00
Tillmann Karras ff91789773 Jit64: really fix fmrx regression
This is more tricky than I thought!
2013-11-21 05:31:55 +01:00
degasus 011fe86d01 jit64: add regcache option IsBound
Lots of x86 instructions are different on memory vs registers.
So to generate code, we often have to check if a ppc register is already bound to a x86 register.
2013-11-21 05:16:58 +01:00
Tony Wasserka 286b6110f1 Revert "Handle BP mask register better to avoid useless BP writes (causing flushes)"
This reverts commit 954be9e2d9.

Fixes issue 6826.
2013-11-20 22:53:10 +01:00
Tillmann Karras bcefa880e4 Jit64: fix fmrx regression
Revision ddaf29e039 introduced a register
corruption bug (#6825). Since fmrx/MOVSD only modifies ps0 but we save
both ps0 and ps1 in one xmm register, not loading the previous value
when binding to a x64 register trashed ps1.

But hey, a good opportunity to shave off one more instruction ;)
2013-11-20 21:30:49 +01:00
Ryan Houdek ae11fba069 [Android] Make joysticks less dumb from a configuration standpoint. 2013-11-18 14:48:08 -06:00
comex 4f13f6ecaa "warning fixes" commit introduced warnings; fix them. (And I refuse to use PRI macros.) 2013-11-18 14:34:21 -05:00
Tillmann Karras b863e40677 Merge branch 'ppc_fp' 2013-11-18 19:31:09 +01:00
Matthew Parlane e805bf6068 Only add real HID devices to HID list. 2013-11-17 21:14:22 +13:00
Matthew Parlane b372f97675 Imagewrite.cpp had same problem.
I hate windows :(
2013-11-17 11:30:05 +13:00
Matthew Parlane f4a1f183b9 std::string can't be passed to ... format. 2013-11-17 11:28:11 +13:00
Matthew Parlane ea3990a41b Don't pass char* to std::string.
Windows was fine with this :(
2013-11-17 11:25:12 +13:00
Matthew Parlane 33d8166620 Use IOFile for TextureToPng to support non-ascii
Changed save texture/screenshot uses to std::string
Removed unneeded new/delete calls when dealing with temp data.
2013-11-17 11:14:38 +13:00
Lioncash cce869ae01 [Core] Fix a mismatched dealloc in Render.cpp in the OGL backend. Should be delete[] 2013-11-16 17:05:51 -05:00
Ryan Houdek 4a9c8e6f55 Change software rasterizer screenshot code due to change in api just now. 2013-11-16 15:37:40 -06:00
Matthew Parlane 71d70d896f Api was too confusing for people. 2013-11-17 10:34:34 +13:00
Ryan Houdek 2025f00f88 Woops, vim copy and paste issue with a double include. 2013-11-16 09:41:01 -06:00
Ryan Houdek e8a4cc0f71 Screenshot capability of Software rasterizer for feature completness. 2013-11-15 22:08:08 -06:00
Matthew Parlane 3a13dfdd9b [OGL] Textures now save to PNG not TGA 2013-11-16 15:59:59 +13:00
Ryan Houdek 15bb974224 [Android] Add screenshot nativelibrary function. 2013-11-15 17:32:50 -06:00
Ryan Houdek b9d7bb9012 [Android] Broken UBOs has been fixed in Adreno driver v53, so update the comment in DriverDetails.h. Also enable dynamic UBO array member access with that version since there is a high chance of it being fixed. Dynamic UBO member access is commonly noticed with character models being terrible looking. 2013-11-15 16:51:07 -06:00
Ryan Houdek 0e415467c4 [Android] Spawn a message if someone's phone doesn't support NEON. NEON is a requirement for Dolphin Mobile on ARM, CPU core will crash without it. 2013-11-15 14:17:47 -06:00
Matthew Parlane c712fb7356 Fix introduced ImageWrite warning. 2013-11-15 17:58:57 +13:00
Jordan Cristiano 714633f311 Fixed console commands not registering. Code cleanup. 2013-11-14 22:23:55 -05:00
Ryan Houdek 117bf435b0 Fix GUI-less build. Also potentially OS X. We now require libpng due to our screenshot code relying on it now. WXWidgets links in libpng by itself so it isn't noticed in a wxwidgets build. OS X seems to not have libpng linked in from wxWidgets so just link in libpng at all times. 2013-11-15 01:09:38 +00:00
Matthew Parlane ba71cdcc51 Goto crosses initialization error.
Sorry.
2013-11-15 13:05:03 +13:00
Matthew Parlane 033ed9477e Reworked Screenshot saving.
Now OGL doesn't rely on WX for PNG saving.
FlipImageData supports (pixel data len > 3) now.
TextureToPng is now in ImageWrite.cpp/h
Video Common depends on zlib and png.
D3D no longer depends on zlib and png.
2013-11-15 13:00:38 +13:00
Ryan Houdek feedee5c23 [Android-overlay] Support touch screen axises in native. Have a non-configurable main joystick on screen at this point. 2013-11-14 15:18:33 -06:00
Jordan Cristiano 2703cae8d3 Fixed ZComploc and Zfreeze values being incorrectly saved. 2013-11-14 03:15:03 -05:00
Jordan Cristiano 0fced651a5 More warning fixes, OSX build fix. 2013-11-14 03:11:40 -05:00
Matthew Parlane 7e9b970240 Use libpng for saving images.
TODO: Needs threading done similiar to OGL backend.
Fixes issue 6779.
2013-11-14 21:02:49 +13:00
Jordan Cristiano c3069eda28 build fix 2013-11-14 02:27:53 -05:00
Jordan Cristiano 39a4d4329d more warning fixes 2013-11-14 02:19:15 -05:00
Matthew Parlane ca5b3b4773 atlbase not needed. Interim fix until I get png done. 2013-11-14 18:10:39 +13:00
Ryan Houdek 1942d79c5b [Android-overlay] Had the action reversed. 2013-11-13 16:36:30 -06:00
Ryan Houdek 2a23bdde6f Merge branch 'master' into android-new-control-input-overlay
Conflicts:
	Source/Core/DolphinWX/Src/Android/ButtonManager.h
2013-11-13 16:17:42 -06:00
Ryan Houdek 63a9dff3bb Windows requires memory to be included to use unique_ptr 2013-11-13 12:51:49 -06:00
Ryan Houdek 652ef24a2e Remove our two instances of auto_ptr and replace it with unique_ptr. auto_ptr has been deprecated. 2013-11-13 11:44:04 -06:00
Matthew Parlane 7b53574b68 Support texture and screenshot dumping using WIC, no XP support. 2013-11-14 00:48:02 +13:00
Matthew Parlane abc3bddb54 Revert "D3D: Reintroduce depencency on D3DX11 because it's the most straightforward way to bring back some broken features."
This reverts commit a83c239765.
2013-11-14 00:34:09 +13:00
Jordan Cristiano f96e9e1ae4 warnings and code formatting 2013-11-13 04:03:46 -05:00
Tillmann Karras 038ffea369 Jit64: don't flush clean FPRs 2013-11-13 08:03:18 +01:00
Tillmann Karras 288bef2807 x64: add small warning if CPU has SSE2 but not DAZ 2013-11-13 06:26:57 +01:00
degasus d78c8c21a2 jit64: enable fp instructions faddx fsubx fdivx fdivsx
all of them are now accurate enough as we handle non-ieee floats correctly
2013-11-13 06:26:50 +01:00
Tillmann Karras cd069fdce1 Interpreter: software-based flush-to-zero
bDAZ is now called bFlushToZero to better reflect what it's actually
used for.

I decided not to support any hardware-based flush-to-zero on systems
that don't support this for both inputs _and_ outputs. It makes the code
cleaner and the intersection of CPUs that support SSE2 but not DAZ
should be very small.
2013-11-13 06:24:58 +01:00
Tillmann Karras 466a7afde3 Interpreter: support non-IEEE mode emulation
v2: fix fxsave on visual studio, thx @ rodolfo for this patch
2013-11-13 06:24:57 +01:00
Tillmann Karras 710a0ff435 Jit64: don't unnecessarily load registers 2013-11-13 06:16:24 +01:00
Tillmann Karras ddaf29e039 Jit64: use AVX instructions in some places 2013-11-13 06:15:56 +01:00
Tillmann Karras ae86850a78 x64: support VEX opcode encoding
and add some AVX instructions
2013-11-13 06:12:23 +01:00
Tillmann Karras 22b47d5b9c Jit64: Fix and re-enable psq_l for W=1
Patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 05:58:28 +01:00
Tillmann Karras 6054129df8 x64: detect FMA support 2013-11-13 04:46:34 +01:00
Tillmann Karras 2fecb033be Jit64: micro-optimize ps_sel
Adapted from a patch by konpie:
https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
2013-11-13 04:45:43 +01:00
Tillmann Karras 6f5650f82e Fix Bluetooth warnings 2013-11-13 04:01:24 +01:00
Tillmann Karras 268bdf19ce Fix format string warnings 2013-11-13 04:01:16 +01:00
Ryan Houdek 39ad5a2f7a Disable Fastmem on JIT64IL. JIT64IL is completely incompatible with Fastmem and doesn't need it since it has its own way to speed up memory accesses. This fixes the JIT64IL core, which I totally didn't break but was blamed for. 2013-11-12 19:37:09 -06:00
Ryan Houdek 7c1ac441f6 Redo 'Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic.' This time with support for Windows. 2013-11-12 16:34:56 -06:00
Rachel Bryk 0f94652952 Disable wiimote source selection while netplay is running. 2013-11-12 04:16:51 -05:00
Ryan Houdek a72b3ca20c [ARM] Don't leave my test code in the JIT core. 2013-11-12 04:22:42 +00:00
Ryan Houdek 56557c845a [ARM] Fix NEON emitter encodings. 2013-11-12 01:01:54 +00:00
Ryan Houdek 68ba0f7f4e Add a comment to the magic value reading location. 2013-11-11 17:17:49 +00:00
Chanwoong Kim 22fef0da9b Fixed a bug that incorrectly recognized as 'GameCube'. when you open the Korean Wii Disc, which is re-encrypted with a common-key(g_MasterKey). 2013-11-12 01:05:30 +09:00
Ryan Houdek d1de336879 [ARM] More NEON emitters. 2013-11-11 01:47:05 +00:00
Jordan Cristiano 3a28afd8d5 Changed thread barrier and event to use a lamba wait predicate instead of a functor. 2013-11-10 04:57:11 -05:00
Ryan Houdek e013a74cdb [ARM] More NEON emitters. 2013-11-10 05:02:32 +00:00
Tony Wasserka 22f727cc69 D3D: Use D3DX11 for taking screenshots. 2013-11-10 00:22:35 +01:00
Tony Wasserka 0b02880b76 Revert "Be less dumb."
Revert "Actually, filename really does need to be a parameter because of some random debug thing."
Revert "fix non-HAVE_WX case"
Revert "Handle screenshot saving in RenderBase.  Removes dependency on D3DX11 for screenshots (texture dumping is still broken)."

This reverts commits 00fe5057f1, 74b5fb3ab4, cd46138d29 and 5f72542e06 because taking screenshots in D3D still crashed for me so there was no point in the code changes (which I found ugly anyway).
2013-11-10 00:22:33 +01:00
Tony Wasserka 3de2ee5d46 D3D: Use D3DX for texture dumping. 2013-11-10 00:22:31 +01:00
Tony Wasserka a83c239765 D3D: Reintroduce depencency on D3DX11 because it's the most straightforward way to bring back some broken features.
The Dolphin development team is incapable of providing sufficient replacement for its previous usage in Dolphin and the advantages of dropping the dependency do not justify the removal of screenshots and texture dumping.

From now on, d3dx11.h, d3dx11async.h, d3dx11core.h and d3dx11tex.h are required to be stored somewhere in the header include path. I don't know if this is the case for anyone else than me, but I can't really say that I care after having people randomly merge unfinished branches into master.
2013-11-10 00:18:03 +01:00
degasus 8923968b47 Revert "VideoCommon: create native texture pool"
This reverts commit 6cece6b486.

In fact, there was a _huge_ speedup on lots of games (mostly on nvidia+ogl), but there are some crashes on D3D.
I have to fix this crash and then I'll commit something like this again :-)

Conflicts:
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
2013-11-07 21:16:36 +01:00
Shawn Hoffman 33d56f50a4 Re-plumb window handle to the dsound backend.
Reverts parts of commit 71c01d83ab614b9e0c421d03ca694713dbabff48.
Fixes issue 6800
2013-11-07 09:24:56 -08:00
degasus ea2d8bf328 VideoCommon: fix custom textures
This fix a regression by revision 6cece6b486

delete pointer must not do anything if pointer==NULL.
2013-11-07 15:55:34 +01:00
Lioncash c33036aa01 Fix the filter for some files in the Core VS project related to the JitIL. They were in the root of the project. They should actually be in their own filter named JitILCommon. 2013-11-07 01:33:32 -05:00
degasus 1aa06b8fa4 jit: change our linking module to be able to handle arbitrary exit addresses
And also do this for all JIT backends...
2013-11-07 06:19:35 +01:00
Pierre Bourdon ea6fd58b97 Use an unordered_set to track FIFO write adresses
Reduces CheckGatherPipe CPU consumption by 40%.
2013-11-07 03:22:32 +01:00
Pierre Bourdon 954be9e2d9 Handle BP mask register better to avoid useless BP writes (causing flushes)
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2013-11-07 03:06:53 +01:00
Tillmann Karras cdc27e46f1 Jit64: implement ps_res
This is probably more accurate than it is allowed to be. After all, the
instructions are supposed to be "estimates".
2013-11-07 02:19:20 +01:00
Tillmann Karras 0a2a273a2e Jit64: simplify ps_sel 2013-11-07 02:02:38 +01:00
Tillmann Karras 201c4c65a5 Jit64: fix typo in ps_sel and re-enable it 2013-11-07 02:02:24 +01:00
degasus 2f7ca688ae jit64: remove dead code 2013-11-07 01:59:10 +01:00
Tillmann Karras c29fb22cd4 Jit64: extract frsqrtex as method 2013-11-07 01:59:00 +01:00
Matthew Parlane 897bec1add [JitIL] No more terrible usage of vectors.
This is possible because of C++11.
2013-11-06 22:18:08 +13:00
degasus 274f6dd7ab ogl: check default framebuffer for msaa
default framebuffer must not be sampled, so throw a panicalert if it is
2013-11-05 17:38:48 +01:00
Ryan Houdek 948ace9546 [ARM] Minor idle skip optimization in bx. 2013-11-05 13:05:39 +00:00
Ryan Houdek 56685c396a [ARM] Fix an issue with the data offset in LoadStore operations. Thanks to PPSSPP. 2013-11-05 13:05:38 +00:00
degasus 6cece6b486 VideoCommon: create native texture pool
We often need the same native texture objects for new textures. This commit
try to avoid destroying and creation of this textures by pooling them.

This should be a big performance gain for some efb2ram games as they may
overwrites partially a cached texture (which would be deleted) and afterwards
try to read it.

Creating/destroying sounds like an easy task, but it isn't. eg the nvidia ogl
driver synchonize their threads do avoid use-after-free issues.
2013-11-05 12:21:22 +01:00
Shawn Hoffman f4056978c8 [windows] update SDL-2.0.0 to 2.0.1. Fixes issue 6793. 2013-11-04 23:50:52 -08:00
degasus 045efdfc3e ogl: drop all %f from TextureConversionShader 2013-11-04 12:38:55 +01:00
Matthew Parlane e15f628935 Fix {Read,Write}FileToString.
We should be using binary always.
2013-11-05 00:33:41 +13:00
comex 3f1ea21e4f Fix warnings. 2013-11-03 20:54:06 -05:00
comex 21610c2e54 Run code through clang-modernize -add-override to add 'override' decls. 2013-11-03 20:54:05 -05:00
comex c579637eaf Run code through the advanced tool 'sed' to remove trailing whitespace. 2013-11-03 20:54:05 -05:00
comex 965b32be9c Run code through clang-modernize -loop-convert to create range-based for loops, and manually fix some stuff up. 2013-11-03 20:54:01 -05:00
comex 00fe5057f1 Be less dumb. 2013-11-03 14:37:56 -05:00
Rachel Bryk a250ab0af7 Stop saving random files to ./ 2013-11-02 23:47:10 -04:00
comex 74b5fb3ab4 Actually, filename really does need to be a parameter because of some random debug thing. 2013-11-02 22:44:27 -04:00
comex cd46138d29 fix non-HAVE_WX case 2013-11-02 22:23:29 -04:00
comex 5f72542e06 Handle screenshot saving in RenderBase. Removes dependency on D3DX11 for screenshots (texture dumping is still broken). 2013-11-02 22:19:21 -04:00
Shawn Hoffman 26059f1109 rename the dolphinwx project to dolphin, and thus change the executable name back to dolphin{d}.exe 2013-11-02 16:22:15 -07:00
Shawn Hoffman bc45a38122 do not copy pdbs to binary dir (you can use the symbol server for $(random_build), or it will be found locally if you built it yourself) 2013-11-02 16:19:17 -07:00
Matthew Parlane dab9af43a4 [Windows] Add missing dlls and enable OpenMP support. 2013-11-03 11:54:45 +13:00
skidau 65404e7475 Removed duplicate definition of ibuild within JitIL.h. Fixes JitIL from hanging on x64/x86. 2013-11-01 12:33:29 +11:00
comex 82729fcc8f Merge remote-tracking branch 'shuffle2/vc12'
Conflicts:
	Source/Core/Common/Common.vcxproj
	Source/Core/Common/Common.vcxproj.filters
2013-10-31 16:51:56 -04:00
comex 4c7bbd96e4 Improve ChunkFile.h:
- Add support for std::set and std:pair.

- Switch from std::is_pod to std::is_trivially_copyable, to allow for
  types that have constructors but trivial copy constructors.  Easy,
  except there are three different nonstandard versions of it required
  on different platforms, in addition to the standard one.
2013-10-31 15:40:53 -04:00
degasus 498d491942 Merge branch 'viewportCorrection' 2013-10-29 22:33:51 +01:00
degasus 35824aa4d5 ogl: ceil viewport, rounding isn't supported on vs and this is more like the old behavior 2013-10-29 21:42:40 +01:00
degasus ab35503195 ogl: don't force depth+stencil for default framebuffer 2013-10-29 19:20:40 +01:00
degasus 92fdac412b VideoCommon: drop UpdateViewportWithCorrection
It's only used once in BPFunction which itself is also only used once.
So the setter is moved to BPStructs like all other ones.
2013-10-29 18:55:50 +01:00
degasus 2118c1d3c3 VideoCommon: remove constants.depthparams[2+3] as they aren't used in the shader at all 2013-10-29 18:55:50 +01:00
degasus f4a9deefa8 ogl: remove some unneeded includes 2013-10-29 18:55:50 +01:00
degasus 8e0f91f70e d3d: use backend based UpdateViewport instead of VideoCommon one 2013-10-29 18:55:50 +01:00
degasus acc0b3b21c ogl: don't call SetViewportChanged from backend as it's not needed any more 2013-10-29 18:55:50 +01:00
degasus 3151d8709c VideoCommon: move ViewportCorrection into VideoCommon
D3D doesn't allow bigger viewports than rendertargets. But flipper does, so the viewport will be clipped and the transformation matrix will be changed.
This was done in the D3D backend itself. This is now moved into VideoCommon. This don't reduce code, but in this way, VideoCommon doesn't depend on the backends.
2013-10-29 18:55:50 +01:00
degasus 0002236e3e Merge branch 'viewport_float' 2013-10-29 18:33:56 +01:00
degasus b253d60f04 VideoCommon: Drop D3D9 SSAA implementation
This isn't needed for both OGL+D3D11 as they support sample shading directly. So we
could use the common MSAA util shaders instead of writing custom ones.
2013-10-29 18:20:07 +01:00
Ryan Houdek f18c461fd6 [viewport-float] Fix OpenGL ES 3 build. 2013-10-29 17:10:02 +00:00
degasus edf0511d4e OGL: Use floating points for viewport parameters.
As told by neobain, ARB_viewport_array introduced float viewports.
They must be supported on OGL4.1+, but it's usually also implemented on 3.3 GPUs.
2013-10-29 15:29:06 +01:00
Ryan Houdek 58d42f43e3 [Android] Fix PCH build. Clean up DolphinWX cmake file a little bit. Modify our android cmake toolchain file to make the default build location not be source root, because that is stupid. 2013-10-28 19:59:03 -05:00
comex 2e983071c5 Add git.bat to the options in make_scmrev.h.js because depot_tools uses it and I'm silly. 2013-10-27 19:51:55 -04:00
Ryan Houdek 8e73e8ae5f Wipe all traces of OpenSSL's AES implementation. Use polarssl instead. 2013-10-27 18:27:07 +00:00
Shawn Hoffman 8dcd13cca7 [vc12] std::min/max requires <algorithm> header. It should be in pch, but just add it for the single file that needs it, for now. 2013-10-26 18:04:00 -07:00
Shawn Hoffman ccd30024b3 Update to VS2013 and a slew of build-related updates. Notes:
* Currently there is no DEBUGFAST configuration. Defining DEBUGFAST as a preprocessor definition in Base.props (or a global header) enables it for now, pending a better method. This was done to make managing the build harder to screw up. However it may not even be an issue anymore with the new .props usage.
* D3DX11SaveTextureToFile usage is dropped and not replaced.
* If you have $(DXSDK_DIR) in your global property sheets (Microsoft.Cpp.$(PlatformName).user), you need to remove it. The build will error out with a message if it's configured incorrectly.
* If you are on Windows 8 or above, you no longer need the June 2010 DirectX SDK installed to build dolphin. If you are in this situation, it is still required if you want your built binaries to be able to use XAudio2 and XInput on previous Windows versions.
* GLew updated to 1.10.0
* compiler switches added: /volatile:iso, /d2Zi+
* LTCG available via msbuild property: DolphinRelease
* SDL updated to 2.0.0
* All Externals (excl. OpenAL and SDL) are built from source.
* Now uses STL version of std::{mutex,condition_variable,thread}
* Now uses Build as root directory for *all* intermediate files
* Binary directory is populated as post-build msbuild action
* .gitignore is simplified
* UnitTests project is no longer compiled
2013-10-26 17:55:38 -07:00
Ryan Houdek 1eba4da21a Revert "Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic."
This reverts commit b2c4901b3f.

Breaks Windows build. GCC 4.9 isn't out yet anyway.
2013-10-26 19:21:00 -05:00
Ryan Houdek b2c4901b3f Fixes GCC 4.9 compilation. It now supplies its own _mm_shuffle_epi8 intrinsic. 2013-10-26 19:05:31 -05:00
Tony Wasserka f82e1b9dc7 D3D: Use floating points for viewport parameters.
OpenGL 4.1 allows for a similar change thanks to ARB_viewport_array, but we don't make use of this, yet.
2013-10-26 12:40:37 +02:00
Ryan Houdek c24dfe559b [Android] Change how the onTouchEvent native method works. Just pass in the correct Button ID and Action and it'll be pressed or not. Not actually rigged up to the Java code yet. Doesn't support anything with an Axis yet so no C stick, main stick, L and R triggers 2013-10-26 05:36:20 -05:00
skidau 41f6f6adc9 Added memchecks when the MMU is enabled. Thanks to comex for the fix.
Fixes issue 6754.
2013-10-26 14:32:03 +11:00
comex 005af7bd63 Fix build on Mavericks. 2013-10-24 16:39:46 -04:00
Tillmann Karras 69a10869bb Document FPSCR fields 2013-10-24 01:46:07 +02:00
Rachel Bryk 8aef60f6ca Allow frame limit to be set via game ini. 2013-10-23 13:45:03 -04:00
Ryan Houdek e3febb1603 [Android] Fix MIPS compiling. 2013-10-21 09:52:43 -05:00
Ryan Houdek 887f8e463d [Android] Fix MIPS compiling. 2013-10-21 09:43:19 -05:00
Lioncash 4b774ef99a Fix my fix. 2013-10-20 16:42:30 -04:00
Lioncash 448c19bce1 Fix an issue where my recent changes would cause compilation to fail on some distros of Linux.
Note that before pushing those changes, they were initially tested in a branch, and passed the compilation testing. Sorry that I didn't catch this before.
2013-10-20 16:32:40 -04:00
Lioncash b3da5c5d58 Really fix the Linux build this time.
Dammit size_t :(
2013-10-19 19:59:05 -04:00
Lioncash a5a21e7f44 Fix Linux build.
Turns out Hash.h needs Common.h
2013-10-19 19:59:04 -04:00
Lioncash 8b10d5b481 Add header cstdint to CommonTypes.h 2013-10-19 19:59:03 -04:00
Lioncash 1f0710caf7 Remove some more includes. 2013-10-19 19:59:03 -04:00
Lioncash 207547b425 Clean up includes in DiscIO as much as possible.
Also turned a long iterator declaration in VolumeDirectory.cpp to using auto in order to shorten it.
2013-10-19 19:59:02 -04:00
Lioncash 82fd579506 Remove unnecessary include of "../../Core/Src/ConfigManager.h" from BannerLoaderGC.cpp. In actuality, all that was needed here was an include of CommonTypes.h.
Also change Common.h to CommonTypes in BannerLoaderWii.cpp.
2013-10-19 19:59:01 -04:00
Lioncash 6adf3e37e2 Clean out unnecessary includes from the DSP JIT. 2013-10-19 19:59:00 -04:00
Lioncash af1b5fe767 Woops forgot to clean out some files in the Jit64IL. All clean now. 2013-10-19 19:58:59 -04:00
Lioncash 80b4cb6cf3 Clean out includes from regular JitCommon. 2013-10-19 19:58:59 -04:00
Lioncash 3360ec013f Clean out includes in JitILCommon. 2013-10-19 19:58:58 -04:00
Lioncash 22cdc0f56e Remove some more unnecessary includes, as well as organize a little more. 2013-10-19 19:58:57 -04:00
Lioncash 97cd42f5c3 Remove some unnecessary includes as well as simplifying exisiting ones if possible. 2013-10-19 19:58:56 -04:00
comex 33ee04626d Don't define __rdtsc if x86intrin.h already does. 2013-10-19 12:40:21 -04:00
Lioncash 81964517d6 Remove a redundant assignment in Init() within PowerPC.cpp. We already assign zero to ppcState.dtlb_last. 2013-10-17 20:38:49 -04:00
Lioncash b8a947ce0a Fix a filter in the VS project file for JitILCommon-related files. 2013-10-17 06:36:32 -04:00
comex de1773affb Basic precompiled header support for Linux/OS X. Shaves 20-30% off full rebuild time on my system. 2013-10-17 00:07:35 -04:00
comex cffe6ba3fd Fix TextureEncoder.h 2013-10-16 23:20:51 -04:00
comex e1f3a4d7b3 Fix out-of-tree build on OS X. 2013-10-16 23:15:21 -04:00
Tillmann Karras e4a81f32d4 Document some UGeckoInstruction fields 2013-10-17 04:59:13 +02:00
Rachel Bryk f605ea9eeb [Netplay] Allow a spectator to leave without affecting players. 2013-10-16 21:44:49 -04:00
degasus 5a212a8fe0 jit64: enable faddsx again
It was disabled because of issue 182, but as this game depeneds on FPRF, it was just 'fixed' because of the fallback to interpreter (which implements FPRF by default).
Also enables FPRF for this game via GameIni, so that the issue is still workaround.

If there are any regressions because of this commit, please try to enable FPRF in GameIni.
2013-10-17 01:43:16 +02:00
degasus f850d283d1 ogl: only use bufferdata if buffersubdata is broken
Else nvidia fallback would be slower than needed
2013-10-16 15:46:58 +02:00
Ryan Houdek f0bf5aa113 Fix rendering on Adreno and Mali. This adds a new DriverDetails bug to know if the bufferstreaming is broken. Thanks degasus for fixing this. 2013-10-16 11:27:58 +00:00
Tillmann Karras c234dc97c0 Jit64: optimize floating-point/paired-single arith
The "else if (b != d)" branch was dead code and only works if b == d. Now
the last else block with two temporary XMM registers is not needed anymore.
2013-10-16 00:52:21 +02:00
skidau b4513313bb Increase the trampoline cache size to cater for fastmem writes.
Fixes issue 6722.
2013-10-16 09:26:08 +11:00
Rachel Bryk 6eb216fc77 (Netplay) Disable record input checkbox while a game is running.
Fixes issue 6734.
2013-10-15 17:28:01 -04:00
comex b11cf1fa10 Fix config file saving on Windows. 2013-10-15 17:20:00 -04:00
degasus b1afb32188 ShaderGen: fix for commit bd80de14f4 2013-10-15 14:48:40 +02:00
degasus bd80de14f4 ShaderGen: drop PerPixelLighting + 8Texcoord hack
D3D9 only supports 8 texcoords. But we need a new one for ppl, so we just store it in the first 4 texcoords in the free 4th component.

This isn't needed for both d3d11 and ogl3, so just remove it.
2013-10-15 14:38:26 +02:00
degasus f62579761c ShaderGen: remove nonsense for() if() {} 2013-10-15 14:31:02 +02:00
comex 72c1e143f3 Try to atomically save config files. 2013-10-15 02:59:25 -04:00
Lioncash f3af8ee0f0 Revert "Remove some unnecessary includes."
Turns out this explodes on Linux.

This reverts commit c4696568cc.
2013-10-14 04:05:38 -04:00
Lioncash c4696568cc Remove some unnecessary includes. 2013-10-14 04:01:57 -04:00
comex 390760bd75 Perf: Use unordered_map instead of map in very slightly hot function.
Incrementing an unordered_map's iterator is a bit faster.
2013-10-13 15:31:42 -04:00
comex 1570558789 Remove unused variable waitingForPEInterruptDisable. 2013-10-13 14:00:38 -04:00
NeoBrainX 59ae93d04e PixelShaderGen: Refine the comment from revision 3fbe1b1ccd. 2013-10-13 14:59:59 +00:00
degasus 3fbe1b1ccd VideoCommon: Update FastDepth's comment 2013-10-13 16:14:30 +02:00
degasus 6798a4763e VideoCommon: revert the ViewPort changes
xfregs isn't written when calling this function, so we have to use such an invalid flag :-(
2013-10-13 15:41:11 +02:00
degasus 2754c1132e VideoCommon: reimplement Dirty() in PixelShaderManager
This isn't needed in VertexShaderManager as it's still in the old dirty flag way.

But it's very importend for PixelShaderManager as some float4s aren't initialized as 0.0f
2013-10-12 20:31:59 +02:00
degasus 50c404ce4a VideoCommon: fix dstAlpha 2013-10-12 20:31:59 +02:00
degasus 0b2fb548c3 VideoCommon: remove SetVSConstant4f 2013-10-12 20:31:59 +02:00
degasus 5de7ac4791 OGL: update ubo workaround 2013-10-12 20:31:59 +02:00
degasus cc6c454898 VideoCommon: refactor PixelShaderManager setters
The old way was to use a dirty flag per setter. Now we just update the const buffer per setter directly.
The old optimization isn't needed any more as the setters don't call the backend any more.

The follow parts are rewritten:

Alpha

ZTextureType

zbias

FogParam

FogColor

Color

TexDim

IndMatrix

MaterialColor

FogRangeAdjust

Lights
2013-10-12 20:31:25 +02:00
degasus 15ed0ea9cf videoCommon: remove not supported constant types
I'm pretty sure GPUs can read u8 values, but this isn't exported by the API.

But hey, see unpackSnorm4x8 :-)
2013-10-12 20:29:56 +02:00
degasus 6e2fe72b8f D3D: also uses VideoCommon constant buffer handling
As now both backends uses the VideoCommon one, the old setting API was removed.
2013-10-12 20:29:56 +02:00
degasus 7c14463d11 ogl: implement useful constant buffer upload
this will remove the additional memcpy introduced in my last commit
2013-10-12 20:29:56 +02:00
degasus 4377618438 VideoCommon: keep a copy of the const buffer in VideoCommon
The upload in the backend isn't done, it's just pushed by the mostly removed SetMulti*SConstant4fv.
Also no optimizations was done on VideoCommon side, but I can start now :-)

Sorry for the hacky way, but I think this is a nice (working) snapshot for a much bigger change.
2013-10-12 20:29:56 +02:00
degasus 0753ce5bda ogl: use GL_RGBA instead of GL_RGBA8
8 bit per pixel is _everywhere_ the default, so we don't need to define it explicitly.
Also we don't rely on exact 8 bit resolution.
2013-10-12 16:34:06 +02:00
Ryan Houdek 2f0aca2055 [ARM] Fix the JITILArm and JITArm dispatchers from comex's recent changes. 2013-10-12 08:30:26 +00:00
Ryan Houdek 0556193442 Build fix for previous commit. 2013-10-11 21:45:44 -05:00
Ryan Houdek cf7521dc36 [Android] Make Tegra 4 output graphics that aren't visually appealing. 2013-10-11 21:42:07 -05:00
comex 78a4dbced8 Remove more unused stuff. 2013-10-09 21:37:29 -04:00
comex 8962b9606b One shudders to imagine what inhuman thoughts lie behind that code.
(Read_Opcode_JIT and Write_Opcode_JIT read/write from unrelated memory
areas.*  Rename the latter and refactor.)

*except at the one specific exception handler where it doesn't.  I
have no idea what this is supposed to do, but it probably doesn't do
it correctly.  For now, remove the exception.
2013-10-09 21:37:29 -04:00
comex 2e32f11f03 Remove "deprecated" and unused function Read_Opcode_JIT_LC. 2013-10-09 21:37:28 -04:00
comex 5847e26d34 Minor JitCache cleanup. 2013-10-09 21:37:28 -04:00
comex 86f2e1734a Make JIT_UNLIMITED_ICACHE always on.
(1) The alternative doesn't compile.
(2) Despite "unlimited" sounding like a hack, it's actually
    significantly more correct then the alternative, which is no
    emulated icache.
(3) Easier to wrap my head around.
2013-10-09 21:37:28 -04:00
Ryan Houdek 715d5ae8a7 Merge branch 'JitArmIL'
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
2013-10-09 23:16:07 +00:00
Ryan Houdek 7bc4838243 Add the Arm JITIL to DolphinWX. 2013-10-09 23:09:18 +00:00
Ryan Houdek bd79603c66 [ARM-JitArmIL] Enable a bunch of instructions. 2013-10-09 23:03:39 +00:00
Ryan Houdek f5e1b4659a [ARM] Clean up LSL, LSR, and ASR emitters, we don't need a separate instruction for each to support registers. 2013-10-09 22:57:31 +00:00
Ryan Houdek 4914665429 [ARM-JITArmIL] Remove the SystemRegisters file. 2013-10-09 20:59:15 +00:00
Rachel Bryk cc05f66ba1 Don't prepend file:// in wxUtils::Explore() on windows. Wxw will just remove it, and/or blow up trying to remove it, if the path isn't ascii.
Fixes issue 6721.
2013-10-09 16:18:33 -04:00
Rachel Bryk 99c89ae109 Fix unicode support for File::Rename() on windows.
Partial fix of issue 6721.
2013-10-09 15:33:21 -04:00
comex d5e40bfb01 Don't waste time looking up the block if enableBlocklink is off anyway. 2013-10-09 15:01:55 -04:00
Matthew Parlane 414ed6ef63 C.K. should fix his website before throwing stones at obsolete xml. 2013-10-09 23:56:16 +13:00
Matthew Parlane fbcc41c18e Fix references for OGL, SW and D3D. 2013-10-09 23:49:00 +13:00
Matthew Parlane 935ed814ea Missed a accept error handler.
Init instead of memset.
2013-10-09 23:35:29 +13:00
Matthew Parlane f811dbb575 Fix accept() bug, which was using the wrong isRW for error conversion.
Also fixed a debug issue where local_name is used uninitialised.
2013-10-09 22:16:04 +13:00
Ryan Houdek 932586f743 [JitArmIL] Fix Windows build? 2013-10-09 00:55:43 +00:00
Ryan Houdek 4263f062b0 [JITArmIL] Fix JITIL compiling on x86. 2013-10-08 19:16:27 -05:00
Ryan Houdek ce5dbfe7a7 [ARM-JITArmIL] Begin merging of the two IL cores in to a common source base. 2013-10-08 19:23:37 +00:00
Ryan Houdek a0f2183424 [ARM-JITArmIL] Provide the necessary instructions to allow the JitArmIL to actually run. Disable branch instructions as well for now since one is wrong somewhere. 2013-10-08 16:42:33 +00:00
Ryan Houdek 7dd8deecec [ARM] Update the ArmEmitter with a bunch of NEON emitters. This adds around 47 instruction emitters if I counted correctly. None well tested at this point. On going to add all the NEON emitters. 2013-10-08 10:17:01 +00:00
Matthew Parlane 4a0745799f Missed OGL includes apparently. 2013-10-08 18:03:33 +13:00
Matthew Parlane eb480a406c Fix Windows vcxproj files. 2013-10-08 17:52:18 +13:00
Ryan Houdek 0236ba3f86 [ARM-JITARMIL] CMP optimization. Int3 IR. DownCount added. 2013-10-07 23:25:13 +00:00
Jasper St. Pierre 9920362581 Fix MSVC project files
yay relative paths
2013-10-07 18:50:21 -04:00
Jasper St. Pierre a7c7208103 Put Plugins/ in Core/, rename to VideoBackends 2013-10-07 10:37:01 -04:00
Ryan Houdek a4eab75d15 [ARM] Beginning of JitArmIL JIT recompiler. This code is entirely based off of magumagu's work with the JIT64IL. This puts down the base needed for the recompiler. Starfield actually runs quite a few blocks being mysteriously dying while most other games just exit out due to an instruction not being done yet. A lot of this code can be tidied up and actually shared between the two IL recompilers but isn't yet done. 2013-10-07 14:25:07 +00:00
comex d6f0ecebb4 Fix updating the register even if an exception occurred in MMU mode. 2013-10-07 02:34:38 -04:00
comex a9908fdf09 Fix build issues on OS X i386. 2013-10-07 02:16:51 -04:00
Ryan Houdek c054049712 Fix PixelShaderGen from the previous commit. 2013-10-06 21:54:09 -05:00
Ryan Houdek 26c38648ec [Android] Missed a few things for PowerVR544MP3 'support.' It doesn't actually get any video output on it just like Tegra 4. 2013-10-06 21:51:41 -05:00
Ryan Houdek d4bd5fde71 Only emit the texgens if they are used, not every single time do all of them. 2013-10-06 21:32:05 -05:00
Tony Wasserka ed88cf6cad Removing more references to D3D9. 2013-10-06 13:37:10 +02:00
Tony Wasserka 5de6726658 Remove another D3D9 reference. 2013-10-06 13:30:59 +02:00
Tony Wasserka d198fee21b Remove more references to D3D9... 2013-10-06 13:30:59 +02:00
Tony Wasserka 61ed40749f Shader generators: Remove any references to D3D9 and cleanup the affected code. 2013-10-06 13:30:56 +02:00
Tony Wasserka 0e2e71e483 Remove some now unused VideoConfig settings. 2013-10-06 13:28:46 +02:00
Tony Wasserka 3b188b0481 VideoConfigDiag: Update video backend description to reflect the D3D9 removal. 2013-10-06 13:28:45 +02:00
Lioncash 0d4df39e1f Remove D3D9 related files.
Cf. issue 6167 for a list of shortcomings that made us decide on removing the backend.
2013-10-06 13:28:41 +02:00
Ryan Houdek 6bdcde9dd6 [Android] Tegra 4 'support.' This brings up the OpenGL backend to support Tegra 4 to the point where it will run games but it doesn't have any video output for some reason. This is a large change that doesn't actually change much functionally. Walking through the changes.
It changes the string in the Android backend select to just OpenGL ES.
Adds a check in the Android code to check for Tegra 4 and to enable the option to select the OpenGL ES backend.
Adds a DriverDetails bug under BUG_ISTEGRA as a blanket case of Tegra 4 support.
The changes that effects most lines in this change. Removing all float suffixes in the pixel/vertex/util shaders since OpenGL ES 2 doesn't support float suffixes.
Disables the shaders for reinterpreting the EFB format since Tegra 4 doesn't support integers.
Changes GLFunctions.cpp to grab the correct Tegra extension functions.
Readds the GLSL 1.2 'hacks' as GLSLES2 'hacks' since they are required for GLSL ES 2
Adds a GLSLES2 to the GLSL_VERSION enum.
Disable the SamplerCache on Tegra since Tegra doesn't support samplers...
Enable glBufferSubData on Tegra since it is the only mobile GPU to correctly work with it.
Disable glDrawRangeElements on Tegra since it doesn't support it, This uses glDrawElements instead.
2013-10-06 03:12:29 -05:00
skidau 2b08172a45 Corrected the XMM0 processing for pairedStoreQuantized in the x86 build.
Updated the PC for the fifo writes processing in the less common case.
2013-10-06 16:31:34 +11:00
Matthew Parlane 8722b9cfb5 Missing break for IOCTL_ES_DELETETITLECONTENT 2013-10-06 16:22:44 +13:00
Lioncash a7d073b0da [Core] Simplify a loop within function Run() in Interpreter.cpp. The increment variable for the for loop is never used at all, so it's sensible to replace it with a while loop. 2013-10-05 14:38:21 -04:00
skidau 2d00c3a4f8 Added code to update the PC before doing a fastmem write. Fixes games with freezing and FIFO errors since r2a339c926e43c11f7b9acc8d3af202f0be54e2b0. 2013-10-05 23:23:49 +10:00
comex 6498a77362 Fix storeSingleFloat stack alignment. 2013-10-05 07:56:57 -04:00
comex 21a114ec28 ...Forgot the XMM regs for x86. 2013-10-05 01:17:34 -04:00
comex 144d7e5500 Fix build-breaking typo. 2013-10-05 01:08:08 -04:00
skidau 8324510d65 Removed the IOSVersion check (caused some Wii games like Battalion Wars 2 not to boot). 2013-10-05 13:07:40 +10:00
skidau b7d1c03c8a Added a check for the IOS version before overriding the OSGetResetCode() function.
Fixes issue 6700.
2013-10-05 12:41:59 +10:00
comex f6c0fb7bbe Merge branch '6663'
Should fix some fastmem-related bugs and possibly improve performance a bit.
2013-10-04 21:19:40 -04:00
comex a51eb5fd19 Fix idle skipping.
It incorrectly continued to test EAX after it was changed to load
directly to the assigned register.

Also switch from a flush to ABI_PushRegistersAndAdjustStack, to avoid
needless flushing in the no-idle case.
2013-10-04 20:33:39 -04:00
comex 3679f9ba60 Don't push registers before pairedStoreQuantized, that's dumb.
And fix some stuff up.  It would probably be good to unify the stack
handling some more rather than having ABI_PushRegistersAndAdjustStack do
part of it and ABI_AlignStack the rest, causing unnecessary subtract
instructions on Linux x86 (only).
2013-10-04 15:48:06 -04:00
LPFaint99 8c103a8dee ChooseMemcardPath bugfix: check for a directory separator before converting an absolute path to a relative path.
if the exe directory and the save directory had the same prefix, .../dolphin emulator/... and .../dolphin/... the path would previously have been incorrectly changed
2013-10-04 11:31:22 -07:00
comex a91469ffa5 Fix stfd, which was broken in the fastmem writes commit. 2013-10-03 18:22:35 -04:00
comex 5e4665301b Finish replacing ThunkManager with ABI_PushRegistersAndAdjustStack.
As part of that, change SafeLoadToEAX to SafeLoadToReg, and have JitIL
use that, which should fix fastmem on JitIL.

This should also fix a potential stack corruption issue with x86.
2013-10-03 18:22:35 -04:00
comex a53dc6f981 Remove profiled re-JIT support in JitIL.
It's extremely unsafe, unused (not exposed in the GUI and not present in
any gameconfigs), and mostly obviated by fastmem.  Although this type of
thing could theoretically be useful someday for fastmem support with
MMU, it's probably not the best way to do it, the existing
implementation is way too simplistic, and it can always be dug up to
provide support for a new implementation if needed.

Not like it's a big deal to keep it working, but it really seems
pointless.
2013-10-03 18:22:12 -04:00
comex 3b0c0e2500 Trap to the debugger properly after BackPatch failure. 2013-10-03 18:21:29 -04:00
Ryan Houdek fe3d0c9aa2 [ARM] Disable subfic, it prevents Wind Waker from booting into a save game. 2013-10-03 06:43:16 +00:00
comex cb3afe8f70 Warning fixes:
- Don't use %lu for size_t; they're different on Linux x86.

- has_warned_about_drivers is only used on win32, so only declare it
  there to avoid a unused variable warning.
2013-10-02 20:48:37 -04:00
Lioncash 1ec4894bc5 [Common] Abstract out the decode5A3Image and decodeCI8Image functions in BannerLoaderGC, BannerLoaderWii, and GCMemcard into ColorUtil.cpp. Makes for less copied code and remains functionally the same. 2013-10-02 18:18:54 -04:00
Matthew Parlane cd99e5e3a6 mtspr fall through to interpreter not needed for basic SPRs 2013-09-30 23:43:11 +13:00
Matthew Parlane d261dfaf46 Upgrade libusb to 1.0.16 2013-09-30 18:36:54 +13:00
Ryan Houdek 3c53f2e5e0 [Android] Fix Fastmem on Android 4.2 2013-09-29 20:53:32 -05:00
comex 1a008b9e62 Fix use of ABI_GetAlignedFrameSize. 2013-09-29 16:36:26 -04:00
comex ccbf2ac21a Match ABI_AlignStack with ABI_RestoreStack properly.
The relevant function is entirely unused, so it shouldn't have any
effect.
2013-09-29 14:59:13 -04:00
Rachel Bryk b0200219dd Add literally a million blank inputs in netplay when a wiimote changes reporting mode, just to make nsmbw sync. 2013-09-28 23:39:29 -04:00
comex 853392b790 Use a separate section for enabled Gecko codes, like AR.
This properly fixes default gecko codes.

It makes perfect sense to have two separate cheat windows and two
separate code paths for the different code formats, right?
2013-09-28 23:38:40 -04:00
comex f57ff0a569 Support a gcm revision-specific game ini for cheats + partially fix gecko codes in default ini.
The local ini is not revision-specific because it would require renaming
everything.  Meh.
2013-09-28 23:38:25 -04:00
comex 1ed06f1dc4 Reset wxTAB_TRAVERSAL.
Fixes issue 3903.
2013-09-28 23:00:56 -04:00
Rachel Bryk 9c53a21c18 Allow setting DSP settings via game ini. 2013-09-28 08:31:28 -04:00
Rachel Bryk 785171abb4 Change iTLBHack to a bool.
It is only used as a bool.

Fixes issue 6668.
2013-09-28 08:07:23 -04:00
Rachel Bryk cbd366236a Allow loading save states via drag and drop. 2013-09-27 08:38:12 -04:00
skidau 9a2c7df8dc Added a small disc access delay to fix the missing music in Super Monkey Ball 2. 2013-09-27 20:35:27 +10:00
comex bea76ac129 No need to std::move a return value. Thanks Billiard. 2013-09-26 21:15:35 -04:00
Lioncash 4542b9fcbb [Core] Fix a memory leak in NetPlayServer.cpp in function OnData(). 2013-09-26 15:42:22 -04:00
Ryan Houdek e37cb1fc76 Implement CR1 for the intepreter. To be honest I have no idea why this was never done previously, all it is is copying four bits from the FPSCR register to CR1. This fixes issue 2390. 2013-09-26 18:09:25 +00:00
Ryan Houdek 4efc3e6c8f Quick build fix. 2013-09-26 07:50:24 +00:00
Ryan Houdek feaf65f2ae [Android] The dynamic UBO access isn't actually fixed, contrary to what rev cd646d8e236 said. I presumed it fixed with v4x drivers, but I didn't have the LG G2 with me to test 100% at the time. This won't afflict any Adreno device with v4x drivers since UBOs are disabled for them since they are _broken_. 2013-09-26 07:46:56 +00:00
comex ecca0045a9 Fix Imm8 check.
(I blame whoever made it take a u8 despite logically being a s8.)
2013-09-25 14:29:17 -04:00
Ryan Houdek 691f76b826 [ARM] Implement CR1 setting for the few floating point instructions that I have setting the flags. For the rest, drop to interpreter if it sets CR1. At that point it'll spam a panic alert. I don't quite understand why Interpreter and JIT64/IL don't do this yet, it's a simple 4 bit copy. 2013-09-25 18:17:05 +00:00
comex 54843ad1e8 Need to reload from XMM0 in this case. 2013-09-25 14:16:20 -04:00
Rachel Bryk 74ee85aaac Fix linux, attempt 2. 2013-09-25 06:22:11 -04:00
Rachel Bryk f77b3ccf8a Fix linux, probably. 2013-09-25 06:13:44 -04:00
Rachel Bryk 93f7622e16 Fix changing wiimotes when starting netplay.
AccessWiiMote() crashed for some users. Not sure why...
2013-09-25 05:44:16 -04:00
comex ebe4448749 Save only the registers that need to be saved rather than going through ProtectFunction. 2013-09-25 03:15:53 -04:00
comex 2a339c926e Fastmem writes for x86-64. 2013-09-25 03:15:53 -04:00
comex 18abc33306 2x banner images! 2013-09-25 03:06:27 -04:00
Ryan Houdek 624c92f97e [ARM] fresx/fnmaddsx/fselx/frsqrtex/fnmaddx implementations. 2013-09-25 03:00:57 +00:00
Ryan Houdek ae75f92b2a [ARM] psq_lx/psq_lux/psq_stx/psq_stux implementations. Four more instructions that JIT64 doesn't have. 2013-09-25 02:22:52 +00:00
Ryan Houdek cd646d89e2 [Android] The issue with the dynamic UBO access on Adreno platforms was fixed with v41 of the video drivers. v41 and above of the video drivers fix the spiky polygon problems that are noticed ingames. 2013-09-25 01:50:02 +00:00
Ryan Houdek 357a7707a6 [ARM] ps_cmpu0/ps_cmpu1/ps_cmpo0/ps_cmpo1 implementations. 2013-09-24 21:13:33 +00:00
Ryan Houdek 74bc855f20 [ARM] ps_res implementation. 2013-09-24 21:00:50 +00:00
Ryan Houdek 3b1b0d3fb5 [ARM] ps_div implementation. 2013-09-24 20:46:57 +00:00
Ryan Houdek 94a731b49d [ARM] fctiwx implementation. 2013-09-24 20:37:10 +00:00
Ryan Houdek 482170c3ea [ARM] Implement subfic with optimizations stolen from JIT64. 2013-09-24 19:01:03 +00:00
Ryan Houdek 405aa30cb8 [ARM] Fix fastmem... 2013-09-24 18:03:06 +00:00
Ryan Houdek 8e2e5a4e70 [ARM] Have both fastmem and non-fastmem paths for floating point loadstores because fastmem is completely broken garbage on Android at this point in time. 2013-09-24 17:40:12 +00:00
Ryan Houdek 5866859ff0 Screw you comex, this doesn't even make any damn sense. 2013-09-24 17:25:13 +00:00
Ryan Houdek eb6ed3e42a [ARM] Change all floating point loadstores to fastmem implementations except lfs since all floating point accesses tend to be to RAM space. lfs tends to get used to write quickly to the gatherpipe and other places, look at the JIT64 implementation to see how to make it quicker. 2013-09-24 05:41:58 +00:00
comex 29dc253fde Improve context structure handling on non-Windows.
Instead of copying data into and out of a fake CONTEXT structure with
only a few entries, use the platform specific structure directly with a
typedef and macros.  This is needed because fastmem writes need to be
able to access any register from BackPatch.  It adds a fair number of
repetitive defines, but it's better than the alternative.
2013-09-24 01:38:27 -04:00
comex 4cdce55615 Don't define _M_IX86 on ARM(!).
Also define _M_* in a common location, and clean up code that these
changes break (including DSPJit files that assume X86 yet are compiled
on ARM for some reason...)
2013-09-24 01:30:41 -04:00
comex a7f2160a0f Remove "educational purposes only" from about message.
Dolphin is obviously not marketed as being for educational purposes
only, and claiming otherwise in the about screen would not have any
legal weight, so don't insult everyone's intelligence.
2013-09-24 01:14:56 -04:00
comex 2f384c75d2 Only include scmrev.h from Version.cpp.
This way less code has to be rebuilt whenever that file gets
regenerated.
2013-09-24 01:14:56 -04:00
comex 1bf2c03a99 Fix my stupid attempt to depend on the entire Data/Sys directory.
Instead, if SKIP_POSTPROCESS_BUNDLE is on, just use a symlink, and if
it's off, always run the install.
2013-09-24 01:14:56 -04:00
Scott Mansell 0696fc93b2 Merge branch 'fix-field-ordering'
Fixes 6387
Closes 6635
2013-09-24 13:47:20 +12:00
Ryan Houdek 41ab4a2275 Nevermind the previous commit, SafeLoadToEAX already calls in to UnsafeLoadToEAX if fastmem is enabled. This one just tidys up the code. 2013-09-24 01:40:19 +00:00
Ryan Houdek aa41978834 Enable fastmem for the lfs instruction for unix and OSX as well. 2013-09-24 01:34:08 +00:00
Ryan Houdek 3fe8134f3b [ARM] lfsux/lfdx/lfdux/stfsx/stfsux/stfdx/stfdux implementations. 2013-09-24 01:17:24 +00:00
comex f81df136c2 Add an explicit error message for outdated GCC, and remove some commented out code. 2013-09-23 15:01:38 -04:00
Rachel Bryk 1745bfdc45 Fix crash in gc games in netplay. 2013-09-23 11:07:15 -04:00
comex 299421a02a Don't call into wx in static initializers - crashes on Windows. 2013-09-23 02:58:04 -04:00
Rachel Bryk 0bdef3932f Automatically connect the appropriate wiimotes in netplay. Extensions must still be set manually. 2013-09-23 02:56:17 -04:00
Ryan Houdek 96a77f9feb [Android] Fix the ability to stop the game and start another. 2013-09-23 01:43:18 -05:00
Scott Mansell 440353a3a1 Remove all refrences of field ordering from video backends.
They were unused.
2013-09-23 18:29:31 +12:00
Scott Mansell 4d3c41c8a2 Fixed issues with feild ordering.
This commit fixes issues with PAL games which use the incorrect feild
ordering.
We move all code that deals with indivudal fields from the indivudal
video plugins and VideoCommon and make VideoInterface always pass in
the start address of the whole XFB into VideoCommon.
2013-09-23 16:31:27 +12:00
comex c8c83f7b8a Remove FifoQueue iterator and RemoveThreadsafeEvents.
No point making a whole iterator class for the sake of a function that
doesn't need to exist.
2013-09-22 23:14:42 -04:00
Rachel Bryk 0a093cf1b9 Why do compilers assume i don't know order of opperations? :( 2013-09-22 22:01:25 -04:00
comex e82c9e616d operator= is a function too! std::forward is still appropriate.
Fix the potentially unsafe use of std::move I added to FifoQueue.
2013-09-22 21:15:58 -04:00
degasus 573dbfd494 ogl: drop glsl120 support 2013-09-22 23:45:14 +02:00
Rachel Bryk 12e7c22006 Fix recording netplay with wiimote. 2013-09-22 17:32:11 -04:00
comex 80b14e80b5 Fix crash when a player leaves in NetPlay.
The player ID was being written as int and read as PlayerId (u8).
2013-09-22 16:12:16 -04:00
comex 229b35bb6d When hosting, don't try to connect if listening failed.
If another instance of the server is running on the same computer, this
would cause Dolphin to confusingly connect to it.
2013-09-22 16:11:47 -04:00
comex 17e753faf3 Fix FifoQueue's atomicity on ARM.
Theoretically.
2013-09-22 16:08:09 -04:00
comex c3b9f3556f Make CoreTiming's threadsafe events lock-free.
Not sure if this actually helps in practice, but might help in
pathological cases, and almost certainly can't hurt.
2013-09-22 16:08:01 -04:00
comex 7fe440340f Improve Atomic.h:
- For GCC, use intrinsics that will work on ARM.
- Add AtomicExchangeAcquire.
- Make Atomic{Load,LoadAcquire,Store,StoreRelease} work for any suitable type.
2013-09-22 16:07:45 -04:00
comex 6209067daa Fix stack misalignment fix. 2013-09-22 15:48:27 -04:00
Rachel Bryk 9a6f28fce4 Revert "Fix stack misalignment issues."
This reverts commit d334a9bc23.

This breaks single core.
2013-09-22 14:29:35 -04:00
Rachel Bryk f3469c16a5 Merge branch 'wiimote-netplay'
Conflicts:
	Source/Core/Core/Src/NetPlayClient.cpp
	Source/Core/Core/Src/NetPlayClient.h
	Source/Core/Core/Src/NetPlayProto.h
	Source/Core/Core/Src/NetPlayServer.cpp
	Source/Core/Core/Src/NetPlayServer.h
	Source/Core/DolphinWX/Src/NetWindow.cpp
	Source/Core/DolphinWX/Src/NetWindow.h
2013-09-22 14:27:52 -04:00
Rachel Bryk 75129dc3a7 Merge branch 'to-merge-after-4.0' 2013-09-22 10:58:24 -04:00
Pierre Bourdon 323ecdb772 Ship vcomp100.dll with Dolphin 2013-09-22 16:00:56 +02:00
Pierre Bourdon 1f95a294cd Add the new 'Clean' themes from MaJoR and default to Clean by changing the name of the config key (yes, hack) 2013-09-22 16:00:56 +02:00
Pierre Bourdon 196953c50a Use the new Dolphin icon 2013-09-22 16:00:39 +02:00
Scott Mansell 4758ef9a9e Merge commit 'fa8a4cdbb57e' 2013-09-22 15:25:10 +12:00
Pierre Bourdon 91c0e02609 Don't require running Dolphin in the directory that contain Languages/ on Windows 2013-09-21 21:17:47 +02:00
Glenn Rice d321aa7e7a Pull in translations from Transifex. 2013-09-21 11:24:33 -05:00
Scott Mansell 1fb373f439 Stop dolphin from loading help.png
It was never used, just wasting time and resources.
This patch simply deletes two lines of code.
2013-09-21 06:34:50 +02:00
Rachel Bryk d2c3222fcc Fix copying Sys/Wii to User/Wii on startup.
Fixes issue 6621.
2013-09-21 00:34:19 -04:00
comex d334a9bc23 Fix stack misalignment issues.
- Call ABI_AlignStack even on x86-64.

- Have ABI_AlignStack respect the difference in current alignment
  between the root JIT function, which has a prolog, and
  ProtectFunction thunks, which do not.  This was causing many games
  to crash on start on OS X.  Since this might otherwise mean changing
  the stack pointer before every call...

- Have one prolog/epilog function rather than two (one of which
  definitely did not do what it was thought to do), and make it
  actually work like a normal one, so that the stack frame shows up
  properly in the debugger.  There should be no performance impact.
2013-09-20 16:46:48 -04:00
LPFaint99 95aac4ff68 if a memcard is set to read only, fail more gracefully by reporting when writes to the file fail instead of saying that the file does not exist. 2013-09-20 12:08:58 -07:00
Lioncash 86d70cee15 Turns out CVTSD2SI in x64Emitter.cpp should actually use 64 bits instead of 32. Thanks for pointing that out hk.konpie. 2013-09-20 14:50:27 -04:00
Ryan Houdek 85f067780a [ARM] Reenable flush per instruction with FPR cache. Something is still very wrong. 2013-09-19 02:08:20 +00:00
Ryan Houdek 930f997f04 [ARM] Fix and optimize mtcrf. 2013-09-19 02:08:19 +00:00
Ryan Houdek 1b1b5d2100 [ARM] MicroOps in the branching instructions. 2013-09-19 02:08:19 +00:00
Ryan Houdek 5158aea4dc [ARM] Fix misuse of RBIT in crXXX, meant to use MVN. 2013-09-19 02:08:19 +00:00
Rachel Bryk dc73222bfc Remove suggestion to restart dolphin if a wiimote movie desyncs, since it's no longer necessary. 2013-09-18 21:51:37 -04:00
comex ae607ea1e9 Fix missing md5thread.detach() 2013-09-18 21:48:23 -04:00
Ryan Houdek 452fd84bbd [ANDROID] Fix ARM JIT. Is due to Android using softfp instead of hardfp. 2013-09-18 17:21:22 -05:00
Ryan Houdek 6fc2117503 [ARM] Enable VMOV to move from double VFP reg to two ARM registers. 2013-09-18 17:21:22 -05:00
Lioncash af951f467e [InputCommon] Fix a bug in ControllerInterface::UpdateOutput() in ControllerInterface.cpp. The variable ok_count was never incremented, which caused the function to always return false. 2013-09-18 10:09:32 -04:00
Lioncash d03fb11188 Fix an incorrect opcode for an SSE instruction in x64Emitter.cpp. CVTSD2SI should write 0x2D, not 0xF2.
Also format the NormalSSEOps enum.
2013-09-18 07:43:31 -04:00
Pierre Bourdon 86f6e8cc1e Better fix for issue 6614: ISOProperties should store integer settings for PHack booleans. INIFile is stupid, please kill it with fire. 2013-09-18 12:33:57 +02:00
Pierre Bourdon 7aa98a3830 Fix loading of the 'projection hack enabled' gameini setting
Fixes issue 6614.
2013-09-18 12:23:46 +02:00
Ryan Houdek 24a44ecfb8 [ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had. 2013-09-18 02:37:10 -05:00
Lioncash 197b317357 Fix indentation in function PSO_MakeSaveGameValid() in GCMemcard.cpp.
Also move the iterator variable for a for loop into the loop statement in function CARD_GetSerialNo()
2013-09-17 21:27:37 -04:00
Ryan Houdek 39a8645ffc [ARM] Fix the FPR cache to not have to dump registers after every instruction. Add mullwox instruction. 2013-09-17 22:08:23 +00:00
Ryan Houdek 06062d5744 [ARM] Fix VSQRT/VCMP/VCMPE/VCMPE0/VCMP0 emitters when using the high 16 double registers. 2013-09-17 22:08:23 +00:00
Pierre Bourdon ec9c395f4f Add WBFS to the file extensions supported by Dolphin on OSX 2013-09-17 16:50:44 +02:00
Pierre Bourdon e34d8aee1d Add * to the characters leading a verbatim line (used in Gecko codes comments) 2013-09-17 16:50:44 +02:00
Rachel Bryk 47ce3dd09d Really fix reading projection hacks from game inis. 2013-09-17 10:44:47 -04:00
Rachel Bryk e3d01de01d Fix reading projection hack from game inis in ISOProperties. 2013-09-17 10:40:12 -04:00
Rachel Bryk ec5cf60f5e Set L/R buttons in tas input, instead of just the analog triggers.
Fixes issue 6613.
2013-09-17 09:56:45 -04:00
Ryan Houdek 302e9c891b [ARM] crand/crandc/creqv/crnand/crnor/cror/crorc/crxor/mcrf/mfcr/mtcrf/mtsr/mcrxr/mfsr implementations. 2013-09-17 11:00:16 +00:00
Ryan Houdek dcf74ef2b3 [ARM] Renables load instructions with update. 2013-09-17 11:00:15 +00:00
Lioncash 38c7d38800 Fix two wrong opcodes in the x64Emitter. PEXTRW and PINSRW were actually writing PCMPGTB opcodes. Thanks for the help Sintendo. 2013-09-16 15:59:31 -04:00
Ryan Houdek 1529bb48c8 [ARM] Flush the fpr cache between every instruction. Do this until I figure out what is destroying the FPR register states. 2013-09-16 15:44:41 +00:00
Ryan Houdek 9b9526fba2 [ARM] Add dcbt/dcbtst/dcba noops. 2013-09-16 15:13:37 +00:00
degasus 75f2738f5c VideoCommon: fix ogl lighting bug which happens because of NaN emulation
attn is sometimes very big (eg 1e27), so attn*attn doesn't fit into a float.
So the funny part here is: 0.0 * (1e27*1e27) = 0.0 * Inf = NaN

As the shader compiler is allowed to change the order of multiplications,
this issue isn't fixed completely.
2013-09-16 17:10:19 +02:00
Ryan Houdek 98fb4c146e [ARM] ps_sel implementation. 2013-09-16 14:05:50 +00:00
Ryan Houdek cba2dd01bc [ARM] Remove extraneous BKPT from ps_rsqrte. 2013-09-16 13:39:02 +00:00
Ryan Houdek a0a0c526ae [ARM] ps_rsqrte implementation. 2013-09-16 12:59:34 +00:00
Ryan Houdek 7d410ec95c [ARM] VRSQRTE NEON emitter. 2013-09-16 12:58:20 +00:00
Ryan Houdek 5a9cb84ae2 [ARM] ps_nmadd/ps_nmsub implementations. 2013-09-16 12:03:08 +00:00
Ryan Houdek b7f47bc2e1 [ARM] rlwnmx implementation. 2013-09-16 11:53:22 +00:00
Ryan Houdek 43f2313ef9 [ARM] Implement ps_msub. Minor optimizations. 2013-09-16 11:53:21 +00:00
Ryan Houdek 0bcc20ca5b [ARM] fcmpo/fcmpu implementations. 2013-09-16 08:57:51 +00:00
Ryan Houdek c56ecce840 [ARM] fctiwzx implementation. This isn't implemented in JIT64 and it is unstandeable why it isn't. 2013-09-16 07:49:16 +00:00
Ryan Houdek beb41a8f56 [ARM] Add NEON VORR and fix encoding on NEON VEOR. Remove VMRS_APSR because it is the same as VMRS(PC) 2013-09-16 07:49:16 +00:00
Pierre Bourdon f0fc611f15 Add a hacky check for text file size in ReadFileToString. Fixes issue 6455. 2013-09-16 06:57:44 +02:00
LPFaint99 a7e1fb81b1 Merge branch 'wad_gamenames' 2013-09-15 21:38:31 -07:00
Pierre Bourdon 037199c326 Look for portable.txt in the exe directory and activate portable mode if it exists 2013-09-16 05:46:07 +02:00
Pierre Bourdon 2c350a5e6b Fix INIFile ignoring the last line of files 2013-09-16 05:28:14 +02:00
Rachel Bryk b4c082f1b3 No, i don't check what i committed before pushing to master, one week before a release.
Fixes a mistake from  550c855ae6.
2013-09-14 22:58:32 -04:00
Rachel Bryk 550c855ae6 Create blank ini file before editing it, if it doesn't already exists. This prevents the editor from prompting to create it. 2013-09-14 20:30:42 -04:00
LPFaint99 5d202ae9ea proper fix for issue 6206 2013-09-14 15:09:58 -07:00
Pierre Bourdon 24e9aedc14 Merge branch 'global-user-directory'
Please read https://wiki.dolphin-emu.org/index.php?title=Controlling_the_Global_User_Directory
for documentation about this feature.

Thanks to neobrain and RachelB for their work on this change, and thanks to
everyone who helped test it.
2013-09-14 19:24:27 +02:00
Pierre Bourdon 4ef5624f1f Change the name of INI options for memcard paths and NAND path to make migrating User directory from non-global to global easier 2013-09-14 17:46:41 +02:00
Pierre Bourdon 501eafb407 Overlay local gameinis over global gameinis instead of copying.
Huge megacommit because a lot of things needed to be modified to make this
possible.
2013-09-14 17:46:41 +02:00
Ryan Houdek e56071f2be [ARM] slwx/srwx/srawx implementations. 2013-09-14 09:07:34 +00:00
Ryan Houdek 81d7986202 [ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter. 2013-09-14 09:06:49 +00:00
Ryan Houdek 53498dafeb [ARM] fmaddsx and fmaddx implementations. 2013-09-14 05:52:09 +00:00
Ryan Houdek be4277e8a1 [ARM] stmw implementation. 2013-09-14 05:16:18 +00:00
Ryan Houdek c211d06ad2 [ARM] stfd and stfdu implementations. 2013-09-14 05:09:46 +00:00
Ryan Houdek 6fe86f1fd1 [ARM] cntlzwx implementation. 2013-09-14 04:29:37 +00:00
Ryan Houdek ef2ea31eac [ARM] ps_madds0 and ps_madds1 implementations. 2013-09-14 04:12:57 +00:00
Pierre Bourdon cf4c39d2be IniFile: Support extending the list of loaded keys and sections with data from other ini files.
Changes a lot of parsing code which previously was not aware of the notion of
key/value, and operated only with raw lines. Now key/value is the default and
lines are handled as raw only if they do not contain =, or they start with $ or
+ (for Gecko/AR compatibility).
2013-09-14 06:08:31 +02:00
NeoBrainX d1e96c7282 Display warning OSD messages when a game ini is overriding any settings. 2013-09-14 06:08:31 +02:00
Pierre Bourdon aa202c2e21 Move global gameinis from User to Sys. Get rid of SHARED_USER. 2013-09-14 06:08:30 +02:00
Pierre Bourdon 86e765f3eb Move Themes/ from User to Sys. Only Gameinis remain. 2013-09-14 06:08:30 +02:00
Pierre Bourdon 91a758b342 Move TextureDecoder.cl from User to Sys 2013-09-14 06:08:30 +02:00
Pierre Bourdon c3eec379df Move global User/Wii to Sys/Wii 2013-09-14 06:08:30 +02:00
Pierre Bourdon e7213ca4b1 Overlay the user Shaders/ over the shared one to avoid copying files 2013-09-14 06:08:30 +02:00
Pierre Bourdon 6bdb6585d6 Overlay the user Maps/ over the shared one to avoid copying files 2013-09-14 06:08:29 +02:00
Pierre Bourdon b587af3ea3 Change the initial user directory creation to stop special casing Windows 2013-09-14 06:08:29 +02:00
Rachel Bryk dfcef6890e Use global user directory on windows.
Can override by setting HKCU\Software\Dolphin-emu\LocalUserConfig to true.
2013-09-14 06:08:29 +02:00
Ryan Houdek 4512813cf9 [ARM] lfdu and stfsu implementations. 2013-09-14 04:00:40 +00:00
Ryan Houdek 0ae8fa964d [ARM] lfsu implementation. 2013-09-14 03:51:32 +00:00
Ryan Houdek aaf8e92f78 [ARM] Fixes srawix implementation. 2013-09-14 03:00:33 +00:00
Jasper St. Pierre f830b85d10 NetPlayServer: Drop all the pads for a client when she disconnects
This makes intuitive sense, and prevents issues with users stealing
up all the pads and requiring admin intervention to participate.
2013-09-13 21:33:11 -04:00
comex 0040e66282 Merge branch 'geckoos-fix'
Fixes issue 6551.
2013-09-13 18:18:51 -04:00
comex e15e30602c Fix HLE_HOOK_START in the interpreter. 2013-09-13 18:18:20 -04:00
comex e62bc44f15 Use d01f1bad for the gameid check in RunCodeHandler rather than the actual ID.
This avoids conflict with the icache hack.  codehandleronly.s does not
actually use the gameid, so it shouldn't matter.
2013-09-13 18:14:56 -04:00
comex e6cd3b3283 Fix placement of HLE::Patch to not get overwritten by HLE::PatchFunctions.
(This applies to the existing HBReload hook, which would be erased in
various circumstances depending on the type of file loaded.)
2013-09-13 15:31:51 -04:00
comex a316e2f182 Hook the Gecko codehandler to invalidate the icache.
The codehandler is broken and does not do this itself.  This is a hack,
but a lot simpler than the alternatives.
2013-09-13 15:31:51 -04:00
comex 354b205dec Return correct value to fix libogc's IOS launch sequence. 2013-09-13 15:31:50 -04:00
comex 1f8237c570 Fake ticket views for missing IOS title. 2013-09-13 15:31:50 -04:00
comex 868ab1918b Reset es_inuse upon Reset. 2013-09-13 15:31:50 -04:00
comex 39a524f47d Returning false from an IPC_HLE method should not produce an INFO_LOG.
It's commonly used to delay replying to a message and is in no way an
error.
2013-09-13 15:31:50 -04:00
Ryan Houdek 1680f27739 [ARM] Disable loadstorepaired instructions when fastmem is disabled. 2013-09-12 23:07:19 -05:00
Jordan Woyak ef1d33647f Improve the ArraySize function a bit now that c++11 isn't forbidden there. Error messages should be friendlier now. 2013-09-12 12:57:13 -05:00
Pierre Bourdon 44066326ff Hack the gettext detection a bit to fix translations not working on OSX buildbot builds 2013-09-12 18:22:31 +02:00
Ryan Houdek c1ddeacc9d [ARM] Removes extraneous fpr.Flush 2013-09-12 10:31:29 +00:00
Ryan Houdek aa8f0c2ca4 [ARM] Fixes ps_madd implementation. 2013-09-12 10:30:52 +00:00
Ryan Houdek 8882d27689 [ARM] Fixes the ps_merge00 and ps_merge10 implementations. They both had the potential to overwrite the source registers in the moves. 2013-09-12 10:17:27 +00:00
Ryan Houdek 749b62fcd9 [ARM] Fixes orcx implementation. 2013-09-12 09:55:55 +00:00
Ryan Houdek e1d510c2dc [ARM] Disables loadstores with update because they are broken. 2013-09-12 09:40:10 +00:00
Ryan Houdek 2c33bab1a6 [ARM] lfsx implementation. 2013-09-12 07:52:19 +00:00
Ryan Houdek fa5499e046 [ARM] Disable lmw when fastmem is disabled. 2013-09-12 02:51:38 -05:00
Glenn Rice acbdcc8ea0 Use the POLARSSL_LIBRARY variable to set the link library. This fixes a
possible linkage issue when multiple versions of the library are around.
2013-09-11 22:09:49 -05:00
comex b9c1af04ad Replace the one use of CompileTimeAssert with static_assert (already used elsewhere). 2013-09-11 20:58:47 -04:00
comex 9ee50a2730 Merge branch '6584'
Fix for XP and lifetime issues on Mac.  Fixes issue 6584.
2013-09-11 20:47:27 -04:00
Jordan Woyak fde3815d34 Replace ARRAYSIZE macro with another ugly macro. At least this will throw an error for a non-array and won't conflict with Windows macro names. 2013-09-11 19:19:36 -05:00
Jordan Woyak ce49964dfe Fix "modifier" button functionality et al. 2013-09-11 17:48:04 -05:00
degasus 3fcdf5e25b VideoCommon: use memcmp to compare shader uid 2013-09-11 17:34:23 +02:00
Jasper St. Pierre 2b10142b4f Remove a bunch of old HLE junk
This hasn't been used since 2008
2013-09-10 22:35:52 -04:00
comex 56686666d6 Fix ES_DECRYPT.
ES_DECRYPT is usually called with the in IV parameter equal to the out
IV parameter.  Dolphin was preemptively zeroing out the out buffer,
causing it to read zeroes for the IV.  (Also be more correct when those
parameters *aren't* equal.)

Dolphin now has the dubious honor of having an exploit (smashstack) work
in it.  It crashes in Project M, though.
2013-09-10 17:09:37 -04:00
Shawn Hoffman 484130049d On windows, ignore WM_QUERYENDSESSION and close upon WM_ENDSESSION.
The messages can come through CFrame::MSWWindowProc and the wxApp implementation, so make sure to catch both.
Fixes issue 6546.
2013-09-10 03:14:21 -07:00
Shawn Hoffman 2d492bdc4f Revert "Leak an object when quitting Dolphin to try and fix issue 6546"
This reverts commit 380b780dd1.

Revert "Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose"
This reverts commit e29de302a6.
2013-09-10 01:04:29 -07:00
comex 4add0f55e0 Fix SDIO HLE writing garbage to memory.
When servicing a write-register request, it wrote the contents to the
register offset plus 0x8d070000, which corresponds to the actual
hardware registers, presumably in case the application wanted to read
them directly rather than with a read-register request.  WriteToHardware
doesn't handle cached writes to registers, so it decided the address was
RAM, applied RAM_MASK, and happily wrote the register contents to
0x81070000, causing random corruption.  Since the PPC does not normally
have access to those registers, there is no reason to be doing this in
the first place.  Use a member to store these values instead.

(Also add a proper DoState.)
2013-09-09 23:57:51 -04:00
Pierre Bourdon e29de302a6 Move the CFrame::ClosePages call from ~CFrame to CFrame::OnClose 2013-09-09 18:49:10 +02:00
Pierre Bourdon 380b780dd1 Leak an object when quitting Dolphin to try and fix issue 6546 2013-09-09 18:44:21 +02:00
Rachel Bryk 0d341e9f28 [NetPlay] Fix copy and paste error. 2013-09-09 03:12:42 -04:00
Rachel Bryk 772046647a Revert "Revert "NetPlay: Use the correct pad mappings for rumble""
This reverts commit 06140e8083.
2013-09-09 03:09:45 -04:00
comex 06140e8083 Revert "NetPlay: Use the correct pad mappings for rumble"
This reverts commit 92c846de45.

It breaks NetPlay entirely for me.
2013-09-09 02:39:28 -04:00
degasus 3ec9f9b64a videoCommon: also reset logicOp on mode switch 2013-09-09 02:30:44 +02:00
comex fe0a450ee4 Don't request authentication (aka I should actually test before committing). 2013-09-08 19:32:14 -04:00
comex 22d9331b96 Improve IOdarwin -
Add requestAuthentication, which might help someone who can't sync, and
better error reporting.
2013-09-08 18:15:49 -04:00
Ryan Houdek 4146e1f3d6 [ARM] Implement psq_st. Optimizations in psq_l and fix all the remaining bugs...except clamping within the max value range of the value. Causes some minor visual effects mostly. 2013-09-08 21:56:17 +00:00
Ryan Houdek c1aa80cefa [ARM] Add support for double registers in VMOV(immediate). Add VEOR and VSTR1. Fix some minor encoding bugs. 2013-09-08 21:56:17 +00:00
NeoBrainX 3db2108dbb Add two buttons to the ISOProperties dialog so that we still meet string freeze deadline. 2013-09-08 21:04:03 +02:00
Jasper St. Pierre 92c846de45 NetPlay: Use the correct pad mappings for rumble
Rename the functions around so we don't get confused again, too.
2013-09-08 13:54:05 -04:00
Ryan Houdek ba0c52b104 [ARM] Optimization to psq_l, no need to push/pop regs anymore. Implement support for single float loading, gives a decent speedup to Ikaruga in menus and game. 2013-09-08 08:18:34 +00:00
Ryan Houdek e5b5713d70 [ARM] Optimize that fastmem load/stores minimally. 2013-09-08 07:37:03 +00:00
Ryan Houdek 2126f405e0 [ARM] 1 instruction optimization for psq_l 2013-09-08 07:25:59 +00:00
Ryan Houdek e6af4970d8 [ARM] Use NEON for loading the values from psq_l, gives a minimal performance increase. This change also begins a new NEONXEmitter for having cleaner support for NEON. 2013-09-08 07:07:15 +00:00
comex 8b4f0ef034 IODummy needs it too. 2013-09-07 16:17:00 -04:00
comex b31502893f Fix lifetime issues in IOWakeup. 2013-09-07 16:13:39 -04:00
comex f4586570ac Use SetEvent instead of CancelIoEx for XP compatibility. 2013-09-07 15:43:17 -04:00
Ryan Houdek 31b69c53f7 [ARM] Implement psq_l for 2x float loads. Couldn't find a game using quantized loads. Huge speed boost to Ikaruga and THP movies with this one. 2013-09-07 17:44:10 +00:00
Ryan Houdek 614a7c2081 [ARM] Clean up some host side register allocations I missed. 2013-09-07 17:44:10 +00:00
Glenn Rice cf09974d61 Merge branch 'translate-about' 2013-09-07 09:56:54 -05:00
Rachel Bryk 33fb1b562f Move some code from NetPlayClient.h to NetPlayProto.h, and only include that outside of NetPlay. 2013-09-07 00:27:35 -04:00
Rachel Bryk 2bc44f98c3 Disable gui controls for gc controllers and memory cards during netplay and movies. 2013-09-07 00:06:03 -04:00
Glenn Rice f1c6357750 Enable translation of the about dialog. 2013-09-06 21:02:11 -05:00
Matthew Parlane d25a8bb6cb Fix reply after shutdown error.
Fixes Issue 6577
2013-09-07 13:07:00 +12:00
Ryan Houdek 67c65831bc [ARM] Make fnabsx and ps_nabs quicker. Sleep deprivation got the better of me. 2013-09-07 00:35:12 +00:00
Ryan Houdek ef05a14757 [ARM] Clean up FPR cache. Rapid fire floating point instruction implementations. Adds 13 new instructions. 2013-09-07 00:19:32 +00:00
comex cd7b97f767 Make JITDISABLE not defeat grep. 2013-09-05 18:38:47 -04:00
Rachel Bryk 3baab41cf4 Allow input display to work with netplay even when not recording. 2013-09-05 16:09:56 -04:00
skidau b2657f6a9b Re-added the HLE code that creates the cdb.vff file on first launch of the Wii sysmenu.
Revert "Remove HLE_IPC_CreateVirtualFATFilesystem as it no longer takes 3 minutes to LLE like the comment says."

This reverts commit 5d47fd1dde.
2013-09-05 21:29:04 +10:00
comex 2fb0147967 Merge branch 'comex-wiimote-fixes'
Should fix issue 6574.
2013-09-05 06:13:33 -04:00
Ryan Houdek a7f244e96d Revert "Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay.""
This reverts commit 5696da0b3e.

JMC messed up, it wasn't due to this commit.
2013-09-04 19:16:28 -05:00
Pierre Bourdon 7acee71c0c Move swapModeTable to a local variable, avoids shader uid generation writing to it 2013-09-04 23:23:29 +02:00
Pierre Bourdon 175707739e Move LightingUidData to the LightingShaderGen header 2013-09-04 23:23:29 +02:00
Lioncash 30da36dd1e Fix an incorrect sizeof in a memset in GDBStub.cpp 2013-09-04 09:01:44 -04:00
comex 8992f58720 Fix Wiimote thread wakeup on externally-triggered destroy. 2013-09-04 05:32:32 -04:00
comex dc87b6d431 Fix OS X code.
- Close the connection properly on destruction.

- Work around what seems like an Apple bug.
2013-09-04 05:32:13 -04:00
comex 872e9ce3da Add accidentally omitted code in last commit.
(m_wiimote_thread_run_loop was being used but not set, causing
Wiimote::IOWakeup to crash on OS X; todo rebase this)
2013-09-04 04:39:18 -04:00
Ryan Houdek 5696da0b3e Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay."
This reverts commit e110f1049c.

This unfixes issue 6575. Reverted due to huge performance hit on behalf of JMC.
2013-09-04 02:55:13 -05:00
comex 02fc68ea5d While we're at it, explicitly wake up the Wiimote thread rather than using a 1s timeout.
This only matters if reads are not constantly being completed by
reports anyway, but seems like a good idea.
2013-09-04 03:25:05 -04:00
comex 906de748bd Refactor thread handling to fix OS X bug.
On OS X, openL2CAPChannelSync registers events on the current
thread's run loop, so Connect needs to be called on a thread that's
going to do CFRunLoopRun; this was causing all Wiimote input to be
ignored.  Easiest way to do that is to use the Wiimote thread, and
have Read call CFRunLoopRun to block on events, bringing OS X's
Wiimote event loop in line with every other platform's.  This also
means that the thread can't be stopped and recreated by Prepare,
so make Prepare notify it instead, which has the side effect of not
making the GUI block on Prepare.  (It would be nice if the GUI also
did not block on searching for devices, because blocking the GUI
is gross, but for now...)
2013-09-04 03:24:00 -04:00
Ryan Houdek d0d053a9f9 Fix for old libc version on bionic. Old versions would crash if the second argument was NULL. 2013-09-04 02:04:31 -05:00
comex 0e949afa57 Remove dubious retain on OS X.
Revert this if the claimed crash actually shows up - or better, figure
out the actual cause.
2013-09-04 01:11:04 -04:00
comex e0214b1a38 Fix syncing wiimotes on OS X.
IOdarwin.mm was assuming that scanning was complete when the run loop
was stopped (which the scan callback does), but somebody else was
stopping the run loop first, causing the scan to be aborted.  Wait until
the scan is actually complete.
2013-09-04 01:04:51 -04:00
comex 1ea8b93667 Fix typo in log message in WII_IOB.cpp. 2013-09-04 00:03:05 -04:00
Ryan Houdek 7e26aace9f [ARM] Reenable ps_add. Issue is due to something in the FPR cache. Still needs to be investigated. 2013-09-04 03:27:45 +00:00
Ryan Houdek 8684b7635a [ARM] Reimplement fastmem for the few loadstores that had it before. 2013-09-04 02:07:57 +00:00
Rachel Bryk e9ffba7ab8 Don't ever ever let CFrame::DoStop() run twice at the same time. 2013-09-03 18:53:23 -04:00
Justin Chadwick e110f1049c [NetPlay] Make the Memory Card A/B setting sync across netplay.
Fixes issue 6575.
2013-09-03 17:41:52 -04:00
Rachel Bryk 8ae10b3e12 [NetPlay] Allow recording movies during netplay.
Fixes issue 6207.
2013-09-03 15:50:41 -04:00
Ryan Houdek 39ad48dfa5 [ARM] lmw implementation. 2013-09-03 09:55:15 +00:00
Ryan Houdek 30cd436e86 [ARM] Merge load instructions in to one. Also rapid prototype 13 more load instructions. This disables fastmem currently for loads. 2013-09-03 09:22:43 +00:00
Ryan Houdek d4d6eb562e [ARM] Fix and enable fastmem for 32bit stores. 2013-09-03 05:05:10 +00:00
Ryan Houdek cc2fa4a003 [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:11:25 +00:00
Ryan Houdek dfce0f3b0b [ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this. 2013-09-03 04:08:15 +00:00
Justin Chadwick 6b1c8f9d17 [Netplay] Read dual core setting before syncing it with clients.
Fixes issue 6573.

Fixes issue 6535.
2013-09-02 19:55:25 -04:00
comex 5b9254a1cd fix android. 2013-09-02 17:30:31 -04:00
comex 50520c7c3d Make fastmem work under a debugger on OS X.
Not only do debuggers catch the expected SIGSEGV by default, I'm not
sure there's a working way to configure either gdb or lldb not to.  This
commit uses an OS X-specific mechanism to add an exception handler that
runs before the default one.
2013-09-02 17:26:32 -04:00
comex 4c3230bcde Remove accessType from BackPatch's signature in favor of getting it from DisassembleMov.
It isn't easily accessible with sigaction or Mach exceptions (well,
requires an additional system call in the latter), and isn't necessary.

(and get rid of the enum, because it's only used once, and the comments
are more expressive than enum names)
2013-09-02 16:55:22 -04:00
Ryan Houdek a7f3264fed [ARM] Merge a bunch of arithmetic JIT instructions and rapid prototyping of a bunch more. 2013-09-02 14:15:37 +00:00
degasus 1b1cc82e5b rename vertex streaming hack tooltip
String is copyed from issue 6552.
2013-09-02 13:33:36 +02:00
Ryan Houdek 2897619ddb Removal of my terrible idea. 2013-09-02 05:31:48 -05:00
Ryan Houdek e7157e7c52 [Android] Fix fastmem and enable. 2013-09-02 04:10:21 -05:00
Ryan Houdek 831963616f [Android] Make texture loading/deleting/drawing backend non-specific by making them happen in the backend instead of somewhere else. Just a clean up commit really. 2013-09-02 01:40:05 -05:00
Lioncash 0219049c03 Fix an accidental duplicate if-statement handling of 0x1007 in WII_IPC_HLE_Device_net.cpp 2013-09-02 01:28:48 -04:00
comex 35b8dfbe0c A few more warnings. 2013-09-01 23:33:35 -04:00
comex 2630169229 More warnings: mark/avert truncating conversions from float. 2013-09-01 22:59:35 -04:00
comex 4f5729dd59 MSVC warnings. 2013-09-01 22:59:32 -04:00
comex de0a5fdfbb More trivial warning fixes. 2013-09-01 22:59:18 -04:00
comex c08f06f8c9 Fix IOCTLV_SO_GETADDRINFO.
It tried to cast incoming pointers to native ones.  The values are
required to be null anyway, so it doesn't really matter, but it fixes a
warning at least.
2013-09-01 22:58:40 -04:00
comex 186527544b Fix use of deprecated APIs in IOdarwin.mm. 2013-09-01 22:58:38 -04:00
comex 403744dee8 Fix use of deprecated screen resolution API.
(This is currently pointless, as the code in question is not used on OS
X anyway, but I'd like to see that option come back.  In any case, fixes
the warning)
2013-09-01 22:58:35 -04:00
comex fd7cf5bb71 A bunch of trivial changes to fix clang warnings. 2013-09-01 22:58:33 -04:00
comex 71fde876df A fix to my fix to my fix. Sorry.
(Avoid uninitialized m_pFile when loading WADs.)
2013-09-01 17:15:16 -04:00
Ryan Houdek b03ff7a86b [Android] Fix the game thread never leaving. 2013-09-01 01:10:40 -05:00
comex a6f6695ecd Work around MSVC bug, and make it less likely to happen again. Ew.
MSVC insisted on using a copy assignment where a move was intended and
ought to be used.  This would have been caught, because the class in
question inherits from NonCopyable, which declares a move assignment
operator, which is supposed to delete the implicitly declared copy
assignment operator, but of course MSVC didn't do that either, causing a
class that should have been safe to be unsafe.
2013-09-01 00:04:50 -04:00
comex 5209abeb03 Better error reporting for ES / NANDContentLoader. 2013-08-31 23:49:29 -04:00
Jasper St. Pierre 3e049a130b NetPlay: bump proto
As it changed with the pad mapping change.
2013-08-31 23:29:12 -04:00
Matthew Parlane ffe710b4e8 Recvfrom tidy and store laste error. 2013-09-01 15:15:55 +12:00
Matthew Parlane 1c106abf13 Fix sendto.
This fixes Opera, sorry [SS]
2013-09-01 14:30:07 +12:00
Matthew Parlane b11f14c6f7 Fix setsockopt. 2013-09-01 14:03:03 +12:00
Jasper St. Pierre 22f57cf07a NetPlay: Don't bother with the host's controller settings
Use the pad mapping to calculate the number of devices
we want, and add them on each client when we get the
message.
2013-08-31 21:18:14 -04:00
comex b187a38433 Fix inability to boot NAND contents caused by 04c41c1d38.
Might be nice to refactor this code to decrease duplication, but for now
just a fix.
2013-08-31 15:06:00 -04:00
Pierre Bourdon 751c2e69f6 Add a link to our documentations guides in Dolphin 2013-08-31 10:31:43 +02:00
Matthew Parlane 676d78ec41 Fixes accept.
Tested with network demo from devKitPPC :)
2013-08-31 18:47:19 +12:00
comex 11cffddbf7 Fix a trivial bug in b6728c1405. 2013-08-31 01:54:57 -04:00
comex 04c41c1d38 Fix loading DLC using IOCTL_ES_OPENTITLECONTENT & /dev/es state save.
(Intertwined enough that's it's easier to do in one patch.)

(1) /dev/es did not support state save, which could cause crashes and
    incorrect behavior after loading.

(2) NANDContentLoader tried to read all of a title's contents into
    memory when it was first opened.  Two issues:

- If any contents were missing, it bailed out.  However, with DLC,
  only some of the contents may be downloaded, as determined by the
  permission bits in the ticket.  Instead, return an appropriate error
  when a content is accessed that doesn't exist on the filesystem
  (don't bother checking the permission bits though).

- Everything was loaded into memory - even if it consisted of 3 GB of
  songs, which caused Dolphin to lag out for quite a while (and would
  fail on 32-bit).  Instead, open content on demand.
2013-08-31 01:38:52 -04:00
comex 4d6d4a97e4 Make NonCopyable use rvalue references.
This is required to be able to move objects that inherit from it.
(Note that this patch also #ifs out the class for the externals that
include it yet are compiled in pre-C++11 mode.  It shouldn't matter,
since those externals don't use it.)
2013-08-31 01:38:49 -04:00
Matthew Parlane c497d62836 Fix sysmenu test connection bug on Windows. 2013-08-31 16:44:53 +12:00
Lioncash 7ce3d846d5 Indent the code in the previous bug fix I did. Now there aren't braces on the same level as each other. Should have initially done this along with that commit. 2013-08-31 00:39:19 -04:00
LPFaint99 199c4e0d78 Merge branch 'wiiSaveExportFixes'
saves like super smash bros brawl, mario kart, etc which use simple copy restriction via the banner file are now able to be imported natively with the wii/wiiU system menu
save files which include subdirs are correctly packaged

NOTE: saves which include 'nocopy'/'nomove' folders will likely always require homebrew

adds feature to export all wii saves
2013-08-30 20:52:09 -07:00
Ryan Houdek df7b4da13b [ARM] Fastmem is back. Still disabled for Android. 2013-08-31 02:33:12 +00:00
Ryan Houdek 8b0a0daf10 Revert "[ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly."
This reverts commit f485d96b0b.
2013-08-31 02:33:11 +00:00
Lioncash 93b0f46d34 Fix a tiny bug in CodeView.cpp. If statement with more than one line was missing braces. 2013-08-30 18:29:03 -04:00
comex b6728c1405 Avoid unnecessary bundle copies on OS X:
- Make "copy data into bundle" depend on the files actually being
  changed, rather than being run on every build.

- postprocess_bundle depends on system files and checking the Dolphin
  binary and all that, and would be iffy to try to avoid rerunning;
  but it's only needed to produce a redistributable bundle, so add
  SKIP_POSTPROCESS_BUNDLE to skip it for development.
2013-08-30 17:54:52 -04:00
Pierre Bourdon 6428137ca4 Set XAudio2 as the default audio backend 2013-08-30 19:12:46 +02:00
Ryan Houdek 710ac04084 [ARM] Fix the VMOV encoding to encode the destination VFP register correctly. 2013-08-30 05:13:43 -05:00
Ryan Houdek 2c1337eb5f [ARM] Support both hardfp and softfp with lfs and lfd. Fixes these two instructions on Android since it uses softfp calling conventions. This adds a emitter for moving from two ARM Registers to a double VFP reg. 2013-08-30 09:38:11 +00:00
Pierre Bourdon 2ab7fc10da Rollback "DSP on Thread" to only affect LLE.
Keep the threading code in AX HLE in case we want/need to enable it again at
some point. Not too confident about refactoring it right now.
2013-08-30 09:14:30 +02:00
Ryan Houdek 7cceace1ed [ARM] Fix Savestates. 2013-08-30 06:43:18 +00:00
Ryan Houdek 8bb16d8e98 [Android] Android NDK now supports full implementations of std::mutex, std::thread, and std::conditional_variable so there is no need to have our own implementations there now. 2013-08-29 22:29:33 -05:00
Ryan Houdek 10c18e75de [ARM] Fix lfs/lfd. We need to dump the fpr cache at times where VFP registers may be affected. We shouldn't need to flush D8-D15 but it doesn't seem to work. So we have to flush all registers. 2013-08-30 01:11:32 +00:00
Ryan Houdek 96394da1c2 [Android] Let NativeLibrary handle initial folder structure creation. 2013-08-29 18:07:32 -05:00
Ryan Houdek 957c263367 [Android] Add save state native functions. 2013-08-29 17:47:50 -05:00
comex 2de2e774fe Use pthread_setname_np.
This makes SetCurrentThreadName actually work (name shows up in
debugger) on non-Windows.
2013-08-29 16:30:32 -04:00
Ryan Houdek 18fd690533 Only use static iconv on Android. 2013-08-29 05:53:15 -05:00
Ryan Houdek cb8e7a1be5 Work around check_lib not finding iconv. 2013-08-29 05:40:16 -05:00
Ryan Houdek 160d72a9ae [Android] Add in a static libiconv library so non English games don't crash Dolphin Mobile. 2013-08-29 04:43:31 -05:00
Matthew Parlane e7bdcc34e1 Fix some enum alignments 2013-08-28 01:12:24 +12:00
Matthew Parlane b34a5faee7 More cleaning. 2013-08-28 01:07:43 +12:00
Matthew Parlane 2a68b65cda Merge branch 'master' into wii-network 2013-08-28 00:57:37 +12:00
Matthew Parlane 75c398118f Fix headings and more. 2013-08-28 00:57:08 +12:00
Matthew Parlane d493525050 Add socket cleanup.
Don't know what to do with remaining sockops if called from a SetRegister reset command.
2013-08-28 00:37:45 +12:00
Matthew Parlane 6748d5d087 Fix const. 2013-08-28 00:05:43 +12:00
Matthew Parlane eebcea9174 Fixed accept.
Added helper functions.
Removed unused structs.
2013-08-27 23:58:26 +12:00
Matthew Parlane 4644a3bd16 Fix for Just Dance 4
Some clean ups.
2013-08-27 23:58:26 +12:00
degasus 15df7b3445 ogl driverdetails: add flag to disable hacked and pinned memory
pinned memory is broken for index buffers
hacked buffer crashes the amd driver
2013-08-26 19:45:19 +02:00
Matthew Parlane 8006c878f8 Maybe libusb_exit fails when not initialized. 2013-08-27 00:58:20 +12:00
Matthew Parlane aa7319e043 Slightly better error handling for libusb_init not working. 2013-08-27 00:46:04 +12:00
Matthew Parlane 33761c0b65 More cleaning. 2013-08-27 00:22:44 +12:00
Matthew Parlane 69bb04f79f Fixed inconsistent usage of sock and used fd instead. 2013-08-26 23:57:18 +12:00
Matthew Parlane e8cde8464e Code style fix and cleanup. 2013-08-26 23:24:41 +12:00
Matthew Parlane 5ecd86708b Disable Wii Sockets for NetPlay and TAS 2013-08-26 23:24:01 +12:00
Matthew Parlane 15f8603d1f Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Common/Src/CommonPaths.h
	Source/Core/Common/Src/FileUtil.cpp
2013-08-26 00:50:57 +00:00
Pierre Bourdon 0e8f9d8abc Fix a crash in the Wiimote registration code
The code was hitting undefined behavior, causing crashes when starting a Wii
game with Dolphin compiled with gcc >= 4.8.

Might introduce some slight change in the Wiimote activation logic.

Fixes issue 6526.
2013-08-25 21:30:43 +02:00
Rachel Bryk 18749bad68 Actually allow the dump and logs folders to be set outside of user/ 2013-08-25 01:35:32 -04:00
Rachel Bryk 8882f89bbc Allow user folder to be set via command line.
Clean up GetUserPath(), to allow setting any path with it.
2013-08-24 23:15:55 -04:00
John Chadwick 417bfb2630 Send pad buffer to clients when they join; fixes issue 6524. 2013-08-24 21:43:33 -04:00
Pierre Bourdon 0dd98d62fc Remove 'pragma optimize' in fakepoll.h - if optimizations cause breakage the breakage should be fixed instead of disabling opts 2013-08-25 03:04:43 +02:00
Matthew Parlane c4dec3fb3a Remove debug verify cert code. 2013-08-25 13:02:34 +12:00
Pierre Bourdon 73be79f4e0 Fix trailing whitespaces in all files where some were added 2013-08-25 02:49:58 +02:00
Pierre Bourdon 987f4945b5 Fix indentation issues 2013-08-25 02:41:02 +02:00
degasus 1cbc8f8182 sync gpu: check disable flag before volatile
This could be an optimizing as this condition could be moved out of the loop.
So we save an atomic load.
But I don't know if it matters at all
2013-08-24 18:43:07 +02:00
Matthew Parlane 5548e77438 Merge branch 'master' into wii-network 2013-08-24 23:56:31 +12:00
Matthew Parlane d1057b2c6c Fix android part 2 of X. 2013-08-24 23:41:25 +12:00
Matthew Parlane 7de9bda35e Fixes hid.
Fix small bug in ssl when testing certain demos.
2013-08-24 23:16:58 +12:00
Rodolfo Bogado dbcc677922 Merge remote-tracking branch 'remotes/origin/dx9-ssaa-fix' 2013-08-23 22:43:03 -03:00
Rodolfo Bogado 40243a4fe7 Indentation Fix 2013-08-23 22:28:17 -03:00
Jasper St. Pierre dfb34ddef4 NetPlayWindow: Make the spacing consistent on both sides 2013-08-23 20:40:34 -04:00
Pierre Bourdon 9303b57db1 Refactor VideoCommon/OnScreenDisplay.
Use strings internally, use a multimap and std::function for callbacks (instead
of a flat vector + loop over the vector to find the right callback type), fix
coding style issues. Simplify MainAndroid code a bit.
2013-08-24 02:13:54 +02:00
Pierre Bourdon 9deb63a312 Simplify a few OSD::AddMessage calls now that this function accepts std::string objects 2013-08-24 01:44:16 +02:00
Pierre Bourdon 367d6dfd65 Add an OSD message when taking screenshots in D3D9/D3D11
Fixes issue 6486.
2013-08-24 01:41:17 +02:00
Jasper St. Pierre 23ff31451f NetPlay: Rework pad mapping
Pad mapping and the UI behind it is significantly confusing,
and has been confusing users since NetPlay was introduced.

As part of a large code cleanup to help NetPlay more stable,
introduce a better pad mapping system where local pad mapping
is handled by the client. Now, all the server and other
clients know is which player have which controllers, and the
clients only know this so they can show the pad mapping in the
UI; they don't do anything else with it.

A future cleanup will use this pad mapping data to completely
ignore the pads configured in the settings pane on the host.
2013-08-23 09:40:08 -04:00
degasus 7a5374258e ogl: rework DriverDetails framework + detect UBO mesa bug 2013-08-23 10:52:29 +02:00
skidau 1f3a0ff10b Merge branch 'OpenAL-sane-defaults'
* OpenAL-sane-defaults:
  Removed a redundant tooltip text.
  Changed the default audio latency to 2.  Made soft_oal.dll the default on Windows builds as the old OpenAL32.dll is outdated and contains bugs.
2013-08-23 12:15:39 +10:00
Rachel Bryk d3894a0594 Clean up wiimote-netplay. 2013-08-22 11:58:29 -04:00
Matthew Parlane 98a038aefb Fix more *nix issues. 2013-08-23 00:58:12 +12:00
Matthew Parlane b6e054a2be Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Core/Core.vcxproj
	Source/Core/Core/Core.vcxproj.filters
	Source/Core/Core/Src/CoreParameter.cpp
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj.filters
2013-08-23 00:51:12 +12:00
Matthew Parlane f274b3b074 Fix compile on *nix. 2013-08-23 00:13:26 +12:00
Matthew Parlane 6acbea5c3e Less verbose. Sorry. 2013-08-23 00:10:47 +12:00
Matthew Parlane 124fe24f4c Make wii-network async.
* accept still needs to be made async.
2013-08-22 23:58:56 +12:00
Pierre Bourdon 20e82ec08c Fix the fix to AVX support detection
Should be xgetbv(0) & 6 == 6, not just & 6. Thanks to tueidj for pointing this
out.
2013-08-22 01:08:14 +02:00
Ryan Houdek 1eb1ba8c3d Typo + Add Lima to the driverdetails. 2013-08-21 05:41:32 -05:00
Ryan Houdek 1910f5851f Make us capable of supporting driver specific issues(OSS versus official) 2013-08-21 05:34:52 -05:00
Ryan Houdek 60ccb2f44d [Android] Fix Android 4.3 from crashing on my devices. This was annoying to find. 2013-08-21 00:12:53 -05:00
Ryan Houdek 272dcb8756 In Windows, if BBA can't connect to any TUNTAP device then throw a panicalert, not just an error log. 2013-08-21 03:22:14 +00:00
Pierre Bourdon a3a4f21284 Remove some spurious endlines at the end of log messages 2013-08-21 00:19:50 +02:00
Scott Mansell fa8a4cdbb5 Corrected names of GetXFBAddress* functions in header.
They were named incorrectly in VideoInterface.h, but because nobody used
them outside of VideoInterface.cpp where they were decleared until now, this
hasn't been an issue.
2013-08-20 23:25:24 +12:00
Pierre Bourdon 377202b9f6 Correctly check for AVX support in x64CPUDetect
It's not enough to check for the CPUID bit to know if AVX is supported since
AVX requires OS support (new set of registers == more registers to be saved
when context switching). If the OS does not support, the cpuid bit will still
be set but using YMM registers will cause an illegal exception fault.
2013-08-20 01:25:10 +02:00
Rachel Bryk d3c437819d NetPlay: Add blank inputs when reporting mode changes, so the buffer isn't empty if wiimote 1 isn't polled next. 2013-08-19 17:03:14 -04:00
degasus 814c1c9572 pixelShaderGen: also execute alpha test for always fail with late z test
This should fix issue 6493, but maybe no real issue as this rendering just do nothing
2013-08-19 21:27:54 +02:00
Ryan Houdek ba3d3311bd [ARM] If one requests a FPR to not preload but then later ask it to preload. Make sure to preload it at that time. Would have caused issues with having to make sure the non-preloaded regs were always grabbed last. 2013-08-19 18:13:08 +00:00
Ryan Houdek 8094037104 [ARM] Add ps_sum0 and a disabled ps_madd. 2013-08-19 18:13:08 +00:00
Ryan Houdek 42de733c41 [ARM] Disable floating loadstores as they cause problems. Reenable faddsx/fsubsx as it works with loadstores disabled. 2013-08-19 18:13:08 +00:00
Ryan Houdek 1675f56f02 [ARM] Disable faddsx since it causes problems in crazy taxi. 2013-08-19 12:26:25 +00:00
Ryan Houdek b4baa4fdb9 [ARM] Add mullwx, mulhwux and half implemented srawix instructions. Change fsubsx/fmulsx slightly, still broken. 2013-08-19 06:26:34 +00:00
Ryan Houdek 9bded1382c [ARM] Add ASR/ASRS and UMULLS emitters. 2013-08-19 06:26:34 +00:00
Jasper St. Pierre 7a41acd8ff NetPlayServer: Remove unused code
GetPlayerList is always called on the client.
2013-08-18 21:38:32 -04:00
Pierre Bourdon 5c3dcc50bc Add an INI option to not loop FIFO playback and stop emulation when it's done 2013-08-19 01:39:00 +02:00
LPFaint99 c2d208df96 add the ability to export all save files 2013-08-18 15:02:40 -07:00
LPFaint99 477c21e946 fix import/export of games with folders.
remove copy protection bit from banner
	- should allow *some* copy protected games to be moved to a real system;
	ex: super smash bros brawl, mario kart
games with a nocopy/nomove folder cannot be imported to a real system without using homebrew tools, warn for these saves
	ex: guitar hero
remove some unneccessary class fields
the class is still incredibly ugly :(
2013-08-18 15:00:50 -07:00
Ryan Houdek 9f4ca0e0a7 [ARM] JitASM miroops. No functionality change. 2013-08-18 17:45:04 +00:00
Jasper St. Pierre 5782530b40 NetPlayProto: bump netplay version
Since the packet structure changed.
2013-08-18 09:10:15 -04:00
Justin Chadwick 26242de914 Increases Gamecube pad polling rate during netplay to normal. Also re-add dualcore setting syncing to netplay, which I had erroneously removed. 2013-08-18 08:19:16 -04:00
Rachel Bryk 894e29b809 Fix comments, and send wiimote mapping to new users. 2013-08-18 05:17:06 -04:00
skidau c774fb4880 Removed a redundant tooltip text. 2013-08-18 17:09:01 +10:00
skidau 5cec914484 Changed the default audio latency to 2. Made soft_oal.dll the default on Windows builds as the old OpenAL32.dll is outdated and contains bugs. 2013-08-18 17:03:21 +10:00
Ryan Houdek ba76b016da [Android] Fix Wii games. 2013-08-17 19:41:28 -05:00
Ryan Houdek 7294fe5a3f Change per instruction run counts to u64 on all platforms. JIT64 and JITIL runcount isn't implemented properly(and is disabled) so this doesn't effect them. 2013-08-18 00:15:47 +00:00
Pierre Bourdon d6fe9c639b Add an OSD message to remind the user if Shader Debugging is enabled
Fixes issue 6497.
2013-08-17 23:48:06 +02:00
Jasper St. Pierre 756bf93111 NetWindow: Move "Write memcards" checkbox to be host-only
The setting is propagated from the host, so the client checkbox would
be ignored anyway.
2013-08-16 21:42:38 -04:00
Ryan Houdek 7934df3879 Remove a redundant check in the fifo. 2013-08-17 01:27:08 +00:00
Matthew Parlane d0d162e6ad Fix really stupid optimise on Windows.
Possibly explains speed difference from master.
2013-08-17 12:16:51 +12:00
Ryan Houdek 08b27bb3b8 In the EGL backend context interface, don't call eglMakeCurrent. This was only done to pull in some information to the info log. This is necessary since eglMakeCurrent binds the context to the current thread and we need to destroy the context and reinitialize it when jumping to a new thread. We already call MakeCurrent in Video_Prepare which is done in the new thread. 2013-08-16 23:41:45 +00:00
NeoBrainX 1ba98550ef VideoConfigDialog: Rephrase "Hacked Buffer Upload" and its description to something less technical. 2013-08-16 14:26:50 +00:00
Rachel Bryk 89d324786a Prevent stopping emulation before fully booting. This can sometimes cause dolphin to crash. 2013-08-16 10:04:08 -04:00
Ryan Houdek da560ecefc On CoreParemeter member object creation make sure to set bEnableDebugging, bAutomaticStart, and bBootToPause to default values so they aren't unitialized. This caused a issue in particular on the Android builds where bBootToPause would cause the games to boot in to a paused state, effectively causing the application to need to be forced closed and reran multiple times in order to test anything. 2013-08-16 07:30:53 -05:00
Ryan Houdek 367f294ed2 [Android] Make sure to unallocate the correct memory size in MemArena. 2013-08-16 04:55:43 -05:00
Matthew Parlane 59e060aba2 Missed some VS build options. 2013-08-16 21:42:31 +12:00
Matthew Parlane 9de7611ff9 Merge branch 'master' into wii-network
Conflicts:
	CMakeLists.txt
	Source/Core/Core/Core.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj
	Source/Core/DolphinWX/Dolphin.vcxproj.filters
	Source/Dolphin_2010.sln
	Source/VSProps/Dolphin.Win32.props
	Source/VSProps/Dolphin.x64.props
2013-08-16 19:17:07 +12:00
Rachel Bryk c7025989f8 Probably worthless commit that may fix wiimote netplay buffer problems. 2013-08-15 22:31:36 -04:00
Pierre Bourdon c3065ecb66 Fix compatibility with the SDL2.0 release.
SDL2.0 removed SDL_HAPTIC_SQUARE because of ABI issues (see comment #7 on issue
6491 by Ryan C. Gordon from the SDL project). It will be reintroduced again in
2.1, so keep the code and #ifdef it away.
2013-08-15 22:18:40 +02:00
Rodolfo Bogado ba6a67a5f1 Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-15 13:49:53 -03:00
Matthew Parlane 417552b21e Not sure what that was. 2013-08-16 01:06:44 +12:00
Pierre Bourdon c6d8d52041 Fix a warning introduced by the recent netplay UI changes 2013-08-15 15:05:20 +02:00
Rachel Bryk 6d67ea2fda Merge remote-tracking branch 'origin/master' into wiimote-netplay 2013-08-15 09:00:04 -04:00
Matthew Parlane d6ec6ae97a Fix polarssl on Windows. 2013-08-16 00:24:10 +12:00
Matthew Parlane d8b39b9dcf Support PolarSSL on *nix
Removed unneeded PolarSSL directories.
Remove duplicate sha1 and md5 files.
Define out SSL test file writing.
Fix format string bug and warning.
2013-08-15 23:36:17 +12:00
Matthew Parlane b93d62dcb8 Remove LTCG and platform toolset, fix code style. 2013-08-15 21:43:43 +12:00
Matthew Parlane fede38985e Replace OpenSSL with PolarSSL
Works on windows, not yet cmake.
2013-08-15 20:47:47 +12:00
Rodolfo Bogado 979718484f Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-15 00:21:28 -03:00
Jasper St. Pierre 3380e47ca7 MemArena: Free memory for 64-bit machines
Make the logic here a lot simpler. Patch contributed by Google Code
user plbl4ster.
2013-08-14 20:34:15 -04:00
Jasper St. Pierre 1826fce946 NetPlay: Make sure the server knows it's stopped when it's stopped
This is embarassing.
2013-08-14 18:36:09 -04:00
Pierre Bourdon 7622d5b354 Only call SetGenerationMode from BPWritten if the cull mode changed.
Should decrease CPU usage on the GPU thread by a bit in the OGL backend.
2013-08-15 00:26:03 +02:00
Jasper St. Pierre 998194246c NetPlay: Disable the "Start" button while the game is running 2013-08-14 18:16:07 -04:00
Jasper St. Pierre 1c74e412e2 NetPlay: Remove the "Stop" button
Now that the host can simply close the window, there's no need for this extra control.
2013-08-14 18:16:06 -04:00
Jasper St. Pierre 5241deaebe NetPlay: Allow hosts to stop the game by closing the game window 2013-08-14 18:16:05 -04:00
Jasper St. Pierre 92f8d79574 NetPlay: Set the pad buffer size on server creation
If we don't do this, then when the game starts we'll send out the
buffer size to clients being a super large value of junk, and they'll
hang forever trying to accumulate an input buffer a size that they'll
never ever reach in a million years.

This never manifested in release builds for some reason.
2013-08-14 18:15:28 -04:00
Pierre Bourdon 26f58e1ba5 Add an option to enable performance queries in gameini files, disable it by default 2013-08-14 23:16:46 +02:00
Pierre Bourdon ffdd79df36 Move VideoBackendBase from Common to VideoCommon 2013-08-14 23:16:46 +02:00
NeoBrainX 0cd94b5bc7 VertexShaderGen: Cleanup. 2013-08-14 11:47:23 +00:00
Rodolfo Bogado 85f91d66ba Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-13 17:30:22 -03:00
John Chadwick a791733c27 Fix invalid C++ code (returning reference to local) - thanks devm33. 2013-08-13 14:47:32 -04:00
Rodolfo Bogado 9e0fc8b42d Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-12 21:32:25 -03:00
NeoBrainX c05aa0141d ShaderGen: Optimize out most function calls for uid generation. 2013-08-12 18:30:42 +02:00
NeoBrainX fe2ca814c5 LightingShaderGen: Use macro magic instead of snprintf. Should fix performance problems. 2013-08-12 18:30:42 +02:00
NeoBrainX 22d9736787 ShaderGen: Static inline everything. 2013-08-12 18:30:42 +02:00
NeoBrainX 69a5a79c03 PixelShaderGen: Optimize shader uid data order. 2013-08-12 18:30:42 +02:00
NeoBrainX 7a1940020d VertexShaderGen: Optimize shader uid data order. 2013-08-12 18:30:41 +02:00
Rodolfo Bogado 5948665cd6 Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-12 10:30:19 -03:00
Jasper St. Pierre d0084cb41d Main: Fix code that creates the BIOS subdirectories
We need to ensure that the file path ends with DIR_SEP, as
File::CreateFullPath is a very naive function.
2013-08-12 06:23:58 -04:00
NeoBrainX 4c22e1264e PixelShaderGen: Do not write depth in pixel shader if depth testing (and thus writing) is not enabled. Should improve performance quite a bit in some cases.
Fixes issue 6474.
2013-08-12 09:33:36 +00:00
Ryan Houdek 7f3c06de27 [ARM] Add a few instructions. 2013-08-12 02:52:56 +00:00
Rodolfo Bogado f4000b6b42 Add the ability to force Dual Source Blending in the configuration file.
this way everyone can check if their hardware support this feature in dx9
2013-08-11 18:48:31 -03:00
Jasper St. Pierre 22b3c26654 Main: Create BIOS subdirs of GC userdir on load
So that users don't get confused about where to place the BIOS files
2013-08-11 14:33:26 -04:00
Jasper St. Pierre d0729983b0 Check for GC BIOS in userdir before sysdir 2013-08-11 14:13:45 -04:00
Jasper St. Pierre b5c2737c9f IniFile: Don't parse comments after the [Section] brackets
This is non-standard behavior. We won't fail to parse, but we now
won't write them back out either.
2013-08-11 11:32:10 -04:00
Jasper St. Pierre 0eaea5f4df IniFile: Remove support for comments anywhere but the beginning of lines
The MS INI parser and most other INI parsing libraries APIs only support
comments at the beginning of lines. Right now, some Game INI files use sections
like:

  [OnFrame]#Add memory patches here

But these section headers are parsed separately, so this should not break
them.
2013-08-11 11:30:52 -04:00
Ryan Houdek 4ed8972c30 [ARM] Implement andx, andi_rc, and andis_rc. 2013-08-11 08:21:17 +00:00
Ryan Houdek 42aef24d78 [ARM] IMM support for all integer instructions that call ComputeRC. Small FPS gains everywhere. 2013-08-11 07:41:23 +00:00
Ryan Houdek ef83d03dc0 [ARM] Fix ori again. 2013-08-11 05:07:20 +00:00
Jordan Woyak a279001472 Remove "-0" from stable version numbers in a more foolproof manner for vs and cmake builds. 2013-08-10 17:19:19 -05:00
Jordan Woyak 951d8e356a Remove some non-catastrophic IPC_HLE wiimote related PanicAlerts. We have logging for this.
Fixed issue 6464.
2013-08-10 16:50:12 -05:00
NeoBrainX eed36cbf78 D3D11: Implement zcomploc for hardware supporting D3D 11.0. 2013-08-09 22:20:35 +02:00
Ryan Houdek 805009abca Fix a merge fail that happened when I merged in Android. It is just a bit of duplicate code, no issues came from it. 2013-08-09 19:01:27 +00:00
Pierre Bourdon 0aa9308006 Revert "Fix a memory leak in ExpressionParser.cpp"
This reverts commit cce809ac90.

The code was actually correct: "expr" is never allocated when an error is
returned. This means when the expression parser fails, deleting "expr" means
deleting an uninitialized pointer.
2013-08-09 10:46:11 +02:00
Rachel Bryk 90d454d22f Remove -0 from stable release version numbers. 2013-08-08 23:59:53 -04:00
Pierre Bourdon 9ea01aa7a8 Use a multibyte-neutral codepage when calling *printf on Windows.
More explanation in code comments.

Fixes issue 4046.
2013-08-09 00:17:48 +02:00
Lioncash cce809ac90 Fix a memory leak in ExpressionParser.cpp
Because there's a return here, expr should be deleted since it's not assigned to anything before returning.
2013-08-08 17:56:15 -04:00
NeoBrainX 72abe7c654 Fix a stack corruption in ExtendedTrace.
Fixes issue 6454.
2013-08-08 20:29:20 +02:00
Rachel Bryk f51cb0b7eb Fix multiplayer wiimote netplay. 2013-08-07 18:00:38 -04:00
Rachel Bryk 011bcfee34 Misc netplay cleanup. 2013-08-07 10:10:40 -04:00
degasus a6fd2c8227 fix lightning for inconsitent config
It's possible to configure to use the vertex color as lightning source without enabling the vertex color at all.
The old implementation will use zero, but it seems to be wrong (prooven by THPS3), more likely is to disable
the lightning and just return the global color.
This fixes THPS3 on OpenGL, but it isn't verifed on hardware
2013-08-07 14:22:15 +02:00
Rachel Bryk d0f05291e7 Add wiimote support to netplay. 2013-08-07 08:16:41 -04:00
Lioncash 9d0554e4a6 Free two memory leaks in ArmCPUDetect.cpp
Char pointers aren't freed after use.

Fixed this in PPSSPP a few days ago. Forgot to check here for the same thing until now.
2013-08-06 18:17:54 -04:00
Rachel Bryk 88212fba67 Add new Netplay headers to the VS project. 2013-08-05 23:15:53 -04:00
Ryan Houdek 873987bc99 [ARM] Some initial support for immediates in integer. Plenty more to go. 2013-08-05 19:48:15 +00:00
Ryan Houdek 4752eae677 [ARM] Fix IMM support in the register cache. 2013-08-05 18:33:51 +00:00
Jasper St. Pierre 9f90cbee19 NetPlayServer: Close the socket when we're done with it
This would allow a new socket to be created with the same port after
we close it. However, we can't reuse it immediately because of the TCP
TIME-WAIT state.
2013-08-05 06:43:27 -04:00
Jasper St. Pierre 59ab60f37f NetPlay: Supply every player's ping data to the client
This means that we now have feature parity with the combined server
before.
2013-08-05 06:12:56 -04:00
Jasper St. Pierre a3a222bf5b NetPlay: Remove NetPlay.h / NetPlay.cpp
Now the server and client implementations are entirely separate.
2013-08-05 05:05:06 -04:00
Jasper St. Pierre 9e63cebc93 NetPlay: Remove the base NetPlay class
It's only used by the NetPlayClient. For now, keep around NetPlay.cpp,
but we'll remove that soon.
2013-08-05 04:56:30 -04:00
Jasper St. Pierre 3b32d3c90d NetPlay: Split the server out, and make the local system manage a client as well
This should be transparent, but it may cause regressions.

The idea here is that now all players, including the host of the server,
talk to the server through TCP/IP networking. This significantly reduces
our codepaths through netplay, and will prevent strange local-only bugs
from happening.

The cleanup isn't 100% finished yet. The NetPlay dialog still drives the
server through private APIs. I eventually want to sanction off the server
entirely, so all communication is done through TCP/IP. This will allow us
to have high-traffic public servers that can relay multiple games and
lobbies at a time, and split off channel and game management to people
other than the host.

This is all still just a pipe dream, though.
2013-08-05 04:42:26 -04:00
Jasper St. Pierre 9e8655fa1f NetPlay: Remove some dead code 2013-08-05 04:25:16 -04:00
Ryan Houdek 25fc0c27f3 [ARM] Make sure to flush a register location. IMM still doesn't work... 2013-08-05 07:15:15 +00:00
Ryan Houdek f2e43f47a4 [ARM] Add support for IMMs to the GPR reg cache. Not yet using it since it doesn't quite work 2013-08-05 05:26:32 +00:00
Ryan Houdek f485d96b0b [ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly. 2013-08-05 05:26:32 +00:00
Jasper St. Pierre 0e0f0aec6e Core: Remove dead code
We never call SetState with CORE_UNINITIALIZED, and always call
Core::Stop() directly.
2013-08-05 00:03:15 -04:00
Ryan Houdek db93b516b0 [ARM] Missed flushing our register caches in mtmsr. This would cause a buttload of problems, including the suspected ori being wrong issue. So flush caches and reenable ori. 2013-08-05 02:15:25 +00:00
Ryan Houdek bafed349e8 [ARM] dcbst implementation. 2013-08-04 17:44:59 +00:00
Ryan Houdek 522d38d080 [ARM] Implement cmpl 2013-08-04 17:33:43 +00:00
Ryan Houdek f690be3e94 [ARM] Disable ori since it breaks Wind Waker. 2013-08-04 17:05:53 +00:00
Rachel Bryk af71100867 Save DSP on thread setting to config cache when booting.
Fixes issue 6451.
2013-08-04 02:34:39 -04:00
Pierre Bourdon 28e12a4198 Change the OSX CFBundleIndentifier to use the proper domain name 2013-08-03 18:37:57 +02:00
Ryan Houdek cf8e8c91b6 [ARM] Implement lha and fix lfs. 2013-08-03 00:48:45 +00:00
Ryan Houdek ca7fb9f38e [ARM] Fix VCVT F32<->F64 encoding. 2013-08-03 00:48:44 +00:00
Rachel Bryk f58edd018c Remove a couple files which have apperently never been used for anything. 2013-08-02 20:46:07 -04:00
Rachel Bryk 541106d611 Increase number of save state slots to 10. 2013-08-02 20:42:30 -04:00
Ryan Houdek ab0f42636d [ARM] Push new ArmEmitter changes from PPSSPP. Mostly Fixes a few VFP/NEON instruction encodings. 2013-08-02 23:18:44 +00:00
Rachel Bryk c1baed086d Fix hotkeys. 2013-08-02 16:14:34 -04:00
degasus 8f1a2bf43b fix c&p error
This error could change dual vs single core setting
2013-08-02 14:21:34 +02:00
Glenn Rice 95c234ceb3 Merge branch 'join-wiimote-scanning-thread' 2013-08-01 07:19:00 -05:00
Glenn Rice be76dc153b Re-add the HandleWiimoteDisconnect calls to the RealWiimote::Shutdown
routine.  This is needed to actually disconnect real wiimotes and delete
the corresponding wiimote objects when the app exits.
2013-08-01 07:16:51 -05:00
Rachel Bryk 8c5bc2ba3c Allow setting dsp on thread via game ini.
Also force TWW to LLE and no dsp on thread.
2013-07-31 21:35:22 -04:00
Glenn Rice 7aae59a766 Add comments to explain the usage of the WiimoteReal Stop/Shutdown
routine usage.
2013-07-31 09:19:28 -05:00
Glenn Rice 01987be6b9 Make sure that WiimoteReal is really shutdown on app exit. Particulary
ensure that the wiimote scanning thread is joined.  This fixes a crash
on shutdown if scanning has been initiated.
2013-07-31 09:09:18 -05:00
Rachel Bryk 44d17b5da5 Add hotkeys to increase/decrease the frame limit. 2013-07-30 19:25:12 -04:00
Rachel Bryk a33b1fcdc6 Make hotkeys for togglign IR, AR, efb copies and fog settings configurable. 2013-07-30 05:49:02 -04:00
degasus 4987f89ecc simplify my last commit 2013-07-29 23:26:18 +02:00
degasus d029fc2f9f remove printf in shader uid generation 2013-07-29 20:52:24 +02:00
Pierre Bourdon 8529addcc6 Removing the 'Clearing code cache' OSD message in Release builds 2013-07-29 09:56:50 +02:00
degasus 531c299bde fix movie player on linux
thx @ delroth for the patch
2013-07-28 17:55:35 +02:00
Ryan Houdek 5d38a9c91e [Android] Some minor cleanup. 2013-07-27 15:09:33 -05:00
John S. Peterson 9b20280bcf Changing the Nunchuk stick axis from center to center + 1
if the other axis isn't at center

because

* it's expected by some emulated programs
2013-07-26 23:47:50 -04:00
John Peterson 23f59a82f7 Adding Nunchuk stick calibration
because it's useful for the hybrid Wiimote mode
2013-07-26 23:47:23 -04:00
Ryan Houdek 4aba0135e1 [Android] Qualcomm Swap hack isn't needed anymore due to the new StreamBuffer type. 2013-07-26 21:49:48 -05:00
Ryan Houdek b6e9a75bdf Good Job Windows. Fixes compiling... 2013-07-27 00:53:53 +00:00
Ryan Houdek f786f0f0c6 Remove the broken buffers bug on Mali hardware since it isn't needed anymore using the glBufferData route in the StreamBuffer class. 2013-07-27 00:41:38 +00:00
Rachel Bryk bff2bc1288 Clear patches on shutdown.
Fixes issue 6434.
2013-07-25 16:43:00 -04:00
Ryan Houdek e0a5f7842e Fix Mali-T604 shader compilation 2013-07-25 16:13:33 +00:00
Ryan Houdek 672871b3be Add in the Mali driver bug so we can call glFlush every flush. It seemingly is quicker calling flush every time instead of every n times. 2013-07-25 05:44:20 +00:00
Rachel Bryk 3f03588dec Tas input works with bongos too. 2013-07-23 20:43:51 -04:00
Braden ec148008d0 Clean up code for multiple GameCube Controllers
Conflicts:

	Source/Core/DolphinWX/Src/Frame.cpp
	Source/Core/DolphinWX/Src/FrameTools.cpp
2013-07-23 20:35:33 -04:00
Braden 59d6df7046 Adds Support for multiple GameCube Controllers
Conflicts:

	Source/Core/DolphinWX/Src/Frame.cpp
2013-07-23 20:22:08 -04:00
Rachel Bryk 8a4b6f3d73 Forgot this from the last commit. 2013-07-23 19:55:17 -04:00
Rachel Bryk 9fdc7360cd Fix L and R triggers with tas input.
Partially copied from revision 1be844406c, but allows < fully pressed, and without the typo.
2013-07-23 19:44:43 -04:00
Jasper St. Pierre 09338c673c FrameTools: Use the correct window handle for resizing the window
We want to resize the OpenGL window, not the frame window.
2013-07-23 15:02:00 -04:00
degasus 0ba6d12e9d fix a small uid awsome bug 2013-07-23 02:13:40 +02:00
Jasper St. Pierre a963c621dc NetPlay: Sync across whether to save memcards or not
There's no reason this shouldn't be synced other than laziness.
2013-07-22 07:29:15 -04:00
Jasper St. Pierre 6d463d1b67 NetPlay: Allow building a server without a game
This isn't hooked up in the UI yet, but it will allow us to
basically start the server and chat system without choosing
a game.
2013-07-22 07:29:15 -04:00
Jasper St. Pierre 2631ec3cff Core: Remove an unused var 2013-07-22 07:29:15 -04:00
degasus 15b8ac64ef Implement zcomploc on OpenGL4.2+ 2013-07-22 12:02:16 +02:00
Jasper St. Pierre f693488c8a InputConfigDiag: Save the configuration when pressing "OK"
This fixes a common UI complaint of the control dialog UI.
Also, don't close the dialog if we have an error with the expression.
2013-07-22 03:19:38 -04:00
Jasper St. Pierre bc17798ef2 InputConfigDiag: Add a simple error status label
This tells you what you did wrong at a high level if you messed up.
2013-07-22 03:19:22 -04:00
Jasper St. Pierre 3c7f223aa1 Add "Q" / "E" as freelook keybindings
To move the view up and down.
2013-07-22 00:14:42 -04:00
Jasper St. Pierre 52482115e1 Move in-game keybinding handling to a central location
Instead of handling it separately in every backend.
2013-07-21 23:17:16 -04:00
Rachel Bryk e742b32c65 Drag and drop. 2013-07-21 22:25:26 -04:00
Jasper St. Pierre 4981b7cdd3 VertexShaderManager: Make ProjectionHack private
There's no reason to make this public, and it prevents a build
issue with the next commit.
2013-07-21 17:56:20 -04:00
Rachel Bryk 481c081db3 Merge branch 'possibly-useful-netplay-changes' 2013-07-21 13:33:14 -04:00
Ryan Houdek 82f7b20b91 There. Fix all the issues where we are using integers when we should be using floats in the texture conversion shaders. 2013-07-21 12:00:20 +00:00
Ryan Houdek 83a79c28ca Continuation of the previous commit. I missed a integer. 2013-07-21 11:27:26 +00:00
Ryan Houdek 6194234a54 Fix a issue in the texture conversion shaders that was multiplying an integer with a float. 2013-07-21 11:17:21 +00:00
Jasper St. Pierre fec641d14a X11: Don't do a round-trip to the server to figure out our size on configure
Simply use the values from the event structure.
2013-07-21 01:59:40 -04:00
Jasper St. Pierre 01ff85506d X11: Don't use a client event as a wrapper for XMoveResizeWindow
Simply configure the window from here
2013-07-21 01:59:40 -04:00
Jasper St. Pierre ca97b10dda Actually link to XI2
No idea how this was working before
2013-07-21 01:59:40 -04:00
Jasper St. Pierre bd7ca7625b Fix up last commit
I forgot to git add this change.
2013-07-21 00:51:07 -04:00
Max Eliaser fe2fe8b6cc Clean up all the GetName methods for XInput2 controls. 2013-07-20 13:58:02 -08:00
Max Eliaser 9fbc5ff27c Add X11 XInput2 input plugin, including MPX and with support for axis controls.
Based on the original XLib plugin, and thus shares some of its warts.
2013-07-20 13:58:02 -08:00
Rachel Bryk 41fe2e1466 Don't sync dual core setting in netplay. 2013-07-20 13:20:14 -04:00
Rachel Bryk 96219df4fd Allow non-SIDEVICE_GC_CONTROLLER controllers in netplay again. 2013-07-19 22:58:33 -04:00
Rachel Bryk e4767aec55 Sync some important settings with server during netplay. 2013-07-19 18:48:27 -04:00
Rachel Bryk 919e54c695 Automatically connect the appropriate controllers for netplay. 2013-07-19 15:53:20 -04:00
Rachel Bryk 0e1efd7d38 Poll the controllers with the same timing as movies for netplay. Might help prevent desyncs. 2013-07-19 15:01:04 -04:00
Ryan Houdek a3e289e802 [ARM] Reenable FMRX, it seems to work fine. 2013-07-17 04:29:17 -05:00
Ryan Houdek 86826b28dc [ARM] Implement LFD. Reorder VFP register allocation a bit. 2013-07-17 04:23:38 -05:00
Ryan Houdek dc66b3d474 Add Read_F32 and Read_F64 helper functions to MemmapFunctions. 2013-07-17 04:22:47 -05:00
Ryan Houdek 5147e5167b [ARM] Implement xorx 2013-07-17 02:34:20 -05:00
Ryan Houdek b30a697355 [ARM] Disable mfmsr. Implement stb and subfx. 2013-07-17 02:25:21 -05:00
Ryan Houdek 5899013876 [ARM] Implement MFTB 2013-07-17 01:35:07 -05:00
Ryan Houdek fc6e06cb72 [ARM] Implement mfmsr 2013-07-17 01:25:06 -05:00
Ryan Houdek bab3032185 On ARM Hosts, increase the instruction run count to 64bit. 32bit is /very/ quickly overflown. 2013-07-16 22:20:18 -05:00
Ryan Houdek f4b414a9c1 Fix encoding issue with VADD(Integer) 2013-07-16 22:18:15 -05:00
Ryan Houdek 9123f58bd5 Check for IDIVA/IDIVT correctly. Cortex-A5 parts would have had this set since it supports VFPv4 but not IDIVA. Qualcomm Krait/Krait 300 still doesn't report in the kernel that it supports this. 2013-07-16 01:22:25 -05:00
Jasper St. Pierre 4c807fa7b4 Fix Device.h placement in VC++ 2013-07-15 16:24:20 -04:00
Ryan Houdek 737df2a68c Patch from Degasus that removes the last of the the GL_TEXTURE_RECTANGLE usages. This is needed to have GLES3 support. 2013-07-13 17:24:23 -05:00
Ryan Houdek 52cb398804 [Android] Actually push the library file to the correct location. 2013-07-13 10:32:23 -05:00
Jasper St. Pierre b64e882ba5 ExpressionParser: Parse fully qualified control names correctly
Without clearing out the "accumulator" for the backtick parsing,
our control name was full of junk (the previous device name) causing
us to not correctly find the control.

Ensure that always we clear the "accumulator" string during backtick
parsing.
2013-07-12 13:26:09 -04:00
John Peterson c52a583090 Removing reading of the emulated Wiimote state in the real Wiimote mode
because

* the purpose of the emulated Wiimote state in the real Wiimote mode is to store the real Wiimote state rather than synchronise with an emulated Wiimote
2013-07-11 19:11:36 -04:00
degasus a1822a3aca fix AudioCommon::Mixer Buffer indices
This fix the 1h32 audio bug which outputs static sound after 1h32.

The mixer is used for 32->48kHz resampling and as output buffer for the async audio backends.
So this buffer was indiced by a writing and a reading pointer and the count of samples in it.
As this is redundant and the sample count isn't accurate calculateable because of the interpolation,
both indices gets out of sync. So after some time (~92min), this buffer overflows and return only garbage.

thx @ moosehunter + delroth for debugging on this issue. You did the most work :-)
2013-07-11 21:22:38 +02:00
John Peterson fd4a4410e5 Removing wait for real Wiimote connection
when

* opening the Wiimote configuration dialog
* booting from the emulated program entry point rather than a state

because

* it doesn't have meaning in these scenarios
* it has meaning when booting from a state
2013-07-11 11:32:14 -04:00
John Peterson e36757bec1 Adding read data reply to the real Wiimote
because the emulated program expect it
2013-07-11 11:32:09 -04:00
Ryan Houdek 6e74d4b21d [Android] Disable x64MemTools' backpatching. It isn't available on x86 anyway. 2013-07-11 09:00:08 -05:00
Ryan Houdek 012c32c14c [Android] Undefine the swaps in Android completely, not just on ARM Android. 2013-07-11 08:58:10 -05:00
Glenn Rice 8b65775ee1 Fix a couple of compiler warnings that have cropped up. 2013-07-10 15:07:57 -05:00
John Chadwick 16cd26d177 Add UPnP support.
Feedback is in logs as suggested by skid_au. The checkbox is still there, but
mostly for people who would like to opt out (unfortunately, I can not be sure
how this feature may behave for some routers - there's a hell of a lot of bad
UPnP implementations.)

The Visual Studio stuff is a little messy, so I apologize if anything is a bit
off. I tested most configurations and it worked.

I also tested CMake on Debian Wheezy, Ubuntu Saucy, and Mac OS X Mountain Lion.
All seemed to be OK.
2013-07-09 18:08:43 -04:00
Ryan Houdek 379a15ba3b Make confirm on stop default enabled. 2013-07-08 02:56:40 -05:00
Pierre Bourdon 22c80e1dc2 Fix ICC profiles in some of our PNGs (ic_drawer, Dolphin icon).
Also keep a PNG version of bin2c'd resources in order to make these kind of
changes easier in the future.

Fixes recent versions of libpng complaining loudly about our images.
2013-07-07 02:40:59 +02:00
Pierre Bourdon 9b128e9347 Disable LPF filtering in new-ax-hle
The current implementation is broken and this is a non critical feature.

Fixes new-ax-hle regression in Super Monkey Ball.
2013-07-06 14:35:19 +02:00
Pierre Bourdon 7b40874309 Implement AX command 0x11 (SET_OPPOSITE_LR) 2013-07-06 14:35:19 +02:00
Jasper St. Pierre b2e7248b58 LogWindow: Fix a bad initializer
Since these defaults aren't used, don't bother specifying them.
2013-07-05 22:39:18 -04:00
Ryan Houdek d584150851 Remove a warning from ARM includes already defining PAGE_SIZE and a warning in the FPR cache. 2013-07-05 20:56:17 -05:00
Ryan Houdek 7d6b36bf73 Fix most ARM warnings 2013-07-05 19:56:15 -05:00
Ryan Houdek cdfd7905a0 [Android] Copy over DSP roms and font assets on build and first runs. 2013-07-05 19:18:33 -05:00
Matthew Parlane 691900aa90 Disable encryption when checking Wiimote extension for scan.
This is for when we are checking if it is a Balance Board.
2013-07-03 23:05:30 +12:00
Matthew Parlane 998c4042c2 Add ability to dump Balance Board data to local udp port.
This probably won't work on Mac...
2013-07-03 23:05:29 +12:00
Lioncash 03a47d3c6b Fix a case where a boolean check (vector.empty()) was used when a clear (vector.clear()) was intended in ExpressionParser.cpp. 2013-07-02 21:42:44 -04:00
NeoBrainX 1f92ccc228 ShaderGen: Use u8 as uid storage base type. Fixes an off-by-one error introduced in revision bdc28106ee that caused some lighting issues. 2013-07-02 14:48:08 +02:00
Rachel Bryk de369dcc60 Misc cleanup and fixes for some of the bad code i've written.
Fixes a buffer overflow in the sscanf, move the movie.raw to the GC folder, and stops calling GetSettings() twice.
2013-07-01 17:44:42 -04:00
Rachel Bryk e4846de692 Add hotkeys for save/load state to/from file. 2013-06-30 19:01:30 -04:00
NeoBrainX c34c82e7ae VertexShaderGen: Fix a potential bug where vertex shader uids don't change when
pixel lighting is toggled.

Same as revision f524312fd1 but done properly (why is our shader gen code this dumb?).
2013-06-30 14:27:04 +02:00
NeoBrainX b8b5427ba4 VertexShaderGen: Fix a dumb regression from revision f524312fd1. 2013-06-30 11:36:45 +00:00
Jasper St. Pierre d5983b587e InputConfigDialog: Don't show "..." for complicated expressions
Just show the actual expression. We need to do a bit of mangling
here as wx has no way to turn off mnemonics parsing, so do that
as well.
2013-06-29 18:28:14 -04:00
NeoBrainX eb153cfded PixelShaderGen: Fix a small early-ztest related bug. 2013-06-29 23:14:08 +02:00
NeoBrainX 99301bd158 PixelShaderGen: Store early_ztest as part of shader uid. 2013-06-29 23:01:42 +02:00
NeoBrainX f524312fd1 VertexShaderGen: Fix a potential bug where vertex shader uids don't change when pixel lighting is toggled. 2013-06-29 23:01:42 +02:00
Jasper St. Pierre 1083d78721 InputConfigDiag: Put the colon after the device name
Oops. The dialog accidentally generated the wrong syntax for
this one.
2013-06-29 02:58:17 -04:00
NeoBrainX e3c0a39d5d Merge branch 'shader-uids-awesome-after-hours'. 2013-06-28 17:45:19 +02:00
NeoBrainX 166a9c5637 Finishing touches. 2013-06-28 17:43:53 +02:00
Jasper St. Pierre 11fdd5a4ec ExpressionParser: Search for control names first
Otherwise, valid control names like "Cursor X+" would be incorrectly
tokenized as "`Cursor` `X` +", causing the parser to first abort trying to
find a control named `Cursor` rather than aborting with invalid syntax on
the bad binop.

We could also do this by resolving devices lazily, but since simple
control name bindings are going to be 90% of usecases, just look for these
first.
2013-06-27 10:51:19 -04:00
Jasper St. Pierre a92f6f68d6 DInputJoystick: Fix compile
Whoops. MSVC++ messed up somehow and didn't tell me it didn't work
locally.
2013-06-26 23:26:21 -04:00
Jasper St. Pierre cdb5b8b737 DInputJoystick: Always exclude XInput
Yeah, yeah, it's possible that some guy would try to build DInput
without XInput, but they're crazy, and I doubt it would have worked
since the header file mess was so fragile anyway. Always exclude
DInput devices when we don't have XInput.
2013-06-26 23:06:17 -04:00
Jasper St. Pierre c11ae9ea4b Revert "Core: Update default bound controls for new ExpressionParser"
This reverts commit 54e1b58199.

We now support barewords control names, so use those instead.

Conflicts:
	Source/Core/Core/Src/HW/WiimoteEmu/WiimoteEmu.cpp
2013-06-26 20:25:37 -04:00
Jasper St. Pierre f53eefb491 ExpressionParser: Add support for simple barewords control names
If an expression can't be parsed normally, we then look to see if it's a
simple device name. This keeps backwards compatibility with simple input
ocnfigurations, where people just used the Detect button.
2013-06-26 20:19:23 -04:00
Jasper St. Pierre 03fdebac09 ExpressionParser: Don't crash when we can't find a device 2013-06-26 16:54:48 -04:00
Ryan Houdek 9edfb5c710 [Android] Disable OpenGL ES 3 EGL bit. This is due to drivers complaining(Which they should do) when they don't support GLES3. Qualcomm drivers don't care about it being ES2 or ES3 bit anyway. Intel drivers are untested in this code path, but GLES3 is untested entirely in desktop anyway. 2013-06-26 08:19:01 -05:00
Rachel Bryk 63a747edc0 Add shortcut to (dis)connect the balance board.
Fixes issue 6383.
2013-06-26 06:23:29 -04:00
Jasper St. Pierre 55950365e3 InputConfigDiag: Fix complex bindings with with left-click Detect
This fixes the binding of XBox 360 controllers and similar devices
with complex control names.
2013-06-25 15:05:53 -04:00
Rachel Bryk 5904ffb21d Fix last commit, and set the position on mouse down instead of mouse up. 2013-06-25 11:04:28 -04:00
Rachel Bryk b892d838ff Allow dragging the analog sticks with the tas input. 2013-06-25 10:52:25 -04:00
John Peterson e250550de3 Removing muted Wiimote audio
because that reduce writes
2013-06-25 09:24:45 -04:00
John Peterson 9e779c22b3 Removing Wii input use of an unsaved state value
because that allow the complete state to be loaded
2013-06-25 09:24:33 -04:00
John Peterson 0fd3acd152 Saving real Wiimote state
because that's simpler than reconnecting
2013-06-25 09:24:14 -04:00
NeoBrainX ba310ce096 PixelShaderManager: Revert code introduced mainly in revision 0fdeb81038.
The shader constant usage profile functionality is still buggy and the code using it wasn't ever meant to be merged to master.
2013-06-25 13:37:38 +02:00
Jasper St. Pierre 748ee50536 Core: Fix a typo in the binding of IR Up
Whoops.
2013-06-25 01:58:22 -04:00
Jasper St. Pierre 54e1b58199 Core: Update default bound controls for new ExpressionParser 2013-06-25 01:46:13 -04:00
Jasper St. Pierre 89e84163c2 ExpressionParser: Fix delimiter scanning
We need to make sure we eat the delimiter, otherwise we'll notice
the colon / backtick and think it's either a new control or part
of the control name
2013-06-25 01:44:28 -04:00
Jasper St. Pierre c5c86d17dc InputConfigDiag: Use "..." for complicated expressions
The full expression is quite often too big for a simple button
label, so encourage people to use the full editor to edit it.
2013-06-25 00:58:31 -04:00
Jasper St. Pierre 62281fbfde InputConfigDiag: Give the input text field a monospace font 2013-06-25 00:58:30 -04:00
Jasper St. Pierre 03a835ec07 InputConfigDiag: Update for the new expression language
Modify the buttons and editor interface for the new expression
language, like the new op name for add, the new device name syntax,
and add new editing features, like simple selection behavior on
unary ops.
2013-06-25 00:58:30 -04:00
Jasper St. Pierre a42388d061 ExpressionParser: Support bare words for simple control names
Using backticks for all control names can get a bit grating,
so support "A & B" instead of requiring "`A` & `B`".
2013-06-25 00:58:30 -04:00
Jasper St. Pierre d2753cce66 ExpressionParser: Add support for the add operator
Use "+" instead of "^" this time.
2013-06-25 00:58:30 -04:00
Jasper St. Pierre 6246f6e815 InputCommon: Add a new ExpressionParser to replace the old hack language
This contains a new, hand-written expression parser to replace the old
hack language based on string munging. The new approach is a simple
AST-based evaluation approach, instead of the "list of operations"
infix-based hack that there was before.

The new language for configuration has support for parentheses, and
counts "!" as a unary operator instead of the binary "NOT OR" operator
it was before. A simple example:

  (X & Y) | !B

Explicit device references, and complex device names ("Right Y+") are
handled with backticks and colons:

  (`SDL/0/6 axis joystick:Right X+` & `DInput/0/Keyboard Mouse:A`)

The basic editor UI that inserts tokens has not been updated to reflect
the new language.
2013-06-25 00:58:30 -04:00
Jasper St. Pierre 877106b027 InputCommon: Split Device stuff out
The ExpressionParser needs this to be out of here to prevent issues
with cyclic references.
2013-06-25 00:58:30 -04:00
Rachel Bryk 970661a0c5 Warning fix. 2013-06-24 12:30:08 -04:00
Rachel Bryk f73a97b242 Revert "fix warning: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'u8* {aka unsigned char*}'"
This reverts commit b9953f5d6a.
2013-06-24 09:16:14 -04:00
NeoBrainX 597a6b34cb Compactify VertexShader uid struct. 2013-06-23 19:29:02 +02:00
degasus a2e132dd4b small index generator optimiztions
- rewrite loops to not use divisions and multiplications
- remove warnings as the current implementations seems to be correct (ignore additional vertices)
2013-06-23 14:38:25 +02:00
Tetsuo55 b9953f5d6a fix warning: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'u8* {aka unsigned char*}' 2013-06-23 11:03:30 +02:00
Ryan Houdek eb579e4264 Merge in JP's change to fix audio stuttering with OpenAL. 2013-06-23 02:46:45 -05:00
Ryan Houdek 6bb7cc5fea [Android] Add an about screen that shows build revision. 2013-06-22 22:54:36 -05:00
Jordan Cristiano 8cf515359c fixed uninitialzed audio_size variable in WaveFileWriter 2013-06-22 23:24:05 -04:00
Jordan Cristiano fafdc4fcef DSBCAPS_GLOBALFOCUS allows sound to still play when the application is in the background. Other backends do this, so why not let dsound do it too. 2013-06-22 23:23:53 -04:00
Jordan Cristiano 911d73d85a added new license header to missed audio source files 2013-06-22 23:20:48 -04:00
NeoBrainX bdc28106ee Optimize shader uid checks by checking the number of uid values which are actually used. 2013-06-22 21:47:22 +02:00
NeoBrainX 16ada5fa3d Compactify generated UID generator assembly and generally cleanup code by storing tev stage hash values in a struct. 2013-06-22 21:47:22 +02:00
Ryan Houdek 2b9f79dff3 [Android] Remove SimonVT menudrawer library. Move to Google's support library for their navigation drawer support. Overall cleanup. 2013-06-22 07:45:05 -05:00
NeoBrainX 15943de313 Revert "Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp"
This reverts commit 7aae9ccbc0.

Reasons:
- no test results have been provided to prove the usefulness of the patch
- broken coding style
- the author hasn't replied to any criticism
2013-06-22 12:25:03 +02:00
Rachel Bryk 266236d6a4 When loading a save state in read only that mismatches the current movie, load the input prior to the save state from the save state's movie, instead of using the current movie's input up to that point.
This prevents desyncing before the save state.
2013-06-21 01:53:50 -04:00
Rachel Bryk 716f656d28 Save sync gpu setting to dtm header. 2013-06-20 06:08:17 -04:00
degasus 010165b2c2 fix gcc warning, probably also the logic
comparing two char pointers doesn't compare the strings
2013-06-20 10:43:09 +02:00
Ryan Houdek 02cbcc8ec4 [Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen. 2013-06-18 12:44:06 -05:00
NeoBrainX c4eb659fec BPMemory: Assign a more descriptive name to a field in the genmode register. 2013-06-18 17:25:16 +02:00
Ryan Houdek 6143594db6 [Android] Qualcomm glGetShaderInfoLog returns a max of 1024 bytes(tested) for the log, and glGetShaderiv with GL_INFO_LOG_LENGTH /always/ returns 0 on compile failure. 2013-06-18 10:24:36 -05:00
Lioncash d78f00971b Fix a free that should have been a delete. 2013-06-18 10:13:37 -04:00
Ryan Houdek 7df8a9cae8 Partial revert of 0247b2a97a. I'll add a work around for Qualcomm in a bit. Qualcomm shader compiler failing was only due to floating suffixes not whole function defines. Qualcomm video driver devs seem to have a good response time when it comes to OpenGL ES 3 issues. 2013-06-18 07:52:36 -05:00
Ryan Houdek 7223778520 [Android] Gamepad input. Refactor JNI native functions to all pull from a single class instead of everywhere willy-nilly 2013-06-18 07:09:38 -05:00
booto a518a1cbdc buffer fixes found via cppcheck/tetsuo-- 2013-06-18 13:17:50 +08:00
degasus c57a90c5b5 don't define clipPos twice
fix issue 6378
2013-06-17 23:24:54 +02:00
NeoBrainX 88bc8255b8 Merge branch 'shader-uids-awesome'.
Replaces the old, hardcoded shader ID generator with a semi-automatic mechanism that generates IDs from hints in the code generator.

Also introduces a flexible framework to do all kinds of funky stuff with the shader code generation logic. As an example, a uniform usage profile generation class is added (unused for now, though).

Functionality can still be tested by setting the EnableShaderDebugging field in the gfx config to True. Any two shaders which are identified with the same ID will be written to a file and an error message will be written to the Dolphin log.
2013-06-17 13:27:22 +02:00
NeoBrainX 8816369144 PixelShaderGen: Add some TODOs.
Totally the perfect commit message for a final commit before merging :p
2013-06-17 13:17:25 +02:00
NeoBrainX f724b47f45 PixelShaderGen: Fix more critical issues, some of which are regressions of revision 32b78a85. 2013-06-17 13:08:38 +02:00
NeoBrainX 2b2ca5260f PixelShaderGen: Fixed some bugs, removed unused shader uid fields. 2013-06-17 13:03:38 +02:00
NeoBrainX 7a01ceba73 PixelShaderGen: Fix various merge conflicts and a critical regression from revision 32b78a85. 2013-06-17 12:51:57 +02:00
Matthew Parlane 868c627876 Fixes Issue 6353 Remove extract apploader/dol from top level 2013-06-17 22:51:15 +12:00
NeoBrainX c505260ec1 Fix some merge conflicts. 2013-06-17 12:29:47 +02:00
NeoBrainX ca22872dae 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/VertexShaderGen.cpp
2013-06-17 12:05:47 +02:00
NeoBrainX f0ea525d3b PixelShaderGen: Change a comment slightly. 2013-06-17 11:39:50 +02:00
NeoBrainX 20719081df PixelShaderGen: Move RegisterStates from global storage to stack. 2013-06-17 11:37:41 +02:00
NeoBrainX 7e0db58b1e Fix stuff 2013-06-17 10:50:16 +02:00
NeoBrainX 32b78a8572 First steps of making the pixel shader uid struct more compact. 2013-06-17 10:50:12 +02:00
Matthew Parlane 43a4d41889 Handle 1 partition only, fixes Issue #6353 2013-06-17 19:25:55 +12:00
Armada 9594cac42c Build fix: Android NDK doesn't support any locale switching.
Also, Mac OS X doesn't support DX9.
2013-06-16 14:51:38 +02:00
Armada fc7099a905 Set the locale per-thread instead of globally when generating shaders. Add cross-compatible versions of newlocale, uselocale and freelocale.
This commit fixes a rare race condition when generating shaders because setlocale is global.
2013-06-16 12:33:13 +02:00
John Peterson 825c5ca09a Equalising the 32 and 64 bit state compression
because that allow loading both
2013-06-15 23:28:04 +02:00
John Peterson 5bd44d7e3f Build fix 2013-06-13 18:38:05 +02:00
John Peterson adb83cfabe Clarifying the OpenAL loop
because it isn't as clear as it can be
2013-06-13 18:04:02 +02:00
Ryan Houdek fa4ad82878 Fix Windows Compiling? 2013-06-12 03:14:13 -05:00
Ryan Houdek 9df3dbe13c Build Fix 2013-06-11 08:38:45 -05:00
Ryan Houdek 703a51e4c0 [Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still. 2013-06-11 08:33:56 -05:00
Ryan Houdek 8efdbcda9e [Android] Fix drawn buttons causing rendering issues. 2013-06-11 08:23:32 -05:00
Rachel Bryk 3e40f28369 Get video backend name via g_video_backend->GetName() instead of sconfig for movies, since that can be wrong.
Also, I still can't code. Or even notice when something obviously doesn't work.
2013-06-10 21:04:55 -04:00
skidau 92fdc15aa3 Implemented field order detection for PAL games. Fixes the shaking of the screen when XFB is enabled with a PAL game.
Fixes issue 6316.
2013-06-08 14:05:02 +10:00
skidau 196d152ad7 Invalidate the texture cache using the GPU thread when the CPU thread makes a request.
Fixes issue 6350.
2013-06-08 11:28:54 +10:00
ondra.hosek 3ff2a3a11a Fix the GameCube mic dialog header's invalid include guard.
Fixes issue 6349.
2013-06-06 21:30:50 +10:00
John Peterson b6e1127c8a Adding stick radius setting
because that makes it easier to adjust it

Adding visual aid for the hardware range because that makes it easier to adjust the radius relative to it
2013-06-06 09:28:59 +02:00
eli173 7aae9ccbc0 Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp 2013-06-01 19:17:52 -05:00
John Peterson 80b09c074e Changing the Gecko code comparison from metadata to data comparison
because different data sometimes have the same metadata
2013-06-01 09:21:57 +02:00
John Peterson 4dad640d5f Reading shake force from calibration rather than a constant
because that allow maximum force regardless of calibration
2013-05-28 23:46:01 +02:00
John Peterson 388ddee685 Adding condition to CoreTiming state function
because ev->type might be undefined in MODE_READ
2013-05-27 23:26:17 +02:00
Rachel Bryk ca12e7ee8f Make auto fullscreen resolution the default. 2013-05-25 13:51:52 -04:00
degasus 3378f7d6a7 fix auto fullscreen resolution on linux 2013-05-25 11:43:56 +02:00
Rachel Bryk 743230500f Add auto fullscreen resolution option. Not tested on Linux, let me know if it doesn't work (it probably does).
Fixes issue 6082.
2013-05-25 03:08:09 -04:00
Rachel Bryk 026ab26755 Save settings to file when booting a game.
Fixes issue 6310.
2013-05-24 19:06:01 -04:00
degasus a51d6a6ddd add new statistics for gpu buffer streaming 2013-05-23 21:07:01 +02:00
degasus 6a5e7d7be4 also hide hacked buffer option on d3d 2013-05-23 13:58:37 +02:00
degasus ae55d82e43 disable hacked buffer option for d3d 2013-05-23 11:08:07 +02:00
John Peterson f452a6442f Adding MMU state values to state
because that allow the MMU state to be loaded
2013-05-23 01:55:29 +02:00
Matthew Parlane 3778c96d48 Edge case where balance board returns corrupt extension type... 2013-05-22 22:39:55 +12:00
Rachel Bryk 10630989a4 Merge remote-tracking branch 'john-peterson/state4' 2013-05-21 20:14:15 -04:00
John Peterson 5e801fd6ef Adding DSP state values to state
because that allow the DSP state to be loaded
2013-05-22 02:13:23 +02:00
Rachel Bryk 10d1d19409 Set graphics settings while playing a movie in UpdateActiveConfig(), so settings can't be changed for a frame. 2013-05-21 19:20:22 -04:00
Matthew Parlane 86b4a87fef Merge branch 'wii_bb'
Adds Balance Board support.
2013-05-21 23:34:58 +12:00
Matthew Parlane d642abce46 Only show 4 config dialogs in wiimote config. 2013-05-21 23:31:41 +12:00
Matthew Parlane f178015461 Better checking for extension. 2013-05-21 22:54:01 +12:00
Matthew Parlane e2b0632334 Added a method for detecting Wiimote extension.
This is run before a Wiimote will be considered.
2013-05-21 21:42:19 +12:00
John Peterson 9a1b9e9b3b Removing ISO ini presence requirement for reading movie settings
because it's not necessary for running a movie
2013-05-19 19:47:32 +02:00
Matthew Parlane 56976ad6ea Fix coding style. 2013-05-19 14:57:04 +12:00
Matthew Parlane 065d772696 Windows should have support for Balance Board now.
Needs to be tested.
2013-05-19 14:45:24 +12:00
Matthew Parlane 7208823396 Added config for enabling Balance Board.
Fixed other structures that still assumed 4 of everything.
2013-05-19 00:30:20 +12:00
Matthew Parlane 59924d0291 It never had logging here anyway... 2013-05-18 22:31:22 +12:00
Matthew Parlane 08f6ba8274 I'm bad at mac.. sorry.
Used the correct name string.
2013-05-18 22:29:51 +12:00
Matthew Parlane 0b869cf12d Add mac support for balance board. 2013-05-18 22:26:00 +12:00
Ryan Houdek 2c7f9b1b78 [Android] Copy over the Dolphin shared library to the Android APK build directory so it doesn't need to be manually copied each time. 2013-05-18 03:56:45 -05:00
Matthew Parlane fccf377180 Fix IODummy FindWiimote method. 2013-05-18 20:35:37 +12:00
Matthew Parlane 19252f4e0e Initial commit with balance board working on Linux.
Will not work on any other platform currently.
Missing any sort of config, and definitely no emulation mode.
2013-05-18 20:31:37 +12:00
degasus a905b18ef1 Merge branch 'ppd' - per pixel depth
use always ppd is a huge gpu performance drop: 20%-50%
and always disable it cause some rendering issues
so there is an option again
But this time it's called "Fast Depth Calculation"
2013-05-12 07:29:31 +02:00
Ryan Houdek bf67378812 Fix the integer compare in our GLSL fmod function 2013-05-11 00:16:20 -05:00
Pierre 82cd91e944 DSPJIT: the shift value must still be loaded into the correct register
Fixes issue 6295
2013-05-10 20:12:49 +02:00
NeoBrainX f348712d3a BPMemory: Fix a small documentation mistake from revision 9365187f89. 2013-05-10 11:47:06 +00:00
degasus f7c3cacb5c ppd: fix small issues in my last commit 2013-05-10 12:51:06 +02:00
degasus 89be1cbf51 recreate "per pixel depth" option and renamed it to fast depth calculation 2013-05-09 17:48:48 +02:00
skidau 98e8f8d7d0 Forced an external exception check on DI interrupts. Fixes Summoner: A Goddess Reborn.
Fixes issue 6301.
2013-05-10 00:03:00 +10:00
degasus c7486609fa fix underflow in IndexGenerator::AddFan
fix issue 6282

The Last Story seems to render a fan with two vertices. It is non-sense as it
shouldn't do anything, but the code underflows at (u32)numVerts-3
2013-05-09 10:17:12 +02:00
NeoBrainX 9365187f89 BPMemory: Add register documentation for texture source adress and EFB configuration. 2013-05-06 22:20:17 +02:00
NeoBrainX 6871cc9700 FifoPlayerDlg: Improve navigating through search results. 2013-05-06 22:20:17 +02:00
Ryan Houdek 0247b2a97a [Android] More GLES3 things. Disable Framedumping and MSAA rendering. Remove the HLSL->GLSL shader defines since Qualcomm doesn't support this in their shader compiler. Now they get chosen in our shader generator instead. 2013-05-06 06:43:04 -05:00
Ryan Houdek b6963ce1cb [Android] Use vsnprintf for the log messages. 2013-05-05 23:37:01 -05:00
Ryan Houdek 09def3ed3f [Android] Add in a compiling option for GLES3 2013-05-05 23:37:01 -05:00
Glenn Rice 12d791a628 Fix some of the compiler warnings that have appeared recently. 2013-05-05 23:22:57 -05:00
John Peterson 46cd91dc0d Build fix 2013-05-05 21:23:16 +02:00
John Peterson 7cc2e3146b Updating Cheats manager when the ISO is changed etc.
The Cheats manager should be updated when the ISO is changed because it's non-modal

Removing code that read the ID from file because the cheats manager only has a use when an emulation is running (when the ID doesn't need to be read from the ISO again because it's in a variable). This fixes loading Gecko codes for .wad during an emulation because "VolumeHandler::GetVolume()" return false in this case
2013-05-05 12:25:53 +02:00
skidau 719f18a122 Forced an exception check on short ARAM DMA transfers. 2013-05-04 00:19:02 +10:00
skidau 18b0556e0d Immediately process ARAM DMA transfers if they are 1 block in length. Fixes the teleportation in Beyond Good and Evil.
Fixes issue 6289.
2013-05-03 23:20:48 +10:00
LPFaint99 c80309ee1a GCMemcard: Initialize the current/previous DIR BAT pointers when creating a new memory card fixes issue 6288 2013-05-01 11:28:02 -07:00
skidau 8bcd9a74c8 Clear the texture cache when a new dol is loaded via ES_LAUNCH. Fixes the black screen in The House of the Dead 2.
Abbreviated some of the information in the window titlebar.
2013-05-01 23:51:43 +10:00
lioncash c2859a5207 Dammit Ctrl-Z. Restore a wxSpinCtrl parameter that accidentally got removed in the last commit. 2013-05-01 09:41:45 -04:00
lioncash fbc77e956a Display the initial number of frames that are to be recorded in the Fifo Player.
Before this commit, nothing would would be displayed in the "Frames to Record" text control.

This fixes that by setting it to what m_FramesToRecord is initially set to, which is 1 (at the time of this commit).
2013-05-01 09:35:31 -04:00
lioncash 62065be788 Fix a bug where FIFO recording could not work.
Example (in step by step explanation):

1. Run Dolphin.

2. Go to Tools -> Fifo Player

3. Go to the Record tab and hit record and then stop without a game loaded.

The button is now disabled and will not become active again for the whole time that Dolphin is running. Dolphin must be closed and then re-opened in order to use it again. This fixes that.

I've tested it with multiple conditions to make sure this doesn't beef anything else related to the Fifo Player.

ie)

- Record then Stop without a game loaded (multiple times)
- Record then Stop with a game loaded (multiple times, as well as testing playback. All of which work fine).
2013-05-01 09:05:37 -04:00
NeoBrainX 2c7ed2a793 Apply color mask when alpha test parameters change. Required to make the changes in revision be706a3977 work properly.
Fixes issue 6080.
2013-05-01 11:50:37 +02:00
skidau e70a277af2 Added Dance Mat support for the Family Trainer/Active Life series.
Select the dance mat via Configure > Gamecube > Port 1 > Dance Mat

The dance mat is mapped to the GC Pad:

D-Pad Up = Blue Arrow Up
D-Pad Down = Blue Arrow Down
D-Pad Left = Blue Arrow Left
D-Pad Right = Blue Square
Y Button = Orange Arrow Up
A Button = Orange Arrow Down
X Button = Orange Arrow Right
B Button = Oranage Square
2013-04-30 23:36:46 +10:00
Rachel Bryk e5fdd301a9 Merge remote-tracking branch 'John-Peterson/state' 2013-04-29 22:32:08 -04:00
John Peterson ef2e0a87d0 Adding option to save and load state by timestamp
Load by timestamp: load last state is expanded from 1 to 8 actions, for newest to oldest state

Save by timestamp: overwrite the oldest state (or use an empty slot if available)

Adding remaining hardcoded state keys to hotkey dialog

Adding a program exit hotkey
2013-04-30 04:13:55 +02:00
NeoBrainX 76a316ffab Don't exit when bluetooth support is not available on Windows.
Fixes running Dolphin in Wine and on regular Windows setups where bthprops.cpl is not available.

Fixes issue 6283.
2013-04-29 21:32:13 +02:00
NeoBrainX 9cb263ad48 PixelShaderGen: Set some uid fields that I missed before. 2013-04-29 21:19:48 +02:00
NeoBrainX 02afec5076 Polish shader uid checking. 2013-04-29 21:00:39 +02:00
NeoBrainX 77dae3496a PixelShaderGen: Cleanups. 2013-04-29 19:52:12 +02:00
NeoBrainX adab4e37f7 Fix some mistakes from the master merge; some cleanups. 2013-04-29 19:37:32 +02:00
John Peterson 8dbe236606 Fixing or disabling the "Download Codes (WiiRD Database)" button problem
The "Download Codes (WiiRD Database)" button is enabled (and its click return silently without an effect) when "Tools → Cheats Manager" is opened when there's a running emulation for which there's no "[Gecko]" ini section, confusing the user about the reason for not downloading codes or showing an error when there's no running emulation

Solution

when there's a running emulation: fix the button

when there's no running emulation: disable the button (to indicate to the user that this button must be clicked elsewhere, in the ISO settings dialog, the user will realise or remember)
2013-04-29 12:00:23 -04:00
Glenn Rice 4f5832827e Merge branch 'fix-linux-win-resize' 2013-04-26 12:04:09 -05:00
Glenn Rice 2c8c6304d7 Make sure the EGL evdpy is closed. 2013-04-26 11:35:42 -05:00
Glenn Rice 1666e091ef Make EGL and X11 dpy/evdpy usage consistent. EGL needs testing. 2013-04-26 10:53:46 -05:00
Rachel Bryk 5afceca7a1 Apparently we can't trust m_strVideoBackend on osx. 2013-04-26 02:47:49 -04:00
Glenn Rice 03dfe7b816 The evdpy should be used for the X11 window creation and in the event
thread.  dpy should only be used for GL.
2013-04-25 23:41:45 -05:00
Rachel Bryk 3b732f695d Show video backend and audio engine in title bar.
Fixes issue 6276.
2013-04-25 19:59:08 -04:00
NeoBrainX 5e6b712651 Merge 'master' into shader-uids-awesome.
Conflicts:
	Source/Core/VideoCommon/Src/BPMemory.h
	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
2013-04-25 14:05:54 +02:00
NeoBrainX eef95fa4c5 ShaderGenCommon: Adding documentation. 2013-04-25 13:30:41 +02:00
Matthew Parlane d18b71ccf9 Back to broken ES_launch but 4 wiimotes working. 2013-04-25 15:28:42 +12:00
Matthew Parlane 7c50ac931d Update before enqueue. 2013-04-25 14:37:12 +12:00
Matthew Parlane a2b543d47f request_queue may not have anything in it on return from ExecuteCommand
i.e. when calling ES_Launch and everything is reset.

Don't call Update after queuing a request.
2013-04-25 14:24:05 +12:00
Matthew Parlane 00316e182b Cleanup session data on deconstruct. 2013-04-25 01:59:20 +12:00
Matthew Parlane c3dbbe011d Merge branch 'master' into wii-network 2013-04-25 01:41:45 +12:00
Matthew Parlane 62ebfa0a78 Probably breaks a "fixed" issue.. 2013-04-25 01:39:33 +12:00
Lioncash 8da425b008 Formatting cleanup for VideoCommon.
Block braces on new lines.

Also killed off trailing whitespace and dangling elses.

Spaced some things out to make them more readable (only in places where it looked like a bit of a clusterfuck).
2013-04-24 09:21:54 -04:00
Matthew Parlane e98069b647 Merge branch 'master' into wii-network 2013-04-25 01:13:14 +12:00
Matthew Parlane c118c71eac ES needs to handle it's own reply.
pDevice was being used after free otherwise.
2013-04-25 01:11:36 +12:00
Matthew Parlane 5df545926b Tidy up and support for setting rootca. 2013-04-24 21:35:36 +12:00
degasus 4a48485482 Revert "Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.""
This reverts commit 8b7141d3de.

GLSL120 can't handle integer attributes :-(
2013-04-24 03:03:52 +02:00
Ryan Houdek bd72e13dd4 Generally make the Android UI better. 2013-04-23 14:27:49 -05:00
Ryan Houdek f28efc24eb Have our EGL interface use our logging functions. 2013-04-23 14:27:49 -05:00
Matthew Parlane 934e150596 Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Core/Src/Boot/Boot_BS2Emu.cpp
	Source/Core/Core/Src/ConfigManager.cpp
	Source/Core/Core/Src/HLE/HLE_OS.h
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.h
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp
	Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.h
2013-04-24 00:48:00 +12:00
Matthew Parlane b652f1974f Completed port to gnutls for linux. 2013-04-24 00:32:44 +12:00
Glenn Rice 9a50d055a1 Add Swedish translations. 2013-04-23 06:44:33 -05:00
Lioncash e3e818f83c Fix parameter naming in DSPEmulator.h. Should be "HLE" in CreateDSPEmulator's prototype, not "LLE". 2013-04-23 07:21:48 -04:00
Pierre 9a8dd7963e Merge branch 'dspjit'
Conflicts:
	Source/Core/Core/Src/DSP/Jit/DSPJitExtOps.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitMisc.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitRegCache.cpp
	Source/Core/Core/Src/DSP/Jit/DSPJitUtil.cpp
2013-04-21 12:29:18 +02:00
Ryan Houdek 9720d6b418 Allow runtime setting of fastmem in ARM and disable since it seems to be causing issues again. Cortex-A9 only? 2013-04-20 17:36:49 +00:00