Commit graph

717 commits

Author SHA1 Message Date
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
Connor McLaughlin dd0ae0fc9d Vulkan/StagingTexture: Keep mapped throughout transfers
The underlying bug here was not invalidating the buffer after mapping (is
this supposed to be necessary?). But by keeping it mapped, we invalidate
it anyway.

Fixes screen corruption in Final Fantasy IX on Mali GPUs.
2020-09-01 12:02:39 +10:00
Connor McLaughlin ca723d699b Make ALWAYS_INLINE_RELEASE specify inline in debug too
Stops us needing the static qualifier as well.
2020-08-29 21:22:41 +10:00
Connor McLaughlin 17b5c749bf libretro: Re-enable hw context switch, add auto option 2020-08-23 14:51:23 +10:00
kwyxz 31695c4ff7
Haiku port of duckstation libretro core (#716)
* Haiku build 1st attempt

* fix load on Haiku

* Removed debugging flags

* Added a couple ifndef
2020-08-22 13:20:37 +10:00
Connor McLaughlin 2e9f656546 CPU: Implement PGXP CPU Mode
This is *very* slow. You don't want to enable it if you don't need it.
It is also incompatible with the recompiler and will disable it if the
option is enabled.
2020-08-20 00:49:39 +10:00
Connor McLaughlin a895c02789 Common/ByteStream: Use wide paths for committing updates
Fixes save states to UTF-8 paths.
2020-08-17 13:10:36 +10:00
Connor McLaughlin c5db7db182 Build: Compile source as UTF-8 with MSVC 2020-08-15 00:04:38 +10:00
Connor McLaughlin 512a8b2b39 FileSystem: Make more functions UTF-8 compatible on Windows 2020-08-06 22:07:43 +10:00
Connor McLaughlin 045e6dff61 Common: Add Win32ProgressCallback 2020-08-06 19:33:08 +10:00
Connor McLaughlin 7cafb8c515 Common: Add MinizipHelpers (RAM and UTF-8 compatible fopen) 2020-08-06 19:33:02 +10:00
Connor McLaughlin 6e586311e8 Common: Add title, modal information to ProgressCallback 2020-08-06 19:32:53 +10:00
RibShark 1ebbb1e42a
Only force 2 second pregap for track 1
Fixes #579
2020-08-05 15:19:28 +01:00
Connor McLaughlin a7dbb9ab28 CDImage: Work around cue parser requiring new line at end 2020-08-05 03:14:06 +10:00
Connor McLaughlin 69cbc0b5a2 GL/Texture: Add wrap texture mode option 2020-08-04 14:40:00 +10:00
Connor McLaughlin 96ba9198ef GPU/HW: Expand lines into triangles before rendering
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
jdgleaver 363804c48b (libretro/Vulkan) Fix glslang shader-related crashes 2020-08-01 15:29:59 +01:00
Connor McLaughlin 7067b8f6e3 CDImage/CHD: Handle UTF-8 strings when opening 2020-08-01 14:01:23 +10:00
Connor McLaughlin ede8de92f6 FileSystem: Use wide strings for FindFiles and StatFile on Windows 2020-08-01 14:00:58 +10:00
Connor McLaughlin 2eb9384275 Replace more instances of fopen() with FileSystem::OpenFile() 2020-08-01 14:00:22 +10:00
Connor McLaughlin b6f871d2b9
JIT optimizations and refactoring (#675)
* CPU/Recompiler: Use rel32 call where possible for no-args

* JitCodeBuffer: Support using preallocated buffer

* CPU/Recompiler/AArch64: Use bl instead of blr for short branches

* CPU/CodeCache: Allocate recompiler buffer in program space

This means we don't need 64-bit moves for every call out of the
recompiler.

* GTE: Don't store as u16 and load as u32

* CPU/Recompiler: Add methods to emit global load/stores

* GTE: Convert class to namespace

* CPU/Recompiler: Call GTE functions directly

* Settings: Turn into a global variable

* GPU: Replace local pointers with global

* InterruptController: Turn into a global pointer

* System: Replace local pointers with global

* Timers: Turn into a global instance

* DMA: Turn into a global instance

* SPU: Turn into a global instance

* CDROM: Turn into a global instance

* MDEC: Turn into a global instance

* Pad: Turn into a global instance

* SIO: Turn into a global instance

* CDROM: Move audio FIFO to the heap

* CPU/Recompiler: Drop ASMFunctions

No longer needed since we have code in the same 4GB window.

* CPUCodeCache: Turn class into namespace

* Bus: Local pointer -> global pointers

* CPU: Turn class into namespace

* Bus: Turn into namespace

* GTE: Store registers in CPU state struct

Allows relative addressing on ARM.

* CPU/Recompiler: Align code storage to page size

* CPU/Recompiler: Fix relative branches on A64

* HostInterface: Local references to global

* System: Turn into a namespace, move events out

* Add guard pages

* Android: Fix build
2020-07-31 17:09:18 +10:00
Connor McLaughlin 8b0c3f0dc8 FileSystem: Use wide strings for fopen on Windows 2020-07-31 16:04:06 +10:00
Connor McLaughlin 3edb8e113e StringUtil: Add wide string<->utf8 conversion for Windows 2020-07-31 16:04:00 +10:00
Connor McLaughlin c7b457de9e CubebAudioStream: Continue even without minimum latency
Fixes audio not functioning on Android.
2020-07-29 02:38:04 +10:00
Connor McLaughlin 08b26edceb CDImage: Fix incorrect track length
Shouldn't affect much, other than the game properties window.
2020-07-25 02:36:41 +10:00
Connor McLaughlin 10f23667c9 CDImage: Fix incorrect pregap file offset calculation
Should fix repeating audio at the start of some tracks.
2020-07-24 13:47:21 +10:00
Connor McLaughlin f3df4f91a2 libretro: Implement disk control interface 2020-07-23 02:36:23 +10:00
Connor McLaughlin 266d70c629 Common/FileSystem: Add IsAbsolutePath() and tests 2020-07-23 02:35:37 +10:00
Connor McLaughlin 3187d07d03 CDImage: Add memory CD image class 2020-07-22 00:03:07 +10:00
Connor McLaughlin cf366d3fba CDImage: Fix crash reading subq from lead-in 2020-07-22 00:02:51 +10:00
Connor McLaughlin 03c3b10054 CDSubChannelReplacement: Use subq union directly 2020-07-22 00:02:44 +10:00
Connor McLaughlin eb7da791ea CommonHostInterface: Fix command line help not printing on Windows 2020-07-21 20:09:54 +10:00
Connor McLaughlin 71cef1de3f GL/ContextGLX: Add additional logging 2020-07-15 15:50:30 +10:00
Connor McLaughlin 282f166e7a Vulkan/StagingBuffer: Don't try to invalidate unmapped buffer
Fixes crash on Mali.
2020-07-12 00:40:05 +10:00
Connor McLaughlin fb6538da35 Vulkan/Context: Allocate SSBO descriptors in global set
Fixes vram write buffer creation failing on Mali.
2020-07-12 00:38:27 +10:00
Connor McLaughlin 4ce5f7e802 GLContext: Wayland support 2020-07-11 03:28:25 +10:00
Connor McLaughlin a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00
Connor McLaughlin 9685be9064 D3D11/ShaderCache: Remove feature level 12 enum usage
It's not used anyway.
2020-07-09 13:00:44 +10:00
Connor McLaughlin 46dfccef81 Common/DimensionalArray: Don't break clang 2020-07-08 15:40:08 +10:00
Connor McLaughlin a68bbb3e85 Common/DimensionalArray: Work around VC2017 issue 2020-07-08 15:04:47 +10:00
Connor McLaughlin 6ae5caa23b Common/StringUtil: Add missing include 2020-07-08 12:45:49 +10:00
Connor McLaughlin 01287cb7da build: Support building libretro core for Android 2020-07-07 20:27:14 +10:00
Connor McLaughlin 729e1b3392 GLContext: Fix Android context creation 2020-07-07 00:59:49 +10:00
Connor McLaughlin da180a1c4f Vulkan: Fix crash when device creation fails 2020-07-07 00:59:42 +10:00
Connor McLaughlin 1d4b5e22cb Vulkan: Fall back to geometryShader when fillModeNonSolid unsupported 2020-07-07 00:59:35 +10:00
Connor McLaughlin 9b3e344ad8 Renderers: Support empty shader cache 2020-07-04 22:14:07 +10:00
Connor McLaughlin f396a2c373 Renderers: Make shader cache path a prefix instead of directory 2020-07-04 22:14:07 +10:00
Connor McLaughlin b9ffca1ddf libretro: Vulkan renderer support 2020-07-04 22:14:07 +10:00
Connor McLaughlin bf08385051 WindowInfo: Add surface_scale field 2020-07-01 01:57:25 +10:00
Connor McLaughlin 7d88bba764 Common: Add an image helper class 2020-07-01 00:56:46 +10:00
Connor McLaughlin f3b2953e40 Common/StringUtil: Add FromChars overload for bool 2020-07-01 00:56:46 +10:00
Connor McLaughlin 2a38090e7a HostDisplay: Move most backend logic to FrontendCommon 2020-06-30 03:03:56 +10:00
Connor McLaughlin dc7cc3b67f Common/ByteStream: Fix buffer corruption in MemoryByteStream 2020-06-30 02:44:01 +10:00
Connor McLaughlin ea1066f76e GL/StreamBuffer: Use glBufferData() on all drivers 2020-06-29 14:44:16 +10:00
Connor McLaughlin 745b53e4cb GL/Context: Fix crash in some GLX drivers 2020-06-27 17:35:08 +10:00
Connor McLaughlin 2cfb811569
Merge pull request #565 from lioncash/stamp
timestamp: Correct duplicate conditionals
2020-06-24 01:32:52 +10:00
Connor McLaughlin 84d4423719
Merge pull request #564 from lioncash/leak
file_system: Prevent resource leaks in DeleteDirectory()
2020-06-24 01:31:52 +10:00
Lioncash 4c82705e34 timestamp: Correct duplicate conditionals
Previously, the milliseconds field wasn't being used in comparisons on
Windows.
2020-06-23 06:24:06 -04:00
Lioncash 987b11a1d2 timestamp: Implement operator!= in terms of operator==
Same behavior, less code.
2020-06-23 06:20:29 -04:00
Lioncash 83a01c27a2 file_system: Prevent resource leaks in DeleteDirectory()
We need to remember to close the search handle in the error cases.
2020-06-23 06:13:54 -04:00
Lioncash 292a0a6800 file_system: Correct duplicate conditionals in CreateDirectory() 2020-06-23 06:09:38 -04:00
Connor McLaughlin 3ca9d578b3
Merge pull request #559 from lioncash/field
bitfield: Make interface fully constexpr
2020-06-23 19:58:06 +10:00
Connor McLaughlin e228588823
Merge pull request #561 from lioncash/rectangle
rectangle: Correct assignment of right within SetExtents
2020-06-23 19:56:16 +10:00
Lioncash e064196f25 rectangle: Correct assignment of right within SetExtents
Previously left was being assigned twice in a row.
2020-06-23 05:50:43 -04:00
Lioncash 0abe4c60b4 cd_image: Make use of std::array where applicable
Simplifies array copies.
2020-06-23 05:35:26 -04:00
Lioncash a27aa45e6a bitfield: Make interface fully constexpr
Given C++17 is being used, the entire interface is capable of being
constexpr.
2020-06-23 05:27:40 -04:00
Connor McLaughlin 9265dd72ba Vulkan/ShaderCache: Skip writing pipeline cache when size matches
Comparing all the data wasn't working, at least for Intel. I'm guessing
there's some modification time field in there which keeps changing.
2020-06-22 15:58:10 +10:00
Connor McLaughlin eaca5eca07 GPU/Vulkan: Use Metal layer instead NSView on macOS. 2020-06-22 15:58:07 +10:00
Connor McLaughlin 1455e793d5 Vulkan: Fix crash when drag-resizing window 2020-06-22 15:57:54 +10:00
Connor McLaughlin bf60f9dd61 GPU/Vulkan: Use geometry shader for line rendering at >1xIR 2020-06-21 01:33:08 +10:00
Connor McLaughlin f54876deb0 Vulkan/Context: Use VK_MVK_macos_surface not VK_EXT_metal_surface
Will change this over some time in the future when I can work on a Mac
again and set up the layer.
2020-06-20 20:37:38 +10:00
Connor McLaughlin 7192b8d83a Vulkan/ShaderCache: Hopefully fix macOS build 2020-06-20 03:39:46 +10:00
Connor McLaughlin 1b5f8db2fc Vulkan/Context: Support specifying GPU to use 2020-06-20 03:34:19 +10:00
Connor McLaughlin 4a04800132 Vulkan: Handle potential duplicate GPU/adapter names 2020-06-20 03:34:19 +10:00
Connor McLaughlin c023bcd234 Linux build fix 2020-06-19 01:36:46 +10:00
Connor McLaughlin 3cd5b7ae74 Core: Add Vulkan renderer types 2020-06-19 00:18:14 +10:00
Connor McLaughlin 1399e95b77 Common: Add a range of Vulkan helper/wrapper classes 2020-06-19 00:18:07 +10:00
Connor McLaughlin bd164d2735 Common/FileSystem: Add {Read,Write}BinaryFile helpers 2020-06-19 00:16:59 +10:00
Connor McLaughlin 0890164987 Common: Add scope_guard.h from Dolphin 2020-06-19 00:16:59 +10:00
Connor McLaughlin 8daff5e677 Common: Add dimensional_array.h 2020-06-18 03:10:33 +10:00
Connor McLaughlin 86f0d32e70 CubebAudioStream: Fix crash in PulseAudio on Linux 2020-06-09 03:03:53 +10:00
Connor McLaughlin 444a09efd4 AudioStream: Don't call FramesAvailable() while locked 2020-06-09 02:05:49 +10:00
Connor McLaughlin 8b04b74f27 Common: Add a CD image hasher class 2020-06-08 01:19:35 +10:00
Connor McLaughlin 531c3ad5fa AudioStream: Replace buffer queue with ring buffer
Should achieve a decent overall minimum latency reduction.
2020-06-07 01:22:03 +10:00
Connor McLaughlin 0571b75fa5 GL/Context: Print GL_SHADING_LANGUAGE_VERSION on creation 2020-05-25 18:36:52 +10:00
Connor McLaughlin 4f4c4f4146 Common: Add GL context wrapper implementation 2020-05-25 15:02:44 +10:00
Connor McLaughlin 6ebd9236c5 CDImage: Add track info accessors 2020-05-16 20:32:36 +10:00
Connor McLaughlin b6fbdf9aeb AudioStream: Support changing output volume 2020-05-10 00:44:23 +10:00
Connor McLaughlin 712168cf45 CDImage: Better handle sequential reading into lead-out area 2020-05-08 17:35:55 +10:00
Connor McLaughlin c3c8df14ea CDImage: Set SubQ control for lead-out to last index SubQ 2020-05-08 15:41:16 +10:00
Connor McLaughlin 5b389ae13d CDROM: Synthesize lead-out area and stop reading when reached 2020-05-08 10:51:49 +10:00
Connor McLaughlin df66d86b27 CDImage: Log errno when fopen() fails 2020-05-06 23:42:08 +10:00
Connor McLaughlin 9446587e8f GPU/HW: Mask bit handling in hardware renderers
Fixes:
 - Menu effect in Ghost in the Shell
 - Incorrect text colours in menu of Dragon Quest VII
 - Fade effect in TwinBee RPG
 - Fog in Silent Hill
 - Water in Duke Nukem - Land of the Babes
 - Shadows in Ultraman - Fighting Evolution

and probably others.
2020-05-03 17:11:31 +10:00
Connor McLaughlin edb12234d9 Common/GL/Texture: Fix potential crash on older drivers 2020-05-02 16:52:04 +10:00
Connor McLaughlin c2ab611097 Common/Log: Properly release console when disabling 2020-05-01 00:58:24 +10:00
Connor McLaughlin 4702110474 Common/Log: Add file output 2020-05-01 00:58:02 +10:00
Connor McLaughlin 39498849bd Common/String: Support casting to std::string_View 2020-04-27 16:14:38 +10:00
Connor McLaughlin 341b163ca1 Common/BitField: Fix off-by-one error for signed types
Fixes Darkstalkers 3 character select screen.
2020-04-27 00:13:24 +10:00
Connor McLaughlin 5671fde1ae BitUtils: Make Count{Leading,Trailing}Zeros UB for value==0 2020-04-26 18:32:26 +10:00
Connor McLaughlin 02db665d4a Common: Add bitutils.h 2020-04-26 17:21:33 +10:00
Connor McLaughlin 4a4c3d5e3b GL/Texture: Add internal format as parameter 2020-04-24 03:21:44 +10:00
Connor McLaughlin 5923129eca Common/FIFOQueue: Make bounds checks debug only 2020-04-18 15:30:32 +10:00
Connor McLaughlin b45b70970b GL/ShaderCache: Support geometry shaders 2020-04-16 21:25:56 +10:00
Connor McLaughlin 86df077ffe GPU/HW: Slight refactor to vertex culling 2020-04-16 00:22:19 +10:00
Connor McLaughlin 6a03bb2d15 HostInterface: Drop std::filesystem requirement 2020-04-12 21:06:33 +10:00
Connor McLaughlin 64a96ad718 Common/WAVWriter: Add accessors 2020-04-11 00:24:30 +10:00
Connor McLaughlin bc66b2691d CDImage: Linux build fix 2020-04-08 21:26:51 +10:00
Connor McLaughlin 9851b75368 CDImage: Fix crash on invalid cuesheet 2020-04-08 11:58:05 +10:00
Connor McLaughlin 411fbe8416 Common/Event: Add unit tests 2020-04-05 23:25:45 +10:00
Connor McLaughlin abb87f497f Common: Port Event class from YBaseLib over 2020-04-05 22:57:35 +10:00
Connor McLaughlin 4ea3c994f6 GL/ShaderCache: Linux build fix 2020-04-04 00:52:04 +10:00
Connor McLaughlin f566ca7a50 GL/ShaderCache: Recreate cache when creating program from binary fails
This is probably due to a driver or GPU change, so all programs will be
"bad" and if we don't start from scratch, we'll never cache any new
program versions.
2020-04-04 00:24:34 +10:00
Connor McLaughlin ca2f691dbe Common: Add GL Shader Cache class 2020-04-04 00:11:09 +10:00
Connor McLaughlin ef4808bbde GL/Program: Add program binary interface 2020-04-04 00:11:04 +10:00
Connor McLaughlin 256cb8a82c GL/Program: Make moveable 2020-04-04 00:11:00 +10:00
Connor McLaughlin 3daa6b469a Build: Explicitly disable spectre mitigations
Mitigations-off gave a roughly 20-25% boost in performance on my laptop
(i7-7700HQ), even with the recompiler.

It seems AppVeyor was building with them enabled. You shouldn't treat an
emulator like a sandbox and run untrusted code in it amyway.
2020-04-01 22:30:19 +10:00
Connor McLaughlin 3a31282fe6 CDROM: GetTN should return first_track, last_track
Fixes CDDA playback in Street Sk8er, Jellyfish - The Healing Friend,
probably others.
2020-03-30 00:13:42 +10:00
Connor McLaughlin 7ecac6dbcf CDImage: Use track's control instead of last track's control for pregap 2020-03-30 00:13:26 +10:00
Connor McLaughlin a988384423 Common/HeapArray: Fix move construction/assignment 2020-03-29 01:13:14 +10:00
Connor McLaughlin 9fd95c3e21 Common/Rectangle: Fix off-by-one error in Intersects() 2020-03-22 13:20:08 +10:00
Connor McLaughlin b4153266a0 GL/Texture: Add a GetTextureSubImage fallback/helper 2020-03-16 00:03:25 +10:00
Connor McLaughlin 212fddd195 D3D11/StagingTexture: Add auto-resizing staging texture 2020-03-16 00:03:16 +10:00
Connor McLaughlin 97c435a154 CMake: Linux build fix 2020-03-16 00:02:55 +10:00
Connor McLaughlin c7a74cabaa Common: Add WAVWriter class 2020-03-15 22:03:22 +10:00
Connor McLaughlin 8028b7b4a3 Common: Add ProgressCallback class 2020-03-12 13:54:27 +10:00
Connor McLaughlin b81071a65c CDImage: Assume 2 second pregap between tracks if none specified 2020-03-09 00:01:23 +10:00
Connor McLaughlin 2249b873ff D3D11/StreamBuffer: Check feature support for MAP_NO_OVERWRITE before using 2020-03-08 12:51:14 +10:00
Connor McLaughlin 99d42c07c2 D3D11/StreamBuffer: Use WRITE_DISCARD at position 0 2020-03-08 12:38:01 +10:00
Connor McLaughlin ef2796b780 CommonHostInterface: Fix controller inputs not binding
Fixes #46.
2020-03-06 21:55:27 +10:00
Connor McLaughlin 19c1e8b838 StringUtil: Fix for older gcc versions again 2020-02-28 17:19:51 +10:00
Connor McLaughlin 5df7fbd68c Common/Rectangle: Fix typo in assignment operator 2020-02-28 17:00:19 +10:00
Connor McLaughlin 122726fe65 Common/StringUtil: Support compiling on gcc7 2020-02-28 17:00:16 +10:00
Connor McLaughlin da0059fb21 Common/StringUtil: Add a FromChars std::optional wrapper 2020-02-28 17:00:05 +10:00
Connor McLaughlin 86094b8080 Common/String: Don't copy StaticStrings when not writing 2020-02-28 17:00:02 +10:00
Connor McLaughlin 7ece901d57 CDImage/CHD: Fix crash when opening invalid/nonexistant file 2020-02-22 00:18:58 +09:00
Connor McLaughlin 46846a10f6 Common: Simplify D3D shader object creation with helpers 2020-02-19 22:04:21 +09:00
Connor McLaughlin fd2ca2927e Common/FileSystem: Fix recursive directory creation 2020-02-15 23:19:27 +09:00
Connor McLaughlin f0910dc948 Common/FileSystem: Include fix 2020-02-15 11:00:54 +09:00
Connor McLaughlin f805764fea Common/FileSystem: More OSX fixes.. 2020-02-15 10:50:33 +09:00
Connor McLaughlin 2ac8f7a6ac Common/FileSystem: uint32 -> u32 2020-02-15 10:34:48 +09:00
Connor McLaughlin 4681f9d744 Common/FileSystem: Don't include malloc.h on macOS 2020-02-15 10:12:55 +09:00
Connor McLaughlin 33f3ab4d86 Common/FIFOQueue: Use posix_memalign instead of memalign 2020-02-15 00:08:56 +09:00
Connor McLaughlin 23c8a5588d Add macOS to some Linux/Android-only-isms 2020-02-14 22:58:18 +09:00
Connor McLaughlin d1c8775996 Common/Rectangle: Compile fix when using operator= 2020-02-07 00:10:46 +09:00
Connor McLaughlin 4eadc07629 Common/StringUtil: Fix more incorrect usage of va_list 2020-02-03 13:53:17 +10:00
Connor McLaughlin b11a7a106f Common/Log: Fix corrupted output/UB with va_copy
Fixes crashes on GCC9+ (#9), maybe others.
2020-02-01 11:04:46 +10:00
Connor McLaughlin e11c7190b5 Linux build fix 2020-01-30 20:20:21 +10:00
Connor McLaughlin c1c82eb3f3 Common/CDImage: Support CHD format 2020-01-30 20:06:15 +10:00
Connor McLaughlin 18d5086e4c Common/CDImage: Changes to support CHD interfaces 2020-01-30 20:06:15 +10:00
Connor McLaughlin 288b680e07 FileSystem: Add ReplaceExtension() helper 2020-01-30 16:22:05 +10:00
Connor McLaughlin 1b9609ef61 Implement event-based scheduler instead of lock-step components 2020-01-24 16:23:39 +10:00
Connor McLaughlin 82da9a4505 D3D11: Add a shader bytecode cache class 2020-01-24 14:52:00 +10:00
Connor McLaughlin 7afb79aee6 Common: Add FileSystem::{Get,Set}WorkingDirectory functions 2020-01-24 14:50:58 +10:00
Connor McLaughlin de4e45a433 Common: Add a function to get the path to the running program 2020-01-24 14:50:57 +10:00
Connor McLaughlin d2db6bf9c3 Common/Rectangle: Add clamp methods 2020-01-22 23:57:12 +10:00
Connor McLaughlin 159786c3f1 Common/Assert: Fix incorrect windows platform detection 2020-01-17 21:36:31 +10:00
Connor McLaughlin 0861a1e579 Common: Remove unused type declarations 2020-01-13 12:01:39 +10:00
Connor McLaughlin 4de82bda6d Linux build for cubeb 2020-01-12 15:17:15 +10:00
Connor McLaughlin 1911ab2e1c CubebAudioStream: Initialize COM on Windows if it isn't already initialized 2020-01-11 14:20:51 +10:00
Connor McLaughlin 9586970a9f AudioStream: Add cubeb implementation 2020-01-11 13:51:41 +10:00
Connor McLaughlin 71c1e243fe Remove YBaseLib dependency 2020-01-10 13:40:53 +10:00
Connor McLaughlin c52040434a Core: Linux warning fixes 2020-01-09 08:46:52 +10:00
Connor McLaughlin 1b7be01507 Qt: Implement audio output 2020-01-07 14:18:51 +10:00
Connor McLaughlin f3e9c3ec8c Add initial work on Qt frontend 2019-12-31 16:18:30 +10:00
Connor McLaughlin 6176fc4486 NullAudioStream: Provide factory function 2019-12-30 00:45:50 +10:00
Connor McLaughlin 9f45c67b1d JitCodeBuffer: Fix compilation on AArch64 2019-12-27 20:38:07 +10:00
Connor McLaughlin ed7aabe5f2 Common: Add a NullAudioStream implementation 2019-12-23 17:02:11 +10:00
Connor McLaughlin ad93d83421 JitCodeBuffer: Don't leak code space on Windows 2019-12-21 22:09:08 +10:00
Connor McLaughlin decf416aee JitCodeBuffer: Expose FlushInstructionCache() to callers 2019-12-20 21:55:25 +10:00
Connor McLaughlin 1de096224c JitCodeBuffer: Fix far code pointer not being initialized without reset 2019-12-20 21:55:21 +10:00
Connor McLaughlin 6f78fea159 GL: Improve error handling with texture creation 2019-12-11 00:02:12 +10:00
Connor McLaughlin b53e32e84f GL/Program: Add IsBound() method 2019-12-07 01:36:14 +10:00
Connor McLaughlin bc44d4b1b0 CDImage: Support SBI replacement subchannel Q for cue/bin images 2019-12-06 21:14:58 +10:00
Connor McLaughlin d41a76ac5e CDImage: Fix incorrect file offset being used for pregap 2019-12-06 00:33:21 +10:00
Connor McLaughlin 2c645d9e93 JitCodeBuffer: Use __builtin___clear_cache instead of __clear_cache
The former exists on Android.
2019-12-04 20:33:02 +10:00
Connor McLaughlin f49216f5f8 CPU/Recompiler: Implement most instructions for AArch64 2019-12-04 01:50:59 +10:00
Connor McLaughlin 98e67616ec JitCodeBuffer: Flush cache after committing code on ARM CPUs
ARM's instruction and data caches are not coherent, so we need to flush
before executing to ensure there's no stale data left over.
2019-12-03 20:21:32 +10:00
Connor McLaughlin 3b11d936df Common: Add a basic ISO reader class 2019-11-29 23:36:25 +10:00
Connor McLaughlin f11d357ab9 Compile fixes for Android 2019-11-28 01:55:33 +10:00
Connor McLaughlin 457743e109 Common/CDImage: Fix double increment of sectors_read 2019-11-28 01:55:09 +10:00
Connor McLaughlin 897e75fa8e CPU/Recompiler: Fix code generation crash on Linux 2019-11-23 21:38:38 +10:00
Connor McLaughlin 11966e4caf CPU/Recompiler: Write exception exits to far code buffer
Keeps the hot path nice and clean.
2019-11-22 18:01:28 +10:00
Connor McLaughlin 878a76e258 Common: Fix issues in utility classes for readbacks 2019-11-14 16:57:58 +10:00
Connor McLaughlin 525bbf48d7 CDImage: Set data bit in Q subchannel for bin images 2019-11-13 16:28:43 +10:00
Connor McLaughlin 8e06f86db8 CDROM: Implement auto-pause at end of track 2019-11-12 20:40:37 +10:00