Connor McLaughlin
e540ab7038
Common: Add LRUCache class
2021-02-22 12:22:28 +10:00
Connor McLaughlin
322f1492b2
FileSystem: Add SanitizeFilename() overload for std::string
2021-02-22 12:22:28 +10:00
Connor McLaughlin
d97a107b62
WindowsHeaders: Undef GetObject
2021-02-22 12:22:28 +10:00
Connor McLaughlin
357235404a
AudioStream: Fix a crash when opening device fails
2021-02-22 12:21:44 +10:00
Connor McLaughlin
3ab7e140ee
FileSystem: Add some overloads for FILE*
2021-02-19 01:37:56 +10:00
Connor McLaughlin
cacf12c209
FileSystem: Migrate component extractors to std::string_view
2021-02-19 01:37:56 +10:00
Connor McLaughlin
65daf1d6a0
Vulkan: Support fullscreen resolution enumeration
2021-02-16 02:58:25 +10:00
Connor McLaughlin
f7426b0988
GL/Context: Support fbdev
2021-02-14 18:36:21 +10:00
Connor McLaughlin
d4143399eb
OpenGLHostDisplay: Support fullscreen mode enumeration (DRM only)
2021-02-14 18:36:21 +10:00
Connor McLaughlin
748e2e9a70
DRMDisplay: Add mode queries
2021-02-14 18:36:21 +10:00
Connor McLaughlin
e8832bf552
DRMDisplay: Use width/height/refresh rate to select mode
2021-02-14 18:36:21 +10:00
Connor McLaughlin
b811b78c09
Add refresh rate to window/mode info
2021-02-14 18:36:21 +10:00
Connor McLaughlin
ccc25fc131
GL/Context: Filter Mali GPUs based on ARM GL_VENDOR only
2021-02-06 20:25:26 +10:00
Connor McLaughlin
011df33fc4
GL/StreamBuffer: Support non-coherent mappings
2021-02-06 19:23:39 +10:00
Connor McLaughlin
5a9abd55a1
GL/Context: Disable GL_{EXT,OES}_copy_image on Mali
...
It is **very** slow because it seems to be implemented on the CPU...
2021-02-06 19:20:09 +10:00
Connor McLaughlin
701edb335a
Various warning fixes
2021-02-06 19:19:55 +10:00
Connor McLaughlin
8582e2770d
CrashHandler: Save minidump on Windows
2021-02-06 13:23:50 +10:00
C.W. Betts
4591e75f5b
Fix the last formatting warning I was able to find.
2021-02-04 18:20:58 -07:00
C.W. Betts
662d6e9711
Fix possible log formatting errors.
2021-02-04 17:54:51 -07:00
C.W. Betts
01b3b5066d
Add printf-like macro.
...
This should help catch some formatting bugs.
2021-02-04 17:15:28 -07:00
Connor McLaughlin
7b4650700f
StringUtil: Add StrideMemCpy/StrideMemCmp
2021-02-05 02:16:15 +10:00
Connor McLaughlin
3e9fdf22bf
NoGUI: Move DRM display to GL context
...
We don't use it for Vulkan.
2021-02-04 19:39:19 +10:00
Connor McLaughlin
8f9bbb0bba
Vulkan: Support VK_KHR_display
2021-02-04 19:25:21 +10:00
Connor McLaughlin
cbdf722dd6
GL/ContextEGL: Fix compiling with both DRM/KMS and X11 enabled
2021-02-01 01:45:30 +10:00
Connor McLaughlin
dac9cdd04c
GL/Context: Ensure context is destroyed before GBM device
...
Fixes crash on shutdown when running under DRM/KMS.
2021-02-01 01:28:39 +10:00
Connor McLaughlin
51babf4009
AudioStream: Fix assertion failure in debug builds
2021-02-01 01:10:32 +10:00
Connor McLaughlin
b09da307b5
Common: Add DRM display helper class and GBM GL context
2021-01-31 17:10:27 +10:00
Connor McLaughlin
0cdd1a70c0
Common/Image: Add helper for loading from stream
2021-01-31 17:10:27 +10:00
Connor McLaughlin
61d0af30a2
FileSystem: Add read/write binary stream helpers
2021-01-31 17:10:27 +10:00
Connor McLaughlin
5875b738dc
Common/FileSystem: Add a helper to get root directory list
2021-01-31 17:10:27 +10:00
Connor McLaughlin
e614522de5
Common/String: Add helpers for std::string, std::string_view
2021-01-31 17:10:27 +10:00
Connor McLaughlin
122cf67bb3
Common: Add crash handler functions for Windows
2021-01-31 17:00:57 +10:00
Connor McLaughlin
35f8ea13d9
AudioStream: Prevent writing too many frames at once and hanging
2021-01-31 17:00:57 +10:00
Connor McLaughlin
4e583890ea
AudioStream: Add option to wait until a full buffer is queued
2021-01-28 21:04:23 +10:00
Connor McLaughlin
9316ce532b
Common/Timer: Add SleepUntil() method
2021-01-28 21:04:23 +10:00
Connor McLaughlin
368820d6e9
Vulkan: Default to two swap chain images
2021-01-27 01:21:03 +10:00
Connor McLaughlin
52f5ca7e28
Common/Timer: Add additional sleep functions
2021-01-26 03:38:31 +10:00
Connor McLaughlin
8cafe856f0
OpenGLHostDisplay: Work around functions unavailable in GLES2
2021-01-26 03:38:31 +10:00
Connor McLaughlin
6c6fdeb15e
HostDisplay: Make textures have levels/layers/samples attributes
2021-01-24 20:41:40 +10:00
Connor McLaughlin
4a60cc4c1e
VulkanHostDisplay: Ensure previous frame is presented before acquiring image
2021-01-24 17:37:09 +10:00
Connor McLaughlin
b1d4d5db5e
Vulkan/SwapChain: Recreate semaphores when resizing
...
Prevents us acquiring an image on an already-signaled semaphore.
2021-01-24 17:37:09 +10:00
Connor McLaughlin
f61427017d
GameList: Remove exe/psf extensions from titles in game list
2021-01-24 17:37:09 +10:00
Connor McLaughlin
6fbd970b55
Common/AudioStream: Fix race condition with resampling reset while reading
2021-01-16 02:56:04 +10:00
Connor McLaughlin
4c9e0299ed
Common/FIFOQueue: Fix incorrect assertion failure in debug builds
2021-01-16 02:56:04 +10:00
Connor McLaughlin
1ae4b94eb2
AudioStream: Don't hold lock while resampling
2021-01-13 19:25:15 +10:00
Connor McLaughlin
220f2f4845
Vulkan: Fix typo causing debug shaders to be used
2021-01-13 02:37:04 +10:00
Connor McLaughlin
fd166a4485
ShaderCache: Add a data version field
...
We can increment this to prevent people's shader caches from growing too
large with shader changes.
2021-01-11 15:24:38 +10:00
Connor McLaughlin
bc5fb850d4
AudioStream: Reset resampler state on emptying buffers
2021-01-11 03:58:14 +10:00
Connor McLaughlin
d23645e02f
CMake: Fix Linux build
2021-01-11 03:18:30 +10:00
Connor McLaughlin
54c7fc6b08
AudioStream: Support resampling input
2021-01-11 01:14:32 +10:00
Connor McLaughlin
9d7f4523b0
Log: Close C file handles on free (win32)
...
Fixes toggling console not hiding the window.
2021-01-09 01:52:48 +10:00
Connor McLaughlin
9951921a6d
Log: Enable virtual terminal processing on Win32
...
This way we don't need to set the registry value.
2021-01-09 00:39:32 +10:00
Connor McLaughlin
6a04803502
Merge pull request #1394 from piepacker/msw_console_behavior
...
Console: Fix problems when using CLI from MSYS2/GitBash/ConEmu
2021-01-09 00:22:37 +10:00
Connor McLaughlin
419726f4cc
Remove libretro core - core will now be maintained by libretro
...
libretro have agreed to take over maintenance of the core.
Please see their fork at https://github.com/libretro/duckstation if you
wish to continue to use it.
2021-01-08 01:37:59 +10:00
Jake Stine
f26b094cf7
Console: Use ANSI escape codes and remove entirely Win32's legacy WriteConsoleA code.
...
Also fixes android build failure (missing unistd.h)
2021-01-07 07:05:33 -08:00
Jake Stine
c9b8dc13fd
Console: Fix problems when using CLI from MSYS2/GitBash/ConEmu
...
- Fix issue where console output is lost when running from MSYS2/GitBash CLI
- Fix issue where pipe redirections would be overridden and otuput would always go to the attached console (this affected windows cmd prompt as well as other shell CLIs)
- Simplify some logic regarding registering of the standard output writer
2021-01-05 07:35:11 -08:00
Connor McLaughlin
e3de44d127
D3D11/Texture: Log attributes when creation fails
2021-01-05 17:19:05 +10:00
Connor McLaughlin
0d281538cf
CDImageCue: Disable implicit pregap insertion for audio CDs
...
Fixes supplementary disc detection in Dancing Stage
featuring DREAMS COME TRUE.
2021-01-02 01:33:13 +10:00
Connor McLaughlin
6d501bff56
GL/Program: Use glBindFragDataLocationIndexedEXT for GLES
2020-12-31 13:29:41 +10:00
Connor McLaughlin
5236583544
Vulkan/Texture: Support transitioning individual mip levels
2020-12-30 17:39:40 +10:00
Connor McLaughlin
2ce5dc3bbe
Vulkan: Don't hardcode mipmap samplers to lod0
2020-12-30 17:39:40 +10:00
Connor McLaughlin
59e8363075
D3D11: Support mipmaps in wrapper textures
2020-12-30 17:39:40 +10:00
Connor McLaughlin
702ed21207
HostDisplay: Add threaded presentation for Vulkan renderer
...
Can add a significant speedup for fast forward. Automatically disabled
when vsync is enabled.
2020-12-27 00:54:53 +10:00
Connor McLaughlin
d74d27163c
Common/MemoryArena: Add destroy/valid methods
2020-12-27 00:50:08 +10:00
Connor McLaughlin
a66f14b5c3
Vulkan/Texture: Add UpdateFromBuffer method
2020-12-26 00:47:03 +10:00
Connor McLaughlin
ebaad0f35a
Common/GL: Add replace method to texture
2020-12-26 00:47:03 +10:00
Connor McLaughlin
f6c0156eea
Common/Image: Add save helpers, fix errors
2020-12-26 00:47:03 +10:00
Michael Forney
4bca193ee1
FileSystem: Include <limits.h> for PATH_MAX
2020-12-26 00:47:02 +10:00
Michael Forney
7a40a843d4
Common/FileSystem: Fix misspelling of 'separator'
2020-12-26 00:47:02 +10:00
Michael Forney
d0398c8a83
Common/FileSystem: Fix canonicalization of paths beginning with ./
...
If we don't skip past the following separator when the destination
is empty, then `./file` gets canonicalized as `/file`.
Also, consider the case where we end up with an empty string (for
example, from `foo/..`). Canonicalize this as `.`.
2020-12-26 00:47:02 +10:00
Jean-Baptiste Boric
9bd28f39a5
StringUtil: Add base support and hexadecimal functions
2020-12-26 00:47:02 +10:00
Connor McLaughlin
627008f34c
CDImage: Add helper for checking for SBI
2020-12-18 03:03:22 +10:00
Connor McLaughlin
4232ef7bf3
CDImageCue: Try for a file based on the cue filename if bin missing
...
Should work around people who have renamed the files but not updated the
cuesheet.
2020-12-18 03:03:22 +10:00
Connor McLaughlin
98766a490f
Log: Change success to verbose and move down in ordering
2020-12-09 01:03:32 +10:00
Connor McLaughlin
b44a654943
System: Reset throttler when audio buffers underflow
...
Should hopefully reduce the chances of the audio source ending up out of
phase from the emulation when vsync is disabled.
2020-12-07 02:44:23 +10:00
Connor McLaughlin
e579cd2eb2
CDImageHasher: Only ignore index 0 for track 1
2020-12-07 00:44:48 +10:00
Connor McLaughlin
f5ccb6ea60
CPU: Fall back to mmap'ed buffer if reprotecting code space fails
2020-12-06 18:13:07 +10:00
Connor McLaughlin
fd6462263f
Common/Event: Fix TryWait not returning on timeout on Linux
...
Fixes a potential deadlock in the Qt frontend if initialization on the
emu thread takes too long.
2020-12-06 00:41:07 +10:00
Connor McLaughlin
f21d901cf1
Common/FileSystem: Fix macOS build
2020-11-28 00:58:46 +10:00
Connor McLaughlin
744629e9a8
Common/FileSystem: Fix modification time not being set in find
...
Fixes game list list always re-scanning on Linux/Android.
2020-11-28 00:14:45 +10:00
Connor McLaughlin
feadc83050
Common/GrowableMemoryByteStream: Add helper methods
2020-11-28 00:14:45 +10:00
Connor McLaughlin
4a482875ca
Common/FileSystem: Add helpers for ByteStream
2020-11-28 00:14:45 +10:00
Connor McLaughlin
dc21f2b5cf
GL/Context: Check return value of eglBindApi()
...
Fixes some Android devices thinking they got a desktop GL context.
2020-11-27 01:40:50 +10:00
Connor McLaughlin
bf2e38aed5
CPU/Recompiler: Implement LUT-based fastmem
2020-11-24 14:49:21 +10:00
Connor McLaughlin
44b3c9be6e
Common/PageFaultHandler: Fix for Windows/ARM64
2020-11-22 14:49:49 +10:00
Connor McLaughlin
497759b4d6
VulkanHostDisplay: Support 16-bit scanout
2020-11-21 21:12:38 +10:00
Connor McLaughlin
d3d881aa6b
GPU/Software: Reduce number of copies by one, enable 16-bit scanout
2020-11-21 18:39:04 +10:00
Connor McLaughlin
beffbaee39
Common/Rectangle: Use memcpy for operator=
2020-11-21 18:39:04 +10:00
Connor McLaughlin
dc53209565
Common/Event: Replace poll event with lock/condvar
2020-11-21 18:39:04 +10:00
Connor McLaughlin
a29669432f
Common/PageFaultHandler: Fix compiling on 32-bit Windows
2020-11-21 18:39:03 +10:00
Connor McLaughlin
dba42cf323
Common/CPUDetect: Use consistant naming for ARM targets
2020-11-21 18:39:03 +10:00
Connor McLaughlin
9c9e2bbe27
GL/ContextWGL: Check for ES2 context extension before creating
2020-11-21 18:39:03 +10:00
Connor McLaughlin
2467dbedd7
CDImage: Handle .iso files the same as .bin files
...
Very reluctant to add this but people keep complaining...
2020-11-11 01:02:40 +10:00
Connor McLaughlin
ac89379ca6
GL/ContextEGL: Use pbuffer when surfaceless not supported
2020-11-08 00:22:35 +10:00
Connor McLaughlin
4fe1c07b02
GL/Texture: Use texture storage where available
2020-10-31 15:11:53 +10:00
Connor McLaughlin
95dba59826
libretro: Add MSAA options
2020-10-31 14:39:38 +10:00
Connor McLaughlin
2eaebd8921
GPU: Implement support for multisample antialiasing
2020-10-31 14:27:58 +10:00
Connor McLaughlin
bde271566b
Common/PageFaultHandler: Hook SIGBUS as well as SIGSEGV on AArch64
...
Apparently this happens too?
2020-10-29 01:42:17 +10:00
Connor McLaughlin
e147327459
GL: Fix window resize not applying under Wayland
2020-10-26 01:09:09 +10:00
Connor McLaughlin
bf46461dd6
Common/Vulkan: Remove unused methods in staging texture
2020-10-21 23:13:34 +10:00