Scott Mansell
b2f133d2ac
make DeleteDirRecursively clean up correctly after failure.
...
Fixes Metroid prime crashing the second boot after loading
a save state (issue 9496)
2016-04-25 18:28:38 +12:00
Lioncash
4ae4b241ec
ChunkFile: Handle bool in a stable way across platforms
...
bool is not always guaranteed to be the same size on every platform.
On some platforms it may be one byte, on others it can be 8 bytes if the
platform dictates it. It's implementation-defined.
This can be problematic when it comes to storing this
data to disk (it can also be space-inefficient, but that's not really an
issue). Also say for some reason you moved your savestates to another
platform, it's possible they won't load correctly due to differences in size.
This change stores all bools to savestates as if they were a byte in size
and handles the loading of them accordingly.
2016-04-14 22:55:03 -04:00
Lioncash
8d9221a71e
MathUtilTest: Fix tests on MSVC - Document compiler bug
...
MSVC's implementation of numeric_limits currently generates incorrect
signaling NaNs. The resulting values are actually quiet NaNs instead.
This commit is based off of a solution by shuffle2. The only
difference is a template specialization for floats is also added
to cover all bases
2016-04-03 19:16:47 -04:00
Pierre Bourdon
f0e25b8477
Merge pull request #3668 from RisingFog/wii_movie_sysconf
...
Apply Wii Settings on Movie Recording/Playback
2016-03-14 01:42:37 +01:00
Lioncash
2ce6b449d1
NonCopyable: Remove private access specifier
...
This isn't necessary, as the member functions are deleted.
If someone tries to perform a copy, the compiler will now
indicate that the member functions/constructors are deleted,
rather than inaccessible.
2016-03-12 16:59:45 -05:00
Lioncash
5d74e02286
NonCopyable: Specify const in copy constructor/assignment signatures
2016-03-12 16:59:45 -05:00
degasus
9ed465f4ac
JitArm64: Implement mulhwx
2016-03-04 22:51:46 +01:00
Mathew Maidment
c2802f96a6
Merge pull request #3655 from jcowgill/spelling-fixes
...
Fix some very minor spelling mistakes
2016-03-02 14:04:05 -05:00
degasus
64f9941595
EGL: Also check for higher GL versions.
...
Seems like NVidia just ignores the forward compatible flag.
Additionally, they neither enable any extension which was designed later...
So either compatible profile, or a huge list of core profiles....
2016-03-01 07:55:57 +01:00
Chris Burgener
b1c8198cec
Move SetData logic to within SysConf.cpp
2016-02-28 19:42:15 -05:00
Pierre Bourdon
1d07fee367
Merge pull request #3432 from stenzek/bba-tap-win
...
EXI: Refactor Windows BBA-TAP interface to a read thread, crash fixes, cleanups
2016-02-26 12:46:20 +01:00
James Cowgill
db8dbae131
Fix some very minor spelling mistakes
...
Found by Lintian https://lintian.debian.org/
2016-02-19 01:48:10 +00:00
Pierre Bourdon
d4b67be288
Merge pull request #3640 from Sonicadvance1/glextensions_workaround_trash
...
Disable some OpenGL 4.5 functions until AMD fixes their trash driver.
2016-02-16 15:41:48 +01:00
hdcmeta
9f279f77fc
Add missing include, this was previously masked by PCH usage
2016-02-15 09:48:22 -08:00
Ryan Houdek
d4dfbbf214
Make sure to get the right function pointer for DSA+buffer_storage
2016-02-15 06:05:38 -06:00
Ryan Houdek
64cb57c5ee
Disable a few OpenGL 4.5 functions that AMD fails to expose.
2016-02-15 06:05:09 -06:00
Ryan Houdek
2685ebaed1
Add support for GL 4.3
2016-02-14 20:35:38 -06:00
Ryan Houdek
e253fafe42
Add support for GL 4.4
2016-02-14 20:16:33 -06:00
Ryan Houdek
87afa2c277
Add support for GL 4.5
2016-02-14 20:15:40 -06:00
Ryan Houdek
23787f709c
Change GL 4.2 defines over to the proper naming convention.
2016-02-14 20:01:02 -06:00
Ryan Houdek
2f7e3ae58e
CMakeLists cleanup and enable Android headless building.
2016-02-05 11:24:11 -06:00
Ryan Houdek
018625e54f
Rearrange GLInterface interface generation.
...
This will be important when we enable headless on Android
2016-02-05 10:53:32 -06:00
Ryan Houdek
38cb6ba6dc
Fix a bug in the Common CMakeLists file
...
We were overwriting the LIBS variable. Effectively dropping libiconv from the libs.
2016-02-05 10:51:56 -06:00
Ryan Houdek
19cd9ecf16
Fix a few missing includes
2016-02-05 10:50:08 -06:00
Stenzek
a870253cd6
Common: Use C++ random generator for generating MAC addresses
2016-01-31 23:52:47 +10:00
Ryan Houdek
31523b7e80
Merge pull request #3572 from Sonicadvance1/egl_support_headless
...
Egl support headless
2016-01-30 11:15:07 -05:00
Ryan Houdek
5edc7705fe
Merge pull request #3550 from Sonicadvance1/egl_support_core_profile
...
Support the OpenGL core profile in EGL.
2016-01-29 19:37:24 -05:00
Ryan Houdek
c50efb17e5
Merge pull request #3546 from Sonicadvance1/egl_shared_context
...
Implement shared contexts in the EGL context.
2016-01-29 19:33:52 -05:00
Ryan Houdek
ea3a457091
Merge pull request #3573 from degasus/fifoplayer
...
Fifoplayer: Fix dual core
2016-01-29 16:39:32 -05:00
Ryan Houdek
628e9bad92
Support a headless EGL option.
...
This is a new option to support completely headless running of Dolphin without X11 on systems that can properly support it.
2016-01-27 15:04:14 -06:00
Ryan Houdek
184a7a3e0d
Include the EGL defines we need for KHR_create_context ourselves.
...
This is because Google decided it was in their best interest to update eglext.h for android-21/arch-arm only and completely neglect all the other
architectures.
Sucks to suck.
2016-01-27 14:54:44 -06:00
Ryan Houdek
34d0e7835b
Support the OpenGL core profile in EGL.
...
This should make our Mesa EGL users happy.
2016-01-27 14:54:32 -06:00
Ryan Houdek
921c7139c5
Implement support for GL 4.2 in GLExtensions
2016-01-27 13:58:34 -06:00
Ryan Houdek
aed693eded
Implement shared contexts in the EGL context.
...
This is being implemented here first under EGL since the infrastructure is already in place for this due to the Android code requiring some bits.
The rest of the interfaces will come in a little bit.
This will be required for threaded shader compiling in the near future.
2016-01-27 13:15:02 -06:00
degasus
231daa2da1
Thread: Limit thread name to 15 bytes on linux.
2016-01-27 07:23:17 +01:00
mathieui
4b06e92731
A few more asterisks, mostly casts
2016-01-21 22:20:22 +01:00
mathieui
f15ffda5a7
Correct ampersands as well
2016-01-21 21:27:56 +01:00
mathieui
3e283ea9f1
More asterisks
2016-01-21 21:16:51 +01:00
mathieui
78aa398e7c
Common: asterisks go against the type name
...
not the variable name
2016-01-21 20:46:25 +01:00
shuffle2
799fce0b03
Merge pull request #3512 from jloehr/Fix-SCMRevGen
...
Fix SCMRevGen by running system native CScript
2016-01-15 23:56:31 -08:00
Julian Löhr
bb5cb7e365
Run system native CScript
...
Build Events are run in an 32 bit environment, therefore both program files environment strings resolve to the x86 program files folder on 64 Bit systems. If Git is 64 bit and installed into the x64 program files it can't be found by the script.
2016-01-14 00:37:11 +01:00
Jules Blok
55cb6675cc
IniFile: Initialize with default value if key does not exist.
2016-01-13 22:51:53 +01:00
Ryan Houdek
6448e5e5ee
Add support to EGL to on the fly destroy the resulting surface
2016-01-10 12:28:05 -06:00
Ryan Houdek
8c37498230
Fix typo in GLExtensions
...
I had changed a variable name and forgot to update it everywhere.
Should fix Adreno devices.
2016-01-09 15:06:36 -06:00
Jules Blok
1e111421e9
VideoConfig: Don't give warnings for per-game stereoscopy parameters.
2016-01-06 22:21:12 +01:00
Ryan Houdek
0a42a0ab1b
Merge pull request #3428 from Sonicadvance1/proper_glextensions
...
Make GLExtensions no longer require slghtly modified GL headers
2016-01-06 15:24:47 -05:00
Mathew Maidment
0509292f86
Merge pull request #3431 from stenzek/shadercache
...
ShaderGen: Remove virtual methods and string from ShaderGeneratorInterface.
2016-01-04 19:11:14 -05:00
Markus Wick
d29b406292
Merge pull request #3433 from lioncash/gl
...
GLInterface: Minor changes
2016-01-04 13:49:40 +01:00
Lioncash
01f99a04a2
VideoBackend: Get rid of a boolean global
...
Also gets rid of global headers
2016-01-02 18:03:28 -05:00
Lioncash
f3c05d39b9
GLInterface: Make GLInterfaceMode an enum class
2016-01-02 14:26:43 -05:00
Lioncash
df9c9ad706
GLInterfaceBase: In-class initialize protected members
...
Gives the class a well-defined initial state
2016-01-02 14:26:42 -05:00
Lioncash
11a7defdba
WGL: Make class member private
2016-01-02 14:26:41 -05:00
Lioncash
df2f6089be
GLInterface: Add missing override specifiers
2016-01-02 14:26:36 -05:00
Ryan Houdek
37525f3fcf
Make GLExtensions no longer require slghtly modified GL headers.
...
In fact, removes the need for external headers at all.
2016-01-02 10:34:13 -06:00
Stenzek
617f9d9532
ShaderGen: Remove virtual methods from ShaderGeneratorInterface, move string buffer to ShaderCode
...
This fixes the crashes occuring at startup with a non-empty shader cache.
Because LinearDiskCache reads/writes to the storage of ShaderUid, ShaderUid must be trivially copyable.
Additionally, adds a static assert to LinearDiskCache to ensure this doesn't happen in the future.
The initialization of ShaderUid data has been moved to the code generation functions, so the above condition holds true.
2016-01-02 17:35:06 +10:00
Ryan Houdek
b4e9bbb551
Merge pull request #3336 from Sonicadvance1/improve_glextensions
...
[GLExtensions] Improve the extension loader.
2016-01-01 13:01:51 -05:00
spxtr
2f50560602
Add support for sending game memory changes to outside processes
2015-12-29 17:59:16 -08:00
Ryan Houdek
eb2d4935cd
Including missing headers required for non-pch builds and other architectures
2015-12-22 18:20:48 -06:00
Ryan Houdek
eaf21b3c80
Work around Google's trash NDK
2015-12-22 18:20:17 -06:00
Lioncash
f295182833
VideoBackends: Simplify initialization and deinitialization of resources
...
Approximately three or four times now, the issue of pointers being
in an inconsistent state been an issue in the video backend renderers
with regards to tripping up other developers.
Global (ugh) resources are put into a unique_ptr and will always have a
well-defined state of being - null or not null
2015-12-20 22:40:37 -05:00
Markus Wick
e4b83d17bf
Merge pull request #3270 from JosJuice/more-translations
...
Mark more strings for translation
2015-12-15 18:13:26 +01:00
Ryan Houdek
d9999bf30c
Fix minor memory leak in WGL interface.
...
Would have a memory leak on game end
2015-12-13 11:42:18 -06:00
Ryan Houdek
b620b26f8f
[GLExtensions] Improve the extension loader.
...
This removes some nonsense in the extension loader where under an ES context we would still pull all function pointers and just continue onward if we
fail to pull one.
Now function pointers are only pulled if the version of GL or ES actually supports that function.
2015-12-13 11:37:07 -06:00
Ryan Houdek
6d2fd8ae37
[GLExtensions] Support ORing of extensions when checking for support.
...
Makes my life easier.
2015-12-13 11:35:55 -06:00
Scott Mansell
a759883ae5
Merge pull request #3126 from phire/remove-logging-lock
...
Refactor logging code to get rid of a mutex.
2015-12-03 13:32:07 +13:00
Markus Wick
3ed29cce0c
Merge pull request #2733 from AdmiralCurtiss/string-from-float
...
IniFile: Fix floating point number locale issues.
2015-12-02 15:22:42 +01:00
Markus Wick
ec6a48ff76
Merge pull request #2876 from CastellaFactory/master
...
[Netplay] Add "Force Netplay Listen Port" feature that was in old netplay branch
2015-12-02 14:20:47 +01:00
JosJuice
9b2fe62bc9
Move nobanner and fileplatform from Themes to Resources
...
fileplatform is moved so it's in the same place as the other platform
icons, and nobanner is moved just because it fits better in Resources.
Both of them were identical in all of Dolphin's themes.
2015-11-27 11:09:20 +01:00
Scott Mansell
83bda3be46
Merge pull request #1474 from phire/DSPHLE_cleanups
...
DSPHLE: Remove individual byteswaps and replace with generic function.
2015-11-24 13:33:59 +13:00
JosJuice
74ea765427
Mark more strings for translation
2015-11-20 11:33:47 +01:00
Ryan Houdek
5f1fcf4c8d
Use __builtin_trap for our crash define instead of int3/exit
2015-11-19 00:49:42 -06:00
Markus Wick
f172cda50f
Merge pull request #3191 from lioncash/rekt
...
MathUtil: Minor changes to Rectangle
2015-11-18 10:40:54 +01:00
Scott Mansell
d2b03e1aad
Remove individual byteswaps and replace with generic function.
2015-11-17 19:37:18 +13:00
James Cowgill
386159c74e
Remove uses of __DATE__ and __TIME__
2015-11-14 00:52:41 +00:00
Markus Wick
a498c684a2
Merge pull request #2304 from linkmauve/xdg-basedir
...
UICommon: Respect XDG Base Directory Specification on POSIX systems
2015-11-12 12:31:24 +01:00
Markus Wick
8924980b49
Merge pull request #3247 from lutris/master
...
Enable relocatable linux builds
2015-11-11 12:16:29 +01:00
Emmanuel Gil Peyrot
b61da5db54
FileUtil: Move ShaderCache to the Cache directory.
2015-11-10 21:53:30 +00:00
Emmanuel Gil Peyrot
e20b08491c
UICommon: Respect XDG Base Directory Specification on POSIX systems.
2015-11-10 21:53:29 +00:00
Mathieu Comandon
f2ae1a2545
Implement relocatable builds on Linux
...
- Change the path of the Sys folder to the executable's location
- Add LINUX_LOCAL_DEV flag to use relocatable version on Linux
- Add CMake definition for relocatable build
2015-11-10 12:49:04 -08:00
Scott Mansell
2d38a59044
NoGui: Return no to yes/no panic alerts.
...
Also, print to stderr instead of stdio.
2015-11-08 14:10:26 +13:00
Scott Mansell
973118511a
Merge pull request #2742 from AdmiralCurtiss/display-savestate-stats
...
Display Savestate information in Overlay and Menu.
2015-11-08 02:20:56 +13:00
shuffle2
f26b3708e7
Merge pull request #3217 from dolphin-emu/shuffle2-patch-1
...
Add patch for ucrtbase 10.0.10240.16390 (Win8)
2015-11-05 15:37:19 -08:00
Tillmann Karras
32cdd31200
GLExtensions: remove duplicate typedefs
2015-11-03 17:50:41 +01:00
shuffle2
baf438fc9f
Merge pull request #3213 from phire/bitfield
...
Bitfield: Add .natvis for easier debugging of BitFields in Visual Studio
2015-11-01 23:06:21 -08:00
Scott Mansell
0245b1219b
Correct capitalization of 'Visual Studio'
2015-11-02 17:12:09 +13:00
shuffle2
bfffd997cd
Update ucrtFreadWorkaround.cpp
2015-11-01 10:52:33 -08:00
Scott Mansell
2ccd5a5928
Bitfield: Add BSD license to match BitField.h
...
Also, fix typo.
2015-11-01 18:01:51 +13:00
Scott Mansell
f0e5232fe0
Bitfield: And then mess things up again by handling signed fields.
...
This is way more messy than it should be.
2015-10-30 14:05:14 +13:00
Scott Mansell
9125ab8304
BitField: Clean .natvis up slightly by using CDATA.
2015-10-30 14:04:40 +13:00
Scott Mansell
bfac1c73f0
Bitfield: Add .natvis for easier debugging in Visual Studio
2015-10-30 12:30:22 +13:00
Lioncash
e76b1f2d56
Merge pull request #3170 from spxtr/pipes
...
Implemented GC Controller inputs via named pipes.
2015-10-28 16:39:57 -04:00
spxtr
d9d6cf8eda
GC controller input using named pipes
...
Currently only works on unix, but can be extended to other systems. Can
also be extended to do wiimotes.
Searches the Pipes folder for readable named pipes and creates a dolphin
input device out of them. Send controller inputs to the game by writing
to the file. Commands are described in Pipes.h.
2015-10-24 20:20:03 -07:00
Lioncash
2630752ffe
Arm64Emitter: Get rid of a pointer cast
2015-10-22 15:32:11 -04:00
Lioncash
018c85c248
Arm64Emitter: Mark trivial functions as constexpr
2015-10-22 15:22:38 -04:00
Lioncash
10c1fd7f38
MathUtil: Make Rectangle constructors and equality operator constexpr
2015-10-20 20:30:36 -04:00
Lioncash
09641ec313
MathUtil: Default initialize Rectangle class data members
...
Puts Rectangles into a valid state upon creation
2015-10-20 20:30:16 -04:00
Scott Mansell
1ba600b688
Merge pull request #3145 from catzilla4/master
...
FreeBSD Compilation fix
2015-10-19 17:29:34 +13:00
shuffle2
34d46d6910
Merge pull request #3178 from shuffle2/ucrt-fread-workaround
...
patch win7 ucrtbase, and note versions
2015-10-17 05:02:18 -07:00
shuffle2
0acac35d77
patch win7 ucrtbase, and note versions
2015-10-17 04:24:20 -07:00
flacs
e289cb87e5
Merge pull request #3161 from shuffle2/ucrt-fread-workaround
...
exchange XSaveWorkaround for ucrtFreadWorkaround
2015-10-17 05:41:40 +02:00
Shawn Hoffman
ca31c62c01
exchange XSaveWorkaround (which was fixed in VS2015) for ucrtFreadWorkaround (which was broken in VS2015).
2015-10-16 20:26:34 -07:00
flacs
d85344bd58
Merge pull request #3155 from degasus/videosw
...
VideoSW: Split up OGL window handling
2015-10-17 04:56:44 +02:00
flacs
05e339a605
Merge pull request #3139 from JosJuice/fix-wii-root
...
Mark which Wii root to use in the NAND path code
2015-10-16 16:49:34 +02:00
comex
c22d1d68ab
Mark which Wii root to use in the NAND path code.
...
It's used by both the GUI to do things like install WADs and check up on
the system menu, in which case the global root should be used, and by
/dev/es, in which case the local one should. The latter isn't
*terribly* useful today, since no contents will ever be installed in
temporary roots (although it's still relevant for data directories), but
converting the whole thing makes sense because then it will Just Work
once the entire NAND is synced.
Because it would have been a bit of work to split it up (but I can if
desired), this commit also contains some basic cleanup of
NANDContentLoader:
(1) The useless interface class INANDContentLoader is removed and the
methods are changed to just return CNANDContentLoader (the only
implementation);
(2) CNANDContentManager is changed to use unique_ptr and cleaned up a
bit.
2015-10-16 09:10:39 +02:00
degasus
b69bff0690
VideoSW: Use OpenGL Core context
2015-10-14 00:13:54 +02:00
Tillmann Karras
ae999cb43c
Wiimote: simplify DoState() parameters
2015-10-11 23:37:34 +02:00
flacs
a7b6ae8f2c
Merge pull request #3160 from Tilka/style
...
Misc. style fixes
2015-10-11 15:36:06 +02:00
Admiral H. Curtiss
16272f4975
SaveState/DolphinWX: Display time and date of savestate when a slot is selected, or Empty if no savestate exists in the slot.
2015-10-10 22:14:22 +02:00
Tillmann Karras
0f1b287402
Misc. style fixes
2015-10-10 17:44:42 +02:00
Tillmann Karras
19a490a82d
Linux: detect perf and default map dir to /tmp
...
This obviously only works when Dolphin is run by perf rather than being
started separately.
2015-10-10 16:42:53 +02:00
catzilla4
867a1beb9f
Added some headers to allow Dolphin to compile in my environment.
2015-10-06 19:09:57 -05:00
Christian Widmer
1fc1f00162
Include cstring in Hash.cpp to fix building without PCH
2015-10-06 14:59:56 +02:00
shuffle2
0fdaacc7e0
Merge pull request #2738 from lioncash/bitfield
...
Common: Fix BitField mask generation.
2015-10-03 18:21:24 -07:00
shuffle2
b926061f64
Merge pull request #3095 from void-ghost/savestate_race_condition_fix
...
SaveState: Fix for race condition in SaveAs(...)
2015-10-03 18:08:33 -07:00
shuffle2
a6f04b0e15
Merge pull request #3091 from Tilka/mbedtls
...
Update mbed TLS (PolarSSL)
2015-10-03 18:00:58 -07:00
Lioncash
5464e698fc
Merge pull request #3102 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-10-03 13:30:51 -04:00
Scott Mansell
f84577b90b
LogManager: Move android logcat code into the proper place.
2015-10-04 02:18:06 +13:00
Scott Mansell
5f8a67250f
Bitset: Make bool() operator explicit.
2015-10-04 01:37:32 +13:00
Scott Mansell
18142eddb4
LogManager: Remove unused define.
2015-10-04 00:38:47 +13:00
Scott Mansell
6153424b8c
LogManager: replace set of LogListener pointers with bitset.
...
Mostly so we can iterate over which LogListeners are enabled without
having to aquire a lock.
2015-10-04 00:38:34 +13:00
Scott Mansell
83fa504cd9
Bitset: Make cast overrides const
2015-10-04 00:36:58 +13:00
Scott Mansell
58d893e56f
Merge pull request #3075 from waddlesplash/no-regexp
...
FileSearch: Don't use RegExes, just do string comparisons.
2015-10-02 04:00:23 +13:00
Lioncash
c6678687b0
ChunkFile: Provide additional helpers for C-style arrays
...
Gets rid of magic numbers in cases where the array size is known at compile time.
This is also useful for future entries that are stack allocated arrays as these
functions prevent incorrect sizes being provided.
2015-09-30 19:45:46 -04:00
Tillmann Karras
2f6f30a939
Fix -Wuninitialized warnings
2015-09-29 04:27:27 +02:00
Rohit Nirmal
3b75f45cf6
Fix building with PCH disabled.
2015-09-28 11:51:08 -05:00
ghost
cd19d5392e
SaveState: Fix for race condition ("wait" didn't actually waited for file to flush/close).
...
g_compressAndDumpStateSyncEvent was Set() before destruction of file object (i.e. before flushing changes and closing file).
Also, adds Common::ScopeGuard wrapper for RAII.
2015-09-27 21:40:32 +03:00
waddlesplash
5643fe5d1f
FileSearch: Don't use RegExs, just do string comparisons.
...
Nothing used the RegEx feature of FileSearch, and GCC < 4.9
doesn't support C++11 RegEx properly, so get rid of it.
2015-09-27 13:25:51 -04:00
Lioncash
cc036ca86c
Common: Remove other Common prefixed headers from Common.h
2015-09-26 18:51:58 -04:00
Lioncash
19ac565e0d
Common: Move asserts to their own header
2015-09-26 18:51:27 -04:00
Lioncash
867df74b52
Common: Remove strdup define
...
It's not used anywhere.
2015-09-26 18:50:42 -04:00
Lioncash
1d42db2439
Common: Move NonCopyable to its own header
2015-09-26 18:50:35 -04:00
Lioncash
bb927ad738
Atomic_GCC: Throw out old code
2015-09-26 15:59:36 -04:00
Lioncash
d67ea484f7
Common: Get rid of compiler semantic asserts
...
They were never used.
2015-09-26 15:57:13 -04:00
Tillmann Karras
ac5f56df7e
mbedTLS: adapt Dolphin's Visual Studio files
2015-09-25 03:46:41 +02:00
Lioncash
7890b38c15
x64Emitter: Remove unimplemented function prototype in OpArg
2015-09-22 19:54:46 -04:00
Lioncash
6e5f60bab7
x64Emitter: Make single argument constructor explicit
2015-09-22 19:51:14 -04: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
CastellaFactory
1f83a3d146
[Netplay:Traversal] Add "Force Netplay Listen Port" feature that was in old netplay branch
2015-09-20 20:15:13 +09: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
Tillmann Karras
b8f3519e49
Fix -Wunused-private-field warning
2015-09-16 23:31:53 +02:00
Lioncash
2c5c99ec71
Common: Get rid of a few pointer casts
2015-09-15 12:28:59 -04:00
Lioncash
56560403bd
BreakPoints: Remove unimplemented function declarations
2015-09-14 11:50:34 -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
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
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
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
19459e827f
Partially revert "General: Toss out PRI macro usage"
2015-09-11 09:49:00 -04: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
flacs
0c381d6547
Merge pull request #2975 from lioncash/emit
...
x64Emitter: Simplify/compress some conditionals
2015-09-08 18:44:54 +00: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
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
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
Lioncash
f194ee6223
x64Emitter: Simplify/compress some conditionals
2015-09-06 13:28:36 -04: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
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
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
Lioncash
633be0387d
General: Remove unimplemented function prototypes
2015-09-05 22:01:07 -04: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
Rohit Nirmal
8aed7589ae
Fix building with PCH disabled.
2015-09-04 10:34:45 -05: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
272302be82
Merge pull request #2950 from lioncash/bf
...
BitField: Enable ifdef'd out code for Windows
2015-09-03 22:56:55 -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
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
Ryan Houdek
d495ad5104
[AArch64] Make TST reg, reg emitter alias
2015-08-31 14:03:32 -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
f2c17436ab
[AArch64] Fix issue in emitter.
...
Loadstore pairs support only signed offsets, not unsigned.
2015-08-30 23:05:59 -05:00
Ryan Houdek
b907576510
[AArch64] Support profiling by cycle counters if they are available to EL0
2015-08-30 10:25:16 -05:00
Lioncash
310bb46967
Hash: Narrow define scope
2015-08-29 02:57:35 -04:00
Markus Wick
54f882704a
Merge pull request #2914 from JosJuice/fix-volumedirectory
...
Fix VolumeDirectory
2015-08-26 22:12:23 +02:00
JosJuice
d276d1abbb
Fix VolumeDirectory
...
Fixes the regression from a225426
and clarifies a related comment.
2015-08-26 19:21:09 +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
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
Ryan Houdek
cc3fb7e7b4
Merge pull request #2883 from degasus/master
...
Profiler: Sort output by total time
2015-08-22 17:52:54 -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
Lioncash
caec42135d
MathUtil: Remove IsNAN and IsINF
...
These aren't necessary, since the stdlib provides equivalents.
2015-08-21 15:05:43 -04: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
822cf2bcbf
IniFile: Mark getter functions as const
2015-08-19 22:27:18 -04: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
degasus
9bfff0d461
JitArm64: Fix jit clearing
...
We have to reset m_lastCacheFlushEnd on clearing.
2015-08-15 11:41:01 +02: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
5e9fe4cd13
x64Emitter: check for immediates in BMI ops
2015-08-14 21:25:41 +02:00
degasus
878f919f63
JitArm64: Fastmem: fixup map & lookup
2015-08-14 11:24:03 -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
Lioncash
144ea9f4aa
Arm64Emitter: Fix encoding of '2-reg misc' variant of FCMEQ
2015-08-10 19:48:36 -04: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
Tillmann Karras
439fb26b9b
x64Emitter: add MOVSLDUP/MOVSHDUP
2015-08-06 10:39:43 +02:00
flacs
0aad44c980
Merge pull request #2753 from Tilka/fix_warnings
...
Fix some warnings
2015-08-04 18:54:31 +02:00
Tillmann Karras
5a05187b3b
Fix some warnings
...
reorder, sign-compare, pessimizing-move
2015-08-04 10:58:24 +02:00
Lioncash
3a450f72f8
CPUDetect: Remove a memset call on the this pointer
2015-07-28 23:44:18 -04: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
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
degasus
b8dd68beef
JitArm64: Far Code Cache
2015-07-12 09:41:32 +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
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
Rohit Nirmal
c38ae5236e
Fix building with PCH disabled.
2015-07-08 13:52:43 -05: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
d09d59007a
Arm64Emitter: Add a missing const specifier for an array table
2015-07-02 11:09:44 -04:00
Ryan Houdek
b174f99b17
Merge pull request #2662 from Tilka/interpreter
...
Interpreter: turn SNaNs into QNaNs
2015-07-01 01:09:43 -05:00
Ryan Houdek
afc3d30f5c
[AArch64] Implement BFI & UBFIZ in the emitter.
...
Also fixes a bug in the UBFX instruction emitter. Naughty Naughty PPSSPP, not testing emitter functions you add.
2015-06-29 19:00:22 -05:00
Lioncash
daa205990f
Use emplace() instead of insert() where applicable for maps.
2015-06-28 19:52:40 -04:00
Admiral H. Curtiss
df70f50fdf
GetExeDirectory() shouldn't return paths with /../ in the middle.
2015-06-26 23:51:40 +02:00
Tillmann Karras
b78310bbe5
Interpreter: simplify fres
2015-06-26 09:29:18 +02:00
Jules Blok
da7ec75350
Merge pull request #2643 from comex/fix-do-file-search
...
Fix DoFileSearch returning the passed-in directories themselves.
2015-06-25 15:20:16 +02:00
Tillmann Karras
a725c06425
Logging: trigger _assert_() in release builds
2015-06-24 15:16:55 +02:00
Tillmann Karras
5b23182793
Common: drop GEKKO define
...
Afaict, it was used to build parts of Dolphin with DSPSpy, but that's
been broken forever, so lets clean up a little bit.
2015-06-24 12:13:41 +02:00
Tillmann Karras
de3c01dc2a
x64FPURoundMode: fix comments
2015-06-23 02:17:36 +02:00
comex
acd6cb79a4
Fix DoFileSearch returning the passed-in directories themselves.
...
Fixes https://code.google.com/p/dolphin-emu/issues/detail?id=8697&can=3
2015-06-21 16:07:56 -04:00
Lioncash
fa7d93690e
Hash: Remove the HashFNV prototype
...
It has no function definition.
2015-06-20 21:23:25 -04:00
Ryan Houdek
87b45de634
Merge pull request #2606 from Sonicadvance1/aarch64_optimize_psq_st
...
[AArch64] Optimize paired quantized stores.
2015-06-14 19:03:50 -05:00
Matthew Parlane
6d9711c02c
Merge pull request #2599 from Sonicadvance1/aarch64_clean_cpudetect
...
[AArch64] Clean up our CPUDetect.
2015-06-14 15:19:03 +10:00
Jeffrey Pfau
b6d1512587
Common: Use more portable invocation of shm_open
2015-06-13 21:52:47 -07:00
Jeffrey Pfau
7085fcc8d6
Fix FreeBSD build
2015-06-13 21:52:47 -07:00
Ryan Houdek
5dc148159f
[AArch64] Implement {U, S}QXTN{,2}
...
Also split out XTN to XTN and XTN2.
2015-06-13 23:16:17 -05:00
Matthew Parlane
f32cede086
Revert "x64: build a Position-Independent Executable (PIE)"
2015-06-14 16:06:26 +12:00
Lioncash
74b359e390
Arm64Emitter: Remove unused variable from EncodeLoadStoreRegisterOffset
2015-06-13 14:27:15 -04:00
Ryan Houdek
0af5bdcf1d
[AArch64] Clean up our CPUDetect.
...
Drops ARMv7 feature detection.
2015-06-13 08:04:23 -05:00
Ryan Houdek
3d2b116323
[AArch64] Implement a couple instructions in the emitter.
...
Implements LD2R.
Implements LD1R/LD2R with post-indexing support.
Implements vector min/max instructions.
2015-06-09 18:10:56 -05:00
Tony Wasserka
6833c203a6
Make make_scmrev.h.js recognize "stable" as a stable branch.
2015-06-09 20:03:25 +02:00
Jules Blok
d5788f75a3
Merge pull request #2533 from degasus/syncgpu
...
Fifo: Rewrite SyncGPU
2015-06-09 09:43:26 +02:00
Fog
519d2549dd
Fix File Extension Search Being Case Sensitive
2015-06-08 21:39:00 -04:00
Ryan Houdek
ffe085f5ea
[AArch64] Implement CRC32 texture hashing.
...
In a particular hashing heavy scene in Crazy Taxi the Murmur3 hash used 3.11% CPU time.
The new CRC32 hash in the same scene used 1.86%
This was tested on a Nvidia SHIELD Android TV with Cortex-A57s.
This will be a bit slower on the Nexus 9, the Denver CPU core is a bit slower with CRC32 texture hashing than Murmur3 texture hashing.
2015-06-08 19:16:50 -05:00
degasus
d31bed8b79
Fifo: Rewrite SyncGpu
...
The new implementation has 3 options:
SyncGpuMaxDistance
SyncGpuMinDistance
SyncGpuOverclock
The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.
The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
Ryan Houdek
3a3b782f3c
[AArch64] Detect AES/SHA1/SHA2/CRC32 in CPUDetect.
2015-06-08 01:20:24 -05:00
Ryan Houdek
59e2225f7d
Remove ARMv7 support.
2015-06-07 22:44:13 -05:00
Ryan Houdek
e8ae0f8c3c
Merge pull request #2562 from Sonicadvance1/aarch64_optimize_gatherpipe
...
[AArch64] Optimize gatherpipe stores
2015-06-07 23:23:11 -04:00
Ryan Houdek
8c2e5e2860
Merge pull request #2555 from Sonicadvance1/aarch64_rebase_ppsspp_emitter
...
[AArch64] Upstream PPSSPP's emitter changes.
2015-06-07 23:23:04 -04:00
Ryan Houdek
c79dd40e72
Merge pull request #2529 from JosJuice/ini-skip-bom
...
Skip reading UTF-8 BOM at the beginning of INI files
2015-06-07 23:13:53 -04:00
Matthew Parlane
9e1aab663f
Revert "SDL: handle SDL_QUIT event"
2015-06-08 13:43:39 +12:00
Ryan Houdek
8ae12d8005
[AArch64] Add ASIMD LDR/STR with register offset
2015-06-07 19:53:05 -05:00
Ryan Houdek
05b72c5d31
[AArch64] Upstream PPSSPP's emitter changes.
...
Requires a minor change to in the JIT to make sure everything still works.
2015-06-07 19:50:21 -05:00
Ryan Houdek
588de63f9c
Merge pull request #2141 from Tilka/position_cache
...
zfreeze: cache vertex positions
2015-06-07 16:44:40 -04:00
flacs
cab9f7b4da
Merge pull request #2548 from endrift/jit-nulls
...
Common: Add null checks when adding and removing breakpoints
2015-06-07 12:44:41 +02:00
Tillmann Karras
5ddd2cef6c
zfreeze: cache vertex positions
...
Suggested by degasus.
2015-06-07 12:13:00 +02:00
Jeffrey Pfau
1214161ad9
Common: Add null checks when adding and removing breakpoints
2015-06-07 03:03:35 -07:00
flacs
d3e47dfcf5
Merge pull request #2496 from Tilka/fma4
...
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
flacs
726fc58b49
Merge pull request #2531 from lioncash/vs
...
Common: Fix a typo in the VS project file.
2015-06-06 07:18:22 +02:00
Lioncash
3239a204db
Common: Fix typos in BlockingLoop.h
2015-06-05 23:37:37 -04:00
Tillmann Karras
9ec5a4544f
SDL: handle SDL_QUIT event
...
Using SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS which installs a signal
handler for SIGINT and SIGTERM. There will be a way to prevent this in
2.0.4 but for now we'll need to handle SDL_QUIT.
2015-06-05 19:34:06 +02:00
Lioncash
da9a858dcb
Common: Fix a typo in the VS project file
2015-06-05 13:27:14 -04:00
JosJuice
990d61b786
Skip reading UTF-8 BOM at the beginning of INI files
2015-06-05 18:32:58 +02:00
Lioncash
fe77505d4d
Jit: Make IsInCodeSpace() const
2015-06-04 20:52:53 -04:00
Lioncash
4f276ede0f
Arm64Emitter: Make GetReg() const
2015-06-04 20:43:22 -04:00
Tillmann Karras
d4538c762f
MemoryUtil: get executable pages near static data
...
and clean up a bit.
2015-06-03 21:44:31 +02:00
Tillmann Karras
a0597f0d62
Jit64: turn 32 bit addresses into offsets
2015-06-03 21:44:31 +02:00
comex
0c5aa54606
Merge pull request #2470 from degasus/syncgpu
...
Common: Blocking Loop (extracted from Fifo.cpp)
2015-06-02 20:19:00 -04:00
comex
35ca27f1cd
Fix bug where Gecko codes would be "enabled by default"
...
Actually caused by IniFiles::GetLines leaving the output vector in its
old state if the section wasn't found, and Gecko::LoadCodes not checking
the return value. Fix by moving lines->clear() up.
2015-06-02 19:04:04 -04:00
comex
a3b3f0522b
Merge pull request #1556 from comex/project-moration
...
Rudimentary version of Wii IPC determinism. Ported from my old udpnet branch.
2015-06-02 18:38:19 -04:00
Tillmann Karras
8db6588bb9
XEmitter: add FMA4 instructions
2015-06-02 19:19:52 +02:00
flacs
d36df5b1b4
Merge pull request #2468 from JosJuice/honor-logging-startup
...
Honor logging settings at startup
2015-06-01 23:56:15 +02:00
Ryan Houdek
210d7c4d54
Merge pull request #2486 from Tilka/x86_32
...
Jit64: drop more x86_32 left-overs
2015-05-31 13:06:19 -04:00
Tillmann Karras
eb057d49a0
x64Emitter: drop duplicate enum & unused wrappers
...
Keep the more explicit version of the two SSECompare enums.
And the unused CMP* wrappers wouldn't exactly make the code more
readable anyway.
2015-05-31 08:32:31 +02:00
Tillmann Karras
a6004f8274
Jit64: drop more x86_32 left-overs
2015-05-31 05:28:40 +02:00
degasus
bfa61105d5
Common: Update BlockingLoop to only use one atomic.
...
This merges two atomic<bool> into one atomic<int>.
We did move the bit from one bool to another, now we can use operator--.
2015-05-30 12:58:09 +02:00
degasus
02a3a063c3
Fifo: Extract syncing loop
...
It's now a new helper function within common.
2015-05-30 12:58:09 +02:00
Lioncash
e3a6191f02
x64Emitter: Pass some OpArg parameters by const reference
...
Considering OpArg is a struct, passing by value creates unnecessary copies.
2015-05-29 01:13:29 -04:00
Lioncash
810a04db58
x64Emitter: Remove 'Gen::' namespace prefix from some parameters
...
The emitter is already within the Gen namespace, so this isn't necessary.
2015-05-29 01:05:09 -04:00
Lioncash
84ed196c14
x64Emitter: Adjust position of reference and pointer indicators
...
Matches the coding style.
2015-05-29 01:04:45 -04:00
comex
45b07cbdcd
Fix determinism issues with Wiimote netplay.
...
- Change the Wiimote emulation SYSCONF R/W to use the temporary NAND if in use.
- Fix up SysConf API so this actually works.
Kind of a hack. Like I said, this can be cleaned up when configuration
is synced...
2015-05-28 19:19:00 -04:00
comex
dc91e8b607
Add a mode to use a dummy Wii NAND.
...
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.
In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site. Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
2015-05-28 19:14:42 -04:00
comex
a0a80c9a9c
Fix CopyDir to not require source and dest paths to end with "/".
2015-05-28 19:14:42 -04:00
comex
a225426510
Rewrite FileSearch and improve ScanDirectoryTree.
...
- FileSearch is now just one function, and it converts the original glob
into a regex on all platforms rather than relying on native Windows
pattern matching on there and a complete hack elsewhere. It now
supports recursion out of the box rather than manually expanding
into a full list of directories in multiple call sites.
- This adds a GCC >= 4.9 dependency due to older versions having
outright broken <regex>. MSVC is fine with it.
- ScanDirectoryTree returns the parent entry rather than filling parts
of it in via reference. The count is now stored in the entry like it
was for subdirectories.
- .glsl file search is now done with DoFileSearch.
- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
JosJuice
6fb8ce58d6
Honor logging settings at startup
...
https://code.google.com/p/dolphin-emu/issues/detail?id=7959
2015-05-28 09:28:23 +02:00
Matthew Parlane
3135b4f3e4
Merge pull request #2461 from lioncash/barrier
...
Thread: Remove unused Barrier class
2015-05-27 13:21:14 +10:00
Lioncash
23c11b3f27
Thread: Remove unused Barrier class
2015-05-26 19:25:59 -04:00
degasus
ebad10f2a1
Common: Fix IsTriviallyCopyable macro for GCC 5
...
Based on quarthex's patch in PR #2440
2015-05-26 19:50:14 +02:00
Markus Wick
a6412fb41e
Merge pull request #2162 from degasus/prefetch_tex
...
CustomTexture: prefetch all available textures
2015-05-26 13:30:26 +02:00
Markus Wick
5d3a248811
Merge pull request #2455 from lioncash/fifo
...
FifoQueue: Use atomics instead of volatile members
2015-05-26 12:26:36 +02:00
Lioncash
de5038849e
FifoQueue: Use atomics instead of volatile members
2015-05-26 05:34:47 -04:00
Rohit Nirmal
dbe54e63ed
Fix building with PCH disabled.
2015-05-25 22:26:43 -05:00
Ryan Houdek
7c04c76a26
Merge pull request #2421 from Tilka/jit_stuff
...
Jit64: fixes + less code
2015-05-25 23:08:24 -04:00
Ryan Houdek
69963dc4b0
Merge pull request #2274 from degasus/disable_bbox
...
Disable bbox
2015-05-25 08:46:12 -04:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Tillmann Karras
268f52e054
Add missing license headers
2015-05-25 13:11:47 +02:00
Tillmann Karras
6d9986846c
Simplify some more license headers
2015-05-25 13:11:41 +02:00
degasus
ac0e304159
Jitregister: fix common-core dependency
2015-05-25 09:33:34 +02:00
Lioncash
88e1850231
GekkoDisassembler: Fix typecast for the second printf param for mtfsf
2015-05-24 01:54:04 -04:00
Lioncash
612118e8e5
GekkoDisassembler: Fix disassembly of mtfsf's FM field
2015-05-24 01:51:07 -04:00
Tillmann Karras
6593ba7ecc
XEmitter: add BLENDPS/BLENDPD
2015-05-21 12:33:36 +02:00
Tillmann Karras
ad6b522c3b
XEmitter: fix L bit in VEX prefix
2015-05-20 09:34:27 +02:00
Fiora
22317ac74c
Merge pull request #2417 from Tilka/vex
...
XEmitter: VEX-related cleanup
I'm merging this solely because of the FMA3 error message
2015-05-18 16:23:23 -07:00
Tillmann Karras
c2c31086ae
XEmitter: restructure WriteVEXOp wrappers
2015-05-17 18:44:56 +02:00
Tillmann Karras
ae8efaa6a3
XEmitter: add VBLENDVPD and VCMPPD
2015-05-17 18:42:36 +02:00
Tillmann Karras
18e9241637
XEmitter: rename WriteVex to WriteVEX
2015-05-17 09:35:53 +02:00
Tillmann Karras
9e3f4df733
XEmitter: rename WriteRex to WriteREX
2015-05-17 09:35:53 +02:00
degasus
562b9d4a9f
VideoCommon: Abort texture prefetching on low RAM
...
There is no nice way to correctly "detect" the "used" memory, so we just say
we're fine to use 50% of the physical memory for custom textures.
This will fix out-of-memory crashes, but we still might run into swapping issues.
2015-05-16 15:39:36 +02:00
Tillmann Karras
7f57e27a65
x64CPUDetect: fix AVX2/BMI1/BMI2/HTT detection
...
On non-Windows platforms, ECX was not being initialized to 0.
2015-05-14 23:14:34 +02:00
Ryan Houdek
379f9feebd
Fix non-PCH build.
2015-05-10 20:16:05 -05:00
Lioncash
76bbd46829
Core: Remove some header inclusions in header files
...
Replaces them with forward declarations of used types, or removes them entirely if they aren't used at all. This also replaces certain Common headers with less inclusive ones (in terms of definitions they pull in).
2015-05-08 22:38:59 -04:00
comex
2264e7b087
Use a fake exception to exit early in case of memory breakpoints.
...
Change TMemCheck::Action to return whether to break rather than calling
PPCDebugInterface::BreakNow, as this simplified the implementation; then
remove said method, as that was its only caller. One "interface" method
down, many to go...
2015-04-24 22:37:54 -04:00
comex
b84f6a55ab
Automatically disable fastmem and enable memcheck when there are any watchpoints.
...
- Move JitState::memcheck to JitOptions because it's an option.
- Add JitOptions::fastmem; switch JIT code to checking that rather than
bFastmem directly.
- Add JitBase::UpdateMemoryOptions(), which sets both two JIT options
(replacing the duplicate lines in Jit64 and JitIL that set memcheck
from bMMU).
- (!) The ARM JITs both had some lines that checked js.memcheck
despite it being uninitialized in their cases. I've added
UpdateMemoryOptions to both. There is a chance this could make
something slower compared to the old behavior if the uninitialized
value happened to be nonzero... hdkr should check this.
- UpdateMemoryOptions forces jo.fastmem and jo.memcheck off and on,
respectively, if there are any watchpoints set.
- Also call that function from ClearCache.
- Have MemChecks call ClearCache when the {first,last} watchpoint is
{added,removed}.
Enabling jo.memcheck (bah, confusing names) is currently pointless
because hitting a watchpoint does not interrupt the basic block. That
will change in the next commit.
2015-04-24 22:37:53 -04:00
comex
b3aaa46d42
Merge pull request #2088 from Sintendo/diecmp
...
Emit 'TEST reg, reg' for 'CMP reg, 0' automatically
2015-04-23 16:34:23 -04:00
comex
ad95454d04
Merge pull request #2223 from phire/imm
...
Cleanup OpArg, make immediates more explicit.
2015-04-23 01:53:18 -04:00
Lioncash
b0613bb1c8
General: Apply the const specifier where applicable
2015-04-15 02:04:03 -04:00
comex
5fff97f3f4
Fix printf width in TraversalServer.
2015-04-13 02:26:52 -04:00
degasus
ef6bdf674f
Common: Remove TLS usage in GetLastErrorMsg
...
Just return std::string as this code isn't performance critical.
2015-04-07 22:42:21 +02:00
Jordan Cristiano
4051da75e4
Made cycle count atomic to avoid using a mutex
2015-03-31 04:09:33 -04:00
Lioncash
eacf741051
DolphinWX/Common: Change some find_first_of usages to find
...
It's unnecessary to use find_first_of when all you're searching for is a single character.
2015-03-24 08:32:44 -04:00
Sintendo
c19482c9a3
Add function to emit CMP, or TEST when possible
...
Also, a spelling mistake.
2015-03-22 17:22:27 +01:00
magumagu
52aeab3d0e
Merge pull request #2240 from lioncash/emitter
...
x64Emitter: Remove emitter pointer parameter from WriteNormalOp.
2015-03-20 22:09:11 -07:00
Lioncash
fab7add718
x64Emitter: Remove emitter pointer parameter from WriteNormalOp.
...
It only ever passed the equivalent of the class' this pointer. May as well get rid of it.
2015-03-20 23:28:36 -04:00
skidau
39c41f5c70
Merge pull request #2192 from Tilka/sse2
...
VertexLoaderX64: support SSE2 as a fallback
2015-03-21 12:58:24 +11:00
magumagu
31add72dee
Merge pull request #2237 from lioncash/round
...
x64FPURoundMode: Make a look-up table static
2015-03-19 10:59:22 -07:00
Lioncash
e57201eb71
x64FPURoundMode: Make a look-up table static
...
Since it's only a look-up table, this doesn't need to be recreated every time the function is called.
2015-03-19 09:07:36 -04:00
Tillmann Karras
9793fed742
XEmitter: add PUNPCKLQDQ
2015-03-18 12:09:06 +01:00
mathieui
8201a52cec
Traversal: Use a decent PRNG instead of rand()
...
we don’t need cryptosecure random, but having a uniform distribution is
always better.
2015-03-18 10:16:11 +01:00
mathieui
e0ef8fc03f
NetPlay: Make the enet interrupts work
...
Otherwise, it would work but any async sending would be delayed by 4ms or
wait until the next packet was received.
Also increase the client timeout to 250ms, since enet_host_service is now
really interrupted.
2015-03-18 10:16:11 +01:00
mathieui
44d7207a1c
NetPlay: add a Common/ENetUtil namespace
...
Move WakeupThread in it
2015-03-18 09:23:44 +01:00
Ryan Houdek
297012ddd7
Fix Wii configuration path being incorrect.
...
On loading the NANDRoot from the config, if it isn't set it will still attempt to be set.
So on the invalid empty path, just don't set it.
2015-03-17 21:27:40 -05:00
Scott Mansell
858ff69c01
Make OpArg.offset and operandReg private.
...
Also cleaned up WriteRest function.
2015-03-17 18:49:30 +13:00
Scott Mansell
6262a9bcbe
Make immediates more explicit
...
Instead of just casting OpArg::offset when needed, add some
accessor functions.
Also add some safety asserts to catch any mistakes.
2015-03-17 18:49:26 +13:00
Lioncash
c73cac3ee9
Merge pull request #2220 from shuffle2/win-con-listener
...
[windows] Replace ConsoleListener, which was not actually used.
2015-03-16 02:03:27 -04:00
Shawn Hoffman
78be0ab9ad
[windows] Just kill ExtendedTrace.
...
The code is not really worth saving, and afaik it has never actually been helpful.
2015-03-15 22:30:38 -07:00
Shawn Hoffman
0a79b6d5a7
[windows] Remove ConsoleListener, which was not actually used.
...
Replace it with the DebuggerLogListener.
2015-03-15 22:11:18 -07:00
Ryan Houdek
5e0b9179db
Merge pull request #2186 from Sonicadvance1/aarch64_optimize_paired_slowmem
...
[AArch64] Optimize slowmem paired stores.
2015-03-15 14:37:21 -05:00
Ryan Houdek
bcc434095d
Merge pull request #2212 from Sonicadvance1/fix_user_paths
...
Fix user directories at times doing stupid things.
2015-03-15 09:45:02 -05:00
Ryan Houdek
aaf04aeaca
Fix user directories at times doing stupid things.
...
With my previous changes Dolphin would fail to create the user directory if it didn't exist, and would dump all the configuration options in to the cwdir.
This was a bit more complicated to fix in a clean fashion, so I took to moving around code concerning user directories.
Instead of having GetUserPath serve a dual purpose of both getting and setting our user directories, break out to a new SetUserPath function.
GetUserPath will know only get the configured user path.
SetUserPath will set our user paths and setup the internal user path state.
This ending up being a lot cleaner overall, which is nice. Also less mind bending when attempting to read the code.
So now we won't dump all of our configuration in to the cwdir if ~/.dolphin-emu isn't found.
Fixes issue 8371.
2015-03-15 09:19:48 -05:00
Ryan Houdek
5e6d49d96b
Merge pull request #2209 from magumagu/remove-hle-opcode
...
Remove remnants of old fake opcodes.
2015-03-15 07:13:07 -05:00
Rohit Nirmal
48ec42d4a0
Core: Change NULLs to nullptrs.
2015-03-14 20:20:41 -05:00
magumagu
87dcda5785
Remove remnants of old fake opcodes.
...
These are illegal opcodes, and should be treated as such.
2015-03-14 16:59:12 -07:00
Markus Wick
ec8a074690
Merge pull request #2153 from degasus/enet
...
enet: Search for shared library
2015-03-14 17:23:27 +01:00
skidau
5dc23a93b6
Merge pull request #2169 from magumagu/rect-clamp
...
Fix clamping for rectangles.
2015-03-12 13:31:51 +11:00
Ryan Houdek
f6511c3ba5
[AArch64] Add an assert to SMOV in the emitter.
...
SMOV doesn't have an encoding for moving a 32bit element to a 32bit GPR.
One should use UMOV if they want that.
2015-03-08 12:29:45 -05:00
Ryan Houdek
a9622c247b
Merge pull request #2146 from Sonicadvance1/aarch64_optimize_fpr_push_pop
...
[AArch64] Optimize FPR pushing and popping.
2015-03-08 08:51:45 -05:00
magumagu
863a4c9ce0
Fix clamping for rectangles.
...
Clamping a rectangle correctly requires fully clamping all four
coordinates in the general case.
This should fix issue 6923, sort of; at least, it fixes the part where a
rectangle ends up with a nonsensical height after being clamped.
2015-03-04 17:15:29 -08:00
Ryan Houdek
fbdee7b15f
[AArch64] Handle FPR island registers in a less dumb way.
2015-03-03 00:30:05 -06:00
Tillmann Karras
a5ea6c6e93
enet: fix Visual Studio files
2015-03-02 22:20:37 +01:00
degasus
691b690afe
enet: Search for shared library
2015-03-02 22:18:57 +01:00
Ryan Houdek
f1a9db9bdc
[AArch64] Stop violating the AAPCS64 so much.
2015-03-02 11:21:15 -06:00
Ryan Houdek
fad46729b0
[AArch64] Implemented paired pushing/popping for the VFP.
...
A bit more efficient if we are only pushing two VFP registers.
We can probably be a bit more efficient in the future by mixing paired loadstores in to the other paths as well.
2015-03-02 06:27:47 -06:00