Lioncash
6e5f60bab7
x64Emitter: Make single argument constructor explicit
2015-09-22 19:51:14 -04:00
Lioncash
213d11dc62
Merge pull request #2939 from lioncash/find
...
FramebufferManagerBase: Compress a loop into a find_if
2015-09-22 18:56:38 -04:00
Lioncash
4b9b82e000
DiscIO: Do swapping in GetTitleID implementations
...
Gets rid of external swaps at every usage.
2015-09-22 13:50:35 -04:00
Lioncash
5d774df1e8
Merge pull request #3074 from JosJuice/isoproperties-gettitleid
...
Remove odd way of getting ID in ISOProperties
2015-09-22 12:24:19 -04:00
Markus Wick
3930c929cb
Merge pull request #3062 from phire/moveGL
...
Move GL interface code out of the OpenGL video backend.
2015-09-22 15:32:48 +02:00
Scott Mansell
a537ca7543
Merge pull request #2997 from phire/FixFifoRecorder
...
FifoRecorder: Use Texture Cache to record efb copies correctly.
2015-09-23 00:17:37 +12:00
Scott Mansell
aa1fec6fc3
FifoPlayer: Fixup style of types.
2015-09-23 00:03:43 +12:00
Scott Mansell
a355d9868e
FifoRecorder: Use Video Common to record efb2ram correctly.
...
Texture updates have been moved into TextureCache, while
TMEM updates where moved into bpmem. Code for handling
efb2ram updates was added to TextureCache.
There was a bug for preloaded RGBA8 textures, it only copied
half the texture. The TODO was wrong too.
2015-09-22 23:59:16 +12:00
ghost
07e4b4f7c4
VideoBackend: Video config filename is now exposed in VideoBackends.
...
It reduces redundancy. Needed make possible to save current video config.
2015-09-22 09:47:19 +03:00
JosJuice
42db9e2897
Remove odd way of getting ID in ISOProperties
...
Other code (like GameListItem) simply calls GetUniqueID,
and I've never seen that lead to any problems.
2015-09-21 17:46:05 +02:00
Scott Mansell
c9836ff592
EGL: Don't depend on VideoCommon or Core
2015-09-22 00:36:48 +12:00
Scott Mansell
72249b8085
GLX: Don't depend on Core or VideoCommon
2015-09-22 00:36:47 +12:00
Scott Mansell
01ed925fec
AGL: Don't depend on VideoCommon
2015-09-22 00:36:46 +12:00
Scott Mansell
93f6563789
WGL: Don't depend on Core/VideoCommon
2015-09-22 00:36:45 +12:00
Scott Mansell
95f3c956a8
Move GL interface code out of the OpenGL video backend.
2015-09-22 00:36:45 +12:00
Lioncash
bddcdd9d94
Jit_Util: Replace two MDisp usages with MatR
...
Same thing, less to read.
2015-09-21 08:20:35 -04:00
flacs
3df83e5717
Merge pull request #3069 from degasus/master
...
VideoSW: Don't raise a PanicAlert because of indices
2015-09-21 11:58:13 +02:00
Lioncash
67cfadf0bb
DSPJitUtil: Use SCALE constants instead of magic numbers
2015-09-21 04:50:25 -04:00
Lioncash
29c674848d
DSPJitRegCache: Make GetFreeXReg return by value
...
There's no reason to only modify an enum value by reference.
2015-09-21 04:24:09 -04:00
CastellaFactory
7ddfe713d5
[Netplay] Show error dialog if failed to connect to netplay server when Traversal and Force Listen Port is enabled
2015-09-20 20:15:13 +09:00
CastellaFactory
1f83a3d146
[Netplay:Traversal] Add "Force Netplay Listen Port" feature that was in old netplay branch
2015-09-20 20:15:13 +09:00
degasus
be16901ae1
VideoSW: Don't raise a PanicAlert because of indices
...
It's not panic, it may just render wrong. And this case seems to happen often.
2015-09-20 13:13:47 +02:00
flacs
63c373c843
Merge pull request #3063 from lioncash/func
...
DSPJitRegCache: Fix function casing
2015-09-20 03:32:11 +02:00
flacs
403df299a6
Merge pull request #3066 from degasus/master
...
GLInterface: Fix VideoSW on linux + OSX (v2)
2015-09-20 03:30:46 +02:00
JosJuice
17edcc4fc7
Fix Cheat Manager not saving created codes
2015-09-19 17:20:16 +02:00
Markus Wick
1c502b76a5
Merge pull request #3065 from JosJuice/wad-id-exception
...
Fix 4.0-7767 regression: exception when handling short WAD IDs
2015-09-19 13:49:21 +02:00
degasus
c976e14277
GLInterface: Fix VideoSW on linux + OSX (v2)
...
Our Video Software backend isn't OpenGL Core compatible, so we need a flag to alloc a compatible one.
v2: Fix AGL profile selection.
2015-09-19 13:22:55 +02:00
JosJuice
e2e7fc9029
Fix 4.0-7767 regression: exception when handling short WAD IDs
2015-09-19 09:23:52 +02:00
flacs
9b08de9522
Merge pull request #3064 from phire/no_xp
...
VideoBackendBase: Remove check for XP.
2015-09-18 21:18:07 +02:00
Scott Mansell
b6cd78a370
VideoBackendBase: Remove check for XP.
2015-09-19 07:10:44 +12:00
Lioncash
c2cc8d7cd8
DSPJitRegCache: Fix function casing
2015-09-18 13:23:32 -04:00
Lioncash
9f389fdccb
Gekko: Make sign-extension functions constexpr
2015-09-18 11:14:45 -04:00
Markus Wick
b293bd22d6
Merge pull request #3060 from dolphin-emu/revert-3054-master
...
Revert "GLInterface: Fix VideoSW on linux + OSX"
2015-09-18 13:48:47 +02:00
Markus Wick
8bd1be643c
Merge pull request #3059 from lioncash/vtx
...
VertexLoaderUtils: Get rid of pointer casts
2015-09-18 13:45:14 +02:00
Markus Wick
a7e9a154a5
Revert "GLInterface: Fix VideoSW on linux + OSX"
2015-09-18 13:40:09 +02:00
Scott Mansell
3f56480903
Merge pull request #3037 from JosJuice/titles-txt-sort
...
DolphinWX: Fix sorting games by custom titles
2015-09-18 17:41:32 +12:00
Lioncash
c3332604fa
ControllerInterface: Fix -Winconsistent-missing-override warnings on OSX
2015-09-17 15:15:15 -04:00
Lioncash
28d1001ff8
VertexLoaderUtils: Get rid of pointer casts
...
Eliminates most ubsan asserts that stem from VideoCommon when running starfield.
2015-09-17 14:24:11 -04:00
degasus
baf09c3af6
VideoSW: Remove unused function
2015-09-17 19:44:44 +02:00
flacs
e4dfb2f6bf
Merge pull request #3054 from degasus/master
...
GLInterface: Fix VideoSW on linux + OSX
2015-09-17 19:21:16 +02:00
degasus
3b5b80bf3c
VideoSW: Drop SW bbox code
...
The hardware backends don't use this shared code any more, and it's not needed for video sw either. So this was just dead code.
2015-09-17 18:21:37 +02:00
degasus
e3e0399af2
VideoSW: Drop HwRasterizer
...
I don't remember it being working, and nobody cares about performance of videosw.
2015-09-17 18:21:37 +02:00
degasus
48279c1840
GLInterface: Fix VideoSW on linux + OSX
...
Our Video Software backend isn't OpenGL Core compatible, so we need a flag to alloc a compatible one.
2015-09-17 17:52:56 +02:00
Lioncash
cfa43f64bf
x64Emitter: Remove pointer cast
...
No more ubsan asserts in the JIT and x64 emitter code paths when running starfield.
2015-09-17 09:35:13 -04:00
Lioncash
a94300dd86
Rasterizer: Use multiplication instead of shifts in DrawTriangleFrontFace
...
The left-hand-side is negative at some point which is considered undefined by the standard.
2015-09-17 01:46:29 -04:00
Lioncash
00ffc47751
Jit_Util: Mark a class function as const
2015-09-17 00:21:50 -04:00
flacs
6940fc5ab9
Merge pull request #2947 from Rukario/my_branch
...
Updated terms in Netplay window.
2015-09-17 03:02:59 +02:00
Lioncash
c6ea9eb7c3
JitCache: Remove unused define
2015-09-16 19:15:47 -04:00
Tillmann Karras
b8f3519e49
Fix -Wunused-private-field warning
2015-09-16 23:31:53 +02:00
flacs
49ea15b950
Merge pull request #2873 from lioncash/netleaks
...
NetPlay: Fix a memory leak
2015-09-16 21:56:17 +02:00
Markus Wick
295b869304
Merge pull request #3028 from mimimi085181/sonic-fighters-regression-fix2
...
Fix performance regression in Sonic the Fighters, introduced by PR#2001
2015-09-16 21:53:03 +02:00
flacs
9e5f2ded86
Merge pull request #3040 from lioncash/arraysize
...
AX: Use ArraySize over sizeof division
2015-09-16 21:25:29 +02:00
flacs
29a0a2b626
Merge pull request #3043 from lioncash/jitalign
...
JitCache: Get rid of pointer casts
2015-09-16 21:22:01 +02:00
flacs
84f4c446de
Merge pull request #3045 from lioncash/state
...
State: Increase savestate version
2015-09-16 21:19:21 +02:00
flacs
ca7b999968
Merge pull request #3046 from phire/dx11-segfault
...
Remove segfault from DX11 backend.
2015-09-16 21:18:22 +02:00
Scott Mansell
deeb1d8370
Remove segfault from DX11 backend.
...
Instead of blindly using the expected width, clamp it to the stride of the
buffer which dx11 returns. This prevents use from reading invalid memory
at the end of textures.
This doesn't solve the base issue of what to do when a game tries to copy
from outside the efb. On real hardware it returns random noise (biased
to all ones)
2015-09-17 02:22:00 +12:00
Lioncash
227c3aa259
State: Increase savestate version
...
This should have been done when GC_ALIGN macros were replaced.
2015-09-16 09:04:44 -04:00
Lioncash
8aac59418b
JitCache: Get rid of pointer casts
...
Silences more ubsan runtime asserts
2015-09-16 06:25:48 -04:00
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
waddlesplash
f5743f5ee9
DolphinQt: Handle the Host_UpdateTitle callback.
2015-09-13 09:37:00 -04:00
waddlesplash
7c91669ced
DolphinQt: Updates to the SystemInfo dialog.
...
* Windows 8.1/10 & OS X .10/.11 constants now in Qt
* idealThreadCount() includes hyperthreads, so say 'logical processors'
2015-09-13 09:33:32 -04:00
waddlesplash
7c2f22fd0c
DolphinQt: Use C++11 'final' keyword where applicable.
2015-09-13 09:33:30 -04:00
waddlesplash
11c641ed90
DolphinQt: Set the SUBSYSTEM in Release mode to 'Windows' to hide the console.
2015-09-13 09:33:28 -04:00
waddlesplash
0e2ea1ba64
DolphinQt: Remove '&' on closures where it isn't needed.
2015-09-13 09:33:26 -04:00
waddlesplash
7c13021627
DolphinQt: Add 'Screenshot' button.
2015-09-13 09:33:24 -04:00
waddlesplash
db8b50cf7e
DolphinQt: Indentation fixes.
2015-09-13 09:33:22 -04:00
waddlesplash
831d8ef13f
DolphinQt: Properly handle quit events.
...
* Confirm stopping emulation when the window is closing, not just the "Stop" button
* Don't resume if we were already paused when we got the quit event
* Shutdown the core at the end of main() so we don't crash on exit
* Miscellaneous other logic cleanups related to this
2015-09-13 09:32:09 -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
waddlesplash
436f1133dd
DolphinQt: Simplify action setup.
...
We don't need two sets of actions (one with icons, one without icons)
for Play/Stop, we can just tell Qt not to display the icons in the menus.
2015-09-12 11:24:00 -04: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
Pierre Bourdon
13ea54628d
Zelda HLE: Add support for the light protocol.
...
Used by a few titles (Luigi's Mansion, Animal Crossing) as well as the GameCube
IPL/BIOS.
Note that the IPL does not work yet because it mixes to unknown buffers.
2015-08-14 16:01:31 +02:00
Pierre Bourdon
c033395e28
Zelda HLE: Introduce behavior flags to handle UCode version differences.
...
MAKE_DOLBY_LOUDER solves some of the volume issues that were happening in Zelda
Twilight Princess and SMG1.
2015-08-14 16:01:31 +02:00
Pierre Bourdon
8b9b9f033a
Zelda HLE: Fix and genericize PCM ARAM loading functions.
...
Now also handles PCM16, and works for longer sounds. SMG1 main menu outputs
some sensible audio now, though volume seems slightly off.
2015-08-14 16:01:30 +02:00
Pierre Bourdon
0dc5a925b0
Zelda HLE: Add initial support for Wii DAC and SMG1.
...
SMG1 boots but quickly PanicAlerts due to an unimplemented sample source.
2015-08-14 16:01:30 +02:00
Pierre Bourdon
ea1ac5f596
Zelda HLE: Add save state support.
...
Also fix an inconsistency in the spelling of "coeffs".
2015-08-14 16:01:30 +02:00
Pierre Bourdon
bfff0a72df
Zelda HLE: Implement sample sources 4, 7, 11 and 12.
...
Just 4 different versions of the same sample source, using a different constant
pattern uploaded to the DSP during command 01.
2015-08-14 16:01:30 +02:00
Pierre Bourdon
6c61ee6278
Zelda HLE: Initial support for Zelda Twilight Princess (GC)
...
Very close to the TWW version of the UCode, haven't determined any differences
yet (but I'm sure that will come soon). Works well enough to reach ingame
without any errors other than a few volume issues.
2015-08-14 16:01:30 +02:00
Pierre Bourdon
b672788548
Zelda HLE: Skip command words that are not commands.
...
Zelda Twilight Princess (GC) seems to push null words into the command buffer.
The command handler in the UCode ignores initial command mails that do not have
the MSB set.
2015-08-14 16:01:30 +02:00
Pierre Bourdon
9944731516
Zelda HLE: Add reverb emulation.
2015-08-14 16:01:29 +02:00
Pierre Bourdon
c58aece9ad
Zelda HLE: Implement the PCM8 sample source.
...
Reorder some things in the source code to match the sample source definition
order. Add and remove some TODOs.
2015-08-14 16:01:29 +02:00
Pierre Bourdon
58fd39d57a
Zelda HLE: Value-initialize the std::arrays.
...
I was under the wrong impression that std::array's default constructor
performed value initialization. Turns out it does not, so an array of POD will
not be initialized.
2015-08-14 16:01:29 +02:00
Pierre Bourdon
34341af17d
Zelda HLE: Implement saw wave generation (sample source 0001).
...
Fixes issue 7961.
2015-08-14 16:01:29 +02:00
Pierre Bourdon
91fade5e89
Zelda HLE: Properly implement the square wave generation.
...
Zelda TWW magic meter works properly now.
2015-08-14 16:01:29 +02:00
Pierre Bourdon
63712e58fd
Zelda HLE: Convert some ERROR_LOG to PanicAlert.
...
While these are not really unrecoverable errors, while Zelda HLE is in a
testing / development phase it is useful to notice these "unexpected" cases (or
expected without known ways to reproduce) by making them as hard as possible to
ignore.
2015-08-14 16:01:29 +02:00
Pierre Bourdon
2bb3daf027
Zelda HLE: Implement square wave sample source.
...
Also fix Windows build.
2015-08-14 16:01:29 +02:00
Pierre Bourdon
580fe12c5b
Zelda HLE: Implement HQ AFC samples decoding.
2015-08-14 16:01:28 +02:00
Pierre Bourdon
33c29d8aab
ZeldaHLE: fix windows build again
2015-08-14 16:01:28 +02:00
Pierre Bourdon
b62f1ed453
ZeldaHLE: fix windows build
2015-08-14 16:01:28 +02:00
Pierre Bourdon
e35b83fabf
ZeldaHLE: Implement more infrastructure and one sample source.
...
Now renders some of the cutscene audio in Zelda TWW. Most of the work around
sample sources is in a good enough state, even though it is still missing
features like Dolby mixing, IIR, etc.
2015-08-14 16:01:28 +02:00
Pierre Bourdon
d9188f1245
Zelda HLE: Rewrite the control flow.
...
Now accurate control flow for DAC. Voice rendering is not implemented yet, but
framing seems correct. Not expected to work for anything than DAC UCode games.
2015-08-14 16:01:28 +02:00
Pierre Bourdon
d5e177d3f9
INIT UCode: reduce DSP initialization time
...
Push the mail at UCode boot time, not after the first update. This avoids a lot
of crazy busy-looping on the CPU side while waiting for the DSP to be
initialized.
2015-08-14 16:01:28 +02:00
Pierre Bourdon
a770cc0778
DSPHLE MailHandler: Synchronize reads and interrupts
...
This change is meant to solve the following problem: how to translate the
following snippet to DSPHLE:
SendInterruptAndWaitRead(MAIL_A);
SendAndWaitRead(MAIL_B);
SendInterruptAndWaitRead(MAIL_C);
This should cause the following actions on the CPU side:
---> Woken up by interrupt
Reads MAIL_A
Reads MAIL_B
<--- Exits interrupt handler
---> Woken up by interrupt
Reads MAIL_C
<---
But with the current DSPHLE mail support, the following would happen because
the "AndWaitRead" part is not supported:
---> Woken up by interrupt
Reads MAIL_A
Reads MAIL_B
<--- Exits interrupt handler
[Never gets the second interrupt since it was triggered at the same time as
the first one! Misses MAIL_C.]
This changes fixes the issue by storing two values in the mail queue on the DSP
side: the value of the mail itself, and whether a read of that mail should
trigger a DSP interrupt. If nothing is in the queue yet and an interrupt is
requested, just trigger the interrupt. In the present example, the queue will
look like this:
Mail value Interrupt requested
MAIL_A No <-- Interrupt was triggered when
pushing the mail to the queue.
MAIL_B Yes
MAIL_C No
When the CPU will read MAIL_B, this will cause MailHandler to trigger the
interrupt, which will be handled by the CPU when coming back from the exception
handler. MAIL_C is then successfully read.
2015-08-14 16:01:27 +02:00
Pierre Bourdon
8f3302419b
ZeldaHLE: Rip out more code, only keep normal version support and one CRC
2015-08-14 15:21:08 +02:00
Pierre Bourdon
22ec258194
ZeldaHLE: Rip out the whole voice processing code. Still boots games, but no sound at all.
2015-08-14 15:20:29 +02:00
Pierre Bourdon
a92727e862
DSPHLE: Add a config parameter to dump UCode to disk
2015-08-14 15:19:57 +02:00
degasus
fc23380f6b
JitArm64: Implement dcbt
...
This is a 1:1 copy&paste from Jit64.
2015-08-14 14:47:00 +02:00
Tillmann Karras
f9129c0e08
Jit64: use BMI1's ANDN for andcx
2015-08-14 05:51:31 +02:00
zeroZshadow
8925b828aa
Ignore all writes to BBA_TXFIFOCNT
2015-08-13 22:45:29 +02:00
zeroZshadow
798365846d
Improve TAP_Win32 error logging
2015-08-13 18:25:17 +02:00
degasus
4ef2962055
JitArm64: optimize addzex
...
So on the general case, we don't need a tempory register.
2015-08-13 13:40:53 +02:00
degasus
f7fa22a053
JitArm64: fix addzex
...
CMP don't update the carry flag, so we have to use an addition.
2015-08-13 13:36:21 +02:00
degasus
de3ce74b48
JitArm64: disable addzex
2015-08-13 12:22:48 +02:00
degasus
b9f5bfb2bd
JitArm64: zero extend RC for cmpli
...
Patch written by HdkR
2015-08-13 12:22:48 +02:00
Markus Wick
4c5fec4772
Merge pull request #2838 from Sonicadvance1/fix_gles_xfb
...
[GLES] Fix real XFB.
2015-08-13 08:29:42 +02:00
Ryan Houdek
c80e3089c8
[GLES] Fix real XFB.
...
GLES doesn't support the BGRA texture format type, just use RGBA.
2015-08-12 17:32:05 -05:00
Lioncash
5aa5a100fa
CheatSearchTab: Simplify functionality
...
With auto-updating lists, searching for the previous value isn't
necessary. Also, this breaks out specific functionality into their own
functions, which helps separate UI code from the data processing code.
modified: Source/Core/DolphinWX/Cheats/CheatSearchTab.h
2015-08-12 17:49:21 -04:00
Lioncash
00a4184893
CheatSearchTab: Make the search results list auto update address values
2015-08-12 17:49:20 -04:00
Ryan Houdek
1e024e7011
[AArch64] Implement fcmp{u,o}
2015-08-12 14:44:58 -05:00
Markus Wick
40818c4aad
Merge pull request #2835 from degasus/master
...
Wiimotes: Initialize all atomic<bool> globally.
2015-08-12 21:14:04 +02:00
Ryan Houdek
bb39ba1f3a
[AArch64] Banish slowmem operations to farcode.
...
This improves performance pretty much across the board for games.
The increase in performance is mainly from removing some code from the main JIT blocks of code (pushing and popping millions of registers) and
throwing them in farcode where it doesn't pollute the icache.
2015-08-12 13:57:09 -05:00
Ryan Houdek
d5c99a5b48
Add support for a CodeBlock holding a child.
...
This is required to make sure two code spaces are relatively close to one another.
In this case I need the AArch64 JIT codespace and its farcode space to be within 128MB of one another for branches.
2015-08-12 12:57:06 -05:00
shuffle2
90e05f7bea
Merge pull request #2832 from zeroZshadow/master
...
Properly scan for OpenVPN TAP adapters
2015-08-12 10:56:50 -07:00
Rohit Nirmal
703892e845
Fix building with PCH disabled.
2015-08-12 12:01:17 -05:00
degasus
6b9eba5761
Wiimotes: Initialize all atomic<bool> globally.
...
This fixes an issue with broken real wiimotes on linux.
2015-08-12 18:39:38 +02:00
Lioncash
2c3025e8af
Merge pull request #2822 from aserna3/master
...
Specified the type of AA in OGL AA settings
2015-08-12 01:35:22 -04:00
Jeffrey Pfau
adf6e46200
DolphinWX: Ensure TASInputDlg only gets modified on the main thread
2015-08-11 22:05:18 -07:00
zeroZshadow
7ed894484e
Added for loop end condition
2015-08-12 01:18:27 +02:00
zeroZshadow
8e33891593
Properly scan for OpenVPN TAP adapters
...
Handle errors correctly in SendFrame
2015-08-11 23:34:49 +02:00
Moncef Mechri
333f998123
Don't busy wait in the audio thread (ALSA)
...
When the emulation is paused and the ALSA backend is used, make the audio
thread wait on a condition variable instead of busy-waiting. This commit
fixes bug #7729
Since the ALSA API is not thread-safe, calls to snd_pcm_drop() and snd_pcm_prepare()
in AlsaSound::Clear() are protected by the same mutex as the condition variable in AlsaSound::SoundLoop()
to make sure that we do not call these functions while a call to
snd_pcm_writei() is ongoing.
2015-08-11 03:54:54 +02:00
Moncef Mechri
a0c5247743
Initialize ALSA before starting the audio thread
...
This fixes a race condition:
Before this commit, there was a race condition when starting a game:
Core::EmuThread(), after having started (but not necessarily completed)
the initialization of the audio thread, calls Core::SetState() which calls
CCPU::EnableStepping(), which in turns calls AudioCommon::ClearAudioBuffer().
This means that SoundStream::Clear() can be called before
AlsaSound::AlsaInit() has completed.
2015-08-11 03:54:54 +02:00
Lioncash
144ea9f4aa
Arm64Emitter: Fix encoding of '2-reg misc' variant of FCMEQ
2015-08-10 19:48:36 -04:00
JosJuice
e0a47c11f5
Fix reading Wii FST size (for real this time)
...
04fcb72
fixed an issue with reading the Wii FST size, but I found a second
issue when working on PR #2820 - the size must be shifted left by 2.
DiscScrubber and Boot already do this correctly using separate code.
2015-08-10 16:35:23 +02:00
Tillmann Karras
0e725c0860
USBGecko: don't needlessly call StringFromFormat()
2015-08-10 12:33:49 +02:00
Markus Wick
e297e3e666
Merge pull request #2825 from lioncash/log
...
AudioCommon: Log to AUDIO, not DSPHLE
2015-08-10 10:25:51 +02:00
Moncef Mechri
8b767a1189
Use dummy audio backend if the selected backend fails to start
...
If the selected audio backend fails to Start() (which could happen for
example if there is no audio device), we currently still use the backend
anyway. This can lead to crashes on some platforms (such as Windows) and
is outright wrong anyway.
This commit fallbacks to the Null audio backend if the selected backend
couldn't be started.
This fixes bug #6001
2015-08-10 03:46:45 +02:00
Lioncash
4c6930d36c
AudioCommon: Remove unused code from XAudio streams
2015-08-09 21:37:34 -04:00
Lioncash
3f78d74fc1
AudioCommon: Log to AUDIO, not DSPHLE
...
This code is not related to DSPHLE.
2015-08-09 21:36:03 -04:00
Ryan Houdek
cf22d32d0c
[AArch64] Don't do an unnecessary 128bit REV64 operation.
...
We are only using the lower 64bits here, no need to do the full quad register.
2015-08-09 14:56:52 -05:00
Ryan Houdek
922d476dab
[AArch64] Fix FCMGE instruction encoding.
...
Fixes a crash when ps_sel is used (PSO 1&2 intro movies).
2015-08-09 14:54:55 -05:00
Anthony Serna
ca250f6b71
Specified the type of AA in OGL AA settings
2015-08-09 09:59:20 -07:00
Lioncash
ccca2982df
Merge pull request #2819 from degasus/fix
...
PPCAnalyst: Mark function as static
2015-08-09 10:09:15 -04:00
degasus
bceab37801
PPCAnalyst: Mark function as static
2015-08-09 11:15:44 +02:00
Markus Wick
68a54daec3
Merge pull request #2817 from comex/clientca-typo
...
Forgot to add a slash in one bit of code I switched from D_WIIUSER_IDX to D_SESSION_WIIROOT_IDX.
2015-08-09 11:08:54 +02:00
flacs
6f2400ebc0
Merge pull request #2807 from aserna3/master
...
Removed audio shortcut from toolbar
2015-08-09 07:55:37 +02:00
comex
e20db1b2e3
Forgot to add a slash in one bit of code I switched from D_WIIUSER_IDX to D_SESSION_WIIROOT_IDX.
...
Fix that.
2015-08-08 23:16:29 -04:00
Lioncash
a488ab7a70
Merge pull request #2811 from Sonicadvance1/interpreter_dump
...
On unknown_instruction dump the full guest GPR state.
2015-08-08 14:57:06 -04:00
Tillmann Karras
145494144c
Jit64: duplicate fres result into ps1
...
And since frD is completely overwritten now, avoid loading it at all.
2015-08-08 06:17:47 +02:00
Ryan Houdek
14a0b01854
Merge pull request #2812 from Tilka/typos
...
Gekko: fix typos in HID2
2015-08-07 10:56:22 -05:00
Markus Wick
59e48e0fcf
Merge pull request #2801 from Tilka/stuff
...
x64Emitter: add MOVSLDUP/MOVSHDUP
2015-08-07 10:37:38 +02:00
Tillmann Karras
829a949708
Gekko: fix typos in HID2
2015-08-07 09:54:13 +02:00
Ryan Houdek
0326bf7164
On unknown_instruction dump the full guest GPR state.
2015-08-07 02:45:05 -05:00
Ryan Houdek
988c4f1de8
Have the disassembler show the PC next to host instructions.
2015-08-07 02:43:54 -05:00
Ryan Houdek
d9037d6c4a
Remove perf_dir Dolphin WX option.
...
Move the option for the directory to the Dolphin.ini
This way more than DolphinWX can take advantage of it.
2015-08-07 01:59:29 -05:00
Ryan Houdek
c5a7243eb2
[AArch64] Add support for JitRegister to the dispatcher and paired loadstores
2015-08-07 01:58:40 -05:00
Anthony Serna
d51267d13c
Removed audio shortcut from toolbar
...
Removed audio.png
2015-08-06 22:35:59 -07:00
Lioncash
f79855ab46
Merge pull request #2803 from lioncash/fp
...
CheatSearchTab: Show floating point value equivalent
2015-08-06 14:23:11 -04:00
degasus
d3cf4034de
DriverDetails: Disable GL_ARB_copy_image on mesa.
2015-08-06 19:41:36 +02:00
degasus
e2f42f8fd0
OGL: Move copy_image variable into backend.
2015-08-06 19:41:36 +02:00
Lioncash
bef7af1158
CheatSearchTab: Display floating point equivalent results
2015-08-06 10:09:12 -04:00
Lioncash
5882d76a6c
CheatSearchTab: Convert wxListBox into a wxListView
...
Allows us to give the list view columns. This allows removal of monospace font use, as it's now a properly formatted list.
2015-08-06 10:09:00 -04:00
Tillmann Karras
439fb26b9b
x64Emitter: add MOVSLDUP/MOVSHDUP
2015-08-06 10:39:43 +02:00
Tillmann Karras
f5a10bddee
Jit64: use overloaded IsSimpleReg() where useful
2015-08-06 10:39:43 +02:00
Tillmann Karras
a3476415f6
JitRegCache: mark derived classes as final
2015-08-06 10:39:43 +02:00
Tillmann Karras
0d3acbd9c7
PPCAnalyst: drop needless forward declarations
2015-08-06 10:39:43 +02:00
Tillmann Karras
8adca82cc6
JitInterface: fix disassembly entry point
...
This adds the downcount check code to the disassembly text and removes the
bogus instructions at the end.
2015-08-06 10:18:46 +02:00
flacs
0821607b2f
Merge pull request #2800 from lioncash/leak
...
UICommon: Fix a leak/bug in Disassembler retrieval
2015-08-04 20:36:01 +02:00
Lioncash
7387914529
UICommon: Fix a leak/bug in Disassembler retrieval
2015-08-04 14:28:32 -04:00
Rohit Nirmal
ac54bbe02d
Fix building with PCH disabled.
2015-08-04 12:59:34 -05:00
flacs
0aad44c980
Merge pull request #2753 from Tilka/fix_warnings
...
Fix some warnings
2015-08-04 18:54:31 +02:00
Markus Wick
972faf42ed
Merge pull request #2785 from lioncash/def
...
GeckoCode: Remove GetAddress function prototype
2015-08-04 17:44:15 +02:00
Markus Wick
19af6e0d93
Merge pull request #2787 from lioncash/memset
...
CPUDetect: Remove a memset call on the this pointer
2015-08-04 17:43:36 +02:00
Tillmann Karras
5a05187b3b
Fix some warnings
...
reorder, sign-compare, pessimizing-move
2015-08-04 10:58:24 +02:00
comex
3ee302df75
Fix wording of invalid read/write message
2015-08-03 01:57:59 -04:00
Scott Mansell
5097a22844
Merge pull request #2794 from randomstuff/evdev-stable
...
Stable device identifier for evdev
2015-08-02 21:40:49 +12:00
Scott Mansell
8dd9d35689
Merge pull request #2653 from AdmiralCurtiss/netplay-video-mode-sync
...
Netplay: Sync Video Mode settings. (Progressive Scan and PAL60)
2015-08-02 12:42:21 +12:00
Gabriel Corona
2722f3f337
Stable device identifier for evdev
2015-08-02 01:51:06 +02:00
Scott Mansell
a1df1f5ae4
Widescreen Heuristic: Cleanup code.
2015-08-01 14:39:34 +12:00
Scott Mansell
615e5db0cb
Make the GameCube game widescreen heuristic smarter.
...
The last heuristic wasn't quite smart enough and had a few
false positives in Mario Kart: Double Dash and Metroid prime 2.
Now we only activate if the game is rendering a 16:9
projection to a 4:3 viewport.
2015-08-01 13:21:53 +12:00
unknown
739ede2242
Fix code to comply with coding style
2015-07-31 20:00:36 -04:00
mirrorbender
0faba3b018
Changed the aspect ratio settings to account for NTSC/PAL pixel aspect ratios and VI scaling.
2015-07-31 19:58:02 -04:00
Admiral H. Curtiss
244e5224a7
Wiimote: Extend emulated Wiimote reconnect-on-button-press to attachments.
2015-07-30 20:06:27 +02:00
Lioncash
7ee0e75633
Remove unnecessary virtual keywords
2015-07-30 10:33:08 -04:00
Scott Mansell
567d0b20fa
Merge pull request #2769 from phire/autodetect_widescreen
...
Heuristic to detect if a gamecube game is rendering 16:9 widescreen.
2015-07-29 18:23:35 +12:00
Lioncash
3a450f72f8
CPUDetect: Remove a memset call on the this pointer
2015-07-28 23:44:18 -04:00
Lioncash
df30910b06
UICommon: Pass string by const reference for HostDisassemblerLLVM
2015-07-28 22:32:34 -04:00
Lioncash
44e7a7bf91
GeckoCode: Remove GetAddress function prototype
...
GetAddress didn't have a definition for its prototype.
Also shortened the construction of the Code struct.
2015-07-28 22:10:39 -04:00
Markus Wick
f800a5b93f
Merge pull request #2695 from degasus/jit64
...
Jit64: Fallback support of branching instructions
2015-07-28 16:37:41 +02:00
Markus Wick
0c4209a0f9
Merge pull request #2716 from degasus/jitgeneric
...
CachedInterpreter: New kind of jit which always fallback to interpreter.
2015-07-28 16:37:25 +02:00
degasus
ec0582ee5b
JitArm64: fix lfd
...
Bug found by HdkR.
2015-07-28 00:13:50 +02:00
degasus
b7c4886d66
JitArm64: fix stfsux
2015-07-27 23:07:38 +02:00
Anthony Serna
7e8cfff3c0
Optimized addx()
...
Removed some code duplication
Fixed whitespace
Moved else condition
2015-07-27 11:40:15 -07:00
booto
86dce8b0f7
VideoCommon: reduce level of debug output
2015-07-27 10:22:40 +08:00
Scott Mansell
bb60bcc42d
Heuristic to detect if a gamecube game is rendering 16:9 widescreen.
...
Someone suggested on IRC that we should make a database of memory
locations in GameCube games which contain the 'Widescreen' setting
so we can automatically detect if the game is in 4:3 or 16:9 mode.
But that's hardly optimal, when the game actually tells the gpu
what aspect ratio to render in. 10 min and 6 lines of code later,
this is the result. Not only does it detect the correct aspect ratio
it does so on the fly.
I'm a little suprised nobody thought about doing this before.
2015-07-27 10:40:41 +12:00
Ryan Houdek
e805e05ff5
Merge pull request #2773 from sigmabeta/android_wiimote_main
...
Android: Add Wiimote support, including configuration UI.
2015-07-26 16:54:45 -05:00
booto
9d055ba5f2
Video: Trying to fix D3D/XFB disabled regression
2015-07-26 00:59:00 +08:00
Jules Blok
3801f89125
Merge branch 'stable'
2015-07-25 14:09:02 +02:00
Jules Blok
3814b5b702
HotkeyManager: Activate hotkey when key is pressed.
...
As opposed to activating the hotkey when it is released.
2015-07-25 13:53:27 +02:00
Jules Blok
75fc213359
FrameTools: Disable hotkeys while a modal dialog is shown.
2015-07-25 13:05:00 +02:00
Jules Blok
0092f5207b
Core: Don't return true on IsRunning() when stopping emulation.
2015-07-25 13:04:37 +02:00
Jules Blok
59eb7a864d
Revert "Join the emu thread in Core::Stop. Get rid of Core::Shutdown which did that before."
...
This reverts commit ba664b3293
.
Added documentation to Core::Shutdown() to prevent breaking changes.
2015-07-25 13:04:22 +02:00
Jules Blok
dfe5ed54a4
Merge pull request #2770 from Armada651/modal-hotkeys
...
FrameTools: Disable hotkeys while a modal dialog is shown.
2015-07-25 13:02:13 +02:00
Jules Blok
fbd5bb815c
Merge pull request #2538 from Armada651/thread-revert
...
Revert "Join the emu thread in Core::Stop. Get rid of Core::Shutdown which did that before."
2015-07-25 13:02:04 +02:00
booto
efd250494d
Video: stride in bytes rather than pixels
2015-07-25 02:48:56 +08:00
booto
c43ae67b3b
RealXFB sizes don't get scaled by IR
...
When calculating the size of the undisplayed margin in the case where
fbWidth != fbStride for RealXFB for displaying in the output window,
we do not scale by IR - RealXFB is implicitly 1x.
2015-07-25 01:52:13 +08:00
booto
2e28ed3291
Video: respect stride of efb copies to xfb
2015-07-25 01:52:12 +08:00
sigmabeta
1cb07b1c48
Android: Wiimote UI Fixup
2015-07-23 23:17:16 -04:00
Lioncash
0babb80652
PostProcessingConfigDialog: Remove an unnecessary format call
2015-07-23 14:39:05 -04:00
Jules Blok
8eee13e7af
FrameTools: Disable hotkeys while a modal dialog is shown.
2015-07-23 09:09:01 +02:00
Jules Blok
ed50d61287
Merge branch 'stable'
2015-07-23 08:12:57 +02:00
Ryan Houdek
8bd108426e
Merge pull request #2759 from Sonicadvance1/pvr_workaround2
...
Work around PowerVR's shader compiler.
2015-07-22 16:51:48 -05:00
Ryan Houdek
6ee5ce32cf
Merge pull request #2757 from Sonicadvance1/pvr_workaround
...
Work around slow glBufferSubData on PowerVR.
2015-07-22 16:48:40 -05:00
Ryan Houdek
c81bd32720
Merge pull request #2764 from Sonicadvance1/pvr_workaround3
...
Work around devices that choose to only return the default EGL_RENDERABLE_TYPE
2015-07-22 16:47:11 -05:00
degasus
1c9b5efb4c
CachedInterpreter: New kind of jit which always fallback to interpreter.
2015-07-22 23:19:20 +02:00
Jules Blok
703b1e8654
CFrame: Ignore "Pause on Focus Lost" when not started.
2015-07-22 19:31:23 +02:00
Markus Wick
6bcdae616b
Merge pull request #2679 from Tinob/master
...
Implement scaled partial texture updates
2015-07-22 19:04:04 +02:00
Ryan Houdek
c4f0515141
Work around devices that choose to only return the default EGL_RENDERABLE_TYPE
...
The default EGL_RENDERABLE_TYPE is GLES1, so vendors have the ability to choose between returning only the bits requested, or all of the bits
supported in addition to the one requested.
PowerVR chose to take the route where they only return the bits requested, everyone else returns all of the bits supported.
Instead of letting the vendor have control of this, let's incrementally go through each renderable type and make sure it supports everything we want.
This will cover all devices for now, and for the future.
2015-07-22 11:11:23 -05:00
Jules Blok
5535c5c54c
Core: Don't return true on IsRunning() when stopping emulation.
2015-07-22 09:44:39 +02:00
Markus Wick
deef164c7b
Merge pull request #2761 from lioncash/unused
...
DolphinWX: Remove unused code from MemcardManager
2015-07-22 09:39:53 +02:00
Jules Blok
b6c4d5792b
Revert "Join the emu thread in Core::Stop. Get rid of Core::Shutdown which did that before."
...
This reverts commit ba664b3293
.
Added documentation to Core::Shutdown() to prevent breaking changes.
2015-07-22 09:15:19 +02:00
flacs
40162fdfc1
Merge pull request #2743 from aserna3/master
...
Added some warning text about fractional IRs to IR selection description
2015-07-22 08:25:05 +02:00
Ryan Houdek
a8227ad9b1
Add Wiimote support to the Android backend.
...
Not actually wired up to the Android UI for configuration.
2015-07-21 21:33:23 -05:00
Scott Mansell
9ae8e38a8a
Merge pull request #2717 from phire/fix-reordering
...
PPCAnalyst: Don't swap instruction which might cause interrupts.
2015-07-22 05:16:51 +12:00
Lioncash
fe2f57361e
DolphinWX: Remove unused code from MemcardManager
2015-07-21 00:12:40 -04:00
Ryan Houdek
c1df6d7b4e
Work around PowerVR's shader compiler.
...
This bug has been reported to IMGTec at https://pvrsupport.imgtec.com/ticket/472
The basic idea of the bug is that if you're doing a bitwise and of a constant value vector with a constant scalar value, this causes PowerVR's shader
compiler to fail out with a very non-descriptive message.
Working around the issue by making the value a vector that it is being masked by.
2015-07-20 22:04:16 -05:00
Ryan Houdek
012a9afdb6
Work around slow glBufferSubData on PowerVR.
...
As with all tiled renderers, glBufferSubData is terribly slow.
Use glBufferData as typical.
2015-07-20 22:02:58 -05:00
Ryan Houdek
dc46ae0380
Fix an oversight in GLExtensions
...
I only wanted to erase the first character in the string, not the entire thing.
Fixes Qualcomm and PowerVR devices crashing out immediately.
2015-07-20 22:01:23 -05:00
skidau
3d6ee7313d
Merge pull request #2689 from RisingFog/patch-1
...
Fix TASInput Crash When Stick Bitmap Is Null
2015-07-21 11:41:38 +10:00
Trace Bullet
caa2f15105
DiscIO: Check if m_Disc is null in ParsePartitionData()
2015-07-20 16:21:34 +02:00
Jules Blok
809e480973
Merge branch 'stable'
2015-07-20 16:04:18 +02:00
Jules Blok
ccb56ddf97
CFrame: Claim all keyboard events on OS X.
2015-07-20 10:11:11 +02:00
skidau
ad68de59bc
Merge pull request #2665 from AdmiralCurtiss/relative-memory-card-paths
...
GameCube Config: Store paths relatively when selected file is within Dolphin's directory. (Windows)
2015-07-20 14:09:36 +10:00
skidau
654c44b870
Merge pull request #2714 from lioncash/clamp
...
Core: Use clamps for nunchuk and wiimote x,y,z values
2015-07-20 14:08:00 +10:00
skidau
4b260fbd66
Merge pull request #2724 from AdmiralCurtiss/wiimote-reconnect-on-button-press
...
Wiimote: Reconnect a disconnected Wiimote when a button is pressed.
2015-07-20 14:06:48 +10:00
Lioncash
ca703e6499
Merge pull request #2751 from lioncash/title
...
JitWindow: Use TitleCase for the JIT block viewer tab
2015-07-19 22:32:28 -04:00
Lioncash
40b89627f1
JitWindow: Use TitleCase for the JIT block viewer tab
...
Makes the title consistent with all other tabs.
2015-07-19 18:20:24 -04:00
Markus Wick
d622ae3e7b
Merge pull request #2699 from Tilka/fnma
...
Interpreter: fix rounding of negating FMA instructions
2015-07-19 17:39:19 +02:00
Markus Wick
b71430723a
Merge pull request #2748 from Tilka/drop
...
Jit64: small cleanup
2015-07-19 08:26:42 +02:00
Tillmann Karras
bcdafc7e34
Interpreter: fix rounding of FNMA instructions
...
x86: round(-a*c +/- b)
PowerPC: -round(a*c +/- b)
If the rounding mode is set to +/- infinity, the order of round/negate
matters.
2015-07-18 22:54:15 +02:00
Tillmann Karras
89954d658c
Jit64: drop needless casts
2015-07-18 22:33:42 +02:00
Jeffrey Pfau
e948aec6cd
DolphinWX: Fix build if libusb is disabled
2015-07-17 22:41:12 -07:00
Lioncash
35e9ada2b0
Merge pull request #2709 from lioncash/atomic
...
Core: Change a volatile into an atomic
2015-07-17 10:24:02 -04:00
Tillmann Karras
334c1bfdf6
Jit64[IL]: drop WriteCallInterpreter
2015-07-17 03:25:38 +02:00
Lioncash
57ca783b72
PathConfigPane: Use shortened variants of the browse buttons
2015-07-16 18:03:14 -04:00
Admiral H. Curtiss
e473ebc2e3
Display a message on screen when the emulated software disconnects a Wiimote.
2015-07-16 19:08:25 +02:00
Admiral H. Curtiss
935292c6fc
DolphinWX: In Host_ConnectWiimote(), instead of calling CFrame::ConnectWiimote() directly, dispatch an event that will call it for us in the GUI thread.
...
This eliminates a possible stutter/short freeze that can happen during PowerPC::Pause().
2015-07-16 02:35:57 +02:00
Admiral H. Curtiss
5594b107eb
Wiimote: (Re-)Connect a disconnected real Wiimote when a button is pressed.
...
Where disconnected is defined as: The real physical device is still connected to the PC, but the emulated Wii sees the Wiimote as disconnected.
2015-07-16 02:35:55 +02:00
Ryan Houdek
c0f80ca524
Merge pull request #2736 from degasus/farcache
...
JitArm64: Farcache
2015-07-15 08:41:58 -05:00
degasus
6f38d1baa1
CodeBlock: Add a shared IsAlmostFull function
...
This function shall keep care about the low watermark of code space.
If we ran out of space, the JITs shall clear their block cache.
2015-07-15 08:53:05 +02:00
mathieui
cae00254a5
GCAdapter: Only start the thread on startup if direct connect is enabled
2015-07-14 17:15:26 +02:00
mathieui
ac8621ccab
GCAdapter: Disable the scanning thread when direct connect is disabled
...
The goal of this commit is to let people who experience driver issues
with libusb and windows disable the scanning thread (to avoid mouse
issues, keyboard issues, and audio issues).
Also disable the rumble setting when the adapter driver is not detected,
and don’t do anything if libusb can’t init for some reason.
2015-07-14 12:35:40 +02:00
Anthony Serna
18685e2aef
Added some warning text about fractional IRs.
2015-07-13 23:33:21 -07:00
skidau
a12a4520d8
Merge pull request #2684 from TraceBullet/master
...
DiscIO: Check if m_Disc is null in ParsePartitionData()
2015-07-14 10:56:12 +10:00
Scott Mansell
da38e3a8ae
Merge pull request #2741 from endrift/fix-freebsd-build-stable
...
Fix FreeBSD (stable)
2015-07-13 19:51:18 +12:00
Scott Mansell
dc25277a2f
Merge branch 'stable' into 'master'
2015-07-13 12:40:38 +12:00
Scott Mansell
87e19f1c19
Merge pull request #2705 from phire/fixrumble
...
evdev: Delete rumble effects on the correct file descriptor.
2015-07-13 12:05:54 +12:00
degasus
a5c10ded55
JitArm64: Fix copy&paste issue
2015-07-12 09:41:32 +02:00
degasus
7196901b40
JitArm64: Move all FLUSH_MAINTAIN_STATE to the far cache
2015-07-12 09:41:32 +02:00
degasus
b8dd68beef
JitArm64: Far Code Cache
2015-07-12 09:41:32 +02:00
Jeffrey Pfau
fff113b64f
Fix 64-bit FreeBSD build
2015-07-11 23:09:11 -07:00
Jeffrey Pfau
a6437f629c
Common: Use more portable invocation of shm_open
2015-07-11 23:09:11 -07:00
Jeffrey Pfau
2eb553fdb7
Fix FreeBSD build
2015-07-11 23:09:11 -07:00
skidau
cc79334faf
Merge pull request #2712 from JosJuice/wbfs-beyond-end-of-disc
...
WbfsBlob: Don't enter an infinite loop when reading beyond end of disc
2015-07-12 15:34:56 +10:00
flacs
b30ae1b9f8
Merge pull request #2730 from lioncash/undef
...
SI_DeviceGCController: Remedy undefined behavior regarding shifts
2015-07-12 06:30:50 +02:00
Admiral H. Curtiss
5c0033e6d9
DolphinWX: ParseHotkeys() should use the State::NUM_STATES constant instead of a hardcoded 10.
2015-07-12 05:18:54 +02:00
Admiral H. Curtiss
878629a2bf
DolphinWX: GetCmdForHotkey() should have Load Last Slot 9/10 as well.
2015-07-12 05:16:42 +02:00
Yuri Kunde Schlesner
5c264281eb
Common: Remove redundant masking in BitField
...
For the signed case, the shifts already remove the rest of the value, so ANDing by the mask is redundant.
2015-07-11 22:30:01 -04:00
Yuri Kunde Schlesner
c334a6ca65
Common: Fix mask generation in BitField
2015-07-11 22:28:09 -04:00
Admiral H. Curtiss
b3471e0abc
DolphinWX: Add options to Load Last Slot 9/10 to menu.
2015-07-12 04:14:22 +02:00
Admiral H. Curtiss
e9b3f1154d
IniFile: Use a formatting for floats that makes them survive round-trips to a decimal string and back in all cases.
...
See https://randomascii.wordpress.com/2012/03/08/float-precisionfrom-zero-to-100-digits-2/
2015-07-11 21:12:06 +02:00
Admiral H. Curtiss
a48f2add68
StringUtil: Always use the default C locale for StringFromFormat() instead of a system-specific one.
2015-07-11 16:30:32 +02:00
skidau
c70f3f4b45
Merge pull request #2731 from skidau/PAL-Progressive
...
Removed the ability for PAL televisions to be set to progressive mode.
2015-07-10 16:00:23 +10:00
Admiral H. Curtiss
e462422ef7
Wiimote: (Re-)Connect a disconnected emulated Wiimote when a mapped button is pressed.
2015-07-10 04:29:56 +02:00
skidau
6d2f85f183
Removed the ability for PAL televisions to be set to progressive mode.
2015-07-10 10:26:24 +10:00
Lioncash
6e90d1e433
SI_DeviceGCController: Remedy undefined behavior regarding shifts
...
Left shifting a negative left-hand operand is undefined behavior per section 5.8.2 of the C++11 standard.
2015-07-09 13:08:40 -04:00
flacs
95fed00cbb
Merge pull request #2729 from lioncash/magic
...
DolphinWX: Get rid of some magic numbers in MemoryView and MemoryWindow
2015-07-09 16:35:58 +02:00
Lioncash
81878d7b56
DolphinWX: Get rid of some magic numbers in MemoryView and MemoryWindow
2015-07-09 07:59:34 -04:00
Lioncash
5768161052
Core: Pass string by const reference in SaveScreenShot
2015-07-09 07:24:30 -04:00
Justin Chadwick
b3a0b6def4
Disables assert messages that seem to be invalid.
2015-07-08 16:12:32 -04:00
Rohit Nirmal
c38ae5236e
Fix building with PCH disabled.
2015-07-08 13:52:43 -05:00
Lioncash
b8706791d5
DolphinWX: Pass string by const reference in CISOProperties constructor
2015-07-08 09:48:07 -04:00
Ryan Houdek
7b7d1b0dcf
Merge pull request #2718 from phire/1way-icache
...
Interpreter: Fix bug with icache emulation.
2015-07-08 07:29:46 -05:00
Markus Wick
f6766dd347
Merge pull request #2722 from lioncash/statement
...
VertexLoaderBase: Adjust the scope of a boolean variable
2015-07-08 09:37:06 +02:00
Tillmann Karras
2559a6f25c
VertexLoader: avoid empty lines in perf-$pid.map
2015-07-08 07:17:28 +02:00
Lioncash
df379dabae
VertexLoaderBase: Adjust the scope of a boolean variable
...
if a or b do actually turn out to be null, this can cause a null pointer dereference.
2015-07-07 18:33:58 -04:00
Scott Mansell
a31ebb9bcd
PPCAnalyst: Don't swap instruction which might cause interrupts.
...
fcmpo and fcmpu can be matched by the REORDER_CMP pass, as they set CR0
and they can cause interrupts if the fpu is disabled.
So we add an extra check to make sure op a is an integer op too.
2015-07-07 22:37:48 +12:00
Scott Mansell
4ffeb057cc
Interpreter: Fix bug with icache emulation.
...
The constructor sets up way_from_valid and way_from_plur as fast lookup
tables for implementing the PLRU algrothm. Then the Init function
memsets them to zero, meaning the instruction cache will now always
choose the first way in each set.
This degrades the cache from 128 sets, 8 way to 128 sets, 1 way.
Not only does fixing this bug increase accuracy, but it increases
preformance too, giving a 1% speedup to interpreter.
2015-07-07 22:20:36 +12:00
Scott Mansell
c54534ee3b
Merge pull request #2649 from phire/FileIO_Sanity
...
IPC_HLE: Don't open/close files for every single file operation.
2015-07-07 17:16:28 +12:00
Scott Mansell
6e969133f5
evdev: Delete rumble effects on the correct file descriptor.
...
Was using m_id insted of m_fd.
Also re-arrange the code so rumble effects always get deleted instead of
just on stop commands.
2015-07-07 16:59:10 +12:00
degasus
effb626bef
JitArm64: Implement EXCEPTION_FPU_UNAVAILABLE support.
...
Seems like this flag was missed.
This patch was mostly done by HdkR.
2015-07-06 23:40:20 +02:00
Lioncash
25bd55b7aa
Core: Use clamps for nunchuk and wiimote x,y,z values
2015-07-06 13:34:11 -04:00
Lioncash
e3c6eb2a85
WiimoteEmu: Fix use of spaces.
...
There should be a tab here instead.
2015-07-06 13:20:24 -04:00
JosJuice
9018b546c7
WbfsBlob: Don't enter an infinite loop when reading beyond end of disc
...
read_size remained 0 when the "Read beyond end of disc" error occurs,
which made the while (nbytes) loop never end. As a fix, SeekToCluster
now explicitly sets available to 0 when the error occurs, and Read
checks for it.
2015-07-06 15:41:37 +02:00
Lioncash
614a656b83
DSPInterpreter: Remove an unused typedef
...
DSPTables already has an equivalent of this, which it uses.
2015-07-06 06:47:13 -04:00
Markus Wick
b6ee886540
Merge pull request #2708 from lioncash/override
...
MMIO: Add missing override specifiers
2015-07-06 12:36:37 +02:00
Lioncash
af4cfd32d4
Core: Change a volatile into an atomic
...
Also changes s_drawn_video into an atomic, as it's used across threads as well.
2015-07-06 06:25:51 -04:00
Lioncash
c7193fcd41
MMIO: Add missing override specifiers
2015-07-06 06:11:31 -04:00
Scott Mansell
0b0f70aad4
Revert "Merge pull request #2358 from Tilka/pie"
...
This reverts commit 0f7f8f8774
, reversing
changes made to 9f15054358
.
2015-07-06 09:05:25 +12:00
Stevoisiak
afc1398fbd
Fix reading custom titles from WAD files
2015-07-05 15:45:39 -04:00
Stevoisiak
90167abe0f
Improve parsing custom game titles from titles.txt
...
Read game ID based on position of the "=" sign, rather than assuming game IDs are 6 characters in length.
2015-07-05 15:45:27 -04:00
Stevoisiak
c2bbcdd16c
Read custom titles from wiitdb.txt if titles.txt is not found
2015-07-05 15:45:17 -04:00
Markus Wick
009148d401
Merge pull request #2701 from mickdermack/pr-jitnull
...
Prevent nullptr dereference on a crash with no JIT present
2015-07-05 16:37:29 +02:00
Michael Ehrenreich
2b2af12466
Prevent nullptr dereference on a crash with no JIT present
...
JitInterface::HandleFault would dereference jit which is NULL, causing a stack overflow through infinite exception recursion.
2015-07-05 14:24:51 +02:00
Sintendo
ce10525056
Eliminate branch in GenFres
2015-07-05 11:18:59 +02:00
Scott Mansell
08fcc7bf84
IPC_HLE: Cleanup device definitions with templates.
...
Less copy/pasted code will make future modifications easier.
2015-07-05 02:05:39 +12:00
Scott Mansell
1d5cda9820
IPC_HLE: Reimplement fix for issues 2917/5232 with more sanity.
...
Instead of opening... and... closing... files... after... every...
file... operation... (which can be slow, especially if a virus scanner
is running), we catch attempts to open the same file twice and
only open one copy of the file.
2015-07-05 02:01:45 +12:00
Jeffrey Pfau
bd196e8c71
Common: CallLambdaTrampoline can return a value
...
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
2015-07-05 00:32:26 +12:00
Tillmann Karras
64b51df55d
evdev: fix -Wunused-private-field warning
2015-07-04 14:14:15 +02:00
Scott Mansell
d2578000bb
Merge branch 'stable'
2015-07-04 23:43:36 +12:00
flacs
3bbb2ede9c
Merge pull request #2697 from endrift/fix-jit-trampoline
...
Common: CallLambdaTrampoline can return a value
2015-07-04 11:59:00 +02:00
Jeffrey Pfau
c9a25f9484
Common: CallLambdaTrampoline can return a value
...
As it is currently written, CallLambdaTrampoline does not return a
value. However, some of the functions that are being wrapped may
return a value that the JIT is expected to understand. A compiler
*cough cough clang* may opt to alter %rax after the wrapped lambda
returns, e.g. popping a previous value, which can clobber the
return value. If we actually have a return value, then the compiler
must not clobber it.
2015-07-04 00:57:41 -07:00
Lioncash
eb3c5a240f
Merge pull request #2696 from RisingFog/tasinput
...
Fix random hangs when loading savestates with TAS Input
2015-07-04 03:52:40 -04:00
degasus
30869135d5
Jit64: Fallback support of branching instructions
2015-07-04 04:12:25 +02:00
Fog
10f50f33fb
Fix random hangs when loading savestates with TAS Input
2015-07-03 21:56:14 -04:00