1480 Commits

Author SHA1 Message Date
Lioncash
76af96f15b system: Correct error dialog in PSF load case
Corrects the error message to state that the PSF couldn't be loaded
rather than EXE.
2020-06-23 05:13:47 -04:00
Connor McLaughlin
840a80670f CDROM: Reset XA resampler on file switch
Pure guess work, probably won't affect anything.
2020-06-22 15:58:22 +10: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
f846817848 Vulkan: Fix crash when opening settings window -> resizing 2020-06-22 15:58:00 +10:00
Connor McLaughlin
1455e793d5 Vulkan: Fix crash when drag-resizing window 2020-06-22 15:57:54 +10:00
Connor McLaughlin
82a0ad8a10 Qt/Settings: Make GPU adapter more sensible
Add a default entry, rather than leaving it blank.
2020-06-22 15:57:43 +10:00
Connor McLaughlin
eb1b6b6272 GPU/HW: Fix D3D11 upscaled line GS 2020-06-22 15:53:05 +10:00
Connor McLaughlin
73cdd676ad GPU/Vulkan: Fix incorrect srcfactor selection 2020-06-21 16:24:37 +10:00
Connor McLaughlin
ce75168238 GPU/Vulkan: Don't assume support for dual-source blend 2020-06-21 01:33:15 +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
97ef905f10 GPU/Vulkan: Fix race/crash when changing settings live 2020-06-21 01:33:00 +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
fed53b565f GPU/Vulkan: Fix inverted transparency
Fixes FF7 menu, map screen in Porsche Challenge.
2020-06-20 20:22:24 +10:00
Connor McLaughlin
a08c398d4b GPU/HW: Provide depth in vertex rather than computing
Fixes mask bit effects in Vulkan (e.g. Silent Hill).
Significantly reduces the number of mask bit refreshes in OpenGL/Vulkan.
2020-06-20 20:21:33 +10:00
Connor McLaughlin
7192b8d83a Vulkan/ShaderCache: Hopefully fix macOS build 2020-06-20 03:39:46 +10:00
Connor McLaughlin
4d827e23c5 Qt: Add GPU/adapter selection to settings 2020-06-20 03:34:19 +10:00
Connor McLaughlin
77291096db Settings: Add GPU adapter option and hook up to D3D11/Vulkan 2020-06-20 03:34:19 +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
7fce9b102e FrontendCommon: Add GPU enumeration methods to D3D11/Vulkan host displays 2020-06-20 03:34:19 +10:00
Connor McLaughlin
85edbce3ca Qt: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin
1e26ded73c SDL: Use FrontendCommon D3D11 host display wrapper 2020-06-20 03:34:19 +10:00
Connor McLaughlin
6eb2079088 FrontendCommon: Add D3D11 helper for host display 2020-06-20 03:33:34 +10:00
Connor McLaughlin
c023bcd234 Linux build fix 2020-06-19 01:36:46 +10:00
Connor McLaughlin
49a9f01327 Qt: Support Vulkan 2020-06-19 00:18:53 +10:00
Connor McLaughlin
d168947ae4 SDL: Support Vulkan 2020-06-19 00:18:51 +10:00
Connor McLaughlin
6aacf0019a FrontendCommon: Add a Vulkan host display interface 2020-06-19 00:18:19 +10:00
Connor McLaughlin
49d11988bf Core: Add Vulkan GPU renderer 2020-06-19 00:18:17 +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
63cc4ab197 CommonHostInterface: Release save state selector before display
This can have GPU objects, so needs to be released first.
2020-06-19 00:16:59 +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
47138aa9cf GPU: Consider interlaced rendering for GPU timings
Fixes menu screen flickering in Chrono Cross, summary screen breakage in
Mr. Driller G.
2020-06-18 17:37:13 +10:00
Albert Liu
d005025f8f Qt/AdvancedSettings: Fix swapped widget bindings 2020-06-17 12:34:41 -07:00
Connor McLaughlin
7aa71529d6
Merge pull request #551 from ggrtk/advanced-settings
Qt: Connect tweak/hack settings to Qt frontend
2020-06-18 03:12:13 +10:00
Connor McLaughlin
8daff5e677 Common: Add dimensional_array.h 2020-06-18 03:10:33 +10:00
Connor McLaughlin
0e3fdebb11 Qt: Don't set native window to GL surface
Might be related to the GLX crashes some people are experiencing...
2020-06-18 03:10:33 +10:00
Albert Liu
b7d9ce98e8 Qt: Connect tweak/hack settings to Qt frontend 2020-06-16 09:53:18 -07:00
Albert Liu
53a2b8c03d SDL: Update advanced settings description 2020-06-16 09:53:18 -07:00
Albert Liu
8a94fc944a CommonHostInterface: Fix minor log message typo 2020-06-16 09:53:18 -07:00
Connor McLaughlin
b141042952
Merge pull request #549 from ggrtk/qt-rebind-all
Qt: Simplify Rebind All behavior
2020-06-15 13:26:48 +10:00
Albert Liu
1b9dbc1a0b Qt: Add help text note about binding rumble 2020-06-14 16:29:25 -07:00
Albert Liu
fd4e41bc7d Qt: Simplify Rebind All behavior 2020-06-14 16:06:29 -07:00
Connor McLaughlin
41d66f5c73 Qt: Add icon to executable 2020-06-15 03:29:35 +10:00
Connor McLaughlin
91734e35b0 SDL: Add icon to executable 2020-06-15 03:29:21 +10:00
Connor McLaughlin
fc0560087f GPU: Skip primitives where clip area is invalid
Fixes palettes being overwritten/menus being broken in
Yoshimoto Mahjong Club Deluxe.
2020-06-14 01:01:01 +10:00
Connor McLaughlin
16c47f4553 Settings: Change default GPU FIFO size to 16
While this has the potential to be slower, there seems to be quite a few
games which break with the larger FIFO. In some cases, they wait for the
DMA interrupt, then busy wait for the GPU to go idle again. If the FIFO
is larger, this wait time till be longer, breaking things.
2020-06-13 01:40:05 +10:00
Connor McLaughlin
bda528d70a GPU: Alter timings to reflect new clock 2020-06-13 01:40:05 +10:00
Connor McLaughlin
dad63f2303 GPU: Run draw clock at sysclk * 2 2020-06-13 01:40:05 +10:00
Connor McLaughlin
0dfb9f7d90
Merge pull request #548 from ggrtk/qt-aboutdialog
Qt: Add about dialog
2020-06-12 18:50:06 +10:00
Albert Liu
4f07e30dc0 Qt: Fix broken font in about dialog on Windows 2020-06-11 10:14:27 -07:00
Albert Liu
aeead1b0a6 Fix MSVC build 2020-06-11 10:09:02 -07:00
Connor McLaughlin
8d2c7db224 Qt: Source input profiles from program and user directory
This way Linux users as well as Windows users who use the Documents
user directory can use the shipped input profiles.
2020-06-12 02:47:40 +10:00
Albert Liu
da9188a771 Qt: Fix broken links in about dialog 2020-06-11 09:36:14 -07:00
Albert Liu
4c29b6f30c Qt: Add about dialog 2020-06-11 09:26:04 -07:00
Connor McLaughlin
2504d187d3 Qt: Add separate menu items for rescan all/scan for new games 2020-06-12 01:49:17 +10:00
Connor McLaughlin
34d27bad4a Timers: Add missing event update after resetting count/target 2020-06-12 01:37:39 +10:00
Connor McLaughlin
bdf9c91271 GPU: Fix double shader compilation 2020-06-09 03:04:02 +10:00
Connor McLaughlin
86f0d32e70 CubebAudioStream: Fix crash in PulseAudio on Linux 2020-06-09 03:03:53 +10:00
Connor McLaughlin
d7f083559e Add initial libretro implementation 2020-06-09 02:44:42 +10:00
Connor McLaughlin
f5fd37c4c4 Qt: Fix compatibility column not showing by default 2020-06-09 02:41:24 +10:00
Connor McLaughlin
075380f8e0 Move most helper logic from base HostInterface to FrontendCommon 2020-06-09 02:35:37 +10:00
Connor McLaughlin
444a09efd4 AudioStream: Don't call FramesAvailable() while locked 2020-06-09 02:05:49 +10:00
Connor McLaughlin
7b4b2d5dc5 GameList: Ignore all whitespace characters in SYSTEM.CNF
Fixes some games not having serials displayed, e.g. Chrono Cross.

Thanks to @TzakShrike for narrowing down the cause.
2020-06-08 03:05:27 +10:00
Connor McLaughlin
a56d7385eb SDL: Support rendering software cursor in D3D11 2020-06-08 02:59:38 +10:00
Connor McLaughlin
f9eb3719e3 HostInterface: Add software cursor mode
This will probably need to be extended in the future.
2020-06-08 02:53:55 +10:00
Connor McLaughlin
f98bb033ff HostDisplay: Add an interface for setting software cursor 2020-06-08 02:53:37 +10:00
Connor McLaughlin
29d918dbb0 Qt/GameProperties: Implement hash calculation 2020-06-08 01:19:54 +10:00
Connor McLaughlin
8b04b74f27 Common: Add a CD image hasher class 2020-06-08 01:19:35 +10:00
Connor McLaughlin
b4e45e865a GPU: Use correct clocks for NTSC region
Fixes sync drift in Bust-a-Move 1/2.
2020-06-07 19:15:06 +10:00
Albert Liu
2490618d0a CMake: Always run gen_scmversion script on rebuilds
Fixes issue where scmversion.cpp would not be regenerated with updated
Git info on rebuilds, causing an outdated version to be displayed in
window titles.
2020-06-07 00:49:14 -07:00
Connor McLaughlin
b9bfe30b1e SDL: Fix compilation on older versions 2020-06-07 01:38:38 +10:00
Connor McLaughlin
bc9246b444 Qt: Add inline help to audio settings 2020-06-07 01:30:05 +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
6acd8b27dd Qt: Prevent lag disabling power on buttons when starting 2020-06-06 03:44:57 +10:00
Connor McLaughlin
009e474c51 AnalogController: Fix inverted motor binding 2020-06-05 22:32:51 +10:00
Connor McLaughlin
88502e130e Settings: Fix memory cards not syncing with disc change in title mode 2020-06-04 02:15:29 +10:00
Connor McLaughlin
c8e1881ea9 GPU/HW: Clear dirty rectangle when updating shadow texture
Fixes high GPU usage in Robbit mon Dieu in D3D11, should improve overall
performance slightly when VRAM copies are heavily used.
2020-06-02 21:45:38 +10:00
Connor McLaughlin
9ea163e666 GPU/D3D11: Fix mask test in same vertex batch
Fixes shadows in Bust a Groove 2, probably others.
2020-06-02 20:52:07 +10:00
Connor McLaughlin
3848276fa2 GPU: Improvements to height calculations when interlaced
Fixes screen doubling with interlacing force disabled, as well as
incorrect cropping area when non-interleaved framebuffers are used.
2020-06-02 20:52:07 +10:00
Connor McLaughlin
8eb3ac69b2 SPU: Update ADSR envelope when register changes
Fixes menu sounds in Final Fantasy 7 staying audible for too long.
2020-06-02 01:59:49 +10:00
Connor McLaughlin
dcfb929de5 CDROM: Fix double-reads hitting incorrect sector again
Fixes Bedlem / Rise 2 without breaking Vigilante 8 - 2nd Offense.
2020-06-02 00:59:13 +10:00
Connor McLaughlin
5e7fd5aa71 CDROM: Fix integer overflow in seek timing calculation 2020-06-01 22:20:26 +10:00
Connor McLaughlin
1947080d91 CDROM: GetlocL should return an error while seeking
Or more specifically, the coarse seek part. Verified with hardware
tests.
2020-06-01 21:40:28 +10:00
Connor McLaughlin
e5fc47a008 Bus: Further tweaks to access timing
Matches closely to my console now.

Fixes Otona No Asobi again.
2020-06-01 21:39:33 +10:00
Connor McLaughlin
7d66569d69 GPU/HW: Fix bobbing screen with interlacing disabled
Fixes bobbing screen in Tom and Jerry in House Trap.
2020-06-01 03:26:35 +10:00
Connor McLaughlin
f856a8ad65 CDROM: Ignore pending setloc after read/play
Fixes games which send a second Setloc after reading, e.g. Army Men -
Sarge's Heroes.
2020-05-31 17:03:15 +10:00
Connor McLaughlin
af1c4f9378 Fix MSVC build 2020-05-31 16:42:51 +10:00
Connor McLaughlin
a800f73a8f
Merge pull request #516 from ggrtk/negcon
Controller: Add NeGcon support
2020-05-31 16:41:48 +10:00
Connor McLaughlin
bf6faafc54 GameList: Fix cache getting corrupted from unknown games 2020-05-31 16:11:15 +10:00
Albert Liu
ee3a96011e Controller: Add NeGcon support 2020-05-30 23:11:02 -07:00
Connor McLaughlin
e293c22cde DMA: Run manual channels while halted
Fixes games which have looping linked lists but still expect CD/OTC
reads to work.

Also caps the number of ticks used when looping linked lists are
present, which doesn't steal so much time from the CPU per batch.

Fixes:
 - Victory Spike
 - Magical Drop III - Yokubari Tokudai-gou!
 - Yuukyuu no Eden - The Eternal Eden
 - Loading screen in World Cup Golf - Professional Edition
2020-05-31 02:43:51 +10:00
Connor McLaughlin
2d067bb101 CDROM: Fix warning log spam on command 2020-05-31 02:41:42 +10:00
Connor McLaughlin
de8aef4f44 Qt: Fix pause button repeatedly triggering sometimes 2020-05-31 02:41:31 +10:00
Connor McLaughlin
0672cf4873 CDROM: Implement a heuristic for command cancelling
See note in source. Fixes loading times and slowed down audio in Voice
Idol Collection - Pool Bar Story.
2020-05-30 22:04:15 +10:00
Connor McLaughlin
a4f79de7f6 CDROM: Return error for incorrect parameter count 2020-05-30 21:59:03 +10:00
Connor McLaughlin
69a00a64e6 Bus: Adjust memory access and MMIO timing
Hasn't broken anything yet, but needs more thorough testing.
2020-05-30 02:19:12 +10:00
Connor McLaughlin
07e8ab4446 CDROM: Increase seek delay by one sector
Fixes Resident Evil 2.
2020-05-30 02:19:01 +10:00