Commit Graph

8030 Commits

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