Commit Graph

10976 Commits

Author SHA1 Message Date
Jules Blok
d7804a4d3e Cosmetics. 2014-11-23 14:27:39 +01:00
Jules Blok
9b22e15180 VideoConfigDiag: Add stereoscopy options group. 2014-11-23 14:27:38 +01:00
Jules Blok
4d9589b35f Cosmetics. 2014-11-23 14:27:38 +01:00
Jules Blok
9b4185ffdf ShaderGen: Make use of padding to store the stereo flag. 2014-11-23 14:27:38 +01:00
Jules Blok
35342664e3 OGL: Disable stereoscopy if the GPU does not support geometry shaders. 2014-11-23 14:27:38 +01:00
Jules Blok
f370cb386c ProgramShaderCache: Always generate a geometry shader UID, even if stereoscopy is disabled. 2014-11-23 14:27:38 +01:00
Jules Blok
6cacfad010 GeometryShader: Transform the projection within the geometry shader.
Reduces the amount of data transferred through uniforms.
The shearing transformation is reduced to a single multiplication/addition for optimization.
2014-11-23 14:27:38 +01:00
Jules Blok
4fd943aedd VideoConfig: Limit the Stereo 3D option to the OpenGL backend. 2014-11-23 14:27:38 +01:00
Jules Blok
284be96cd5 OGL: Recreate the framebuffers when the stereo setting changes. 2014-11-23 14:26:56 +01:00
Jules Blok
63b37e29d1 ShaderGen: Rename "eye" to "layer".
Keeping things generic.
2014-11-23 14:26:56 +01:00
Jules Blok
d583720a59 GeometryShaderGen: Support stereoscopy on GPUs without support for instancing. 2014-11-23 14:26:56 +01:00
Jules Blok
176191dc16 ShaderGenCommon: Move uniforms into a common static string. 2014-11-23 14:24:09 +01:00
Jules Blok
0a72cf94cb TextureCache: Ignore the geometry shader if stereoscopy is disabled. 2014-11-23 14:24:09 +01:00
Jules Blok
fa32f751d3 ShaderGen: Handle ShaderCode objects directly.
ShaderGeneratorInterface does not have virtual function members, so we have to implement each type explicitly.
2014-11-23 14:24:09 +01:00
Jules Blok
b236c363de ShaderGen: Add a stereoscopy flag in the UID data. 2014-11-23 14:23:42 +01:00
Jules Blok
4fe9ceeee2 TextureCache: Set proper vertex limit in geometry shader.
Without instancing 6 vertices are output instead of 3.
2014-11-23 14:23:42 +01:00
Jules Blok
5944d15021 TextureCache: Check the number of layers before reusing a texture. 2014-11-23 14:23:42 +01:00
Jules Blok
272ea90ca5 GeometryShaderGen: Allow stereoscopy to be disabled.
Will facilitate future use of this generator for other purposes.
2014-11-23 14:23:41 +01:00
Jules Blok
80616c6e9e TextureCache: Implement layered framebuffer support.
Stereoscopic EFB2Tex is now supported.
2014-11-23 14:23:41 +01:00
Jules Blok
d9e280e338 PixelShaderGen: Sample the correct texture layer. 2014-11-23 14:23:41 +01:00
Jules Blok
f6ea293027 VertexShaderManager: Compute stereoscopy projection matrices. 2014-11-23 14:23:41 +01:00
Jules Blok
c64486075d PostProcessing: Add layered stereoscopy support. 2014-11-23 14:23:41 +01:00
Jules Blok
81e9004679 VideoConfigDiag: Add Stereo 3D option. 2014-11-23 14:23:41 +01:00
Jules Blok
2d8ec62beb Pass VS_OUTPUT structs between shaders. 2014-11-23 14:23:41 +01:00
Jules Blok
b005f61a2e Add geometry shader generator for stereo 3D. 2014-11-23 14:22:55 +01:00
degasus
6670cacddc use GL_TEXTURE_2D_ARRAY for most of our textures 2014-11-23 14:22:22 +01:00
Lioncash
60e9301f40 Merge pull request #1586 from lioncash/ar
DolphinWX: Fix button handling for AR codes and ISO patch removal.
2014-11-22 17:42:21 -05:00
Lioncash
f73b6abdf5 DolphinWX: Fix patch removal 2014-11-22 17:25:14 -05:00
Lioncash
be2331b6f1 DolphinWX: Fix button handling for AR codes 2014-11-22 16:44:31 -05:00
degasus
6f3e20ac42 OGL: disable bbox writes if not supported 2014-11-22 15:17:57 +01:00
degasus
36fe8ccf46 OGL: also show driver warnings on release builds 2014-11-22 15:07:52 +01:00
Ryan Houdek
2fdeefb65b Adds support for OpenGL ES draw_elements_base_vertex.
This is the same extension that we all know and love but under a different name with some different requirements.
In regular OpenGL fashion, you can't just move a desktop OpenGL extension to OpenGL ES without ratifying a new extension, which is why this falls
under a EXT extension, which in turn causes it to have suffixes attached to their function names.

This is the first step in our way towards conquering all mobile GPUs that don't support desktop OpenGL, hopefully we also can add support for
buffer_storage to OpenGL ES as well so we can make full use of this extension.
2014-11-21 18:57:32 -06:00
Augustin Cavalier
1e17bbce0f DolphinQt: GameList! 2014-11-21 18:36:49 -05:00
Ryan Houdek
e84999386b Merge pull request #1579 from Sonicadvance1/armv7-fastmem-rewrite
Rewrites ARMv7 fastmem entirely.
2014-11-21 14:54:05 -06:00
Ryan Houdek
bfbbddd76f Rewrites ARMv7 fastmem entirely.
This is a fairly lengthy change that can't be separated out to multiple commits well due to the nature of fastmem being a bit of an intertangled mess.
This makes my life easier for maintaining fastmem on ARMv7 because I now don't have to do any terrible instruction counting and NOP padding. Really
makes my brain stop hurting when working with it.

This enables fastmem for a whole bunch of new instructions, which basically means that all instructions now have fastmem working for them. This also
rewrites the floating point loadstores again because the last implementation was pretty crap when it comes to performance, even if they were the
cleanest implementation from my point of view.

This initially started with me rewriting the fastmem routines to work just like the previous/current implementation of floating loadstores. That was
when I noticed that the performance tanked and decided to rewrite all of it.

This also happens to implement gatherpipe optimizations alongside constant address optimization.

Overall this comment brings a fairly large speedboost when using fastmem.
2014-11-21 05:21:57 -06:00
Matthew Parlane
1f7dbbef07 Merge pull request #1567 from comex/remove-android-ndk-hack
Remove Android <ucontext.h> hack.
2014-11-21 19:56:28 +13:00
Matthew Parlane
4ef0ab2731 Merge pull request #1534 from FioraAeterna/fixd3dtex1x1
D3D: fix issues with multi-level 1x1 textures on D3D
2014-11-21 19:12:58 +13:00
Matthew Parlane
21e4e035cc Merge pull request #1281 from Stevoisiak/RenameEuRGB60
Renamed EuRGB to PAL60
2014-11-21 19:09:42 +13:00
Lioncash
2ef4a939dc Merge pull request #1529 from FioraAeterna/ssevertex
Vertex loader: more vector code
2014-11-20 22:33:29 -05:00
skidau
15e7a8c247 Merge pull request #1573 from kamiyo/fix-wiimote-speaker
Fix wiimotespeaker emulation affecting real wiimote
2014-11-21 13:13:21 +11:00
comex
aa452f4fe8 Merge pull request #1576 from comex/osx-qt-build-fixes
OS X Qt build fixes
2014-11-20 12:11:43 -05:00
Fiora
3ddf82a318 Vertex Loader: SSE implementations of more position/texcoord/normal formats
~35-45% faster NFS:HP2, possibly other vertex-bound games.
2014-11-20 02:13:19 -08:00
skidau
2968cb138c Fixed the fast disc speed option (immediately service the interrupt instead of going through the scheduler). 2014-11-20 18:23:05 +11:00
skidau
ba1a8d2ef3 Merge pull request #1517 from JosJuice/cav-disc-drive
DVDInterface: Timing accuracy improvements
2014-11-20 13:30:02 +11:00
comex
fb50cb6d99 Merge pull request #1550 from degasus/bbox
OGL: implement bounding box support with ssbo
2014-11-19 20:25:23 -05:00
comex
ba4a763410 Move library aggregation into common CMakeLists.txt; add missing libs to DolphinQt.
Fixes DolphinQt build (on OS X, anyway) when libav is enabled.
2014-11-19 20:09:12 -05:00
comex
dd2c8c49b3 Merge pull request #1515 from RachelBryk/gpudeterminism-isoprops
Add GPUDeterminismMode to isoproperties.
2014-11-19 20:03:52 -05:00
Lioncash
ccebac8bcc Merge pull request #1456 from Stevoisiak/AddCountries
Additional Country Filters
2014-11-19 19:21:59 -05:00
comex
688b1e537e rename CopyDataIntoBundle target name to avoid wx/qt conflict 2014-11-19 14:53:51 -05:00
Lioncash
19dabee326 Merge pull request #1568 from rohit-n/android-warnings
Android: Silence a few warnings.
2014-11-19 12:17:13 -05:00
Ryan Houdek
a3f9f21e08 Merge pull request #1571 from degasus/master
OGL: fix buffer destruction
2014-11-19 02:13:36 -06:00
kamiyo
e76e3b7390 Added condition so that function to mix wiimote-speaker data into the master mixer is called only if wiimote is emulated. 2014-11-19 01:28:11 -05:00
skidau
f5aed3d6c6 Merge pull request #1548 from skidau/region-australia
Added Australia to the list of valid PAL regions
2014-11-19 16:59:08 +11:00
skidau
ca3e5ce5e1 Added an exception check when the game is close to overflowing. Fixes the fifo overflow that occurs in Battalion Wars 2.
Changed the CPEnd loop check to an exact match.
2014-11-19 12:48:09 +11:00
skidau
3d448e49c6 Update CPStatus before processing the FIFO events and force an exception check on interrupts.
Added more information into the FIFO unknown opcode error message.
2014-11-19 12:48:08 +11:00
skidau
b2c02e216c Separated out the CPU and GPU thread path to avoid clobbering.
Removed the Eternal Darkness check as it is no longer required.

Fixes issue 7835.
2014-11-19 12:48:08 +11:00
skidau
32f2cd8c7f Merge pull request #1566 from Sonicadvance1/fix_gl21
Fixes GLExtensions for GL 2.1 or GLES 2 devices.
2014-11-19 12:47:23 +11:00
Steven Vascellaro
695bbac36a Removed SDK flag
SDK is not an official Nintendo country code, and is not actually used
by any official software.
2014-11-18 19:44:17 -05:00
Stevoisiak
f1a26ff654 Various country flag improvements
* Added country flags for games from Netherlands and Spain
* Added separate category for Region Free games (Uses European flag as placeholder)
* Added missing country filter options in "show regions" menu
* Rearranged country filters for readability
* Incremented CACHE_REVISION

Also fixed various country filters not showing up as options in the "Show regions" menu.
2014-11-18 19:44:16 -05:00
degasus
ff942d44b5 OGL: fix buffer destruction
This buffer will be unbound in the StreamBuffer class itself, so no need to unbind them before.
2014-11-18 23:13:06 +01:00
Stevoisiak
e7a82c4ded Renamed EuRGB60 to PAL60 2014-11-18 16:51:21 -05:00
Lioncash
f7d1943615 Merge pull request #1570 from lioncash/scale
WxUtils: Get rid of GetCurrentBitmapLogicalScale
2014-11-17 20:55:14 -05:00
skidau
2affe25191 Merge pull request #1559 from Sonicadvance1/armv7-minor-optimizations
ARMv7 block profiling + minor optimization
2014-11-18 12:51:03 +11:00
Lioncash
3c23a9afc9 WxUtils: Get rid of GetCurrentBitmapLogicalScale
wx now provides the means to query this.
2014-11-17 20:16:33 -05:00
degasus
c211450b99 OGL: implement bounding box support with ssbo
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-11-17 21:20:32 +01:00
Dolphin Bot
dced84d440 Merge pull request #1564 from RachelBryk/freelook
Make freelook hotkeys configurable.
2014-11-17 20:44:48 +01:00
Rohit Nirmal
8ec791c4f3 Android: Silence a few warnings. 2014-11-17 19:21:38 +00:00
Lioncash
f78600ec9e Merge pull request #1562 from lioncash/host
Host: Kill off GetRenderWindowSize
2014-11-17 13:51:40 -05:00
Lioncash
b94dbca160 Host: Kill off GetRenderWindowSize 2014-11-17 13:44:49 -05:00
comex
c5a25d56e0 Remove Android <ucontext.h> hack.
There was a longstanding hack that defined ucontext_t manually to work
around the lack of this header on the Android NDK.  However, it looks
like newer NDK versions now have it like good little POSIX boys, and my
recent header reshuffle broke the build on those versions, presumably
because the real and fake definitions of ucontext_t end up included in
the same file where they weren't under the old organization.

Rather than try to revert the conflict, this commit just removes the
hack.  The buildbot's NDK will need to be upgraded.
2014-11-17 13:29:04 -05:00
Ryan Houdek
3bfa15d2e1 Fixes GLExtensions for GL 2.1 or GLES 2 devices.
This wasn't too much of a concern since we normally don't care about this feature set, but it is nice when testing on new devices and they don't
support the higher feature sets but want to run under software renderer.

The Mesa softpipe and PowerVR 5xx drivers don't support higher GL versions, but they shouldn't exit out just because they couldn't get a GL3 function
pointer that isn't even going to be used at that point.
2014-11-16 22:59:29 -06:00
Lioncash
5fce33f918 Merge pull request #1565 from Sonicadvance1/armv7-fix-fastmem
Fixes ARMv7 FP loadstores using fastmem when not enabled.
2014-11-16 22:22:22 -05:00
Ryan Houdek
f9208dcc13 Fixes ARMv7 FP loadstores using fastmem when not enabled. 2014-11-16 21:12:11 -06:00
Rachel Bryk
ea11c446c2 Make freelook hotkeys configurable. 2014-11-16 22:00:56 -05:00
skidau
5143adac0e Merge pull request #1306 from i418c/freelook_fixes
Freelook fixes
2014-11-17 13:03:23 +11:00
JosJuice
091db36162 DVDInterface: Add a delay for commands other than regular reads
Behavior inspired by WII_IPC_HLE_Device_DI.
2014-11-16 21:29:40 +01:00
JosJuice
c6e695b245 DVDInterface: CAV disc drive
Changes the read speed of GC discs from 3 MiB/s to 2-3.3 MiB/s,
depending on the location of the data. I also attempted to change the
speeds for Wii discs, but it has very little effect right now because
Wii games use IPC_HLE instead of DVDInterface. It does affect Wii
homebrew that reads Wii discs, though.
2014-11-16 20:57:26 +01:00
comex
aa2fc1f66b Merge pull request #1449 from comex/memtools-merge
Reorganize faulting stuff.  Differentiate between arch- and OS-specific defines.
2014-11-16 13:46:33 -05:00
i418c
92d4e38267 Changed the hotkeys to 1 and 2. Message in GUI changed to reflect this. 2014-11-16 10:39:54 -08:00
Ryan Houdek
30e1749d00 Implements block time profiling on ARMv7.
This was interesting implementing.
Our generic QueryPerformanceCounter function on ARMv7 was so slow that profiling a block was impossible.
I waited about five minutes and I couldn't even get a single frame to output.
This instead uses ARMv7's PMU to get cycle counts, which are a relatively minor performance drop in my testing.
One disadvantage of this method is that the kernel can lock us out of using these co-processor registers, but it seems to work on my Jetson board.
Another disadvantage is that we aren't having block times in "real" time but cycles instead, not too big of a deal.

This also removes instruction run counts from profiling because that's just annoying and we don't expose an interface for even getting those results
from our UI.
2014-11-16 09:29:27 +00:00
Ryan Houdek
b24197f913 Adds MCR/MRC to the ARMv7 emitter. 2014-11-16 09:29:27 +00:00
Ryan Houdek
6683b194ff ARMv7 register cache optimizations.
Enable support for not loading a destination register on FPR cache.
Dump registers if they won't be used later in the block. Stolen from Fiora.
2014-11-16 09:29:22 +00:00
Lioncash
c0291d5b88 Merge pull request #1558 from comex/command-thread-mismatch
Fix wxCommandEvent/wxThreadEvent subclass mismatch
2014-11-16 00:03:35 -05:00
comex
37b14bdec9 Fix wxCommandEvent/wxThreadEvent subclass mismatch
Regression by 3fed975bac caused netplay to
crash on OS X.  While I'm at it, fix the long-standing "unsafe i guess"
AddPendingEvent, since we depend on wx 3 now...
2014-11-15 23:52:19 -05:00
comex
4e484faf4c Merge pull request #1557 from lioncash/join
Core: Join some variable declarations and assignments
2014-11-15 20:53:45 -05:00
Lioncash
5d2ca2dfcc Merge pull request #1554 from lioncash/unique
ISOFile: Get rid of a delete call
2014-11-15 20:27:59 -05:00
Lioncash
3eab75bc9c Core: Join some variable declarations and assignments 2014-11-15 20:21:35 -05:00
Lioncash
43b8749c60 Merge pull request #1555 from lioncash/ref
WatchView: Pass string by reference in SetWatchName
2014-11-15 18:02:10 -05:00
Ryan Houdek
4ce1b33e55 Merge pull request #1551 from Sonicadvance1/armv7-float-fastmem
Reimplements fastmem for ARMv7 floating point loadstores.
2014-11-15 15:32:17 -06:00
Ryan Houdek
181f16c5f0 Reimplements fastmem for ARMv7 floating point loadstores.
This implements a new system for fastmem backpatching on ARMv7 that is less of a mindfsck to deal with.
This also implements stfs under the default loadstore path as well, not sure why it was by itself in the first place.

I'll be moving the rest of the loadstore methods over to this new way in a few days.
2014-11-15 21:17:50 +00:00
Lioncash
04ee0245e2 WatchView: Pass string by reference in SetWatchName 2014-11-15 14:06:12 -05:00
Lioncash
798a96bd2a ISOFile: Get rid of a delete call 2014-11-15 13:25:21 -05:00
comex
8dbef4e987 Merge pull request #1553 from degasus/master
OpcodeDecoder: Skip recursiv display lists
2014-11-15 11:05:41 -05:00
degasus
90613a1bda OpcodeDecoder: Skip recursiv display lists 2014-11-15 16:24:06 +01:00
skidau
cf8035e240 Merge pull request #1521 from RachelBryk/double
Fix some double->float conversions.
2014-11-15 23:31:47 +11:00
Rachel Bryk
fa18518cef Fix reading wii revisions. 2014-11-15 00:39:54 -05:00
skidau
99141a2698 Added Australia to the list of valid PAL regions 2014-11-15 16:16:37 +11:00
Rachel Bryk
fa5e3ec292 Implement GetRevision() for wii disks. 2014-11-14 21:06:26 -05:00
comex
0cf8ab175b Fix UCodes.cpp to use UTF-8 encoding. 2014-11-14 11:53:56 -05:00
Ryan Houdek
b0becf7af8 Enables the ARMv7 FPR cache.
The problem instructions with the FPR are disabled in the previous commit. This can now be reenabled for fairly large performance gains.
2014-11-14 15:14:10 +00:00
Ryan Houdek
69c3e6516c Disables NEON optimized instructions.
These are causing issues in games. In particular you get pink on the screen in Animal Crossing.
Disable until fully investigated.

This also disables fastmem on floating point loadstore instructions which are horribly broken and won't actually backpatch when an invalid read/write
is encountered.
2014-11-14 15:13:13 +00:00
Lioncash
8f92059705 LogWindow: Fix the timer event bindings 2014-11-14 00:46:42 -05:00
Lioncash
e789920340 Merge pull request #1539 from Stevoisiak/newImprovedFormatting
Various formatting and consistency fixes
2014-11-13 23:05:46 -05:00
Stevoisiak
b25e1a2eb4 Various formatting and consistency fixes 2014-11-13 22:42:18 -05:00
Lioncash
3b2d605fb5 Merge pull request #1538 from Stevoisiak/netplayCleanup
Removed "Dual Core [OFF]" from netplay warnings
2014-11-13 21:53:30 -05:00
Stevoisiak
6bb9a909a2 Removed "Dual Core [OFF]" from netplay warnings
Requested by JMC47
2014-11-13 21:15:07 -05:00
skidau
1e5a232464 Merge pull request #1537 from lioncash/wx
MemoryView: Fix a dealloc of a stack reference
2014-11-14 13:00:21 +11:00
skidau
8af52f6c72 Merge pull request #1532 from RachelBryk/dot
Fix the red dot not showing up in input config when pointing right.
2014-11-14 12:59:28 +11:00
Lioncash
ffc00b42e9 MemoryView: Fix a dealloc of a stack reference
stack allocation only works with the root menu. Any other children must be
heap allocated.

These however, will be freed by wxWidgets.
2014-11-13 20:10:40 -05:00
Lioncash
5fb94230cd Merge pull request #1531 from lioncash/notebook
FrameAui: Allow notebook tabs to be rearranged in the parent notebook.
2014-11-13 01:37:22 -05:00
Fiora
733795891c D3D: fix issues with multi-level 1x1 textures on D3D
Fixes NBA 2K11, maybe other things.
2014-11-12 21:43:48 -08:00
skidau
4ca39d173b Merge pull request #1530 from lioncash/ui-leaks
DolphinWX: Eliminate some memory leaks
2014-11-13 13:39:44 +11:00
skidau
b1f8974db8 Merge pull request #1527 from FioraAeterna/mftbfix
JIT: revert accuracy improvement to mftb
2014-11-13 12:11:13 +11:00
Lioncash
5a89ba20d7 Merge pull request #1528 from lioncash/netplay
Small Netplay dialog cleanups.
2014-11-11 21:19:24 -05:00
Lioncash
cae3f0bde0 FrameAui: Allow notebook tabs to be rearranged in the parent notebook. 2014-11-11 21:07:39 -05:00
Rachel Bryk
463c4faf1c Add GPUDeterminismMode to isoproperties. 2014-11-11 20:19:19 -05:00
skidau
1095d3fc33 Merge pull request #1523 from FioraAeterna/fifo64
JIT: add 64-bit write support to FIFO functions and fix immediates
2014-11-12 12:12:16 +11:00
skidau
0cb9dcb5fc Merge pull request #1520 from JosJuice/dvdinterface-init
DVDInterface: Initialize variables
2014-11-12 12:11:03 +11:00
Rachel Bryk
e9cb629723 Fix some double->float conversions. 2014-11-11 14:14:22 -05:00
Rachel Bryk
a371635990 Fix the red dot not showing up in input config when pointing right. 2014-11-11 13:42:42 -05:00
Lioncash
892bbdade6 DolphinWX: Eliminate some memory leaks
Since the menus aren't actually assigned a parent, they would not be freed by wx. Plus, these should have initially been constructed on the stack in the first place.
Technically any time someone right-clicked the game list they would be leaking memory.
2014-11-11 09:50:16 -05:00
Lioncash
ec82f02580 NetPlayDiag: Get rid of unnecessary text limit check
The text control is limited to 2000 characters on creation.
2014-11-11 00:12:23 -05:00
Lioncash
3fed975bac NetPlayDiag: Get rid of event table 2014-11-10 23:38:20 -05:00
Fiora
4b105ed0e4 JIT: revert accuracy improvement to mftb
Fixes a few games (e.g. Karaoke Revolution Party) for reasons explained in the
comments.
2014-11-10 20:31:07 -08:00
Lioncash
5891266e67 NetPlayDiag: Make the window title translateable 2014-11-10 23:26:56 -05:00
skidau
71d8165a86 Merge pull request #1518 from lioncash/evt
DolphinWX: Kill off trivial event tables
2014-11-11 11:55:49 +11:00
Matthew Parlane
b1d8ca4730 Install nogui executable to bindir 2014-11-10 07:53:11 +00:00
Fiora
6603f98d04 JIT: add 64-bit write support to FIFO functions
Also fix 64-bit values passed to CallAC and otherwise correct immediate
handling in FIFO writes.
Fixes 007 Nightfire.
2014-11-09 21:24:30 -08:00
Yuriy O'Donnell
dc08de028c Moved projection epsilon to a more reasonable place 2014-11-09 15:25:49 +01:00
JosJuice
519d851bf8 DVDInterface: Initialize variables 2014-11-09 11:54:04 +01:00
skidau
c34c231df1 Merge pull request #1508 from skidau/emu-wiimote-speaker-sample-rate-zero
Ignore the emulated wiimotes speaker data if the sample rate is set at 0hz
2014-11-09 17:58:34 +11:00
Lioncash
ac387031a4 DolphinWX: Kill off trivial event tables
Also fixes some of the wonky stuff in Main where we would fire an event to do post-init stuff which isn't necessary anymore.
2014-11-09 00:08:33 -05:00
Lioncash
210567a919 DolphinWX: Remove unnecessary forward declarations 2014-11-07 22:16:13 -05:00
Rachel Bryk
83a6d28603 Fix analog l/r with tas input. 2014-11-07 20:44:38 -05:00
skidau
a2fa679b2e Merge pull request #1507 from lioncash/event
DolphinWX: Eliminate most usages of event tables in the debugger
2014-11-08 12:26:52 +11:00
skidau
0f615c754a Packed the emu wiimote structs, removed swap16 and removed the speaker amp as the amp was distorting the audio. 2014-11-08 11:33:20 +11:00
Lioncash
f9fe2d6487 Movie: Get rid of unnecessary explicit memcpys 2014-11-06 22:17:44 -05:00
Lioncash
1a214f7deb Merge pull request #1511 from lioncash/https
Main: Explicitly use the HTTPS site URL.
2014-11-06 22:15:04 -05:00
Jasper St. Pierre
44b879dac2 Destroy OpenMP 2014-11-06 18:38:24 -08:00
Lioncash
7a1dca993f Main: Explicitly use the HTTPS site URL. 2014-11-06 21:37:55 -05:00
Lioncash
a1b44a9027 Merge pull request #1509 from lioncash/headers
Remove unnecessary cstdarg header includes
2014-11-06 20:58:13 -05:00
Lioncash
8959adefb2 Merge pull request #1506 from waddlesplash/dolphin-qt
Dolphin[Qt|WX]: Miscellaneous cleanup.
2014-11-06 20:55:44 -05:00
Lioncash
4c62bd2edb Remove unnecessary cstdarg header includes 2014-11-06 20:50:11 -05:00
Lioncash
f6b4b4dbba Merge pull request #1497 from lioncash/host
Host: Kill off Host_SysMessage
2014-11-06 20:41:53 -05:00
Lioncash
d79c794e8c Merge pull request #1490 from rohit-n/initialize
Common: Fix -Wmaybe-uninitialized warning.
2014-11-06 20:37:32 -05:00
skidau
28228ee3ca Merge pull request #1496 from lioncash/wxify
DolphinWX: wx-ify the unofficial version warning
2014-11-07 12:33:50 +11:00
skidau
c36e7b9c23 Merge pull request #1494 from lioncash/statics
PPCCache: Make PLRU lookup tables static
2014-11-07 12:33:19 +11:00
Lioncash
a5d304eb16 Merge pull request #1495 from lioncash/unused
Interpreter: Remove dead patches() function
2014-11-06 20:31:01 -05:00
comex
ba48541c47 Merge pull request #1504 from comex/gpu-determinism-uninit-fix
Fix uninitialized GPU determinism mode for NAND titles or whatever.
2014-11-06 19:49:31 -05:00
Augustin Cavalier
a96acea03c Dolphin[Qt|WX]: Miscellaneous cleanup.
DolphinQt:
 * Make the connect() calls explicit, not automatic
 * Follow better naming convention for the QActions
 * Remove the Open action from the toolbar.
Dolphin[Qt|WX]:
 * Move the "Skip Bundle" option to the root CMakeLists so that both DolphinQt and DolphinWX can use it.
2014-11-06 15:47:27 -05:00
skidau
021cdac24c Ignore the emulated wiimotes speaker data if the sample rate is set at 0hz.
Fixes issue 7806.
2014-11-06 22:51:59 +11:00
Lioncash
ee22d091a0 DolphinWX: Eliminate most usages of event tables in the debugger.
Moves things over to Bind.
2014-11-05 23:03:06 -05:00
skidau
d1950c1920 Merge pull request #1488 from Tilka/llvm_stdint_defines
Work around LLVM header peculiarity
2014-11-06 14:31:10 +11:00
Fiora
b8d88a41e0 JIT: remove accidentally left-in debug code 2014-11-05 17:44:13 -08:00
comex
9d23a366c8 Fix uninitialized GPU determinism mode for NAND titles or whatever.
m_strGPUDeterminismMode can be set by either the global or game
settings.  Either way, it's then supposed to be parsed into an enum,
m_GPUDeterminismMode.  However, the code to do this was placed right
after checking for game settings, which doesn't happen at all if there
isn't a valid title ID.  Move it outside the if block.
2014-11-05 19:36:12 -05:00
Lioncash
606efbce10 PPCCache: Make PLRU lookup tables static 2014-11-05 19:35:30 -05:00
Lioncash
0e2f9114fc TASInputDlg: Narrow a variable scope in UpdateFromText 2014-11-05 13:52:03 -05:00
Rohit Nirmal
1beb047959 PowerPC: Remove unused variable. 2014-11-05 11:47:44 -05:00
Lioncash
884ec2ed13 Host: Kill off Host_SysMessage
Equivalent facilities already exist.
2014-11-05 02:30:48 -05:00
skidau
baaccfd2f0 Take into account the want_determinism option and do not create a DSP thread if determinism is needed. 2014-11-05 17:42:42 +11:00
skidau
5c862adfa7 Disabled the DSP thread if netplay or a movie has been started 2014-11-05 17:42:42 +11:00
skidau
2140ac15e4 Removed the DSP LLE on separate thread option.
The DSP thread will be enabled if the game is an AX ucode game and if the host has more than two cores (not including hyperthreading).
2014-11-05 17:42:42 +11:00
Lioncash
611f349429 DolphinWX: wx-ify the unofficial version warning 2014-11-04 23:13:25 -05:00
Lioncash
a105a9a557 Interpreter: Remove dead patches() function 2014-11-04 20:44:57 -05:00
skidau
0515ab852e Merge pull request #1230 from FioraAeterna/constaddr
JIT: improve handling of stores with a known address
2014-11-05 12:40:38 +11:00
skidau
a66b34cfc6 Merge pull request #1492 from FioraAeterna/fixregpreload
JIT: fix register preloading
2014-11-05 12:13:42 +11:00
Lioncash
50f442ac31 Merge pull request #1485 from Stevoisiak/capitalizeMenuOptions
Menu capitalization consistency
2014-11-04 09:19:15 -05:00
Fiora
b81686b582 JIT: fix register preloading
Partially broken by typoes in the bitset patch.
2014-11-04 04:50:05 -08:00
Fiora
f8880c0284 JIT: fix typo in optimization patch
Whoops... made us flush everything on every branch.
2014-11-04 02:04:30 -08:00
Rohit Nirmal
f361ef1eb3 Common: Fix -Wmaybe-uninitialized warning. 2014-11-03 21:38:42 -06:00
comex
9cba787871 Merge pull request #1408 from randomstuff/perf
Profiling: measure time on non-Windows/POSIX using clock_gettime
2014-11-03 22:36:32 -05:00
Lioncash
30f97723db Core: Fix potentially uninitialized variable warnings 2014-11-03 22:21:10 -05:00
comex
42d41a456e Merge pull request #1489 from FioraAeterna/revertopt
JIT: revert cmpXX optimization
2014-11-03 21:07:11 -05:00
Fiora
768273f59b JIT: revert cmpXX optimization
It seems like this wasn't correct in 100% of cases.
2014-11-03 17:50:20 -08:00
skidau
027791685a Merge pull request #1483 from comex/on-demand-exi-interrupts
Make EXI use CoreTiming events like everything else instead of having its own special check.
2014-11-04 12:31:12 +11:00
skidau
dc63f8f461 Merge pull request #1471 from RachelBryk/reset-record
Allow hard resets to be recorded in movies.
2014-11-04 12:30:48 +11:00
Tillmann Karras
c34d99e40e Work around LLVM header peculiarity
Bug report: http://llvm.org/bugs/show_bug.cgi?id=21472
2014-11-04 02:29:33 +01:00
Fiora
ce71c3cd4e JIT: fix valid_block marking
This caused invalidations that only affected the last portion of a JIT block
to fail, breaking Wii64's block linking. It might affect a bunch of other
games too; I haven't tested.
2014-11-03 16:23:44 -08:00
Ryan Houdek
8c981aad04 Merge pull request #1481 from FioraAeterna/fixclrcr
JIT: fix dumb mistake in crclr optimization patch
2014-11-03 14:43:38 -06:00
Jasper St. Pierre
e290a3d39c MemArena: Fix the launching of non-Wii games
When we cleaned up the code to calculate the shm_position and total_mem
in one step, we sometimes skipped over certain views because they were
Wii-only. When looking at the total memory, we'd look at the last field,
whether or not it was skipped. Since Wii-only fields are the last view,
this meant that the shm_position was 0, since it was skipped, causing us
to map a 0-sized field. Fix this by explicitly returning the total size
from MemoryMap_InitializeViews.

Additionally, the shm_position was being calculated incorrectly because
it was adding up the shm_position *before* the mirror, rather than after
it. Fix this by adopting a scheme similar to what we had before.
2014-11-03 11:08:59 -08:00
Stevoisiak
1be1d60c09 Menu capitalization consistency 2014-11-03 14:03:39 -05:00
Fiora
fc63c7ecae JIT: genericize immediate address handling, support in float stores too 2014-11-03 01:31:39 -08:00
comex
4cf8697957 Merge pull request #1480 from RachelBryk/warn
Fix some warnings.
2014-11-03 00:36:40 -05:00
Rachel Bryk
f9495a484c Allow hard resets to be recorded in movies. 2014-11-03 00:30:29 -05:00
comex
9f683f353b Make EXI use CoreTiming events like everything else instead of having its own slow special check.
Microphone is probably wrong/mistimed because it doesn't take into
account cycles late, but that's not a new issue here.
2014-11-03 00:28:46 -05:00
Fiora
e729fc4a28 JIT: fix dumb mistake in crclr optimization patch 2014-11-02 21:03:11 -08:00
Jasper St. Pierre
f660789254 MemArena: Merge the initialization code with the size calculation code
To make mistakes like in the previous commit less prevalent in the future.
2014-11-02 19:59:14 -08:00
Rachel Bryk
114b0f5d94 Fix some warnings. 2014-11-02 22:39:20 -05:00
Jasper St. Pierre
5e5ed07b41 MemArena: Fix the calculation of position in SHM
The code to calculate the offsets into the SHM file wasn't properly
respecting the skip flags, causing it to calculate offsets beyond
the end of the SHM file.
2014-11-02 19:25:42 -08:00
Jasper St. Pierre
64540bc60d MemArena: Fix a memory leak caused by pointer confusion
This code was ported from out_ptr, which was a double-pointer, and
wanted to double-check that the proper arena was actually allocated.

When I ported it to store the pointer directly in the view regardless
of whether out_ptr was non-NULL, I got confused here and instead
caused the code to only free the arena if the first byte was non-zero.
2014-11-02 19:25:42 -08:00
Ryan Houdek
204598a082 Merge pull request #1350 from FioraAeterna/integeropts
Various smallish JIT optimizations
2014-11-02 20:13:20 -06:00
Rachel Bryk
2eac08aa30 Add nunchuk support to tas input. 2014-11-02 20:52:13 -05:00
Lioncash
a41397d5d7 Merge pull request #1475 from lioncash/bind
TASInputDlg: Use Bind over Connect for event handling
2014-11-02 20:38:15 -05:00
comex
08b61fdd9c Merge pull request #1465 from degasus/master
VideoCommon: Remove GetPointer in fifo code
2014-11-02 19:58:45 -05:00
Jasper St. Pierre
1e93b0db19 MemArena: Rename GrabLowMemSpace to GrabSHMSegment
This code originally tried to map the "low space" for the Gamecube's
memory layout, but since has expanded to mapping all of the easily
mappable memory on the system. Change the name to "GrabSHMSegment" to
indicate that we're looking for a shared memory segment we can map into
our process space.
2014-11-02 16:51:27 -08:00
Jasper St. Pierre
079b881d20 MemArena: Clean up the code that does the mirroring 2014-11-02 16:51:26 -08:00
Jasper St. Pierre
6813473367 MemArena: Remove the low mappings for our pointers
These are effectively unused, since the memmap already maps them in one
place. For 32-bit, they might have some slight advantage, but we already
special-case the regular "high-mem" pointer for 32-bit, so just use the
one we already have...
2014-11-02 16:50:36 -08:00
Jasper St. Pierre
8858dc7764 Memmap: Remove vestigals of the memory-mapped EFB
It hasn't been memory-mapped for a long time.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre
dd0aadac97 MemoryWindow: Use p_pFakeVMEM, not the virtual mirror
They point to the same contents, so there's no reason to use the
mirror. This lets us make all the mirrors static.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre
4a59750b30 MemArena: Bail on Arch64 if the out_ptr allocation fails 2014-11-02 16:34:17 -08:00
Jasper St. Pierre
5a2340fead Memmap: Make the constants aligned to 8 nibble characters
Otherwise, the constants can be a bit confusing to read.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre
6317721c95 MemmapFunctions: Remove unused effective_address argument 2014-11-02 16:34:17 -08:00
Jasper St. Pierre
48aff73b6a MemArena: Remove duplicated code
I can't find any obvious difference between these two paths.
2014-11-02 16:34:17 -08:00
Jasper St. Pierre
81939e808f Memmap: Clean up indentation and whitespace a bit 2014-11-02 16:34:17 -08:00
comex
890b788633 Merge pull request #1467 from waddlesplash/dolphin-qt
DolphinQt: Games now boot!
2014-11-02 18:08:55 -05:00
Gabriel Corona
641e820257 Profiling: measure time on POSIX systems using clock_gettime 2014-11-03 00:07:12 +01:00
Lioncash
444e4fe3cf TASInputDlg: Use Bind over Connect for event handling 2014-11-02 14:16:07 -05:00
Augustin Cavalier
3d63d22e53 DolphinQt: adapt so that it can boot games. 2014-11-02 13:53:48 -05:00
Ryan Houdek
1c41acaddd Merge pull request #1264 from Stevoisiak/GCM-to-ISO
Gcm to iso
2014-11-02 11:29:41 -06:00
Ryan Houdek
b8cba759f4 Merge pull request #1398 from Stevoisiak/setDefaultISOFiletypes
ConfigMain: Added missing filetypes to default ISO options
2014-11-02 11:24:43 -06:00
Augustin Cavalier
29593d403b Move GLInterface to the OGL VideoBackend's directory. 2014-11-02 12:16:33 -05:00
Ryan Houdek
66f0ac2417 Merge pull request #1401 from Stevoisiak/updateResolutionTooltip
VideoConfigDiag: Updated video resolution description
2014-11-02 11:13:29 -06:00
Ryan Houdek
6e43562496 Merge pull request #1468 from Tilka/cleanup
Small cleanup
2014-11-02 11:02:35 -06:00
Ryan Houdek
2c602137b1 Merge pull request #1472 from lioncash/i18n
DolphinWX: Make the TAS dialog window titles translatable.
2014-11-02 09:58:10 -06:00
Ryan Houdek
13d58b3f16 Merge pull request #1460 from phire/moreGetPointer
Remove GetPointers in VideoSoftware.
2014-11-02 09:57:16 -06:00
Ryan Houdek
cd64253cb4 Merge pull request #1459 from Buddybenj/nunchuk
Nunchuck -> Nunchuk Fixes
2014-11-02 09:44:43 -06:00
Ryan Houdek
2b69d76e88 Merge pull request #1448 from skidau/mmio-read32
Fixed the endianess of the 32bit MMIO reads.
2014-11-02 09:36:43 -06:00
Ryan Houdek
0d70880d89 Merge pull request #1466 from Sonicadvance1/ARMv7-and-optimization
Optimizes ARMv7 andi{s,}_rc implementations.
2014-11-02 09:33:37 -06:00
Ryan Houdek
824bad458c Merge pull request #1454 from lioncash/interp
Interpreter: Remove a redundant macro
2014-11-02 09:33:19 -06:00
Ryan Houdek
409b240c2e Merge pull request #1469 from Tilka/nogui_abort
Reorder MainNoGUI shutdown
2014-11-02 09:31:51 -06:00
Ryan Houdek
83fcf710e8 Merge pull request #1462 from FioraAeterna/fixmftb
JIT: more mftb fixes
2014-11-02 09:31:25 -06:00
Lioncash
3d83433e90 DolphinWX: Make the TAS dialog window titles translatable. 2014-11-02 02:11:40 -05:00
Lioncash
ca2391dd1e CheatSearchTab: Use a more specific event type for ApplyFocus 2014-11-02 00:30:02 -04:00
Tillmann Karras
ff41dd479b Fix warnings about non-static variables 2014-11-02 04:51:44 +01:00
skidau
59c673aec6 Merge pull request #1161 from rohit-n/ogl-vector
OGL: Use unique_ptr instead of pointer when taking screenshot.
2014-11-02 14:19:00 +11:00
skidau
b241b6eadd Merge pull request #1452 from lioncash/morestatic
GCPadEmu/WiimoteEmu: Make some arrays static
2014-11-02 14:15:13 +11:00
comex
5d18c66c99 Merge pull request #1464 from phire/usb_keyboard
Remove GetPointer from Wii USB Keyboard.
2014-11-01 22:35:37 -04:00
Tillmann Karras
a248db0b65 Reorder MainNoGUI shutdown
Before this change I always got this when closing dolphin-emu-nogui:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x3400003
  Serial number of failed request:  215
  Current serial number in output stream:  219
terminate called without an active exception
Aborted
2014-11-02 03:31:47 +01:00
Lioncash
b6b7b823c3 Merge pull request #1455 from lioncash/dammit-wxwidgeeeeeets
VideoCommon{Backends}: Remove unnecessary wxWidgets references.
2014-11-01 22:29:18 -04:00
Tillmann Karras
f4fed0dea0 JitAsm: remove unused code pointers 2014-11-02 02:00:47 +01:00
Tillmann Karras
033f2a7e93 x64ABI: get rid of some duplicate code 2014-11-02 02:00:47 +01:00
Lioncash
9ab924513e VideoCommon/VideoBackends: Remove unnecessary wxWidgets references.
EmuWindow doesn't even exist anymore. wxWidgets is also decoupled from the backends.
2014-11-01 19:19:00 -04:00
Buddybenj
a4e48ab1a1 Nunchuck -> Nunchuk
Change another can not to cannot

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk

Nunchuck -> Nunchuk
2014-11-01 17:42:13 -05:00
Lioncash
c83dc2a3e7 Merge pull request #1458 from phire/fix1450Tabs
Fix Indentation in PR 1450.
2014-11-01 14:39:31 -04:00
Ryan Houdek
86ca63658b Optimizes ARMv7 andi{s,}_rc implementations.
Cuts down from a 3 instruction max implementation down to 1 instruction if the immediate can fit in to the instruction encoding.
2014-11-01 13:06:52 +00:00
degasus
cd9f0c34e4 VideoCommon: Remove GetPointer in fifo code 2014-11-01 12:24:43 +01:00
Scott Mansell
4ba794d4c9 Remove GetPointer from Wii USB Keyboard. 2014-11-01 23:59:19 +13:00
Fiora
7deaf00c44 JIT: more mftb fixes
A very subtle difference in how I calculated the timebase value seems
to have broken Karaoke Revolution; this seems to fix it. Also be a bit more
paranoid in conditions for mftb merging.
2014-11-01 03:15:25 -07:00
Scott Mansell
47d8fc3aed Wii Net SSL: Use std::string for hostname.
Previous code used a fixed length char buffer, which had
a few ugly edge cases.
2014-11-01 16:39:37 +13:00
Scott Mansell
b929f764f2 Remove GetPointers in VideoSoftware.
This same code was previously fixed in VideoCommon, just
updating this to match.

We are down to 121 GetPointers.
2014-11-01 16:29:19 +13:00
Scott Mansell
7b6adf8b04 Fix Indentation in PR 1450.
Would have been nice if this was caught a few min earlier.
2014-11-01 15:45:44 +13:00
skidau
86c100c442 Merge pull request #1442 from lioncash/wx
CheatSearchTab: Improve localization possibilities for a string
2014-11-01 12:26:08 +11:00
skidau
dffbcf275b Merge pull request #1441 from lioncash/fwd
BootManager: Get rid of unnecessary forward declaration
2014-11-01 12:25:55 +11:00
skidau
8f9904f703 Merge pull request #1450 from phire/fix-smg2
Fix DSPLLE for games which DMA data from MEM2 to the DSP.
2014-11-01 12:25:38 +11:00
skidau
439a8605fa Merge pull request #1417 from fkane/threadsafe-interrupts
Defer processing of expansion interface interrupts (fixes audio in Super Mario Sunshine on lower-end systems)
2014-11-01 12:24:46 +11:00
comex
af1a08fbf3 Merge pull request #1453 from lioncash/str
GCMemcardDirectory: Pass std::strings by reference.
2014-10-31 16:07:46 -04:00
Lioncash
475bb40364 Interpreter: Remove a redundant macro 2014-10-31 10:55:25 -04:00
Lioncash
c23131d046 GCMemcardDirectory: Pass std::strings by reference. 2014-10-31 10:17:24 -04:00
Lioncash
5a321d31dd GCPadEmu/WiimoteEmu: Make some arrays static 2014-10-31 09:51:51 -04:00
Lioncash
72c958810c SI_Device: Make GetDeviceNumber and GetDeviceType const. 2014-10-31 09:30:56 -04:00
Scott Mansell
9cb80875e6 Fix DSPLLE for games which DMA data from MEM2 to the DSP.
Fixes issue 7812.
2014-10-31 23:17:58 +13:00
comex
2ecd849eab Reorganize faulting stuff. Differentiate between arch- and OS-specific defines.
- Get rid of ArmMemTools.cpp and rename x64MemTools.cpp to MemTools.cpp.
  ArmMemTools was almost identical to the POSIX part of x64MemTools, and
  the two differences, (a) lack of sigaltstack, which I added to the
  latter recently, and (b) use of r10 to determine the fault address
  instead of info->si_addr (meaning it only works for specifically
  formatted JIT code), I don't think are necessary.  (Plus Android, see
  below.)

- Rename Core/PowerPC/JitCommon/JitBackpatch.h to Core/MachineContext.h.
  It doesn't contain anything JIT-specific anymore, and e.g. locking
  will want to use faulting support regardless of whether any JIT is in
  use.

- Get rid of different definitions of SContext for different
  architectures under __linux__, since this is POSIX.  The exception is
  of course Android being shitty; I moved the workaround definition from
  ArmMemTools.cpp to here.

- Get rid of #ifdefs around EMM::InstallExceptionHandler and just
  provide an empty implementation for unsupported systems (i.e.
  _M_GENERIC really).  Added const bool g_exception_handlers_supported
  for future use; currently exception handlers are only used by the JIT,
  whose use implies non-M_GENERIC, but locking will change that.

- Remove an unnecessary typedef.
2014-10-31 00:14:06 -04:00
skidau
7d5c509c07 Fixed the endianess of the 32bit MMIO reads. 2014-10-31 13:19:52 +11:00
skidau
ef1520eab0 Merge pull request #1447 from skidau/Watches-bpRange-warning
Fixed a warning in the add memcheck from Watch window
2014-10-31 13:04:51 +11:00
skidau
e0c347527b Merge pull request #1446 from RachelBryk/accel2
Fix wiimote accel.
2014-10-31 13:04:37 +11:00
Rachel Bryk
b08d993b55 Fix wiimote accel. 2014-10-30 21:28:02 -04:00
skidau
dbddc5f8e2 Fixed a warning in the add memcheck from Watch window 2014-10-31 11:26:17 +11:00
comex
de6dd847e7 Merge pull request #1445 from lioncash/array
DSPAnalyzer: Use a std::array for the code flags
2014-10-30 17:43:00 -04:00
Ryan Houdek
1ac9008243 Merge pull request #1436 from phire/DumbGetPointers
Remove some dumb GetPointers.
2014-10-30 12:59:09 -06:00
Ryan Houdek
3e82cb4628 Merge pull request #1440 from Sonicadvance1/attributeless-workaround
Implements PP shader system using attribute workaround.
2014-10-30 12:46:40 -06:00
Stevoisiak
7a8a00f192 ConfigMain: Added missing filetypes to default ISO options 2014-10-30 13:51:48 -04:00
Lioncash
b09ce72605 DSPAnalyzer: Use a std::array for the code flags 2014-10-30 12:45:27 -04:00
Ryan Houdek
181ff6750e Implements PP shader system using attribute workaround.
This is pretty much a step backwards in our code. We used to use attributes in our PP shader system a long time ago but we changed it to attributeless
for code simplicity and cleanliness. This reimplements the attribute code path as an optional path to take in the case your system doesn't work with
attributeless rendering. In this case the only shipping drivers that we can know for sure supports attributeless rendering is the Nexus 5's v95 driver
that is included in the Android 5.0 image.

I hadn't planned on implementing a work around to get post processing working in these cases, but due to us force enabling the PP shader system at all
times it sort of went up on the priority list. We can't be having a supported platform black screening at all times can we?
2014-10-30 10:49:03 -05:00
Lioncash
0216a4c5fe CheatSearchTab: Improve localization possibilities for a string
Numbers might not always be right-aligned for every language.
2014-10-29 23:19:24 -04:00
Lioncash
319f97bb56 BootManager: Get rid of unnecessary forward declaration 2014-10-29 22:25:16 -04:00
Rohit Nirmal
2a878d7726 OGL: Use unique_ptr instead of pointer when taking screenshot. 2014-10-29 20:59:34 -05:00
skidau
e0393be347 Merge pull request #1418 from degasus/master
OGL: fix interpolation of PP shaders
2014-10-30 12:49:21 +11:00
Ryan Houdek
9da7e6ae79 Adds a DriverDetails bug to track Qualcomm attributeless rendering.
This particular issue was fixed in the v66 (07-08-2014) development drivers from Qualcomm.
To make sure we cover all drivers that may or may not have the issue fixed, make sure to mandate v95 minimum to work around the issue.
The next commit is the actual work around for post processing for this.
2014-10-29 19:58:18 -05:00
Ryan Houdek
daabcfd6fc Removes Qualcomm's rotated framebuffer bug from DriverDetails.
Due to changes in how we render to the final framebuffer we no longer encounter this bug.
With the change to post processing being enabled at all times and no longer using glBlitFramebuffer, Qualcomm no longer has the chance to rotate our
framebuffer underneath of us.
2014-10-29 19:57:51 -05:00
comex
67452c53f1 Merge pull request #1386 from booto/small-loop-fix
VideoCommon: loop bug in ShaderGenCommon.h debug
2014-10-29 17:28:10 -04:00
comex
eb22adf24a Merge pull request #1433 from rohit-n/fix-warnings
DolphinWX: Fix a few warnings.
2014-10-29 17:23:56 -04:00
Ryan Houdek
52e6a940cf Merge pull request #1414 from kayru/d3d_optimization
D3D: Couple of small optimizations
2014-10-29 13:26:50 -06:00
Ryan Houdek
3dd574bcf6 Merge pull request #1438 from rohit-n/fix-pch
Fix build failing with PCH disabled.
2014-10-29 13:18:25 -06:00
Rohit Nirmal
a09afe8821 Fix build failing with PCH disabled. 2014-10-29 13:00:48 -04:00
Ryan Houdek
bbaf8f9c0e Merge pull request #1434 from Sonicadvance1/fix-qualcomm
Fixes missing objects on Adreno hardware.
2014-10-29 10:38:23 -06:00
Ryan Houdek
6d4867e36a Fixes missing objects on Adreno hardware.
This particular bug from our friends over at Qualcomm manifests itself due to our alpha testing code having a conditional if statement in it.
This is a fairly recent breakage this time around, it was introduced in the v95 driver which comes with Android 5.0 on the Nexus 5.

So to break this issue down; In our alpha testing code we have two comparisons that happen and if they are true we will continue rendering, but if
they aren't true we do an early discard and return. This is summed up with a fairly simple if statement.

if (!(condition_1 <logic op> condition_2)) { /* discard and return */ }

This particular issue isn't actually due to the conditions within the if statement, but the negation of the result. This is the particular issue that
causes Qualcomm to fall flat on its face while doing so.

I've got two simple test cases that demonstrate this.
Non-working: http://hastebin.com/evugohixov.avrasm
Working: http://hastebin.com/afimesuwen.avrasm

As one can see, the disassembled output between the two shaders is different even though in reality it should have the same visual result.

I'm currently writing up a simple test program for Qualcomm to enjoy, since they will be asking for one when I tell them about the bug.
It will be tracked in our video driver failure spreadsheet along with the others.
2014-10-29 06:21:03 -05:00
Scott Mansell
b4e0328508 And clean up this GetPointer() while I'm here.
It will probally be replaced later.
2014-10-29 23:59:32 +13:00
Scott Mansell
3e47480470 Remove dumb getPointers that actually want the whole memory block.
The whole memory block is accessable globally anyway. Much
cleaner!
2014-10-29 23:51:27 +13:00
Fiora
fb0960f0ee JIT: flush unused registers during branch merges
Also correct some flags in interpreter tables.
2014-10-29 00:32:59 -07:00
Fiora
1ec1a9c33a JIT: optimize crclr special case of crxor 2014-10-29 00:30:27 -07:00
Fiora
97fba41860 JIT: merge fcmpx and cror
Almost all uses of boolean condition-register ops in real code seem to be
the combination fcmpx + cror (e.g. for <= or >=). This merges the two.
2014-10-29 00:30:27 -07:00
Fiora
a666bb6bf6 JIT: optimize mulhwu 2014-10-29 00:30:26 -07:00
Fiora
5b5e462200 JIT: reorder blr comparisons
This should allow macro-op fusion in blr instructions.
2014-10-29 00:30:26 -07:00
Fiora
7388c62439 JIT: use BLR optimization to avoid anding LR with 0xFFFFFFFC
Should save roughly one instruction per blr.
2014-10-29 00:30:26 -07:00
Fiora
cec2cb9d38 JIT: micro-optimize cmpXX a bit more for lower latency/code size 2014-10-29 00:30:25 -07:00
comex
089e32ba7d Merge pull request #1307 from comex/bitset
Higher level bitset wrapper
2014-10-28 23:39:35 -04:00
comex
7747c9efbb Merge pull request #1429 from lioncash/concat
FileSystemGCWii: Shorten some string concatenations
2014-10-28 23:38:58 -04:00
comex
3247f28048 Merge pull request #1430 from lioncash/voldir
VolumeDirectory: Pass std::string by reference for SetUniqueID/SetName
2014-10-28 23:38:21 -04:00
comex
6618337ece Merge pull request #1421 from comex/frames-mkdir
Create userdir/Dump/Frames as needed.
2014-10-28 23:37:36 -04:00
skidau
f426276b2e Merge pull request #1413 from Stevoisiak/moreFlags
Added country flags for Russia and Australia
2014-10-29 14:15:45 +11:00
Stevoisiak
00620ea729 Added flags for Russia and Australia 2014-10-28 23:04:24 -04:00
Rohit Nirmal
55f91ecba4 DolphinWX: Fix -Wsign-compare warnings. 2014-10-28 21:07:48 -05:00
Rohit Nirmal
b70a75776e DolphinWX: Remove unused variable. 2014-10-28 21:02:47 -05:00
skidau
049afc4315 Merge pull request #1428 from phire/fixPaletteCpy
Fix Invalid Palette Pointer error.
2014-10-29 12:25:57 +11:00
comex
6698bfe58e Merge pull request #1424 from phire/memmapPtrCleanup
Memmap pointer cleanup.
2014-10-28 17:31:23 -04:00
comex
073cce959a Create userdir/Dump/Frames as needed.
This is used for framedump.raw in non-Windows builds without libav
support.
2014-10-28 17:24:07 -04:00
Lioncash
5ba5aa10e3 Merge pull request #1431 from magcius/fix-breakpoints
BreakPoints: Fix compile warning
2014-10-28 17:08:51 -04:00
comex
1c32a3f77c Merge pull request #1426 from lioncash/osx
Make some OSX-only functions static
2014-10-28 16:16:03 -04:00
comex
31c679a3dc Merge pull request #1403 from waddlesplash/dolphin-qt
DolphinQt: Fix toolbar image loading on Retina displays
2014-10-28 16:15:04 -04:00
Scott Mansell
ba58cc47a3 Remove old (and now incorrect) error checking code.
We will now rely on Memory::CopyFromEmu to do bounds checking.

Some games actually load palettes from 0x00000000, despite the
fact no valid palette data should ever be there.

Fixes Issue 7792.
2014-10-29 08:53:53 +13:00