Commit Graph

163 Commits

Author SHA1 Message Date
Unknown W. Brackets
051a84e9bd GPU: Restart when changing inflight frames setting.
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Unknown W. Brackets
bc90faebf7 D3D9: Allow vsync change at runtime. 2020-02-29 22:48:58 -08:00
Unknown W. Brackets
6f86b6fdbe D3D11: Respect vsync setting.
Fixes #12493.
2020-02-29 22:48:58 -08:00
Unknown W. Brackets
2a3fd05651 Vulkan: Present using FIFO for vsync.
This allows the setting to be changed at runtime in Vulkan too.

Should help #10105.
2020-02-29 22:48:59 -08:00
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
4f7c23fe79 DarkStalkers: Fix display on OpenGL ES. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
7610220b30 Vulkan: Prepare for adding a second init path for VulkanContext.
Will eventually be used for libretro.
2019-09-01 22:21:19 +02:00
Henrik Rydgård
aff429ee09 For the non-vulkan backends, zero display rotation settings just to be sure. 2019-06-24 10:30:32 +02:00
Henrik Rydgård
33c53eebe9 D3D11 init: Release pFactory at the appropriate place. 2019-05-16 00:37:06 +02:00
Henrik Rydgård
6117e37a14 D3D11: Also properly check for the no-adapters case. 2019-05-15 22:58:45 +02:00
Henrik Rydgård
0320b4961b Add a missing error check to the D3D11 device creation. May help #12039? 2019-05-15 22:55:24 +02:00
driver1998
21d2008676 Use D3DCompiler_47.dll for D3D9 context. 2019-05-12 11:17:10 +08:00
driver1998
7b7dede420 Fix D3D11 context on Windows ARM Debug
debug layers are not available on ARM32/ARM64 (D3D*SDKLayers.dll not available), so disable it.
2019-05-05 01:19:16 +08:00
Henrik Rydgård
8adb0dfd61 Vulkan validation: INFO level has gotten too spammy, turn it off. 2019-03-24 11:56:51 +01:00
Unknown W. Brackets
f2206158b2 UI: Update more browser links to https://. 2019-03-03 21:39:21 -08:00
Henrik Rydgård
0cd3ac06d0 Avoid trying to create a FileLoader for empty filenames
Assorted cleanup
2019-02-25 21:35:51 +01: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
Henrik Rydgard
478b0b4278 Further improve VK extension loading. Switch to VK_EXT_debug_utils (but fallback to VK_EXT_debug_report if only that is available). 2019-02-05 21:31:38 +01:00
Henrik Rydgard
8e1a5ef3d6 Minor refactor of physical device property/feature detection, to allow for more extension use. 2019-02-05 18:07:17 +01:00
Henrik Rydgard
f339a0c15b VK: Minor cleanup, turn off unfinished and probably wrong use of dedicated allocation feature 2019-01-31 14:09:21 +01:00
Unknown W. Brackets
adeca2c3ba GLES: Move some vendor bug checks to Draw. 2018-12-23 20:27:22 -08:00
Henrik Rydgård
429a1fce01 Assert even in release mode if preset shaders fail to compile. This is just to help track down a Play crash. 2018-11-21 18:14:26 +01:00
Unknown W. Brackets
dc54ed6855 GLES: Add disabled code to run GLES on desktop.
Helps when testing certain extensions, etc.
2018-10-28 14:29:44 -07:00
Unknown W. Brackets
7ee4d2d5a1 UI: Ask for restart when changing graphics device.
Only for D3D11 and Vulkan.

Also, makes Vulkan follow D3D11 in not changing the setting if the device
is not found on startup.
2018-09-30 00:53:21 -07: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
238521a297 Rename device choice config options as requested. 2018-06-06 10:24:16 +02:00
Henrik Rydgård
8ee3cd52e8 D3D11: Allow the user to select rendering device. 2018-06-06 10:20:12 +02:00
Henrik Rydgård
b037efdb55 If there are multiple Vulkan devices, show a setting to allow the user to choose. 2018-06-06 10:20:12 +02:00
Henrik Rydgård
3f7602227c Windows: If neither OpenGL nor D3D9 is available, offer an escape route into D3D11.
This does happen on some fresh Win10 installations.

We really should do something much nicer and more automatic, but that's for later.
2018-05-03 22:19:07 +02:00
Henrik Rydgård
513ea72d5d OpenGL debug log: Filter out some buffer mapping info from the NV driver 2018-04-05 12:29:09 +02:00
Henrik Rydgård
01d81ffa72 OpenGL: Fix texture wrapping of render targets. 2018-03-28 11:23:41 +02:00
aliaspider
54d9406713 fix mingw and msvc cmake builds. 2018-03-23 03:18:13 +01:00
Henrik Rydgård
2a438d6e03 Fix VSync on Windows. Should fix #10711 2018-03-12 20:07:31 +01:00
Henrik Rydgård
5f8118b82b Separate T3DCreate* into its own header to avoid including Windows.h etc in some cases. 2018-02-25 10:27:59 +01: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
8ee426ff74 Get rid of an unused codepath (gl rendering is now always threaded) 2018-02-08 00:23:48 +01: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
Unknown W. Brackets
bdf7fdc7a3 GLES: Actually stop the thread on shutdown.
Fixes shutdown.
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
e5d571c25a gl-render-manager: Now threaded mode seems to work fine (and fast!). Shutdown doesn't, though, and there are stability issues. 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
422b05e51f Truncate the '\n' from GL debug strings before logging them. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
542f9f9ef1 Assorted cleanup 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
Henrik Rydgård
bd6818198a More GLRenderManager 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
766b40aad8 GPU: Reset GPUBackend on graphics init.
This way, when using a port that doesn't support Vulkan, it doesn't just
silently use upside down GL, etc.
2017-12-26 16:02:55 -08:00
Unknown W. Brackets
d6da758ed3 GPU: Remove duplicate BACKEND constants. 2017-12-26 15:55:24 -08:00
Henrik Rydgård
2250ef799c Avoid including platform-specific headers in VulkanContext.h 2017-12-18 12:54:25 +01:00
Henrik Rydgård
6f0b382d9e Move vulkan debug callback out from WindowsVulkanContext into a file that can be shared with other platforms later. 2017-12-13 19:29:42 +01:00