Commit graph

680 commits

Author SHA1 Message Date
Stenzek cee4f93097 Build: Use precompiled headers 2023-09-02 21:44:08 +10:00
Stenzek afed8297c9 Common: Bump _WIN32_WINNT 2023-08-31 19:49:32 +10:00
Stenzek 7b196d5c3c Common: Undef GetMessage for Windows headers 2023-08-30 22:20:36 +10:00
Stenzek 34e4bfdfcd Log: Don't colourize timestamps 2023-08-30 00:44:01 +10:00
Stenzek b217f64bcf PostProcessing: Refactor config to use separate sections 2023-08-30 00:44:01 +10:00
Stenzek 76b5b8ad06 MSBuild: Support building with clang-cl 2023-08-21 22:38:55 +10:00
Stenzek e3d9ba4c99 Rewrite host GPU abstraction
- Don't have to repeat the same thing for 4 renderers.
 - Add native Metal renderer.
2023-08-20 21:55:38 +10:00
Stenzek 39f64a03ee Common: Error/FileSystem backports 2023-08-20 12:40:47 +10:00
Stenzek a00a4391ca Common: DynamicHeapArray/FixedHeapArray 2023-08-19 21:18:28 +10:00
Stenzek 5b980dafa5 System: Refactor main loop
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +10:00
Stenzek 4ebd34fcb3 MSBuild: Use project referencing instead of .lib linking 2023-08-16 01:12:59 +10:00
Stenzek c01f249e0f dep: Update Vulkan headers 2023-08-15 23:51:39 +10:00
Charles the Thobe 4ea57daf39 CMake: display warning when building without Wayland on systems that support Wayland 2023-05-03 10:43:09 +03:00
Stenzek 5439718ec3 GL/Context: Add missing include 2023-04-29 20:45:19 +10:00
Connor McLaughlin 62765d7034
Common: Add missing include 2023-04-21 03:46:16 +10:00
Stenzek fd0d12a4f4 GL: Fix shader/memory leak 2023-04-10 23:50:09 +10:00
Stenzek dd7dfe348f HostDisplay: Clamp scissor rect for cursor
Scissor with x/y < 0 is invalid.

To you know who you are, stop copying these changes and putting your
name on it, or respect the copyright declared in the files. You're
violating both copyright as well as the license by not attributing.
2023-02-07 20:08:49 +10:00
Stenzek 1371dcfa4a Vulkan/Texture: Fix incorrect upload image layout 2023-02-05 13:12:45 +10:00
Stenzek 2dd374d2a7 Vulkan/Context: Fix query pool leak 2023-02-05 13:12:45 +10:00
Stenzek a3c7449749 FileSystem: Fix POSIXLock positioning 2023-01-30 19:26:48 +10:00
Stenzek 14cf865905 Misc: Correctness fixes for OpenGL
GLES2 fallback should be functional again.
2023-01-30 19:17:11 +10:00
Connor McLaughlin 395e9a934b InputManager: Support inverted full axis
i.e. pedals
2023-01-15 15:13:54 +10:00
Connor McLaughlin 01270bac35 StringUtil: Add ToChars/fast_float FromChars 2023-01-15 15:13:54 +10:00
Connor McLaughlin 3b038fd27d System: Further improve frame timing consistency 2023-01-12 18:02:12 +10:00
Connor McLaughlin 1552ff82a7 CMake: Fix Linux build 2023-01-07 17:40:50 +10:00
Connor McLaughlin fa2fd8f84f Build: Reference GSL 2023-01-07 13:10:43 +10:00
Connor McLaughlin af73d8ac24 D3D12HostDisplay: Fix software cursor rendering 2022-12-27 22:17:58 +10:00
Connor McLaughlin dfdbc9a8ce OpenGLHostDisplay: Update sync interval on MakeCurrent() 2022-12-08 13:21:21 +10:00
Connor McLaughlin 8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin f8cb480779 Timer: Improve SleepUntil() 2022-12-04 15:40:46 +10:00
Connor McLaughlin 7d3ac98cc6 HostDisplay: Manually throttle fullscreen UI presentation
Fixes flickering screen in fullscreen with Vulkan.
2022-12-04 14:06:56 +10:00
Connor McLaughlin 7a30c9ea43 GL/Context: USe glXMakeContextCurrent() for GLX 2022-11-23 19:18:17 +10:00
Connor McLaughlin 0d178a2a9e GL/Context: Prefer EGL over GLX on all platforms 2022-11-23 19:14:28 +10:00
Connor McLaughlin 27b0847ee7 WindowInfo: Don't clear display when going surfaceless
Fixes panic when a popup occurs when using GLX.
2022-11-23 19:13:29 +10:00
Connor McLaughlin 30556cb40a GL/Context: Prefer EGL over GLX on ARM 2022-11-15 21:33:06 +10:00
Connor McLaughlin 72dfbaf6cc Misc: Backports from PCSX2 UI 2022-10-23 14:49:44 +10:00
Connor McLaughlin ca571f8a78 GameList: Add played time tracker 2022-10-21 21:20:21 +10:00
Connor McLaughlin 8e95248ef3 GL/Context: Always prefer GLES on Android 2022-10-21 00:30:42 +10:00
Connor McLaughlin ccfe3925fc HostDisplay: Use border sampling for post processing shaders 2022-10-13 22:53:16 +10:00
Connor McLaughlin 564a9bdeb4 GL/Context: Use GL_OES_draw_elements_base_vertex if GLES3.2 is missing 2022-10-05 18:29:43 +10:00
Connor McLaughlin a9038133c8 HostDisplay: Common texture base class for all APIs 2022-10-04 00:00:56 +10:00
Connor McLaughlin 12d400b76a OpenGLHostDisplay: Replace GL ID handle with texture class 2022-10-03 21:08:42 +10:00
Connor McLaughlin 4dc3014fcd Vulkan: Hook up VK_KHR_driver_properties 2022-10-03 13:11:38 +10:00
Connor McLaughlin 410b384c76 Vulkan/Context: Request API v1.1 2022-10-01 13:31:03 +10:00
Connor McLaughlin 8aa1c8827c GPU/D3D11: Purge D3D11::StagingTexture 2022-09-26 22:15:51 +10:00
Connor McLaughlin 84917ec6aa Common/Image: Add resize methods 2022-09-26 22:15:51 +10:00
Connor McLaughlin e3a327f7a2 Vulkan/Texture: Fix updating array textures 2022-09-26 22:15:50 +10:00
Connor McLaughlin f7aa7c659c D3D11/Texture: Add layers/texture arrays 2022-09-26 22:15:50 +10:00
Connor McLaughlin e7fb42347f GL/Texture: Add multi-layer/level support 2022-09-26 22:15:50 +10:00
Connor McLaughlin 8d32547ec9 Vulkan/Texture: Allow uploading non-zero layers/levels 2022-09-26 22:15:50 +10:00
Connor McLaughlin aff9f1c25f D3D12: Add helper for offsetting descriptors 2022-09-26 22:15:50 +10:00
Connor McLaughlin 9d27f7095f Vulkan: Use Vulkan Memory Allocator 2022-09-26 22:15:50 +10:00
Connor McLaughlin aee8163317 Achievements: Drain outstanding requests when switching games
Stops data being lost when loading state due to data not being
downloaded yet.
2022-09-18 13:24:55 +10:00
Connor McLaughlin d9722516c3 GameList: Handle non-extension-suffixed urls based on content type 2022-09-18 13:24:55 +10:00
Connor McLaughlin a062cc4706 VulkanHostDisplay: Fix uploading of strided textures 2022-09-18 12:10:36 +10:00
Connor McLaughlin ef3ad91ad0 FullscreenUI: Various improvements 2022-09-17 15:56:05 +10:00
Connor McLaughlin 0b3461338c HostDisplay: Use streaming for sw renderer display 2022-09-13 17:50:42 +10:00
Connor McLaughlin bf76780f11 GameList: Add cover downloader 2022-09-13 17:50:42 +10:00
Connor McLaughlin bec0d6e7df HostDisplay: Add GPU usage statistics 2022-09-03 14:17:51 +10:00
Connor McLaughlin f9bd2db2dc Common/Image: Fix saving 2022-08-26 23:30:45 +10:00
Connor McLaughlin 7bbacd2392 Misc: Remove unused code 2022-08-22 19:55:38 +10:00
Connor McLaughlin 0572d0cd4b Common: Add ByteStream implementations for zstd 2022-08-18 23:10:15 +10:00
Connor McLaughlin 0154a594c9 ByteStream: Devirtualize where unnecessary 2022-08-18 23:10:15 +10:00
Connor McLaughlin e9126aeeb8 Common: Add SHA1Digest 2022-08-16 00:05:46 +10:00
Connor McLaughlin 4688277987 SwapChain: Reduce buffer count from 3 to 2 2022-08-10 17:08:59 +10:00
Connor McLaughlin 916900be5d Misc: More warning fixes 2022-08-10 14:33:31 +10:00
Connor McLaughlin b698ff1fff Common: Add build_timestamp.h 2022-08-10 13:05:52 +10:00
Connor McLaughlin ae0d60fcd8 Timer: Spin for last 1ms on non-windows too 2022-08-10 13:02:23 +10:00
Connor McLaughlin b581cc4777 Vulkan/SwapChain: Fix crash on fullscreen with MoltenVK 2022-08-07 01:31:24 +10:00
Connor McLaughlin 25d2148ae4 Misc: Necessary emucore changes for Android 2022-08-05 17:05:21 +10:00
Connor McLaughlin ca1512f47a Vulkan/Loader: Prioritize system libvulkan dylib, fallback to MoltenVK 2022-08-01 23:07:40 +10:00
Connor McLaughlin 571a773b29 FileSystem: Fix build failure 2022-07-31 17:42:58 +10:00
Connor McLaughlin 97d5d659d3 FileSystem: Fix zeros getting stripped in path 2022-07-31 17:37:21 +10:00
Connor McLaughlin 0006c54c46 Build: Add Mac dependencies and fix packaging 2022-07-31 16:00:37 +10:00
Connor McLaughlin a899ca88f2 Build: Make OpenGL/Vulkan renderers optional
And disabled on Windows/arm64.
2022-07-31 01:14:28 +10:00
Connor McLaughlin cb127b6412 Common: Remove Event 2022-07-30 21:55:12 +10:00
Connor McLaughlin 89659db7ee Path: Unicode handling and tests for SanitizeFileName 2022-07-30 21:46:14 +10:00
Connor McLaughlin 12875cbcac D3D12/StagingTexture: Fix map persisting through resize 2022-07-30 12:58:20 +10:00
Connor McLaughlin b074c0d1ee System: Make inter-frame sleep slightly more precise 2022-07-30 00:45:26 +10:00
Connor McLaughlin f6ff7e48c1 Build: Fix compiling for arm64/linux 2022-07-28 22:38:08 +10:00
Connor McLaughlin f54e32ff01 dep: Add soundtouch 2022-07-28 22:10:47 +10:00
Connor McLaughlin 13b2cf6b1c WindowInfo: Linux build fix 2022-07-26 20:10:19 +10:00
Connor McLaughlin 8af4f4f01a Common: ScopeGuard -> ScopedGuard 2022-07-26 18:37:16 +10:00
Connor McLaughlin 13e3f2a179 ContextWGL: Backport pbuffer changes 2022-07-26 18:32:55 +10:00
Connor McLaughlin c233a8042f GLContext: Dynamically load wayland-egl 2022-07-25 18:06:17 +10:00
Connor McLaughlin 25c52f97d4 CMake: Include Vulkan headers 2022-07-25 01:06:24 +10:00
Connor McLaughlin 9b22f0564f Misc: Remove backported license text
For anyone trying to start drama, I have copyright over this code and
never signed a CLA, therefore can relicense it how I see fit (in this
case is no license, i.e. no rights, although the entire DuckStation as
is currently distributed is GPLv3).
2022-07-23 13:55:09 +10:00
Connor McLaughlin b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin af91fcf195 Backport more common classes 2022-07-21 17:29:58 +10:00
Connor McLaughlin f6b3652ae6 Add MemorySettingsInterface 2022-07-21 17:29:58 +10:00
Connor McLaughlin 6a6ab6529a Backport SettingsInterface 2022-07-21 17:29:58 +10:00
Connor McLaughlin b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00
Connor McLaughlin d2ca454576 Sync filesystem.h/path.h 2022-07-21 17:29:57 +10:00
Connor McLaughlin f89529015c dep: Move Vulkan loader to common 2022-07-21 17:29:57 +10:00
Connor McLaughlin fd3507c16d Core: Replace Timestamp usage with fmt 2022-07-21 17:29:57 +10:00
Connor McLaughlin b5bf3593c4 ByteStream: Move routines from FileSystem to ByteStream 2022-07-21 17:29:57 +10:00
Connor McLaughlin d81e156a29 dep: Add build config for fmt 2022-07-21 17:29:57 +10:00
Connor McLaughlin b3c3d5d954 Sync string_util.cpp 2022-07-21 17:29:57 +10:00
Connor McLaughlin 5d097da160 CDImageCHD: Implement precaching 2022-04-03 21:09:36 +10:00
Connor McLaughlin 9ab64ecdb3 CDImage: Add Precache() method 2022-04-03 21:09:36 +10:00