Commit graph

701 commits

Author SHA1 Message Date
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
Connor McLaughlin b948bb0750 CDImageDevice: Fix invalid TOC for multi-track discs 2021-07-29 14:00:47 +10:00
Connor McLaughlin 77eb8e4b72 Common/Log: Rewrite for better unicode handling 2021-07-29 13:45:38 +10:00
Connor McLaughlin 26a8f8d9e7 Common/Log: Restore old console behavior 2021-07-29 13:45:11 +10:00
Connor McLaughlin 4d262e8072 CDImage: Add CD-ROM device implementation 2021-07-26 01:30:53 +10:00
Connor McLaughlin 3b7c6c7bbd Common/Log: Fix Unix escape sequences on preexisting consoles 2021-07-23 18:07:03 +10:00
Connor McLaughlin 78dabd1067 Build: Add missing d3dcompiler/d3d11 dependency in common 2021-07-23 18:06:25 +10:00
Connor McLaughlin 3847c94a42 FileSystem: Don't treat dotfiles as hidden on Windows 2021-07-21 20:26:00 +10:00
Connor McLaughlin dfd6766411 MemoryArea: Use pid instead of thread id for mapping on Windows 2021-07-19 15:11:07 +10:00
Connor McLaughlin fc164ce021 D3D12/Texture: Fix non-(0,0) texture streaming 2021-07-13 14:17:04 +10:00
Connor McLaughlin 3be6270b2d ByteStream: Fix atomic updates on external storage with UWP 2021-07-11 19:05:30 +10:00
Connor McLaughlin e8c16056b6 Common/FileSystem: Handle S/R modes for UWP 2021-07-11 19:05:08 +10:00
Connor McLaughlin 0f911e9dbf Common/PageFaultHandler: Support for unwind exceptions
Needed for UWP.
2021-07-11 15:20:38 +10:00
Connor McLaughlin 6251894d3c Common/JitCodeBuffer: Add ability to reserve non-code space 2021-07-11 15:20:38 +10:00
Connor McLaughlin 03ab18909a Common: Add UWP support for helper classes 2021-07-11 15:20:38 +10:00
Connor McLaughlin 281f7c5789 Build: Add UWP configurations 2021-07-11 14:13:59 +10:00
Connor McLaughlin c7ce9562fa D3D12/Texture: Force 16MB uploads down temp texture path 2021-07-11 13:33:26 +10:00
Connor McLaughlin 9dab3f9b9b D3D12/StreamBuffer: Fix edge case of allocating buffer size 2021-07-11 13:32:17 +10:00
Connor McLaughlin 14e7f8fd13 GPU: Add D3D12 renderer 2021-07-10 21:45:10 +10:00
Connor McLaughlin 5da9edceb9 Build: Unify MSBuild options in props files 2021-07-10 21:45:10 +10:00
Connor McLaughlin a50d18242d Common/ByteStream: Add explicit include for alloca 2021-07-10 21:45:10 +10:00
Connor McLaughlin 6e9ebfa5b5 GPU/D3D11: Fix possible buffer overwrite when reading back 2021-07-04 21:40:44 +10:00
Connor McLaughlin 53cabbb134 FileSystem: Add RenamePath() 2021-07-03 16:50:51 +10:00
Connor McLaughlin dbe5f3c30c FIFOQueue: Fix contiguous space with full buffer 2021-07-03 14:29:25 +10:00
Connor McLaughlin 47b390e356 AudioStream: Prevent buffering more frames than size 2021-07-03 14:29:08 +10:00
Connor McLaughlin 409c2b36ff Qt: Add game list exclude path UI 2021-07-02 12:49:32 +10:00
Connor McLaughlin 911e9a37f1 WIN32 macro -> _WIN32 2021-06-30 14:38:07 +10:00
Connor McLaughlin 48422a9932
Merge pull request #2336 from Wunkolo/vk-debug-utils
GPU/Vulkan: Update VK_EXT_debug_report to VK_EXT_debug_utils
2021-06-30 14:20:37 +10:00
Wunkolo b7f583d10f GPU/Vulkan: Update VK_EXT_debug_report to VK_EXT_debug_utils
`VK_EXT_debug_report` has been officially depreciated by khronos in favor of the `VK_EXT_debug_utils` extension
2021-06-28 13:57:49 -07:00
Connor McLaughlin 06b009f361 Warning fixes 2021-06-27 13:51:22 +10:00
Connor McLaughlin defce709da GPU/HW: Don't allow adaptive downsampling at non-pow2 scales 2021-06-25 00:19:14 +10:00
Connor McLaughlin 859c78fdc0 DRMDisplay: Restore previous framebuffer on shutdown 2021-06-21 22:04:59 +10:00
Connor McLaughlin d53daf2f26 CDImageEcm: Better error handling for corrupted dumps 2021-06-11 20:47:46 +10:00
Connor McLaughlin da9c4c1175 CueParser: Fix crash on invalid mode string 2021-06-09 19:44:06 +10:00
Connor McLaughlin 20afc1c4a1 Android: Handle some possible surface loss cases 2021-06-07 18:40:32 +10:00
Connor McLaughlin e118b5486e CDImagePPF: Fix incorrect filename saved to state 2021-06-05 18:12:59 +10:00
Connor McLaughlin aac85299ea AudioStream: Make fields protected instead of private 2021-06-04 13:37:23 +10:00
Connor McLaughlin 350049826f Fix a bunch of compiler warnings 2021-06-04 13:14:30 +10:00
Connor McLaughlin 262c43ac00 Build: Don't compile WGL/stackwalker for libretro 2021-06-03 21:32:23 +10:00
Connor McLaughlin 3cb01bf23d CDImage: Fix compilation on Linux 2021-06-01 22:04:25 +10:00
Connor McLaughlin 77984035d2 CDImage: Add CDImagePPF to overlap a PPF on another image 2021-06-01 21:54:50 +10:00
Connor McLaughlin 5edc645d1f MemoryArena: Use module-unique shared memory name for libretro 2021-05-31 20:51:27 +10:00
Connor McLaughlin 56c08254c9 CDImage: Fix incorrect index returned for track-relative 00:02:00
Fixes some voice lines being very briefly cut off in Tomb Raider.
2021-05-27 03:48:02 +10:00
Connor McLaughlin e8e8b910a5 CDImage: Fix pregap not going to 00:00:00 2021-05-27 03:48:02 +10:00
Silent 803b68b279
Common/DimensionalArray: Re-revert the workaround
VS16.10 fixes the regression and bumps up _MSC_VER,
so make only VS2017 and VS16.9 use the workaround
2021-05-25 19:00:40 +02:00
Connor McLaughlin 16efffa403 CueParser: Ignore pregap when index 0 is specified
Also corrects the previous track length when index 0 is specified.
2021-05-23 20:42:50 +10:00
Connor McLaughlin 8f639070c9 CueParser: Ignore zero pregap when index 0 is set 2021-05-23 20:33:55 +10:00
Connor McLaughlin 5556d8221b CueParser: Fix reading cuesheets with timecodes >60mins 2021-05-23 20:06:10 +10:00
Connor McLaughlin 69cfcd22a2 CDImageCue: Replace libcue with in-house cue parser 2021-05-21 14:52:55 +10:00
Connor McLaughlin 301bbb4924 CDImagePBP: Handle compression level 0 files 2021-05-20 12:19:26 +10:00
Connor McLaughlin 68fd77c326 CDImagePBP: Fix reading from track 1 pregap 2021-05-20 12:19:26 +10:00
Connor McLaughlin 69fb8de644 CDImageM3u: Fix crash when error pointer is null 2021-05-20 12:19:26 +10:00
Connor McLaughlin 1392a64a93 Re-add libretro core 2021-05-20 12:18:54 +10:00
Connor McLaughlin 48bc152a63 Vulkan/SwapChain: Ensure returned height is at least 1x1 2021-04-30 02:53:03 +10:00
Connor McLaughlin 46d19eeb1f Android: Allow opening/getting files relative to downloads directory 2021-04-24 16:19:13 +10:00
Connor McLaughlin 9652e3cb6b CDImage: Generate correct relative subq position in pregap 2021-04-22 02:58:13 +10:00
Connor McLaughlin d6d8d21eff Common/FileSystem: Make file functions content URI-aware 2021-04-17 21:52:26 +10:00
Connor McLaughlin e1578be20f Common/FileSystem: Add BuildRelativePath() function 2021-04-17 21:52:26 +10:00
Connor McLaughlin 62718b3c50 Common/Timer: Add missing return when timer wait succeeds 2021-04-12 20:26:50 +10:00
Connor McLaughlin 3687f2d067 MemoryArena: Fix compile error on Mac 2021-04-12 20:09:53 +10:00
Connor McLaughlin e087e6f3a2 CPU/Recompiler: Prevent using fastmem when cache is isolated
No point even trying since it's just going to fault.
2021-04-12 02:08:56 +10:00
Connor McLaughlin 922d320523 CPU/Recompiler: Reserve whole fastmem region to avoid clashes 2021-04-11 12:42:51 +10:00
Connor McLaughlin 19ca102b40 VulkanHostDisplay: Handle surface loss gracefully
Also skips a full swap chain recreate on resize.
2021-04-08 03:07:10 +10:00
Connor McLaughlin 0342d0a26e Vulkan/SwapChain: Fix incorrectly-sized display surfaces being created 2021-04-08 03:07:10 +10:00
Connor McLaughlin 32ac60414c NoGUI: Use current resolution if unspecified 2021-04-08 03:07:10 +10:00
Connor McLaughlin e595b357b3 CDImagePBP: Use 64-bit file functions
Fixes loading >2GB PBPs.
2021-04-07 18:30:54 +10:00
Connor McLaughlin c71f78ffa0 FileSystem: Add 64-bit fseek/ftell wrappers 2021-04-07 18:30:38 +10:00
Connor McLaughlin 2ac6f60bbb Rename cpu_detect.h to platform.h and add OS 2021-04-04 13:01:43 +10:00
Connor McLaughlin acff275f6b WindowInfo: Fix macOS build 2021-04-03 03:03:42 +10:00
Connor McLaughlin 924756860e HostDisplay: Support refresh rate queries on all platforms except Mac 2021-04-03 02:53:28 +10:00
Connor McLaughlin 65f99f89ff CDImagePBP: Improve handling of broken images from PSX2PSP 2021-04-01 16:26:21 +10:00
C.W. Betts e4735bcf7a Fix string formatting warnings. 2021-03-29 13:59:22 -06:00
C.W. Betts fb7a8886f1 Add more printflike macros. 2021-03-29 13:56:19 -06:00
C.W. Betts 3af624b98e
Update error.h
Add printflike macros to the Error class.
2021-03-28 14:37:50 -06:00
Connor McLaughlin 47ba6e7449 GL/Context: Better handle resizing with GLX
Fixes fullscreen having no effect when running under XWayland.
2021-03-27 16:14:34 +10:00
Connor McLaughlin fa2525324e CDImage: Fix Linux build 2021-03-27 15:34:15 +10:00
Connor McLaughlin e83f312928 CDImagePBP: Add multi-disc support 2021-03-27 15:18:29 +10:00
Connor McLaughlin 50d712c3fe CDImage: Support sub-images, use subimages for m3u 2021-03-27 15:18:29 +10:00
Connor McLaughlin a6a3590722
Merge pull request #1840 from stenzek/map-jit
CPU/Recompiler: Use MAP_JIT for code space on Apple Silicon
2021-03-21 02:51:45 +10:00
Connor McLaughlin 5bbbb8d3d5 CPU/Recompiler: Use MAP_JIT for code space on Apple Silicon 2021-03-19 18:47:31 +10:00
Albert Liu 02e8e2b071 CDImagePBP: Split disc loading into separate method 2021-03-18 16:51:09 -07:00
Connor McLaughlin 11dcba1b68 CDImage: Use Error class for complex errors 2021-03-19 01:58:00 +10:00
Connor McLaughlin 955afc3182 Common: Add Error helper class 2021-03-19 01:52:50 +10:00
Albert Liu 12ff343206 CDImagePBP: Log error message when skipping encrypted files 2021-03-17 20:24:04 -07:00
Albert Liu 46ff2b553d CDImage: Add support for loading PBP images 2021-03-15 20:06:39 -07:00
Connor McLaughlin 05f6f8579f GPU/Vulkan: Fix SSAA being near ineffective 2021-03-14 02:01:48 +10:00
Connor McLaughlin 4d2747fe74
Merge pull request #1792 from CookiePLMonster/plurality-pass
Plurality for non-Qt messages
2021-03-14 01:58:14 +10:00
Silent 787ab5dbd0
String: Add a new constructor 2021-03-12 19:59:39 +01:00
Connor McLaughlin f044818a7c Vulkan/StreamBuffer: Fix allocations getting stuck 2021-03-13 03:06:55 +10:00
Connor McLaughlin ebfbae8dd1 Vulkan/StreamBuffer: Prevent skipping fance when wrapping around 2021-03-10 01:08:08 +10:00
Connor McLaughlin 36ff345e60 Revert "GL/Context: Disable GLES3.2 on PowerVR Rogue"
Broken driver is just broken. Not much I can do when I don't have one of
these phones and the shader compiler simply says "failure" without any
line information.
2021-03-09 17:25:58 +10:00
Connor McLaughlin 535fef88c5 GL/Context: Drop unnecessary macro check 2021-03-08 17:28:34 +10:00
Connor McLaughlin 627f147a90 Support compiling for FreeBSD 2021-03-07 19:35:02 +10:00
Connor McLaughlin db17baba1b GL/Context: Disable GLES3.2 on PowerVR Rogue
It's choking on our shaders, maybe it's the I/O blocks or texture
buffers?
2021-03-07 17:34:29 +10:00
Connor McLaughlin 753dd0480f CDImage: Add support for loading mds/mdf images 2021-03-07 16:26:15 +10:00
Connor McLaughlin ac4dd11fa0 CDImage: Add support for ECM images 2021-03-07 02:47:00 +10:00
Connor McLaughlin 757bef7b6d Common/D3D11: Stride should be byte width 2021-03-06 02:21:27 +10:00
Connor McLaughlin 21e53016d7 GPU/Vulkan: Fix possible misalignment in VRAM writes 2021-03-04 01:36:43 +10:00
Connor McLaughlin 86b636dffb Common/DimensionalArray: Work around regression from MSVC 16.9 2021-03-04 00:28:34 +10:00
Connor McLaughlin f6b8e2121b ISOReader: Fix recursing into subdirectories 2021-03-02 01:48:31 +10:00
Connor McLaughlin 10c3506f1a Cheevos: Linux support 2021-02-28 19:01:16 +10:00
Connor McLaughlin 1c1abee61a NoGUI: Linux compile fix 2021-02-28 04:11:34 +10:00
Connor McLaughlin 97cf3f770e GPU: Fix previous frame adaptive downsample leaking in 2021-02-28 04:03:48 +10:00
Connor McLaughlin c98b332b04 GL: Add missing context_egl_fbdev files 2021-02-26 19:13:02 +10:00
Connor McLaughlin eb4d6efecd Common: Add easing.h 2021-02-24 01:22:04 +10:00
Connor McLaughlin 13b0946efd CDImage: Fix file reading from >1 sequential sector 2021-02-22 12:22:28 +10:00
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
Connor McLaughlin abc035b15a CDImage: Fix assert failing on invalid cuesheets 2020-10-21 22:28:11 +10:00
Connor McLaughlin 6624660b0d Common/FileSystem: Fix a compile error on macOS 2020-10-18 14:54:38 +10:00
Connor McLaughlin 7566c45f64 CPU/Recompiler: Implement fastmem 2020-10-18 14:54:38 +10:00
Connor McLaughlin ceb67b5018 Common: Add memory arena and page fault handler classes 2020-10-18 14:54:38 +10:00
Connor McLaughlin 69b2c3fc2d StateWrapper: Track save state version 2020-10-18 14:54:38 +10:00
Connor McLaughlin 893268bba5 CDImage: Fix crash on invalid cue/chd with no tracks 2020-10-18 14:54:26 +10:00
Connor McLaughlin d6758aacce CDSubchannelReplacement: Fix a crash on invalid input 2020-10-15 01:25:18 +10:00
Connor McLaughlin 49cea927f0 Build: Add ARM64 platform for Windows 2020-10-14 00:48:48 +10:00
Connor McLaughlin 69d29d7395 GL/Context: Don't use WGL on Windows/ARM64 2020-10-14 00:48:48 +10:00
Connor McLaughlin df15229eec Common/CPUDetect: Add ARM64 for MSVC 2020-10-14 00:48:48 +10:00
C.W. Betts 5344b44970
Make context_agl.h compatible with ObjC ARC code.
Helpful when working with OpenEmu.
2020-10-12 16:38:47 -06:00
Connor McLaughlin 3ecae0f409 Common/Align: Make constexpr 2020-10-11 20:34:56 +10:00
Connor McLaughlin 348555cc8c Build: Link with objc runtime on macOS 2020-10-11 12:45:21 +10:00
Connor McLaughlin d39c9f5d1c Clean up some compiler warnings 2020-10-11 12:21:08 +10:00
Connor McLaughlin c89d94c2ff Move Cubeb AudioStream to FrontendCommon
This way it doesn't need to be built for libretro.
2020-10-11 12:21:08 +10:00
Connor McLaughlin fe25f005c2 GPU: Fix incorrect sign extension of positions
Fixes missing objects in Skullmonkeys (again).
2020-10-11 12:21:08 +10:00
Connor McLaughlin 9e2e1050bb GL/Program: Don't delete nonexistant shaders (when using binaries) 2020-10-10 18:26:29 +10:00
Connor McLaughlin 48d053cd7b CDImageCHD: Align tracks to 4 frames
Fixes games having "randomly" offset audio.
2020-10-04 00:12:01 +10:00
C.W. Betts 152ccd5917 Fix stat64 failure on Apple Silicon: just use the (not deprecated on OS X) stat (which is 64-bit since 10.6 via linking trickery, and always 64-bit on 64-bit OSes). 2020-10-02 03:23:43 -06:00
Albert Liu 5f3d475f4c CDImageMemory: Fix SBI loading 2020-09-26 15:42:13 -07:00
Albert Liu 659e6a2e60 CDImageBin: Remove use of duplicated ReplaceExtension function 2020-09-26 15:38:46 -07:00
Connor McLaughlin f1086b18f9 FileSystem: Remove heap allocations from FileExists/DirectoryExists 2020-09-24 00:31:44 +10:00
Connor McLaughlin a0a78087fe Vulkan: Support Wayland 2020-09-23 20:19:50 +10:00
Connor McLaughlin 2aace1b503 GL/Context: Don't choke on X11+Wayland 2020-09-23 19:46:39 +10:00
Connor McLaughlin cd0199a07a FileSystem: Fix size being unfilled on Linux
Fixes BIOS detection.
2020-09-23 12:15:25 +10:00
Connor McLaughlin e8e461c0a7 FileSystem: Fix GetProgramPath() sometimes returning stale paths
See https://social.msdn.microsoft.com/Forums/windowshardware/en-US/4b7b3884-d0bb-4812-bc18-2078c61d4b90/queryfullprocessimagename-gives-wrong-path-for-renamed-directory?forum=windowsgeneraldevelopmentissues
2020-09-21 01:20:20 +10:00
Connor McLaughlin 2219b9aa66 CDImageCue: Work around broken (old) dumps with missing pregap
Some people have broken (older) dumps where a two second pregap was implicit but not specified in the cuesheet.
The problem is we can't tell between a missing implicit two second pregap and a zero second pregap.
2020-09-21 01:20:17 +10:00
Silent 92d0dabf54
Make path separators in UI more consistent 2020-09-20 00:08:17 +02:00
Connor McLaughlin a7b85605e2 Ignore existing surface size on Android
Seems to be a race condition here where it's not up to date.
2020-09-20 01:36:49 +10:00
Connor McLaughlin 70768c02af Common: Add Shift-JIS helpers 2020-09-19 00:28:47 +10:00
Silent 1918a5ddd4
STBI: Handle UTF-8 paths correctly 2020-09-14 21:27:22 +02:00
Connor McLaughlin 68d08ddbcb Merge branch 'postprocessing' 2020-09-13 12:14:21 +10:00
Connor McLaughlin a0f6b4ce81 Build: Don't include AGL context wrapper for libretro 2020-09-13 11:56:56 +10:00
Connor McLaughlin 5804778339 D3D11/Texture: Fix dimensions not getting reset on destroy 2020-09-13 01:23:43 +10:00
Connor McLaughlin d09a802a17 Vulkan/Context: Use VK_LAYER_KHRONOS_validation 2020-09-13 01:23:43 +10:00
Connor McLaughlin 666d7fbb99 Vulkan/Context: Add pipeline destruction deferring 2020-09-13 01:23:43 +10:00
Connor McLaughlin f63192c6b2 Vulkan/SwapChain: Fix incorrect return from GetTextureFormat() 2020-09-13 01:23:43 +10:00
Connor McLaughlin aa383d0bda Common/String: Support constructing from string_view 2020-09-13 01:23:43 +10:00
Connor McLaughlin 84b0522abc Common/Rectangle: Make it work with float types 2020-09-13 01:23:43 +10:00
Silent 89e0290d06
Fix resource leaks in AutoStagingTexture::EnsureSize and D3D11HostDisplay::DownloadTexture 2020-09-04 23:44:19 +02:00