Stenzek
4b24bf74f4
StringUtil: Add Ellipsise()
2023-09-18 22:38:11 +10:00
Stenzek
68b59ee748
CMake: Swap USE_ and WITH_ for ENABLE_
...
Consistency.
2023-09-17 12:36:52 +10:00
Stenzek
6bfd498e31
Error: Fix errno resolving on Win32
2023-09-17 00:51:07 +10:00
Stenzek
1ba32585df
Common: Add Timer::ResetIfNPassed()
2023-09-16 19:00:29 +10:00
Stenzek
9855a222e0
Common: Add String::ToStdString()
2023-09-16 19:00:29 +10:00
Stenzek
631d1e7433
ImGuiFullscreen: Less jarring notifications
2023-09-16 19:00:29 +10:00
Stenzek
fc96c2f656
Common: unused-result warning fix
2023-09-05 22:59:39 +10:00
Stenzek
519367555b
Misc: Replace deprecated std::is_pod
2023-09-05 22:10:50 +10:00
Stenzek
60aca2fc4d
Misc: Swap LIKELY/UNLIKELY macros for attributes
2023-09-05 22:10:50 +10:00
Stenzek
adc124c759
Misc: Unreachable code warning fixes
2023-09-05 22:10:50 +10:00
Stenzek
0b0abc426b
dep: Remove gsl
2023-09-05 22:10:50 +10:00
Stenzek
391307efaa
Common: Drop fallback path for HeterogeneousContainers
2023-09-05 21:37:04 +10:00
Stenzek
58b4946fb9
Build: Switch to C++20
2023-09-05 21:37:04 +10:00
Stenzek
7b068b976b
CrashHandler: Use libbacktrace
2023-09-05 21:37:03 +10:00
Stenzek
c0af478dfd
Common: Add ASSUME() and use for UnreachableCode()
2023-09-03 14:42:37 +10:00
Stenzek
80e3d29ab8
Misc: clang-cl warning clean-up
2023-09-03 14:30:26 +10:00
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
Connor McLaughlin
bceca040d9
dep/libchdr: Remove libFLAC dependency
2022-04-03 21:09:36 +10:00
Ronnie Sahlberg
f7a3358b1f
pbp: pstitleimg sections are allowed also for single disc games
...
Multidisc games are stored inside the EBOOT.PBP file as
A)
pstitleimg
psisoimg
psisoimg
...
Single disk games can be stored in two different formats, with or
without a pstitleimg section, i.e. as
B)
pstitleimg
psisoimg
or
C)
psisoimg
Fix a conditional in duckstation that incorrectly flags B) as an error.
These types of EBOOT.PBP files can be created by the pop-fe utility.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2022-03-29 21:36:39 +10:00
Connor McLaughlin
07d331deca
Merge pull request #2814 from CookiePLMonster/y2038
...
Fix a Y2038 bug in UnixTimeToFileTime
2022-03-27 17:47:35 +10:00
Connor McLaughlin
a55537ec1b
D3D12/Builders: Fix incorrect depth write mask
2022-03-27 17:38:48 +10:00
Connor McLaughlin
a55b5022c7
System: Include cheevos state in save states
2022-03-27 16:59:02 +10:00
Connor McLaughlin
d5128a5ea9
HTTPDownloader: Move to common
2022-03-27 16:59:02 +10:00
Connor McLaughlin
cb51ab7197
Misc: Purge unused definitions
2022-03-27 16:59:02 +10:00
Silent
e43f2ddddb
Fix a Y2038 bug in UnixTimeToFileTime
2022-03-26 16:49:02 +01:00
Connor McLaughlin
bee50481f5
CDImageMDS: Possible fix for multi-track images
2021-12-25 14:28:33 +10:00
Connor McLaughlin
592a591b5f
FileSystem: Get rid of trailing nulls in GetWorkingDirectory()
2021-12-25 14:28:33 +10:00
Connor McLaughlin
7c769b1941
CDImageDevice: Don't add out-of-file pregaps to audio tracks
2021-11-26 11:31:59 +10:00
Connor McLaughlin
827048eeda
CDImageDevice: Fix printing of track summary
2021-11-26 11:31:59 +10:00
Connor McLaughlin
c54c5f1b95
Common/CueParser: Remove redundant check for CATALOG
2021-11-10 13:38:06 +10:00
Connor McLaughlin
fca4a2ec28
Common/FileSystem: Fix a couple of warnings from #2716
2021-11-10 13:18:30 +10:00
Connor McLaughlin
e6741dad9b
Common/Timestamp: Use tuple for comparison operators
2021-11-10 13:00:32 +10:00
Connor McLaughlin
13453ee6d8
Merge pull request #2715 from stenzek/pvd-hash
...
System: Use exe hash plus pvd hash for image hash code
2021-11-10 12:34:55 +10:00
Connor McLaughlin
a8a0a50af7
ISOReader: Make fields public/accessible
2021-11-09 12:54:07 +10:00
Evgeniy Dushistov
39a9997fd0
Fix usage of free
for stack variable
...
Based on warning from pvs static analyzer (https://habr.com/ru/company/pvs-studio/blog/586700/ )
2021-11-07 20:43:41 +03:00
Connor McLaughlin
425dee2f0b
CDImage: Fix tracks not getting brought across in CopyTOC()
2021-11-05 15:19:21 +10:00
Silent
b7f73a42be
CDImageCueSheet: Fix cuesheets with absolute paths
2021-10-30 11:17:41 +02:00
Connor McLaughlin
58f05498e5
Common/ProgressCallback: Elide some redundant updates
2021-10-29 13:16:42 +10:00
Connor McLaughlin
ccf5006bc8
Merge pull request #2668 from CookiePLMonster/dump-verification
...
Implement image verification
2021-10-25 17:30:20 +10:00
Connor McLaughlin
f0c5b049bb
DRMDisplay: Should include common types not core types
2021-10-25 17:27:41 +10:00
Connor McLaughlin
2194004662
CDImageDevice: Fix gcc warning
2021-10-25 17:15:56 +10:00
Silent
85ea9a629a
Add image verification
...
"Verify Dump" is now removed, now both hash calculation
and image verification are done in one step.
After a successful hash calculation, the button is replaced with
a "Search on Redump.org" button that opens a web browser
on Redump's search page.
2021-10-23 22:19:39 +02:00
Silent
e38ee512f3
Fix progress bar not starting from 0 when verifying the data track
2021-10-23 21:46:57 +02:00
Connor McLaughlin
c0a29f7bfd
Fix a few warnings over the place
2021-09-26 09:56:17 +10:00
Connor McLaughlin
bbcf1c67d1
Common/Vulkan: Fix compiling on 32-bit
2021-08-24 11:57:16 +10:00
Connor McLaughlin
7eceee6a20
CDImage: Use display name for playlist titles
2021-08-21 16:58:10 +10:00
Connor McLaughlin
e45f15ef41
FileSystem: Implement StatFile/FileExists/DirectoryExists for scoped storage
2021-08-18 00:18:03 +10:00
Connor McLaughlin
f0cb8cdc5c
GL/Texture: Don't set max level on GLES2
2021-08-12 21:31:40 +10:00
Connor McLaughlin
8bea6e1530
GPU/Vulkan: Fix warnings introduced by #2438
2021-08-07 12:01:02 +10:00
Wunkolo
98089180c0
GPU/Vulkan: Add debug utility functions
...
Adds a way to set the name of vulkan
objects, and automatically determining their `VkObjectType` enum value
at compile-time. As well as a utility-object for creating debug-scopes
for `VkQueue` and `VkCommandBuffer` objects. `DebugScope` objects will
automatically emit `Begin` and `End` commands within the ctor and dtor
and allow for C++ scopes to name and color sections of a vulkan command.
These DebugScopes are also able to be nested within each other and will
automatically pick a color depending on the current recursive depth.
These functions are all null-stubbed in non-debug compilations.
2021-08-01 10:56:56 -07:00
Connor McLaughlin
642f8041e9
Common/Log: Fix compilation on Android
2021-07-30 17:01:07 +10:00