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
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