Commit Graph

89 Commits

Author SHA1 Message Date
Unknown W. Brackets
5009698cc0 Core: Use a shared_ptr for i18n categories.
This does not make them thread safe, but it reduces the chances of a crash
a bit (see #12594.)
2020-02-09 07:35:16 -08:00
Henrik Rydgård
d91f706206 Log why the config is being saved (we seem to do it a bit much at times) 2019-02-23 11:55:44 +01:00
Unknown W. Brackets
f906fbed35 Core: Track graphics startup failures and cycle.
If the graphics driver segfaults, or some plugin segfaults, let's try a
different one next time.  This gives better hope of starting up next time.
2018-09-01 19:59:13 -07:00
Unknown W. Brackets
b4496f1975 Core: Move config enums to separate file.
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Henrik Rydgård
b0a22fb5c7 Redirect the user to download the D3D9 runtime if D3D9 is not available and they don't want to switch to OpenGL.
Maybe should also update the messagebox text somehow...
2018-03-25 00:46:48 +01:00
aliaspider
54d9406713 fix mingw and msvc cmake builds. 2018-03-23 03:18:13 +01:00
Unknown W. Brackets
17bcb080f0 GLES: Fix shutdown while stepping. 2018-02-11 15:19:16 -08:00
Unknown W. Brackets
cdf378d20c GLES: Prevent race condition on shutdown.
emuThreadState might become STOPPED before the last frame has been run,
which can cause WaitUntilQueueIdle to hang.

It's simpler just to wait until StopThread() is called, since it now is.
This will line up properly with run_.
2018-02-11 11:40:11 -08:00
Unknown W. Brackets
586e35ad23 Windows: Prevent shutdown lag for non-GL.
For Vulkan/D3D, it was taking an extra second to quit.
2018-02-10 16:55:51 -08:00
Unknown W. Brackets
2bec3bf3ac Windows: Trigger StopThread() on shutdown.
Otherwise, we end up hanging in the loop waiting for emuThreadState to
become STOPPED.  It actually has, but ThreadFrame() will block until a new
frame is queued... while will never happen, because the emuthread has
stopped.
2018-02-10 16:55:44 -08:00
Henrik Rydgård
ae19c48138 Cleanup the Windows thread stuff to work like the other platforms. Not quite perfect yet. 2018-02-07 16:00:29 +01:00
Henrik Rydgård
7f30037e45 Android: Fix emuthread management to exit cleanly without hanging. Helps with task switching on Android. 2018-02-07 13:11:43 +01:00
Unknown W. Brackets
9945e011c6 GLES: Avoid a shutdown race condition.
Also handle DeviceLost before shutdown better.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
fdca06d208 More work on shutdown, still hanging though. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
af6431986d OpenGL: Now run GL on a secondary thread. Sync issues remain. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
465939e1c8 Minor fixes, indentation and comments 2018-01-27 15:10:17 +01:00
Henrik Rydgård
42f2312030 Remove the old CPU threading remains, start redesigning interfaces. 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
d6da758ed3 GPU: Remove duplicate BACKEND constants. 2017-12-26 15:55:24 -08:00
Henrik Rydgård
2822a4f187 Win32: Use the standard thread APIs to manage the emu thread. 2017-12-19 15:27:56 +01:00
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgard
5974e0ee6d Work towards a clean vulkan shutdown. 2017-05-07 10:40:11 +02:00
Unknown W. Brackets
793178c106 Windows: Initialize WindowsHost in EmuThread.
This seems like a more appropriate place, and a more appropriate thread,
for it to be initialized on.
2017-05-05 06:53:48 -07:00
Henrik Rydgard
d3ff35b2c0 Fix to partial restarts (when switching backends), plus misc. Helps #9666 2017-05-05 12:31:06 +02:00
Unknown W. Brackets
90f3ae14e0 Windows: Simplify host shutdown.
The whole nativeHost/oldHost thing is unnecessary.

This also fixes gl lost holder mismatches.
2017-04-29 12:04:54 -07:00
Unknown W. Brackets
e8e65881b8 Windows: Avoid restarting completely on GPU change.
This retains the logger, avoids an annoying window open/close, and most
importantly for me: keeps the debugger attached.
2017-04-15 16:33:30 -07:00
Henrik Rydgard
4ced81b1df UWP: Hook up basic touch/mouse input. Start work on loading from a StorageFile. Getting closer to starting to boot a game 2017-03-23 10:02:28 +01:00
Unknown W. Brackets
9e390510df Remove legacy InputState. 2017-03-14 22:07:07 -07:00
Henrik Rydgard
26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
Unknown W. Brackets
1c3e048070 Vulkan: Consistently init the graphicsContext.
This was only happening properly on Windows before.
2016-10-01 11:22:53 -07:00
Unknown W. Brackets
95d912c378 Get rid of the input_state global linkage. 2016-05-27 20:24:01 -07:00
Unknown W. Brackets
4568affe4d Vulkan: Fix error message if backend can't load. 2016-03-24 17:03:04 -07:00
Unknown W. Brackets
82205a4660 Handle Vulkan init errors more gracefully. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
b39206f922 Use the app cache directory on Android for the shader cache. 2016-01-17 22:15:23 +01:00
Henrik Rydgard
27c71aa340 Get rid of the unused "InstallID" 2016-01-17 15:46:15 +01:00
Henrik Rydgard
3398288bd0 Some cleanup around input_state 2016-01-01 14:40:18 +01:00
Henrik Rydgard
15de6e6b98 GraphicsContext: Abstract away things like swapbuffers etc before adding even more backends.
Needed to prevent clutter all over the codebase.

Does not go all the way yet, goal would be a common render loop between platforms but not there yet.
2016-01-01 14:40:16 +01:00
Henrik Rydgard
6cc7a85cde Rename WndMainWindow to MainWindow 2015-09-19 13:14:05 +02:00
Henrik Rydgard
f3e0029285 Remove probably outdated and unnecessary color depth check 2015-08-26 23:56:38 +02:00
Henrik Rydgard
80e243655d Win buildfix 2014-10-16 00:38:22 +02:00
Henrik Rydgård
9e8a448914 Update submodules, buildfix before merging the rest of the dualhead support pull requeset 2014-10-15 23:02:59 +02:00
sum2012
eded13a21d Add more information for directx 9 error 2014-09-28 15:55:16 +08:00
Unknown W. Brackets
0039eab878 Offer to toggle graphics backends on any failure.
So, even if Direct3D 9 fails.
2014-09-26 21:20:51 -07:00
Henrik Rydgard
dda3ca3d5f D3D9 init error reporting improved. Use "override" properly in Host. 2014-09-20 21:55:58 +02:00
The Dax
612cc37878 Fix a couple small style issues.
Trying to be consistent with the coding style..
2014-08-31 04:16:22 -04:00
The Dax
906396c602 GetWideCmdLine doesn't need to be exposed in the header anymore.
Also fix a warning.
2014-08-31 03:07:52 -04:00
The Dax
3590352429 Win32: Use wide strings to parse most command-line arguments.
Also do a tiny bit of cleanup in main.cpp (replacing strcmps with simple string equality checks).
2014-08-31 02:47:25 -04:00
Henrik Rydgard
92c3775d95 Start hooking up D3D 2014-08-22 20:55:04 +02:00
Henrik Rydgard
01cb22f16a Windows: Add WM_CHAR input support (not used for anything yet).
Some unicode cleanup.
2014-06-29 23:30:40 +02:00
Henrik Rydgard
38609f3e6b Cleam up thread names a bit, name the Main thread.
Also makes some logging VERBOSE.
2014-06-29 12:53:03 +02:00
Henrik Rydgard
6ec74ef99e Be consistent about how we read and update the UI state variable 2014-06-22 09:57:01 +02:00