Commit Graph

13889 Commits

Author SHA1 Message Date
degasus 3ae466a33c JitArm64: Fix lmw + stmw 2015-09-16 08:11:18 +02:00
flacs 955bef226e Merge pull request #3041 from lioncash/align
Common: Get rid of a few pointer casts
2015-09-15 20:40:05 +02:00
Lioncash 2c5c99ec71 Common: Get rid of a few pointer casts 2015-09-15 12:28:59 -04:00
Lioncash 77d3bed058 AX: Use ArraySize over sizeof division
Also gets rid of magic numbers in volume ramp generation.
2015-09-14 23:55:09 -04:00
Lioncash b7739f5d85 VideoCommon: Remove unnecessary enum typedef 2015-09-14 19:43:31 -04:00
Lioncash 56560403bd BreakPoints: Remove unimplemented function declarations 2015-09-14 11:50:34 -04:00
JosJuice 210aa774d5 DolphinWX: Only read titles.txt once
titles.txt is read into a map and passed to the GameListItem
constructor, making game list scanning a bit more efficient.

ISOPropreties's constructor is changed to take a GameListItem as an
argument instead of creating one on its own, because ISOPropreties
doesn't have the titles.txt map that the GameListItem constructor wants.
2015-09-13 14:17:58 +02:00
JosJuice 10aafff5b9 DolphinWX: Fix sorting games by custom titles
The custom title reading code is moved so that custom titles are
returned by GameListItem::GetName(). The comparison code is changed
to use GetName() instead of GetName(DiscIO::IVolume::ELanguage).

GetName(DiscIO::IVolume::ELanguage) must not return custom titles,
because netplay relies on it returning the same name for all players.
2015-09-13 12:45:06 +02:00
Scott Mansell 45c1cfa078 Merge pull request #2242 from Stevoisiak/Titles.txt
GameListCtrl: Improvements for reading custom game titles
2015-09-13 14:03:47 +12:00
JosJuice cbd539eb3d Use official names for GameCube controller sticks
Main Stick is changed to Control Stick and C-Stick is changed to C Stick.

A new ui_name variable is added to ControlGroup so that the UI strings
in DolphinWX can be updated without breaking backwards compatibility
with config INIs and other things that use names as IDs.
2015-09-12 22:45:06 +02:00
Scott Mansell c0a89c3bf4 Merge pull request #3009 from phire/depth_tested_pokes
Add some logging for depth tested efb color pokes.
2015-09-12 22:20:59 +12:00
Scott Mansell 44456bec0f Add some logging for depth tested efb color pokes. 2015-09-12 22:19:59 +12:00
Scott Mansell 66dd79c569 Merge pull request #3010 from Felk/master
fixed disabling auto reporting for emulated wiimotes not working properly
2015-09-12 21:40:25 +12:00
Tillmann Karras 38ae572203 Debugger: fix -Wunused-private-field warning 2015-09-12 10:01:26 +02:00
mimimi085181 dd458b554d Fix performance regression in Sonic the Fighters, introduced by PR#2001 2015-09-12 09:12:14 +02:00
Lioncash baa9eacd51 LookUpTables: Make functions constexpr 2015-09-12 03:04:40 -04:00
Ryan Houdek f121d7a8cd Merge pull request #3026 from lioncash/constexpr
MathUtil: Make Clamp and IsPow2 constexpr functions.
2015-09-12 02:28:38 -04:00
Ryan Houdek 4d5baa4772 Merge pull request #3024 from LAGonauta/x-fi-audio-fix
Added X-Fi check and convert surround FLOAT to SHORT when it is detected
2015-09-12 02:27:16 -04:00
Ryan Houdek 5556781946 Merge pull request #3018 from Armada651/ogl-tab
OGL: Invert Top-and-Bottom mode.
2015-09-12 02:21:19 -04:00
Ryan Houdek 2e6db7dc27 Merge pull request #2991 from lioncash/pcast
EXI_DeviceIPL: Get rid of a pointer cast
2015-09-12 02:15:59 -04:00
Ryan Houdek 17ff069d4a Merge pull request #3002 from degasus/master
OGL: reimplement SSAA based on ARB_gpu_shader5
2015-09-12 02:14:45 -04:00
Ryan Houdek 6d9b4d7d35 Merge pull request #3025 from Tilka/fixfix
VertexLoaderX64: fix 2GB warnings
2015-09-12 01:38:14 -04:00
Lioncash 3f4852a03d MathUtil: Convert IsPow2 into a constexpr function 2015-09-12 01:26:05 -04:00
Lioncash b9e360df7b MathUtil: Convert Clamp into a constexpr function 2015-09-12 01:18:28 -04:00
Lioncash 113cc119de Merge pull request #2829 from JosJuice/fix-wii-fst-size-2
Fix reading Wii FST size (for real this time)
2015-09-12 00:50:00 -04:00
Lioncash fa62018c40 Merge pull request #2995 from endrift/tasinputdlg-threading
DolphinWX: TAS fixes, take three
2015-09-12 00:42:21 -04:00
Lioncash 5db4a60995 Merge pull request #2993 from JosJuice/dol-elf-qt
DolphinQt: Support ELF and DOL files in the game list
2015-09-12 00:38:51 -04:00
Lioncash 4de2bd3be4 Merge pull request #2833 from waddlesplash/dolphin-qt
DolphinQt: Rewrite 'About' dialog to match the new WX one.
2015-09-12 00:38:05 -04:00
Lioncash 4643da73a3 Merge pull request #3021 from waddlesplash/dolphin-qt-fixup
DolphinQt: Use more C++11, add more sanity to VS projects.
2015-09-12 00:36:35 -04:00
Scott Mansell 68b415ba87 Merge pull request #3019 from mimimi085181/store-base-hash
Store the base hash for paletted textures in the texture cache entries
2015-09-12 16:24:29 +12:00
Scott Mansell 02842cb34b Merge pull request #3006 from phire/deadlock
Fix deadlock with KHR_debug.
2015-09-12 16:19:58 +12:00
Scott Mansell ee7285a1db Merge pull request #3008 from Lionel07/qt-screensaver
Qt: Disable Display Sleep when game is running (Windows)
2015-09-12 16:13:51 +12:00
Scott Mansell 2c67ad88cd Merge pull request #3023 from JosJuice/qt-pixmaps
DolphinQt: Bring pixmaps up to date with DolphinWX and themes
2015-09-12 16:13:35 +12:00
Jeffrey Pfau c08203b704 DolphinWX: TAS fixes, take three 2015-09-11 19:51:31 -07:00
Tillmann Karras 63c9fdd074 VertexLoaderX64: fix 2GB warnings
Unlike the CPU JIT, the vertex loader JIT already emits
position-independent code, so all we need to do is disable the warning.
2015-09-12 01:24:47 +02:00
Corwin Mcknight b2e4019383 DolphinQt: Disable Display Sleep on Windows.
Disables Display Sleeping on Windows on DolphinQt while the game runs,
and re-enables it after the game closes.
2015-09-11 16:06:59 -07:00
flacs c5685ba53a Merge pull request #2972 from lioncash/align
General: Replace GC_ALIGN macros with alignas
2015-09-11 17:00:13 +00:00
Lioncash d7acf06505 Merge pull request #2985 from JosJuice/iselfordol
DolphinWX: Don't use IsElfOrDol outside of ISOFile
2015-09-11 12:28:57 -04:00
LAGonauta b98b55c7be Added X-Fi check and convert surround FLOAT to SHORT when it is detected
Fixed braces, first try fixing mac compilation and removed useless NULL
comparison.
2015-09-11 13:22:04 -03:00
JosJuice cb496994e3 DolphinQt: Bring pixmaps up to date with DolphinWX and themes
Also removed PLUGIN from names because there aren't actually any plugins.
2015-09-11 16:13:18 +02:00
JosJuice ec8ede2600 DolphinQt: Support XML metadata in Homebrew Channel format 2015-09-11 16:02:39 +02:00
JosJuice 3e6d62ae9e DolphinQt: Support banners in Homebrew Channel format
HBC uses files named icon.png for icons. This change makes Dolphin
support that file name, and also [executable file name].png
in case someone wants to have multiple files in one folder.

The HBC banner support is mainly intended for DOL and ELF files,
but it can also be used to override banners of disc images,
something that wasn't possible in the past.

That sure was simple compared to the wx version of this commit...
2015-09-11 16:02:38 +02:00
JosJuice 047ddb94a2 DolphinQt: Support ELF and DOL files in the game list 2015-09-11 16:02:14 +02:00
Lioncash 19459e827f Partially revert "General: Toss out PRI macro usage" 2015-09-11 09:49:00 -04:00
waddlesplash c75fd4d7c5 DolphinQt: Add some sanity to the VS projects. 2015-09-10 23:49:20 -04:00
waddlesplash 8fbf70ec55 DolphinQt: Make use of the C++11 signal/slot connection syntax.
Also use lambdas over one-line functions in some cases.
2015-09-10 23:31:40 -04:00
waddlesplash 0c1671973c DolphinQt: Rewrite About dialog to match the new DolphinWX one. 2015-09-10 23:02:47 -04:00
mimimi085181 e408e0ab17 Store the base hash for paletted textures in the texture cache entries 2015-09-10 22:28:59 +02:00
Jules Blok 99c08c89bb OGL: Invert Top-and-Bottom mode. 2015-09-10 22:22:26 +02:00
Ryan Houdek 3014feedc8 Merge pull request #3012 from degasus/destAlpha
VideoCommon: Drop "Disable destAlpha" hack
2015-09-10 13:56:43 -04:00
mimimi085181 38f6cf2089 Perform garbage collection for efb copies
This checks every TEXTURE_KILL_THRESHOLD frames, to see if the hash for the memory area of the efb copy has hanged. If it has changed, the efb copy can be removed, it wouldn't be used anymore. Before this pr, some efb copies would never be deleted.

Fixes issue https://bugs.dolphin-emu.org/issues/6101 and possibly some other VRAM leaks.
2015-09-10 11:58:58 +02:00
Scott Mansell ef4974b6a2 Remove unused log type. 2015-09-10 18:39:32 +12:00
Scott Mansell 0ed1e977cc Rearrange the logtypes into something closer to alphabetical order.
Also fix up a few of the long names.
2015-09-10 18:39:08 +12:00
Scott Mansell de9310fe70 Split OpenGL errors into a separate logtype from Video errors.
Allows them to be enabled/disabled separately.
2015-09-10 18:38:45 +12:00
Lioncash 88c9c6d086 ExpressionParser: Make all control paths return a value in operator std::string 2015-09-09 22:41:47 -04:00
degasus 74b20e627c VideoCommon: Drop "Disable destAlpha" hack
This option has no use any more, neither performance nor driver workaround.
2015-09-09 21:31:54 +02:00
Scott Mansell 38d05cd70f Merge pull request #3007 from phire/khr_debug_notification
OpenGL: drop log level of some spammy KHR_debug messages.
2015-09-09 17:34:27 +12:00
Felk 786cf7c9ff fixed disabling auto reporting for emulated wiimotes not working properly 2015-09-09 04:55:14 +02:00
Lioncash 8f13d50a4e Merge pull request #2989 from lioncash/filter
DiscIO/VS: Remove an empty filter
2015-09-08 21:01:00 -04:00
Scott Mansell a95adba39b Drop DEBUG_SEVERITY_NOTIFICATION messages down to DEBUG_LOG 2015-09-09 12:22:52 +12:00
Scott Mansell b9b80191d5 Fix deadlock with KHR_debug.
An KHR_debug callback could end up waiting for a mutex
on a thread which calls windows system functions.

While this is not expressly forbidden by the standards,
it does forbid directy calling windows system functions
from a KHR_debug callback. Close enough.
2015-09-09 12:05:24 +12:00
James Cowgill 50d5a9a9bc HW: Fix spelling mistake 2015-09-08 21:11:28 +01:00
flacs 48031eaff7 Merge pull request #2974 from Tilka/fprf
Jit64: fix errors in FPRF calculation
2015-09-08 18:59:22 +00:00
flacs 0c381d6547 Merge pull request #2975 from lioncash/emit
x64Emitter: Simplify/compress some conditionals
2015-09-08 18:44:54 +00:00
Ryan Houdek 5d7f834cde Add run count to the JIT profile information 2015-09-08 11:09:52 -05:00
Markus Wick 81c07d4919 Merge pull request #2990 from lioncash/noncopy
Common: Alter semantics of the NonCopyable mixin
2015-09-08 11:08:58 +02:00
Ryan Houdek 2e02de6587 Merge pull request #2998 from Sonicadvance1/GLES_BBox
[GLES] Enable bounding box support.
2015-09-08 02:38:54 -05:00
Scott Mansell 332e81d2d7 Merge pull request #2984 from JosJuice/dvdinterface-round-down
DVDInterface: Use ROUND_DOWN
2015-09-08 12:43:11 +12:00
degasus 664beea538 OGL: reimplement SSAA based on ARB_gpu_shader5
So i965 shall support it again.
2015-09-07 22:21:11 +02:00
Ryan Houdek 2ad26ab3e9 [AArch64] Fix Test&Branch to relative location instructions.
Wasn't masking by the size of the offset encoding so negative values were killing the instruction
Missed commiting this in my integer gatherpipe PR.
Fixes crashing on AArch64.
2015-09-07 13:38:58 -05:00
Ryan Houdek bfb544e1fb [GLES] Enable bounding box support. 2015-09-07 12:07:27 -05:00
Markus Wick 5585c5adc2 Merge pull request #2994 from aserna3/master
Properly implemented confirm on stop CLI switch
2015-09-07 14:00:17 +02:00
Ryan Houdek a9a339a00c Merge pull request #2962 from Sonicadvance1/aarch64_integer_gatherpipe
[AArch64] Implement integer gatherpipe writes.
2015-09-07 06:20:01 -05:00
Scott Mansell 1f800b80dd Merge pull request #2960 from phire/improve_efb2tex
Make efb2tex behave much more like efb2ram.
2015-09-07 14:12:03 +12:00
Ryan Houdek 99a7dfaf5e Merge pull request #2965 from Sonicadvance1/Android_config_changes
[Android] Fix multi-gamecube controller input, config changes
2015-09-06 20:07:32 -05:00
Anthony Serna a5d6072a45 Properly implemented confirm on stop CLI switch 2015-09-06 14:35:26 -07:00
Lioncash 1b026364bf Merge pull request #2992 from aserna3/master
Implemented CLI switch to disable confirm on stop
2015-09-06 16:55:11 -04:00
Anthony Serna ad1a8a1b31 Implemented CLI switch to disable confirm on stop 2015-09-06 13:08:29 -07:00
Lioncash ec3d55b093 EXI_DeviceIPL: Get rid of a pointer cast
Also moves the RTC updating code to its own function.
2015-09-06 14:42:43 -04:00
Lioncash 53465e329a Common: Alter semantics of the NonCopyable mixin
Uses delete to make the unimplemented functions detectable at compile time
and not link time if they are used.

The move constructor and assignment operator are removed as moves are not
copies, but transfers of ownership, which isn't suited for this class.
2015-09-06 13:45:08 -04:00
degasus 1c0366993a VideoBackends: Reimplement SSAA, now for D3D + OGL 2015-09-06 19:40:00 +02:00
Lioncash f194ee6223 x64Emitter: Simplify/compress some conditionals 2015-09-06 13:28:36 -04:00
Lioncash 623df9b5ca DiscIO/VS: Remove an empty filter 2015-09-06 13:23:33 -04:00
Scott Mansell ac467d9fb9 FifoPlayer: Don't check efb copy hashes when plaing back a broken dff 2015-09-07 05:20:25 +12:00
Lioncash 8ce04f9a65 General: Replace GC_ALIGN macros with alignas
Standard supported alignment -> out with compiler-specific.
2015-09-06 12:53:51 -04:00
Scott Mansell bda964e0b9 Workaround to allow partial texture updates to keep working in NSMBWii 2015-09-07 02:32:01 +12:00
Scott Mansell ee649c6d9f Make efb2tex behave more like efb2ram.
Instead of having special case code for efb2tex that ignores hashes,
the only diffence between efb2tex and efb2ram now is that efb2tex
writes zeros to the memory instead of actual texture data.

Though keep in mind, all efb2tex copies will have hashes of zero as
their hash.
2015-09-07 02:32:01 +12:00
Scott Mansell c08a83a5aa Merge pull request #2957 from phire/unify_efbcopy
Cleanup and unify efb copy implemtations into VideoCommon
2015-09-07 00:10:42 +12:00
JosJuice 4716c8ecf6 DolphinWX: Little simplification for game right-click menu 2015-09-06 13:33:23 +02:00
JosJuice cb3b1b6f44 DolphinWX: Don't use IsElfOrDol outside of ISOFile
It's redundant because GetPlatform can do the same thing.
2015-09-06 13:33:19 +02:00
Scott Mansell d797b5d0b5 Use ROUND_UP instead of custom bittwiddling. 2015-09-06 23:00:17 +12:00
JosJuice 5c454379ae DVDInterface: Use ROUND_DOWN 2015-09-06 12:15:01 +02:00
Scott Mansell 137856bd00 Fix palette conversions for 4 bit efb copies.
Fixes purple shadow in THPS4 and many other things.
2015-09-06 21:16:52 +12:00
Scott Mansell e745748c3e Improve comments for texture formats enum. 2015-09-06 21:16:51 +12:00
Scott Mansell b9be3245e1 Move common EFB copy code into VideoCommon
Addded a few duplicated depth copy texture formats to the enum
in TextureDecoder.h. These texture formats were already implemented
in TextureCacheBase and the ogl/dx11 texture cache implementations.
2015-09-06 21:16:51 +12:00
Scott Mansell be4caa3dc0 Merge pull request #2961 from lioncash/printf
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
Scott Mansell d52d8bf935 Merge pull request #2982 from lioncash/unique
Common: Remove StdMakeUnique.h
2015-09-06 21:01:48 +12:00
Lioncash 8b027f6ed7 CMakeLists: Bump C++ compilation from gnu++0x to c++1y 2015-09-06 04:10:40 -04:00
Lioncash 4fc71e9708 Common: Remove StdMakeUnique.h 2015-09-06 04:09:53 -04:00
Scott Mansell a26cac87fc Merge pull request #2959 from rohit-n/build-pch
Fix building with PCH disabled.
2015-09-06 19:59:49 +12:00
Scott Mansell 61da83182e Merge pull request #2978 from lioncash/override
Add missing override specifiers
2015-09-06 19:21:59 +12:00
Scott Mansell 728d082bc7 Merge pull request #2983 from lioncash/delete
WII_Socket: Make the copy-assignment operator deleted
2015-09-06 19:20:47 +12:00
Lioncash 007939c4e9 WII_Socket: Make the copy-assignment operator deleted 2015-09-06 03:12:01 -04:00
Lioncash f64de2006b HLE_Misc: Remove unnecessary headers 2015-09-06 02:27:04 -04:00
Lioncash 4a2e680ed2 VolumeGC: Initialize a variable
Silences an uninitialized variable warning
2015-09-05 23:05:28 -04:00
Lioncash 22635c1800 Add missing override specifiers 2015-09-05 22:40:19 -04:00
comex 96e42dff52 Merge pull request #2977 from lioncash/unused
General: Remove unimplemented function prototypes
2015-09-05 22:20:47 -04:00
Lioncash 633be0387d General: Remove unimplemented function prototypes 2015-09-05 22:01:07 -04:00
Pierre Bourdon 6af8e00b66 Merge pull request #2813 from lioncash/updating_list
CheatSearchTab: Make the search results list auto update address values
2015-09-05 23:10:06 +02:00
Pierre Bourdon 8a993e1fbc Merge pull request #2958 from JosJuice/dol-elf-banners
DolphinWX: Support banners in Homebrew Channel format
2015-09-05 23:08:07 +02:00
Lioncash 8fdb013d54 General: Toss out PRI macro usage
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
Tillmann Karras 8f777cd839 Jit64: fix errors in FPRF calculation 2015-09-05 20:17:53 +02:00
booto d4344abd89 Revert "Merge pull request #2943 from booto/vi-enb"
This reverts commit 8dd80b8e97, reversing
changes made to c5979b47be.
2015-09-06 01:21:23 +08:00
Markus Wick 60e0339ae5 Merge pull request #2963 from Sonicadvance1/AArch64_improved_vertexloader
[AArch64] Minor improves to the vertex loader JIT
2015-09-05 15:44:52 +02:00
Ryan Houdek de80b9e988 Merge pull request #2971 from degasus/arm
JitArm64: fix smaller issues
2015-09-05 08:43:44 -05:00
degasus 9187200de3 Android: Abort the screenshot after 2 seconds
If the emulation is crashed, this blocks forever. So there is no way to exit the emulation within a finite time.
2015-09-05 15:29:22 +02:00
degasus 24fec3ebca JitArm64: Fix float load & store 2015-09-05 13:48:29 +02:00
degasus 36902c58eb JitArm64: Fix lwbrx and lhbrx 2015-09-05 13:48:29 +02:00
degasus 696f95d5f9 JitArm64: Fix subfic 2015-09-05 13:48:29 +02:00
degasus baa28e13f4 JitArm64: Remove FLUSH_INTERPRETER
It seems to be broken for some instructions, and there is no need for it any more.
2015-09-05 13:48:29 +02:00
Scott Mansell 52948bb3ef Cleanup and unify handling of efb copy stride. 2015-09-05 23:37:24 +12:00
Tillmann Karras a8c8f52f20 OGL: remove unused variable 2015-09-05 12:40:14 +02:00
Tillmann Karras 405554e327 Jit64: remove unnecessary indirection 2015-09-05 12:40:14 +02:00
Tillmann Karras 72eed1aa82 JitCache: drop unused method 2015-09-05 12:40:14 +02:00
Ryan Houdek 7650117c26 Properly support MSAA and SSAA as separate features(+GLES)
SSAA relies on MSAA being active to work. We only supports 4x SSAA while in fact you can enable SSAA at any MSAA level.
I even managed to run 64xMSAA + SSAA on my Quadro which made some pretty sleek looking games. They were very cinematic though.

With this, it properly fixes up SSAA and MSAA support in GLES as well. Before they were broken when stereo rendering was enabled.
Now in GLES they can properly support MSAA and also stereo rendering with MSAA enabled(with proper extensions).
2015-09-05 05:23:29 -05:00
Ryan Houdek 9618738278 Remove all of our workarounds for Qualcomm devices we don't support anymore. 2015-09-04 23:45:35 -05:00
Markus Wick e7660325b4 Merge pull request #2967 from Sonicadvance1/GLES_blend_func_extended
Support EXT_blend_func_extended in GLES.
2015-09-05 03:43:28 +02:00
Ryan Houdek 5fa4c8d930 Support EXT_blend_func_extended in GLES.
This lets us get dual source blending on GLES targets.
2015-09-04 20:25:59 -05:00
Ryan Houdek 9bb63bf2eb [Android] Fix multi-gamecube controller input, config changes 2015-09-04 20:06:01 -05:00
Ryan Houdek 6cf7048423 Implement ClearCurrent on the EGL GLInterface
This fixes an error on GLInterface shutdown when using EGL.
2015-09-04 19:58:58 -05:00
Ryan Houdek c458c9d049 [AArch64] Minor improves to the vertex loader JIT
Just some minor improvements noticed by dumping the vertex loader blocks.
2015-09-04 19:57:08 -05:00
Ryan Houdek de051dac71 [AArch64] Implement integer gatherpipe writes. 2015-09-04 19:52:25 -05:00
Ryan Houdek 791c7d5a84 [AArch64] Clean up bogus vector FCVT{N,L} instruction usage.
Replace the instruction with the scalar variant FCVT instruction.
FCVT{N,L} 8 cycles latency on the Cortex A57
FCVT has five cycle latency and slightly higher throughput

On the A72 all three of these instructions will have three cycle latency,
While FCVT{N,L} will have half the throughput.
2015-09-04 19:41:54 -05:00
Ryan Houdek 2c68f6bfc5 [AArch64] Implement Fiora's preemptive paired loadstore optimization.
This provides a decent speed up in pretty much everything that touches pair loadstores because in most cases they are just regular non-quantizing
float loadstores that happen.
2015-09-04 19:20:33 -05:00
Lioncash e01428935f Merge pull request #2954 from lioncash/snprintf
CommonFuncs: Remove define for snprintf
2015-09-04 19:11:38 -04:00
Lioncash e90eb17aeb Merge pull request #2956 from JosJuice/extra-space
Remove extra space from 5a32c3f
2015-09-04 14:22:59 -04:00
JosJuice 41315b19f1 DolphinWX: Support banners in Homebrew Channel format
HBC uses files named icon.png for icons. This change makes Dolphin
support that file name, and also [executable file name].png
in case someone wants to have multiple files in one folder.

The HBC banner support is mainly intended for DOL and ELF files,
but it can also be used to override banners of disc images,
something that wasn't possible in the past.

There are currently issues with banner scaling not preserving
the aspect ratio and looking bad in general.
2015-09-04 19:08:30 +02:00
Rohit Nirmal 8aed7589ae Fix building with PCH disabled. 2015-09-04 10:34:45 -05:00
JosJuice 0af2bbcea3 Remove extra space from 5a32c3f 2015-09-04 15:32:30 +02:00
Markus Wick 7ada372ed9 Merge pull request #2944 from degasus/arm
JitArm64: Cleanup floating point regcache
2015-09-04 13:14:29 +02:00
booto 97f55c0cc9 VI: Less log spam in Release build 2015-09-04 17:08:19 +08:00
Lioncash 0d0dd075ef CommonFuncs: Remove define for snprintf
VS 2015 implements snprintf
2015-09-04 03:13:02 -04:00
Lioncash a11ae2cf30 CommonFuncs: Remove SLEEP macro
There's already a function in Thread for this.
2015-09-04 02:43:38 -04:00
shuffle2 4218fb4eea Merge pull request #2916 from lioncash/wx
DolphinWX: Minor changes to Main
2015-09-03 22:59:29 -07:00
shuffle2 9a92ff5238 Merge pull request #2926 from lioncash/wx-mc
MemcardManager: Remove explicit delete and new
2015-09-03 22:58:06 -07:00
shuffle2 272302be82 Merge pull request #2950 from lioncash/bf
BitField: Enable ifdef'd out code for Windows
2015-09-03 22:56:55 -07:00
shuffle2 a09b9bef8d Merge pull request #2952 from lioncash/constexpr
CommonFuncs: Replace ArraySize define with constexpr equivalent
2015-09-03 22:56:25 -07:00
Lioncash 3f1b488a12 CommonFuncs: Replace ArraySize define with constexpr equivalent 2015-09-03 23:47:14 -04:00
Lioncash 102a2a975d BitField: Enable ifdef'd out code for Windows 2015-09-03 22:06:15 -04:00
Pierre Bourdon 8dd80b8e97 Merge pull request #2943 from booto/vi-enb
VI: Respect DisplayControlRegister ENB bit
2015-09-04 03:50:39 +02:00
Lioncash 4fd060ba11 Core: Use constexpr for default pad and attachment radius 2015-09-03 19:44:42 -04:00
Rukario e939fba3e7 Updated terms in Netplay window. 2015-09-03 07:36:52 -07:00
Shawn Hoffman 399083ac8a Drop the old msvcrt files. 2015-09-03 06:10:01 -07:00
Shawn Hoffman 66a3951c3b [windows] Add workaround(HACK) for vs2015 implementating a conformant std::is_trivially_copyable...
see https://github.com/dolphin-emu/dolphin/pull/2218
2015-09-03 04:39:06 -07:00
Shawn Hoffman bea18eedc4 [windows] remove various workarounds which were required for vs2013 2015-09-03 04:39:05 -07:00
Shawn Hoffman 30702c17b6 [windows] When making scmrev.h, also look for msysgit explicitly. VS2015 packages it. 2015-09-03 04:39:04 -07:00
Shawn Hoffman aa7208e270 [windows] Update projects to vs2015. 2015-09-03 04:23:01 -07:00
Markus Wick ad978122d9 Merge pull request #2942 from booto/xfb_lines
VideoCommon: xfb height calculation adjusted
2015-09-03 09:40:24 +02:00
Scott Mansell a1538a30ef Merge pull request #2941 from lioncash/gp
GPFifo: Remove pointer casts
2015-09-03 13:47:26 +12:00
Lioncash 2d224bd3b1 ActionReplay: Remove an alloca call 2015-09-02 17:41:19 -04:00
degasus 5797111ef0 JitArm64: Optimize fpr.R() 2015-09-02 22:46:14 +02:00
degasus dfd44730c8 JitArm64: simplify fpr call 2015-09-02 22:46:14 +02:00
booto 28d788ba2c VI: Respect DisplayControlRegister ENB bit
When ENB is set to 0 (default), VI should not
generate clocks, and so shouldn't generate
output.
2015-09-03 04:13:32 +08:00
booto 5a32c3fba4 VideoCommon: xfb height calculation adjusted
Baten Kaitos allocates its XFBs from a tagged heap
structure. With the old calculation, too many lines
were being written so the tag of the allocation
after the XFB was being corrupted. Fixes crash
mentioned in this comment:
https://code.google.com/p/dolphin-emu/issues/detail?id=7734#c6
2015-09-03 03:57:03 +08:00
Lioncash f32b79e612 GPFifo: Get rid of pointer casts 2015-09-02 15:24:33 -04:00
Lioncash db98efdc98 GPFifo: Adjust parameter names 2015-09-02 15:20:02 -04:00
Ryan Houdek 3b65c4070c Merge pull request #2935 from Sonicadvance1/GLES_palette_conversion
[GLES] Support texture_buffer for palette texture conversion.
2015-09-02 10:11:41 -05:00
Scott Mansell ecbb83fa0f Merge pull request #2686 from booto/field-timing
VI: derive field timing from VI registers
2015-09-03 01:09:43 +12:00
Markus Wick 66e9395d5d Merge pull request #2937 from lioncash/enums
VideoCommon: Convert some defines into enums
2015-09-02 13:27:09 +02:00
Lioncash 401f765462 FramebufferManagerBase: Compress a loop into a find_if 2015-09-01 16:54:44 -04:00
Rohit Nirmal 9c26bb0e17 Fix building with PCH disabled. 2015-09-01 13:45:23 -05:00
flacs 3b134497dd Merge pull request #2774 from AdmiralCurtiss/wiimote-extension-reconnect-on-button-press
Wiimote: Extend emulated Wiimote reconnect-on-button-press to attachments.
2015-09-01 18:31:39 +02:00
Lioncash 71ef0a0245 PixelShaderGen: Use spaces instead of tabs for vertical alignment 2015-09-01 12:20:50 -04:00
Lioncash 91eff28699 PixelShaderGen: Move defines into the implementation file
These aren't used outside of it. This also reduces the amount of things in
the global namespace.
2015-09-01 12:18:18 -04:00
Lioncash c760ffbd28 BPMemory/XFMemory: Convert defines to enums
These actually convey a concrete type, as well as also providing a
symbolic constant during debugging.
2015-09-01 12:07:10 -04:00
booto f6e4a8e680 FifoPlayer: Use VI derived timing, not hardcoded 60Hz 2015-09-01 20:24:42 +08:00
booto 8d6c39a89d VI: Adjust forced-progressive hack per magumagu's suggestion 2015-09-01 20:24:41 +08:00
booto acc9a74174 VI: Restore forced-progressive hack with option
Bugfix: TargetRefreshRate uses rounded result
NTSC's 59.94 was becoming 59 with integer division.
2015-09-01 20:24:40 +08:00
booto 480dbb22f2 VI: derive field timing from VI registers 2015-09-01 20:24:40 +08:00
Ryan Houdek 7a35f9285b [GLES] Support texture_buffer for palette texture conversion.
OpenGL ES 3.2 adds this feature to core
It was available to GLES 3.1 as GL_{EXT, OES}_texture_buffer as well.
For the non-Nvidia vendors that implemented this is:
      - Qualcomm's Adreno 4xx
      - IMGTec's PowerVR Rogue
2015-09-01 05:41:03 -05:00
Lioncash 222b33f0a3 VolumeCreator: Fix a typo in VolumeKeyForPartition's name 2015-08-31 20:01:51 -04:00
Lioncash 1db1a8aacf VolumeCreator: Use a unique_ptr in CreateVolumeFromFilename 2015-08-31 20:01:44 -04:00
flacs b9ea9c05ad Merge pull request #2931 from lioncash/mem
VertexLoader_Color: Remove some pointer casts
2015-09-01 00:32:43 +02:00
Lioncash f7e22c8126 VertexLoader_Color: Mark translation-unit-local functions static 2015-08-31 17:31:23 -04:00
Lioncash ec42be79f3 VertexLoader_Color: Get rid of some pointer casts 2015-08-31 17:31:11 -04:00
Ryan Houdek ae0a06a018 [AArch64] Implement dcbz instruction 2015-08-31 15:39:47 -05:00
Ryan Houdek d495ad5104 [AArch64] Make TST reg, reg emitter alias 2015-08-31 14:03:32 -05:00
Ryan Houdek 0f54aa48b4 Merge pull request #2928 from Sonicadvance1/aarch64_improved_singles
[AArch64] Improve floating point single instructions.
2015-08-31 12:00:08 -05:00
Ryan Houdek bcde1aa8ff [AArch64] Improve floating point single instructions.
Instead of having an "INS" instruction after every single instruction to duplicate the bottom 64bits in to the top 64bits of the register,
create a new FPR register cache type to track when a register's lower 64bits is supposed to be duplicated in to the high 64bits.
Not necessarily actually having the lower bits duplicated in the host side register. This removes inefficient INS instructions from sequential single
float instructions.
In particular a very heavy single heavy block in Animal Crossing went from 712 instructions down to 520 instructions(~37% less instructions!)
2015-08-31 11:09:17 -05:00
Ryan Houdek d003934b8a Merge pull request #2929 from Sonicadvance1/aarch64_optimize_gpr_flush
Aarch64 optimize gpr flush
2015-08-31 10:55:45 -05:00
Ryan Houdek 8bf332cf08 [AArch64] Optimize GPR cache flushing.
If we are flushing multiple sequential guest GPRs then we can store two in a single STP instruction.
Ikaruga does this quite a bit in their blocks where they do an lmw at the very end and then we have to flush them all.
Typically cuts 16 STR instructions down to 8 STP instructions there.
2015-08-30 23:07:12 -05:00
Ryan Houdek f2c17436ab [AArch64] Fix issue in emitter.
Loadstore pairs support only signed offsets, not unsigned.
2015-08-30 23:05:59 -05:00
Scott Mansell 368867dba0 Merge pull request #2922 from aserna3/SDBlock
Implemented ability to block writes to the SD card
2015-08-31 04:51:50 +12:00
Ryan Houdek b907576510 [AArch64] Support profiling by cycle counters if they are available to EL0 2015-08-30 10:25:16 -05:00
Ryan Houdek 5110574c1f Merge pull request #2921 from Sonicadvance1/aarch64_optimize_lmw
[AArch64] Optimize lmw.
2015-08-30 10:23:57 -05:00
Anthony Serna 0390bd61df Fixed introduced compiler warning in Linux 2015-08-29 20:41:59 -07:00
Lioncash e0aabc5f6c MemcardManager: Remove trivial explicit delete and new
Also gets rid of pointer casting.
2015-08-29 22:46:18 -04:00
Lioncash d58550e874 MemcardManager: Minor cleanup of header code 2015-08-29 05:19:51 -04:00
Lioncash 0f3e4c50e1 MemcardManager: Correct class indentation 2015-08-29 05:13:20 -04:00
Lioncash 072150589e Merge pull request #2924 from lioncash/scope
Hash: Narrow define scope
2015-08-29 03:12:18 -04:00
Lioncash e7c7dcaa1f Merge pull request #2923 from lioncash/override
Jit_Util: Add missing override specifiers
2015-08-29 03:12:11 -04:00
Lioncash 310bb46967 Hash: Narrow define scope 2015-08-29 02:57:35 -04:00
Markus Wick a16669231a Merge pull request #2917 from Sonicadvance1/android_fix_sgs6
[Android] Workaround Mali driver issue on the Samsung Galaxy S6.
2015-08-29 08:56:32 +02:00
Lioncash df19f11cb9 Jit_Util: Add missing override specifiers 2015-08-29 00:30:18 -04:00
Anthony Serna db7fe9507e Implemented ability to block writes to the SD card
Renamed variable to be more accurate
2015-08-28 17:32:29 -07:00
Markus Wick 6004ecc521 Merge pull request #2920 from rohit-n/build-pch
Fix building with PCH disabled.
2015-08-28 23:08:24 +02:00
Ryan Houdek 8d61706440 [AArch64] Optimize lmw.
This instruction is fairly heavily used by Ikaruga to load a bunch of registers from the stack.
In particular at the start of the second stage is a block that takes up ~20% CPU time that includes a usage of lmw to load half of the guest
registers.

Basic thing optimized here is changing from a single 32bit LDR to potentially a single 128bit LDR.
a single 32bit LDR is fairly slow, so we can optimize a few ways.
If we have four or more registers to load, do a 64bit LDP in to two host registers, byteswap, and then move the high 32bits of the host registers in
to the correct mapped guest register locations.
If we have two registers to load then do a 32bit LDP which will load two guest registers in a single instruction.
and then if we have only one register left to load, load it as before.

This saves quite a bit of cycles since the Cortex-A57 and A72's LDR instruction takes a few cycles.

Each 32bit LDR takes 4 cycles latency, plus 1 cycle for post-index(which typically happens in parallel.
Both the 32bit and 64bit LDP take the same amount of latency.

So we are improving latencies and reducing code bloat here.
2015-08-28 14:40:30 -05:00
Ryan Houdek 2c3fa8da28 [AArch64] Fix a bug in the register caches.
This is a bug that crops if BindToRegister() is called multiple times in a row without a R() function call between them.
How to reproduce the bug:
1) Have a completely filled cache with no host register remaining
2) Call BindToRegister() with different guest registers
3) Don't call R() between the BindToRegister() calls.

This issue typically wouldn't be seen for a couple of reasons. Typically we have /plenty/ of registers in the cache, and in most cases we only call
BindToRegister() once per instruction. In the off chance that it is called multiple times, it wouldn't update the last used counts and would flush the
same register as the previous call to it.
2015-08-28 14:36:14 -05:00
Rohit Nirmal 6252d2d71a Fix building with PCH disabled. 2015-08-28 14:13:28 -05:00
Lioncash a6bd2fea28 Merge pull request #2919 from lioncash/vec
Vec3: Remove a memset call on the this pointer.
2015-08-28 15:05:02 -04:00
Lioncash e787501528 Vec3: Simplify operator== code 2015-08-28 14:46:40 -04:00
Markus Wick b11de5bddb Merge pull request #2918 from lioncash/memcpy
DataReader: Get rid of pointer casts
2015-08-28 20:45:15 +02:00
Lioncash d86d5fae9f Merge pull request #2909 from aserna3/DollsAndElves
Implemented .elf and .dol support in gamelist
2015-08-28 14:28:09 -04:00
Lioncash bb27f80a65 Vec3: Remove a memset call on the this pointer 2015-08-28 14:10:07 -04:00
Anthony Serna faedf1bc5c Implemented .elf and .dol support in gamelist
Fixed a TON of structuring, formatting.

removed README.txt files from themes at MaJoR's request

Added platform icon for ELFs/DOLs
2015-08-28 11:10:03 -07:00
Ryan Houdek 01db003779 [Android] Workaround Mali driver issue on the Samsung Galaxy S6.
Samsung updated the video drivers on the SGS6 which introduced a bug when disabling vsync.
Both the driver versions are r5p0, but the md5sums of the blob differ.
To work around the issue, make sure to never disable vsync by calling eglSwapInterval.

We can't actually determine the driver version on Android yet.
So until the driver version lands that displays the driver version string in the GL_VERSION string
we will need to keep this workaround enabled at all times, which is a bit annoying.

Current mali drivers return the video driver version in one of the EGL strings you can query.
The issue with that is that Android eats all of those strings, so we can't query it.
2015-08-28 09:02:46 -05:00
flacs d373dd372d Merge pull request #2913 from Tilka/fix_warning_fix
AVIDump: fix -Wsign-compare warning
2015-08-27 23:50:34 +02:00
Lioncash 4fb3a8b78d DataReader: Get rid of pointer casts 2015-08-27 13:43:04 -04:00
Lioncash 7fa0ecd046 Main: Make the wxLocale class member a unique_ptr 2015-08-27 08:36:01 -04:00
Lioncash 14ae1d23cf Main: Move unofficial build check to its own function
Removes the need to explicitly call exit.
2015-08-27 08:35:51 -04:00
Lioncash aafae49d24 Main: Move commandline parsing handling to appropriate override functions 2015-08-27 08:29:53 -04:00
Ryan Houdek d9b18862f3 Merge pull request #2908 from Sonicadvance1/gles_3_2
Support OpenGL ES 3.2.
2015-08-26 18:19:17 -05:00
Ryan Houdek 447b1b09e3 Support OpenGL ES 3.2.
OpenGL ES 3.2 adds a few things we care about supporting in core. In particular:
- GL_{ARB,EXT,OES}_draw_elements_base_vertex
- KHR_Debug
- Sample Shading
- GL_{ARB,EXT,OES,NV}_copy_image
- Geometry shaders
- Geometry shader instancing (If they support GL_{EXT,OES}_geometry_point_size)

Nvidia was the first to release an OpenGL ES 3.2 driver which I uesd to test this on.
This also enables GS Instancing on GLES 3.1 hardware if it supports all of the required extensions.
2015-08-26 17:57:51 -05:00
Ryan Houdek 6d25c469cf Merge pull request #2915 from degasus/arm
JitArm64: Implement rlwnmx
2015-08-26 15:52:37 -05:00
Markus Wick 54f882704a Merge pull request #2914 from JosJuice/fix-volumedirectory
Fix VolumeDirectory
2015-08-26 22:12:23 +02:00
degasus e516d4ef59 JitArm64: Implement rlwnmx 2015-08-26 21:59:10 +02:00
JosJuice d276d1abbb Fix VolumeDirectory
Fixes the regression from a225426 and clarifies a related comment.
2015-08-26 19:21:09 +02:00
Markus Wick 3e9dac3910 Merge pull request #2810 from Sonicadvance1/disassembler_improv
Have the disassembler show the PC next to host instructions.
2015-08-26 17:01:39 +02:00
flacs 99e88a7af7 Merge pull request #2887 from Tilka/swap
Jit64: some byte-swapping changes
2015-08-26 16:43:45 +02:00
flacs eb6ac641be Merge pull request #2906 from Tilka/fpscr
Jit64: fix bugs in the FPSCR instructions
2015-08-26 16:43:28 +02:00
Tillmann Karras 6ec4bdf862 CoreTiming: remove unused functions 2015-08-26 15:40:15 +02:00
Tillmann Karras 0f4861cac2 CoreTiming: make loops easier to read 2015-08-26 14:53:58 +02:00
Ryan Houdek ca51f1a4f6 [AArch64] Optimize paired registers being used in double operations.
In particular this optimizes the case where a 32bit float is loaded via lfs, and then used in double operations.
This happens very often in Gekko based code because the best way to load a 32bit value as a double is lfs since it automatically turns in to a double value.

There are a few other implications of this in practice as well. Like if both of the paired registers are loaded via psq_l and then used in double
operations it would be improved.
Also if we implement a double register we've got to be careful to make sure we understand if it is in "lower" register or the full 128bit register.
2015-08-26 05:50:04 -05:00
Markus Wick 5716d18d10 Merge pull request #2910 from Sonicadvance1/aarch64_regcache_fix
[AArch64] Fix a bug in the register cache.
2015-08-26 08:31:24 +02:00
Ryan Houdek 4f5f29a0fb [AArch64] Fix a bug in the register cache.
If the register was only a lower pair and it needed the full register, then we need to load the high 64bits.
Which we weren't doing before.
2015-08-26 01:21:43 -05:00
Markus Wick 43d17cb360 Merge pull request #2904 from Sonicadvance1/aarch64_more_inst
[AArch64] Implement fdivx/fdivsx/mfcr/mtcrf.
2015-08-26 07:48:24 +02:00
Tillmann Karras ee4a12ffe2 Jit64: some byte-swapping changes 2015-08-26 05:41:18 +02:00
flacs 6015e2d812 Merge pull request #2900 from aroulin/x64emitter-rcp
x64Emitter: add RCPPS and RCPSS SSE instructions
2015-08-26 05:05:53 +02:00
Ryan Houdek 6729a36d8d [AArch64] Set BindToRegister's to_load correctly for double FP ops. 2015-08-25 21:29:27 -05:00
Lioncash db4f692482 GCMemcard: Clean up memcard logging messages. 2015-08-25 21:55:52 -04:00
Tillmann Karras ee50a2ef28 Jit64: fix bugs in the FPSCR instructions 2015-08-25 23:48:14 +02:00
Markus Wick bd08c1b01a Merge pull request #2901 from Sonicadvance1/aarch64_stfiwx
[AArch64] Implement stfiwx
2015-08-25 22:47:39 +02:00
Markus Wick 24cb650078 Merge pull request #2663 from degasus/dcbx
Jit64: dcbf + dcbi
2015-08-25 12:16:56 +02:00
Ryan Houdek 0666c0750b [AArch64] Implement fdivx/fdivsx/mfcr/mtcrf.
Gets the povray bench to better times than the Wii.
2015-08-24 15:32:19 -05:00
Ryan Houdek d96be9250c Merge pull request #2899 from Sonicadvance1/aarch64_fctiwzx
[AArch64] Implement fctiwzx
2015-08-24 13:22:27 -05:00
Ryan Houdek cd03b8baf6 Merge pull request #2895 from Sonicadvance1/qualcomm_workaround_gles31
Disable OpenGL ES 3.1 on all Qualcomm Adreno devices.
2015-08-24 13:22:12 -05:00
degasus 0d92c8fb89 Jit64: Optimize dcbx 2015-08-24 18:33:23 +02:00
Tillmann Karras ac84d6d0fa Jit64: some cache flush changes
- dynamically allocate third scratch register instead of forcing ECX
- use LEA as 3 operand add if possible
- use BT,JC instead of SHR,TEST,JNZ
- merge MOV,TEST
- use appropriate ABI function (no asm change)
2015-08-24 18:33:23 +02:00
degasus 6f34b27323 Jit64: implement dcbf + dcbi 2015-08-24 18:33:19 +02:00
Markus Wick 0ad6fa8f62 Merge pull request #2903 from lioncash/cast
Memmap: Remove pointer casts
2015-08-24 15:42:56 +02:00
Lioncash abd3b124be Memmap: Remove pointer casts 2015-08-24 09:07:09 -04:00
Tillmann Karras 33eefc2d86 Jit64: quickfix for mtfsfx 2015-08-24 12:12:31 +02:00
Ryan Houdek d3176fe22a [AArch64] Implement stfiwx
Improves povray performance by ~4%
2015-08-24 01:10:55 -05:00
Ryan Houdek 80fa9af9b1 Merge pull request #2898 from degasus/linking
JitArm64: Faster linking of continuous blocks
2015-08-23 18:09:02 -05:00
degasus 7320d519b4 JitArm64: Implement srwx 2015-08-23 23:29:48 +02:00
degasus 4722a69fd0 JitArm64: Implement divwux 2015-08-23 23:29:18 +02:00
degasus 9e4366963c JitArm64: Implement subfic 2015-08-23 23:29:07 +02:00
degasus 95be17772f JitArm64: Implement addex 2015-08-23 23:29:02 +02:00
degasus 025e7c835a JitArm64: Implement subfcx 2015-08-23 23:28:28 +02:00
degasus 550a90e691 JitArm64: Implement subfex 2015-08-23 23:28:24 +02:00
Ryan Houdek 561744819e [AArch64] Implement fctiwzx
Improves the povray benchmark time by 5.6%
2015-08-23 15:35:18 -05:00
Ryan Houdek 4fa23abbe1 [AArch64] Implement MOVI and ORR(imm) in the NEON emitter. 2015-08-23 15:34:53 -05:00
aroulin 0a0e012fab x64Emitter: add RCPPS and RCPSS SSE instructions 2015-08-23 16:59:27 +02:00
degasus 77a6798094 JitArm64: Faster linking of continuous blocks 2015-08-23 14:44:23 +02:00
Markus Wick 73067b1ef1 Merge pull request #2888 from degasus/jit64
Jit64: Faster linking of continuous blocks
2015-08-23 13:24:15 +02:00
Lioncash 2a1abf8dd6 Merge pull request #2896 from lioncash/using
Core: Minor CPU core typedef cleanup
2015-08-22 19:00:23 -04:00
Ryan Houdek cc3fb7e7b4 Merge pull request #2883 from degasus/master
Profiler: Sort output by total time
2015-08-22 17:52:54 -05:00
Markus Wick 8b881a6c34 Merge pull request #2891 from Sonicadvance1/aarch64_implement_crxxx
[AArch64] Implement the cr instructions
2015-08-23 00:44:47 +02:00
Lioncash fdafa5d063 Core: Move includes out of instruction table headers
These aren't necessary (and cause unnecessary indirect inclusions).
2015-08-22 14:15:02 -04:00
Lioncash a248a4d2ce Jit64/JitIL: Relocate instruction typedefs 2015-08-22 14:15:00 -04:00
Lioncash c56717e058 Core: Shorten the _interpreterInstruction typedef
The class itself already acts as a namespace trailer, so '_interpreter'
isn't necessary. This also gets rid of a duplicate typedef in the
Interpreter_Tables.
2015-08-22 14:14:49 -04:00
Ryan Houdek b4e4a4cef4 Disable OpenGL ES 3.1 on all Qualcomm Adreno devices.
Their new driver that supports GLES3.1 + AEP has issues with it.
At the very least they don't implement all of the geometry shader features fully which causes shader linker issues when we attempt to use them.
I don't have a device so I can't fully test, so until I do I'm going to blanket disable the whole thing.
2015-08-22 09:12:19 -05:00
Markus Wick a39c0910c4 Merge pull request #2893 from Sonicadvance1/aarch64_memory_base_register
[AArch64] Use a register as a constant for the memory base.
2015-08-22 15:41:57 +02:00
Ryan Houdek dba579c52f [AArch64] Use a register as a constant for the memory base.
Removes a /lot/ of redundant movk operations in fastmem loadstores.
Improves performance of the povray bench by ~5%
2015-08-22 08:36:34 -05:00
Markus Wick 3f5ff98c1b Merge pull request #2890 from lioncash/ptr
x64Emitter: Remove pointer casts from Write{8,16,32,64} functions
2015-08-22 10:09:28 +02:00
Markus Wick 2d505bc2a6 Merge pull request #2894 from Sonicadvance1/no_more_eaten_canary
Fix the shader overrunning our max shader size.
2015-08-22 10:08:14 +02:00
Markus Wick c2f38f1d16 Merge pull request #2892 from Sonicadvance1/aarch64_frsp
[AArch64] Implement frspx
2015-08-22 09:44:14 +02:00
Ryan Houdek 3242e1a617 Fix the shader overrunning our max shader size.
The Star Wars games really push the hardware to its limits, which can cause the shaders that are produced to be 18kb or more.
Double our maximum shader size to compensate.
Fixes issue #8860
2015-08-22 01:01:03 -05:00
Ryan Houdek ce32b76be3 [AArch64] Implement frspx
Improves performance in povray bench by 2%
2015-08-22 00:35:30 -05:00
Ryan Houdek d74eb0ea58 [AArch64] Fix the bugs in the cr instructions
Makes it a bit more efficient in the process.
2015-08-21 23:24:29 -05:00
degasus e9ade0abe1 JitArm64: implement crXXX 2015-08-21 20:49:08 -05:00
Lioncash a69755d9ee x64Emitter: Remove pointer casts from Write{8,16,32,64} functions
This also silences quite a few ubsan asserts from firing when the emitter is being used.
2015-08-21 18:09:48 -04:00
flacs 95d958c03d Merge pull request #2889 from lioncash/interp
Interpreter: Use std::isnan instead of IsNAN
2015-08-21 21:43:08 +02:00
Lioncash caec42135d MathUtil: Remove IsNAN and IsINF
These aren't necessary, since the stdlib provides equivalents.
2015-08-21 15:05:43 -04:00
flacs bb7f3d1822 Merge pull request #2867 from Tilka/mtspr_hid0
Jit64: implement HID0 case of mtspr
2015-08-21 21:04:35 +02:00
flacs 01aea965ba Merge pull request #2864 from Tilka/fpscr
Jit64: implement FPSCR related instructions
2015-08-21 21:04:20 +02:00
Lioncash 18d658df1f Interpreter_FloatingPoint: Use std::isnan instead of IsNAN
Same thing, except one is part of the stdlib.
2015-08-21 15:04:03 -04:00
degasus 78aa01e06e Jit64: Faster linking of continuous blocks
We compile the blocks as they are executed, so it's common
to link them continuously. We end with calling JMP after every
block, but often just with a distance of 0.
So just emitting NOPs instead also "calls" the next block, but
easier for the CPU.
2015-08-21 17:41:53 +02:00
Markus Wick c325c310d6 Merge pull request #2884 from lioncash/emitter
x64Emitter: Minor cleanup
2015-08-21 13:03:51 +02:00
Ryan Houdek 5f628749ff Merge pull request #2886 from Sonicadvance1/aarch64_faster_lfd
[AArch64] Optimize lfd instructions if possible.
2015-08-21 05:38:53 -05:00
Ryan Houdek df53b37253 [AArch64] Optimize lfd instructions if possible.
If we are going to be using lfd, then chances are it is going to be used in double heavy areas of code.
If we only need to load the lower register, then we should also not worry about having to insert in to the low 64bits of the guest register.
So add a new flag to the backpatching to handle lfd to directly to the destination register.
This gives ~3% performance improvement to Povray.
2015-08-21 04:31:54 -05:00
Markus Wick 4f45d71840 Merge pull request #2760 from Sonicadvance1/aarch64_fcmp
[AArch64] Implement fcmp{u,o}
2015-08-21 11:03:20 +02:00
Tillmann Karras 39ced2a2d7 AVIDump: fix -Wsign-compare warning
Cast the other side of the comparison to avoid a warning with newer
ffmpeg/libav versions (cb3591e69738c808d26ba15eb02414fedfcd91cc).
2015-08-21 10:26:35 +02:00
Markus Wick 6cb87a9227 Merge pull request #2837 from Sonicadvance1/aarch64_faster_nonpaired
[AArch64] Optimize cases when an FPR is only used for non-paired ops.
2015-08-21 09:51:45 +02:00
Jeffrey Pfau 65ee5a1d36 DolphinWX: Finish removing bandaid from 704f787 2015-08-20 22:39:24 -07:00
Ryan Houdek 7ce4c3138e [AArch64] Optimize cases when an FPR is only used for non-paired ops. 2015-08-20 23:36:29 -05:00
Lioncash a59f00a5e4 x64Emitter: Remove unused code 2015-08-20 23:05:20 -04:00
Lioncash b903921b14 x64Emitter: Make WriteModRM and WriteSIB private
These shouldn't be public.
2015-08-20 19:29:40 -04:00
degasus 17932935d9 Profiler: Sort output by total time 2015-08-20 11:50:43 +02:00
Lioncash f481a306c2 Merge pull request #2882 from lioncash/namespace
Jit: Remove unnecessary namespace prefixes
2015-08-20 05:38:29 -04:00
Lioncash 95c57fcec1 Jit: Remove unnecessary namespace prefixes 2015-08-20 05:20:19 -04:00
Markus Wick cb264df64c Merge pull request #2874 from barat/master
VideoCommon: Allow more Ram for HiresTexture if system memory is over 4GB
2015-08-20 11:08:42 +02:00
Lioncash 822cf2bcbf IniFile: Mark getter functions as const 2015-08-19 22:27:18 -04:00
Lioncash 9e9a293a85 Frame/TASInputDlg: Remove unused functions 2015-08-19 20:36:16 -04:00
Lioncash 5b86e7335f Merge pull request #2795 from ddcc/master
Fix some compilation warnings
2015-08-19 17:40:04 -04:00
Bartosz Telesiński a52aaf22ba VideoCommon: Allow more Ram for HiresTexture if system memory is over 4GB 2015-08-19 23:13:09 +02:00
flacs b0c9d73465 Merge pull request #2842 from Tilka/bmi2_flags
x64Emitter: don't check flags for most BMI2 ops
2015-08-19 21:38:09 +02:00
Dominic Chen 09714f86c3 Fix some compilation warnings 2015-08-19 11:07:54 -04:00
degasus 896a02b3a8 DSP HLE: Remove timing informations from ucodes
On HLE, we don't emulate the timings on HLE, so there is also no need
to setup periods callbacks.
2015-08-19 16:20:17 +02:00
degasus 7277eb0e6c AX-HLE: Call HLE on mailbox write
It was done on Update() which was called exactly every 5ms.
But the game is allowed to use the DSP more often, eg to generate 48kHz audio.
2015-08-19 16:19:06 +02:00
Markus Wick bdbe723d6e Merge pull request #2870 from Sonicadvance1/GLInterface_Fix
Fix a memory leak in the EGL GLInterface.
2015-08-19 11:14:25 +02:00
Lioncash 291f857b0e Merge pull request #2859 from lioncash/netplay
NetPlay: Minor cleanup
2015-08-19 04:51:28 -04:00
Tillmann Karras 0f2c656687 Jit64: implement FPSCR related instructions 2015-08-18 18:12:32 +02:00
Ryan Houdek 3f1055de94 Fix a memory leak in the EGL GLInterface. 2015-08-18 08:26:45 -05:00
Tillmann Karras 415ad94dbe Interpreter: fix undefined bits of mffs
Lioncash tested this on hardware.
2015-08-18 15:07:14 +02:00
Lioncash 68c0ec281b NetPlayClient: Correctly free packet data 2015-08-18 08:32:58 -04:00
Lioncash 761e087e52 NetWindow: Remove translation marker from empty string 2015-08-17 21:56:52 -04:00
Lioncash 65adf76698 NetWindow: non-ugly way to check for window focus 2015-08-17 21:56:51 -04:00
Lioncash 2b4a249dea NetWindow: Replace old wx event binding types 2015-08-17 21:56:50 -04:00
Lioncash ca0b9481ea ChangeGameDialog: Internally set the chosen game name
Passing in a reference to an empty string is unnecessary and
overcomplicates design.
2015-08-17 21:56:48 -04:00
Lioncash af35f38491 NetWindow: Minor simplifications 2015-08-17 21:56:46 -04:00
Lioncash 11f3ded296 NetPlay: Return mapping arrays and player list vectors directly
Simplifies pad map dialog initialization
2015-08-17 21:56:25 -04:00
Ryan Houdek 4baaa3755e Merge pull request #2840 from zeroZshadow/master
Ignore all writes to BBA_TXFIFOCNT
2015-08-17 10:38:00 -05:00
Markus Wick ff95fa8a6d Merge pull request #2861 from lioncash/param
VideoCommon: Remove unused parameters
2015-08-17 15:02:44 +02:00
Markus Wick 239ad678f1 Merge pull request #2855 from Armada651/revert-clamp
Revert "VideoCommon: Clamp integer conversions."
2015-08-17 15:01:27 +02:00
Tillmann Karras 1c78c7b864 Jit64: implement HID0 case of mtspr 2015-08-17 13:31:57 +02:00
Pierre Bourdon 58b4b7edea Merge pull request #2863 from Tilka/fallback
Jit64: load PC only once after fallbacks
2015-08-17 10:29:54 +02:00
Tillmann Karras fbdc20ac37 Jit64: load PC only once after fallbacks 2015-08-17 06:05:10 +02:00
Tillmann Karras c4a6612b01 PowerPC: fix typo in FPSCR comment 2015-08-17 06:03:11 +02:00
Tillmann Karras a9447a8606 PowerPC: drop instructions not supported by GC/Wii 2015-08-17 06:03:11 +02:00
Lioncash 8e17c710f3 TextureConversionShader: Remove an unused parameter 2015-08-16 21:10:54 -04:00
Lioncash 0e41b973c7 VertexShaderManager: Remove unused parameter 2015-08-16 21:07:10 -04:00
Lioncash a824f6a74c Debugger: Remove unused instance variables 2015-08-16 18:30:07 -04:00
Lioncash c593bd226c Frame: Remove an unused enum and array 2015-08-16 18:24:58 -04:00
Lioncash 7aa76a84ef DolphinWX: Fix memory leaks occurring in ISOProperties
This would only occur for Wii discs. While the tree data itself would be deleted, the allocated contents of it were not.
2015-08-16 05:40:07 -04:00
Lioncash b1af2a6bbc NetPlay: Use std::array for the pad mappings 2015-08-16 00:08:09 -04:00
Lioncash e3ffb2dd16 NetPlayProto: Minor cleanup 2015-08-16 00:00:59 -04:00
Markus Wick b8a35f6996 Merge pull request #2856 from mathieui/netplay-free
[netplay] Fix a crash
2015-08-15 23:13:18 +02:00
Markus Wick b3045f9664 Merge pull request #2852 from aserna3/master
Changed GC adapter "Direct Connect" to false by default
2015-08-15 21:25:23 +02:00
Markus Wick e60018abd4 Merge pull request #2854 from Tilka/valgrind
Fix some small stuff found with Valgrind
2015-08-15 20:52:12 +02:00
Ryan Houdek 909ab23df5 Merge pull request #2853 from degasus/arm
JitArm64: Fix jit clearing
2015-08-15 13:50:36 -05:00
Markus Wick b5a5883792 Merge pull request #2851 from JosJuice/unknown-instruction
Restore old assert message for unknown instruction
2015-08-15 20:10:16 +02:00
Markus Wick 3469694b46 Merge pull request #2676 from Stevoisiak/SpellingCorrections
Minor spelling corrections
2015-08-15 18:36:56 +02:00
zeroZshadow 84764db3b2 Rewrite RecvStart error checking as suggested by shuffle2 2015-08-15 16:46:37 +02:00
Jules Blok 7e266b080f TextureCache: Remove redundant floor(). 2015-08-15 15:30:50 +02:00
mathieui 2420004af8 [Netplay] Always set a playerid
And don’t blindly dereference a pointer.
2015-08-15 15:12:20 +02:00
Jules Blok b01ca1794a Revert "VideoCommon: Clamp integer conversions."
This reverts commit 0f2c72f0f8.
2015-08-15 13:50:43 +02:00
Tillmann Karras b0cc02658b CachedInterpreter: avoid uninitialized value
(The CachedInterpreter backend does not support block linking yet.)
2015-08-15 13:01:26 +02:00
Tillmann Karras b3ff66dc7a evdev: don't pass null path to the kernel 2015-08-15 12:51:34 +02:00
Tillmann Karras 0b73a9ed25 PulseAudio: fix small memleak 2015-08-15 12:51:11 +02:00
degasus 9bfff0d461 JitArm64: Fix jit clearing
We have to reset m_lastCacheFlushEnd on clearing.
2015-08-15 11:41:01 +02:00
Anthony Serna b6da5490c1 Changed GC adapter "Direct Connect" to false by default 2015-08-15 02:09:47 -07:00
JosJuice c49074742c Restore old assert message for unknown instruction
The assert(0) that was introduced in PR #2811 is not user friendly
since it has no explanation at all about what happened. Regular users
probably won't think of looking at the log to get more information.
2015-08-15 10:00:49 +02:00
flacs e28fa1588f Merge pull request #2850 from Tilka/alloc_order
Jit64: clean up GetAllocationOrder()
2015-08-15 09:47:56 +02:00
Lioncash 70e91af405 Merge pull request #2834 from endrift/tasinputdlg-threading
DolphinWX: Ensure TASInputDlg only gets modified on the main thread
2015-08-15 02:45:13 -04:00
Tillmann Karras dd5cc34951 Jit64: clean up GetAllocationOrder() 2015-08-15 07:25:14 +02:00
flacs d8d62336b5 Merge pull request #2849 from lioncash/cond
JitInterface: Fix null checking in GetProfileResults
2015-08-15 00:59:19 +02:00
Lioncash 8db43501d5 JitInterface: Fix null checking in GetProfileResults
Technically a null pointer dereference can occur here.
2015-08-14 18:51:54 -04:00
Tillmann Karras 022286fb90 x64Emitter: don't check flags for most BMI2 ops
With the exception of BZHI, BMI2 instructions don't affect flags, so
don't check if they're locked.
2015-08-14 23:39:17 +02:00
Tillmann Karras e5a2334744 Jit64: make use of ANDN again
This time, make sure not to use it with immediates.
2015-08-14 21:25:52 +02:00
Tillmann Karras 5e9fe4cd13 x64Emitter: check for immediates in BMI ops 2015-08-14 21:25:41 +02:00
Ryan Houdek 3bc5505272 Merge pull request #2814 from Sonicadvance1/aarch64_faster_fastmem
[AArch64] Banish slowmem operations to farcode.
2015-08-14 12:03:46 -05:00
Ryan Houdek f76a30c9fd Merge pull request #2845 from degasus/arm
JitArm64: Implement dcbt
2015-08-14 12:03:25 -05:00
degasus 715802d5aa JitArm64: Move all pointers into the map
And cleanup all of the old code for sharing and generating this pointers.
2015-08-14 11:24:11 -05:00
degasus 878f919f63 JitArm64: Fastmem: fixup map & lookup 2015-08-14 11:24:03 -05:00
flacs 9ef349181e Revert "Jit64: use BMI1's ANDN for andcx" 2015-08-14 18:10:07 +02:00
Pierre Bourdon 86c28bfac6 Bump save state version. 2015-08-14 16:17:28 +02:00
Pierre Bourdon 2d5d203be8 ZeldaHLE: Add UCode version for Pikmin 1 PAL. 2015-08-14 16:01:36 +02:00
Pierre Bourdon 18d0f15885 ZeldaHLE: Fix the AFC remaining samples logic on looping. 2015-08-14 16:01:36 +02:00
Pierre Bourdon 9105a76eb1 ZeldaHLE: Comment on the differences between FSA/ZTP UCodes. 2015-08-14 16:01:36 +02:00
Pierre Bourdon fcbed7483d ZeldaHLE: Properly read remaining AFC samples when a whole frame is available. 2015-08-14 16:01:36 +02:00
Pierre Bourdon a602466e4f ZeldaHLE: Implement patterns 2/3 automatic regeneration. 2015-08-14 16:01:35 +02:00
Pierre Bourdon dd1cb88e9a ZeldaHLE: Add new UCode version for Pikmin 1/2 New Play Control 2015-08-14 16:01:35 +02:00
Pierre Bourdon c6c0f69c6b ZeldaHLE: really fix the constant pattern variable step computation.
This time tested by comparing pattern indexes across LLE and HLE with the same
inputs. Matches on the 3-4 test cases I made.
2015-08-14 16:01:35 +02:00
Pierre Bourdon fddb3f0d3c ZeldaHLE: fix the constant pattern variable step computation. 2015-08-14 16:01:35 +02:00
Pierre Bourdon 090723167f ZeldaHLE: Implement constant patterns with variable step (sample source 0A). 2015-08-14 16:01:35 +02:00
Pierre Bourdon fbe727b0bb ZeldaHLE: Support GBA crypto through command 0C. Reuses the pre-existing GBA crypto code from the separate UCode. 2015-08-14 16:01:35 +02:00
Pierre Bourdon 0b1af50316 ZeldaHLE: Initial support for command 0C in both styles implemented by the light protocol. Logs, but doesn't crash anymore. 2015-08-14 16:01:35 +02:00
Pierre Bourdon 32fcd8ec7c ZeldaHLE: Special case Cmd03 NOP handling to make it clear it shouldn't ever happen on light protocol UCodes. 2015-08-14 16:01:34 +02:00
Pierre Bourdon bbfa238657 ZeldaHLE: Document that the crashy commands are not actually crashy on light protocol, just never used. 2015-08-14 16:01:34 +02:00
Pierre Bourdon 25430e7923 ZeldaHLE: Add a flag to disable Cmd0D on older UCodes.
Shouldn't really matter -- these NOP commands aren't really used, but since it
reads an argument it's probably better to explicitly NOP it for safety.
2015-08-14 16:01:34 +02:00
Pierre Bourdon 8526a4131c ZeldaHLE: Properly implement light command 03.
On at least one version (AC/Pikmin 1 NTSC) it doesn't even send a sync mail and
just reloops to the dispatcher.
2015-08-14 16:01:34 +02:00
Pierre Bourdon 7f7e036a02 ZeldaHLE: Add a missing game to the list of games to look at. 2015-08-14 16:01:34 +02:00
Pierre Bourdon cdb1022696 Zelda HLE: Add support for the ZTP Wii UCode. 2015-08-14 16:01:34 +02:00
Pierre Bourdon 5f61ab3e21 Zelda HLE: Update the CRC to games mapping (documentation only). 2015-08-14 16:01:33 +02:00
Pierre Bourdon addb5cb887 Zelda HLE: Support the per-frame sync protocol used by SMS.
Didn't test if SMS sounds right (travelling with no headphones \o/) but the
waveform looks ok and the mails are flowing as expected.
2015-08-14 16:01:33 +02:00
Pierre Bourdon 89037781e0 Zelda HLE: Make the implementation less strict for recoverable errors.
It kind of sucks that we don't emulate some behaviors properly, but there is
very little ROI for some of these features and I'm not going to spend time
implementing them any time soon. Making the PanicAlerts optional allows for
more testing of the core features on more games while "just" breaking less
important features like reverb.
2015-08-14 16:01:33 +02:00
Pierre Bourdon 837b8041c0 Zelda HLE: Only alert for mixing into back buffers for recent UCode versions.
On older versions there is no such concept of a "back buffer" since positional
audio is not supported. These buffers are just used for temp mixing, and while
it would be really nice if we could support more of that inter-buffer mixing
(TODO :) ) it does not warrant a PanicAlert at this time.
2015-08-14 16:01:33 +02:00
Pierre Bourdon 840a4157b0 Zelda HLE: Properly implement LQ AFC decoding.
Typos and stupid mistakes + untested code = dirty Git history.
2015-08-14 16:01:33 +02:00
Pierre Bourdon 82689677d9 Zelda HLE: Implement LQ AFC decoding (samples source 0005). 2015-08-14 16:01:33 +02:00
Pierre Bourdon b3a327f02b Zelda HLE: Implement sample source 3.
"Square" wave at a 0.25 duty cycle (25% up 75% down).
2015-08-14 16:01:32 +02:00
Pierre Bourdon 3c2b22bc09 Zelda HLE: Add basic support for Luigi's Mansion.
Fails ingame because it mixes to some buffers that are considered the back
buffers for Dolby games. That check might need to be less restrictive for games
that don't use Dolby mixing.
2015-08-14 16:01:32 +02:00
Pierre Bourdon a0c318454d Zelda HLE: Log the UCode version being used (CRC/flags).
Also tidy up the versions list a bit.
2015-08-14 16:01:32 +02:00
Pierre Bourdon 2e72c11025 Zelda HLE: Add support for the Pikmin 1 NTSC version of the UCode. 2015-08-14 16:01:32 +02:00
Pierre Bourdon a8810e8778 Zelda HLE: Add support for the Zelda: FSA UCode. 2015-08-14 16:01:32 +02:00
Pierre Bourdon 01ab40fc6e Zelda HLE: NTSC IPL provides the volume stepping explicitly.
Support that through a new behavior flag. Now the only remaining known bug in
the NTSC IPL is the reverb not fading out.
2015-08-14 16:01:32 +02:00
Pierre Bourdon 43882f3e6e Zelda HLE: Handle the smaller VPBs used by the NTSC IPL.
Damn you, Nintendo.
2015-08-14 16:01:31 +02:00
Pierre Bourdon 1807c113b5 Zelda HLE: Support both NTSC and PAL IPL.
Add a flag for UCodes that only have four non-Dolby mixing destinations
(instead of the standard six destinations).

NTSC IPL is still hopelessly broken.
2015-08-14 16:01:31 +02:00
Pierre Bourdon 4ace79024d Zelda HLE: Add a missing mixing buffer used by GC IPL.
Not completely sure what it's used for yet, but TWW has references to it so
I'll get to it at some point.
2015-08-14 16:01:31 +02:00
Pierre Bourdon 8c85a8c8d9 Zelda HLE: Fix reverb in the GC IPL.
Adds a missing destination buffer, and support post-filtering.
2015-08-14 16:01:31 +02:00