Connor McLaughlin
4dc9e10777
HostInterface: Support per-controller-type settings
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
38aa485f8f
libretro: Analog controller/DualShock support
2020-06-30 03:03:56 +10:00
Connor McLaughlin
51b4776b8f
libretro: Work around video driver switching crash in RetroArch
2020-06-30 03:03:56 +10:00
Connor McLaughlin
861b98ed3b
libretro: Additional work
...
- Reliable resolution switching.
- Hook up logging.
- Memory cards and controller type settings.
- Save state support.
- Direct3D support.
2020-06-30 03:03:56 +10:00
Connor McLaughlin
2a38090e7a
HostDisplay: Move most backend logic to FrontendCommon
2020-06-30 03:03:56 +10:00
Connor McLaughlin
936d92dfb8
System: Add option to force start in software mode
2020-06-30 02:44:19 +10:00
Connor McLaughlin
919494079b
System: Make saving screenshots to state optional
2020-06-30 02:44:09 +10:00
Connor McLaughlin
dc7cc3b67f
Common/ByteStream: Fix buffer corruption in MemoryByteStream
2020-06-30 02:44:01 +10:00
Connor McLaughlin
e5f56fcd33
MDEC: Slightly reduce block timing
...
Fixes FMVs in Disney's Treasure Planet.
Probably needs sub-block timing emulated at some point.
2020-06-29 14:45:14 +10:00
Connor McLaughlin
614ea632a5
SPU: Log warning when data is lost due to reg clear
2020-06-29 14:45:03 +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
15afe4f436
GPU/Vulkan: Fix incorrect vkCmdPushConstants() call
2020-06-27 16:26:20 +10:00
Albert Liu
1a45ee3018
CommonHostInterface: Use largeImage fields in Discord presence payload
...
Fixes application icon not showing up in Discord Rich Presence.
2020-06-26 22:28:48 -07:00
Connor McLaughlin
0b261e836b
GPU/Vulkan: Fix shader VRAM copies
...
Fixes battle transitions in Final Fantasy IX.
2020-06-27 03:00:03 +10:00
Connor McLaughlin
58b0e6859a
Frontend: Reset/restore GPU state before saving screenshot
...
Fixes driver crashes in Vulkan.
2020-06-27 02:59:58 +10:00
Connor McLaughlin
b94de1924d
GPU/ShaderGen: Round normalized colours before converting to integer
...
Fixes broken rendering/precision issues on Intel Ivy Bridge GPUs.
Many thanks to linkmauve from Dolphin for the idea - seems Dolphin also
had a similar problem a few years ago.
2020-06-26 21:40:53 +10:00
Connor McLaughlin
16ca214d09
GPU/OpenGL: Fix VRAM writes breaking on <GL4.3
2020-06-26 21:39:37 +10:00
Connor McLaughlin
34d7b752d8
GPU/ShaderGen: Enable GL_ARB_shader_storage_buffer_object on <GL4.3
2020-06-26 21:39:12 +10:00
Connor McLaughlin
998ec85b16
CDROM: Log slow sector reads in Release builds too
2020-06-26 17:17:25 +10:00
Connor McLaughlin
737337a526
CDROM: Fix incorrect sector read after incomplete seek->read
...
Fixes crash in Disney's The Lion King - Simba's Mighty Adventure.
2020-06-26 17:15:41 +10:00
Connor McLaughlin
b8a2487abf
GPU/HW: Fix incorrect offset application in line upscaler
...
Fixes green line in pause screen of Spyro.
2020-06-26 03:26:06 +10:00
Albert Liu
788a9a6768
Qt: Reset palette and style when selecting default theme
...
Fixes palette and style getting stuck when switching to default theme
after having used dark fusion theme earlier in the same session.
2020-06-24 16:08:36 -07:00
Connor McLaughlin
ad727c7991
CPU/Recompiler: Check interrupts after mtc0 sr/cause
...
Fixes Jackie Chan Stuntmaster in Recompiler mode.
2020-06-25 01:33:00 +10:00
Connor McLaughlin
b00f50c927
CPU/Recompiler: Emit test/jz instead of bt/jnc for bits < 8
...
Likely very slightly faster.
2020-06-25 01:33:00 +10:00
Connor McLaughlin
55a2c73097
Qt: Add Dark Fusion theme
2020-06-25 01:33:00 +10:00
Connor McLaughlin
a6d976240a
Qt: Add theme selection and dark theme
2020-06-25 01:33:00 +10:00
Albert Liu
28d38c9867
LibretroHostInterface: Report aspect ratio setting to frontend
2020-06-23 09:24:50 -07:00
Albert Liu
7c206766ae
HostInterface: Save default setting to AspectRatio, not PixelAspectRatio
...
Fixes inconsistency with default settings saving to PixelAspectRatio,
but loading from AspectRatio instead. PixelAspectRatio was not being
used elsewhere.
2020-06-23 09:24:50 -07:00
Connor McLaughlin
832c7a1192
Vulkan: Support using SSBOs instead texel buffers
2020-06-24 01:40:01 +10:00
Connor McLaughlin
08ef8c1e8d
GPU/HW: Support SSBOs instead of texture buffers for VRAM writes
2020-06-24 01:39:53 +10:00
Connor McLaughlin
eec37df1e0
Settings: Make the recompiler the default CPU mode
2020-06-24 01:39:42 +10:00
Connor McLaughlin
f6aae5e67c
Settings: Add 2:1 (VRAM 1:1) display aspect ratio
2020-06-24 01:39:35 +10:00
Connor McLaughlin
f32028a736
Merge pull request #566 from ggrtk/analog-controller
...
ControllerInterface: Customizable axis scaling and deadzone size
2020-06-24 01:33:26 +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
Connor McLaughlin
da0885af0d
Merge pull request #563 from lioncash/fs
...
file_system: Correct duplicate conditionals in CreateDirectory()
2020-06-24 01:30:04 +10:00
Connor McLaughlin
4b31034efa
Merge pull request #562 from lioncash/amp
...
spu: Make use of logical AND within IsPitchModulationEnabled()
2020-06-24 01:29:42 +10:00
Albert Liu
293c2f50cd
ControllerInterface: Make axis-to-button deadzone customizable
2020-06-23 08:15:17 -07:00
Albert Liu
6b7c068f83
ControllerInterface: Implement axis scaling for axis-to-axis mappings
...
This feature allows us to work around analog stick range issues at the
intercardinal directions in certain titles (e.g. Rockman DASH 2) caused
by modern controllers having a tighter logical range of reporting than
PS1 analog controllers.
2020-06-23 08:14:37 -07: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
Lioncash
20d17b953b
spu: Make use of logical AND within IsPitchModulationEnabled()
...
It seems awfully suspect to use a bitwise AND here.
2020-06-23 06:00:11 -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
6de24f620e
Merge pull request #558 from lioncash/psf
...
system: Correct error dialog in PSF load case
2020-06-23 19:57:19 +10:00
Connor McLaughlin
daf9afe221
Merge pull request #560 from lioncash/xy
...
playstation_mouse: Amend initial x value
2020-06-23 19:56:43 +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
7a05f8402b
playstation_mouse: Amend initial x value
...
Previously the last host y position was being written to twice, which
seems like a typo.
2020-06-23 05:48:25 -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
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
Connor McLaughlin
38fc843541
GPU/HW: Use upscaled texture coordinates for non-paletted textures
...
Fixes games which use render-to-texture effects not being upscaled.
2020-05-30 02:19:01 +10:00
Connor McLaughlin
fe364d5e8b
SDL: Include frame times in status bar
2020-05-30 02:19:01 +10:00
Connor McLaughlin
13c3426148
Merge pull request #506 from ggrtk/analog-controller
...
Update input profiles and input profile handling
2020-05-28 13:06:40 +10:00
Albert Liu
e1e3cf4f5a
CommonHostInterface: Simplify input profile saving
2020-05-27 17:49:06 -07:00
Albert Liu
f8fea1b215
INISettingsInterface: Return bool on saving settings
2020-05-27 17:48:33 -07:00
Connor McLaughlin
4e8da3cb41
CDROM: Replace sound map assert with error log
...
I am not aware of any games which use it yet, so have no way of testing
if the implementation is correct.
2020-05-28 03:07:33 +10:00
Connor McLaughlin
06621a9547
SDL: Fix second port controller/memcard type changes
2020-05-28 03:07:18 +10:00
Connor McLaughlin
2dd7f48d97
CDROM: Don't skip pregap for CDDA
...
Fixes music looping in Treasure Gear.
2020-05-28 02:42:18 +10:00
Connor McLaughlin
2264849151
CDROM: Update position when double-seeking
...
Doesn't fix anything I'm aware of, but makes sense.
2020-05-28 02:41:53 +10:00
Albert Liu
1f74d46d39
AnalogController: Use proper upper bound when validating axis_code
2020-05-26 23:23:44 -07:00
Connor McLaughlin
51c75554e6
Qt: Fix overlapping options in general settings
2020-05-27 02:13:04 +10:00
Connor McLaughlin
81a7b147fc
System: Add option to disable loading memory cards from save states
2020-05-27 02:06:56 +10:00
Connor McLaughlin
b17a5832e5
System: Simplify save state booting
...
Fixes memory card warning messages on load state.
2020-05-27 02:01:11 +10:00
Connor McLaughlin
d2c7639dd8
System: Update per-game memory cards on load state
...
Prevents saves being written to incorrect card after loading.
2020-05-27 00:41:58 +10:00
Connor McLaughlin
eb6b490c76
SDL: Ignore unused key modifiers
2020-05-27 00:27:52 +10:00
Connor McLaughlin
445bd02cad
GPU/HW: Interlace at native resolution rather than 1x
...
Also fixes screen bobbing when interlacing is disabled.
2020-05-27 00:27:27 +10:00
Connor McLaughlin
23436f08ba
GPU/HW: More improvements to GPUSTAT.31
...
Fixes True Pinball without breaking intros to Final Fantasy 7/8.
2020-05-26 22:57:58 +10:00
Connor McLaughlin
04f131f979
GPU/OpenGL: Fix 24-bit progressive scanout regression
2020-05-26 21:31:01 +10:00
Connor McLaughlin
cb66889856
GPU/OpenGL: Fix non-interleaved interlaced display
2020-05-26 13:44:05 +10:00
Connor McLaughlin
e368dbbadc
GPU: Implement non-interleaved interlaced rendering
...
Fixes screen shaking in True Pinball.
2020-05-26 03:18:05 +10:00
Connor McLaughlin
0daea7c2fc
GPU/HW: Disable texture buffer based uploads on macOS
2020-05-25 20:26:13 +10:00
Connor McLaughlin
e0d9bbced4
GPU/HW: Add UBO extension require if !GL3.2
...
Might fix errors on Sandy Bridge.
2020-05-25 18:37:32 +10:00
Connor McLaughlin
13df6c3e15
GPU/HW: Fix incorrect version capping for GL<4.3
2020-05-25 18:37:11 +10:00
Connor McLaughlin
0571b75fa5
GL/Context: Print GL_SHADING_LANGUAGE_VERSION on creation
2020-05-25 18:36:52 +10:00
Connor McLaughlin
2156236f52
Frontends: Use common GL context wrapper
2020-05-25 15:02:44 +10:00
Connor McLaughlin
4f4c4f4146
Common: Add GL context wrapper implementation
2020-05-25 15:02:44 +10:00
Connor McLaughlin
1494f2bc75
CDROM: Set m_current_lba to the sector being read
...
Fixes double-read commands returning incorrect sectors.
Fixes Vigilante 8 - 2nd Offense.
2020-05-24 13:28:12 +10:00
Connor McLaughlin
9f22684cea
Qt: Combine resume and power off toolbar buttons
2020-05-23 15:03:15 +10:00
Connor McLaughlin
e6d52ce6de
Qt: Add Resume button
2020-05-23 15:03:00 +10:00
Connor McLaughlin
e24e4c20e1
Qt: Fix pause button getting locked on after restarting game
2020-05-23 15:01:36 +10:00
Connor McLaughlin
237f469baa
GPU: Mask variable sprite/rectangle sizes
...
Fixes broken sprites in Gradius Deluxe Pack (Gradius II).
2020-05-21 12:04:57 +10:00
Connor McLaughlin
c583459c6f
GPU: Replace coord/size masks with constants
2020-05-21 12:02:19 +10:00
Connor McLaughlin
35a8c5b47c
Timers: Don't hang when counter+target = 0 for timer1
...
This needs proper research into how it behaves with IRQs.
2020-05-21 00:26:07 +10:00
Connor McLaughlin
3c7229dfe2
CDROM: Add 3 sectors read time to seek time
...
Simulates the drive's inprecise coarse seek then reading subq to get to
the exact sector.
Fixes Waku Waku Derby.
2020-05-20 23:52:35 +10:00
Connor McLaughlin
dfe0dcb56c
Qt: Split memory card/controller config, make bindings scroll
2020-05-20 23:26:26 +10:00
Connor McLaughlin
e7778ea86e
Qt: Move OpenURL to QtUtils namespace
2020-05-20 23:25:16 +10:00
Connor McLaughlin
d41bf86eaa
CDROM: Don't apply logical seek rules to subq-based seeks
...
Fixes Panekit - Infinitive Crafting Toy Case.
2020-05-20 19:30:46 +10:00
Connor McLaughlin
11c2b5a1e8
Bus: Extend SPU address range to 0x400 bytes
2020-05-20 18:57:33 +10:00
Connor McLaughlin
a693437bc9
Bus: Handle unaligned byte writes to SPU
2020-05-20 18:56:41 +10:00
Connor McLaughlin
c8a00c58eb
Qt: Add Remove Disc option to change disc menu
2020-05-20 02:32:19 +10:00
Connor McLaughlin
fa027d9c2a
SDL: Add remove disc menu option
2020-05-20 02:26:23 +10:00
Connor McLaughlin
340640821e
CDROM: Add delay when swapping discs
...
Fixes broken disc swap detection in Metal Gear Solid.
2020-05-20 02:26:07 +10:00
Connor McLaughlin
415880fc40
CDROM: Don't restart play/read when current == target
...
Fixes CDDA locking up Buster Bros. Collection.
2020-05-20 02:05:19 +10:00
Connor McLaughlin
5d46556b7d
CDROM: Update position while seeking for GetlocP
...
Fixes track selection in WipEout.
2020-05-20 01:52:54 +10:00
Connor McLaughlin
7bb087fe73
gen_scmversion: Don't use latest GitHub release tag
2020-05-19 15:31:11 +10:00
Connor McLaughlin
1eecd50f3d
SPU: Run SPU when changing regs on voice pending key-on
...
Fixes menu/cursor sounds with different frequencies in Final Fantasy 7.
2020-05-18 00:59:13 +10:00
Connor McLaughlin
03080351c8
SPU: Reset ADPCM decoder last samples on key on
2020-05-18 00:50:55 +10:00
Connor McLaughlin
096ed21767
GPU: Synchronize before filling/writing with interlaced rendering
2020-05-17 21:51:33 +10:00
Connor McLaughlin
88cc695d0b
HostDisplay: Adjust offsets for linear filtering
...
Fixes line on right of screen in South Park.
2020-05-17 21:10:48 +10:00
Connor McLaughlin
19cebd97da
GPU: Further refinements to crop overscan
...
Fixes flickering line in South Park.
2020-05-17 19:23:48 +10:00
Connor McLaughlin
0ef0c36704
GPU: Align display widths to 4 pixels
...
Documentation thanks to nocash.
Fixes line on edge in X2 - No Relief, Gunbird.
2020-05-17 18:46:59 +10:00
Connor McLaughlin
664bd06df6
GPU: Don't recursively execute commands
...
This can happen with interlaced rendering on when a line is pending
scanout and a primitive is drawn.
Fixes screen transitions in Slap Happy Rhythm Busters.
2020-05-17 17:58:48 +10:00
Connor McLaughlin
0bdac9e4be
SDL: Add disable interlacing to quick settings menu
2020-05-17 17:58:32 +10:00
Connor McLaughlin
c475923bdd
SDL: Add log level settings to debug menu
2020-05-17 14:12:36 +10:00
Connor McLaughlin
8fd3a83ea8
Settings: Save DMA timing hacks to ini
2020-05-17 14:12:35 +10:00
Connor McLaughlin
2185bbec73
GPU: Display state in debug window
2020-05-17 14:11:42 +10:00
Connor McLaughlin
597aa20d83
GPU: Don't panic when FIFO is non-empty with VRAM->CPU copy
...
This probably is not a good state to be in though, since the DMA request
gets turned off and will never resume until it's copied out.
2020-05-17 14:05:31 +10:00
Connor McLaughlin
7d887edf17
DMA: Write correct terminator at end of OTC
...
Fixes NBA Live 96.
2020-05-17 13:58:26 +10:00
Connor McLaughlin
2795dea124
HostInterface: Prioritize SCPH-3000 over SCPH-1000 for NTSC-J
2020-05-17 01:08:14 +10:00
Connor McLaughlin
b25ed6c151
GPU: Fix interlaced rendering in vblank breaking
2020-05-17 01:02:20 +10:00
Connor McLaughlin
93031fc27f
SDL: Re-add frame step hotkey
...
Needs porting to Qt at some point.
2020-05-17 01:00:44 +10:00
Connor McLaughlin
1c50a09c2e
HostInterface: Set user directory to Documents\DuckStation
2020-05-17 00:22:16 +10:00
Connor McLaughlin
f7a2448dfb
HostInterface: Pull compatibility database from program directory
...
Fixes compatibility list not reading on Linux.
2020-05-16 22:18:05 +10:00
Connor McLaughlin
4c9cdbb147
Qt/GameProperties: Disable all fields when code is missing
2020-05-16 21:19:34 +10:00
Connor McLaughlin
525bfda672
Build: Copy data directory with VS solution too
2020-05-16 20:55:00 +10:00
Connor McLaughlin
9ff8cf009a
Qt: Fix tab order in game properties dialog
2020-05-16 20:32:36 +10:00
Connor McLaughlin
4e66b12727
Qt: Hook up export compatibility info to game properties
2020-05-16 20:32:36 +10:00
Connor McLaughlin
669934eb1a
GameList: Support exporting XML snippets for compatibility info
2020-05-16 20:32:36 +10:00
Connor McLaughlin
f671840a18
Qt: Add compatibility stars to game list
2020-05-16 20:32:36 +10:00
Connor McLaughlin
b2a2366287
Qt: Add game properties dialog
2020-05-16 20:32:36 +10:00
Connor McLaughlin
d781de2ce6
GameList: Add support for compatibility database
2020-05-16 20:32:36 +10:00
Connor McLaughlin
6ebd9236c5
CDImage: Add track info accessors
2020-05-16 20:32:36 +10:00
Connor McLaughlin
47c2b29395
Build: Use bin directory for cmake, fix Windows/cmake build
2020-05-16 13:10:31 +10:00
Connor McLaughlin
a937a09b5c
CPU: Fix broken exception logging from YBaseLib removal
2020-05-16 01:02:18 +10:00
Connor McLaughlin
214e852a54
CDROM: Add time to read sector to seek time
...
Fixes Yuukyuu Gensoukyoku Ensemble 1.
2020-05-16 01:01:31 +10:00
Connor McLaughlin
110aa8bd93
CDROM: Reset read sector buffer on INT1
...
Fixes GetlocL -> DMA out returning incorrect data.
Fixes FoxKids.com - Micro Maniacs Racing.
2020-05-16 00:33:03 +10:00
Connor McLaughlin
e1157bff65
CDROM: Don't delay CDDA report, only skip index 0
...
Fixes music in Advanced V.G.
2020-05-16 00:27:09 +10:00
Connor McLaughlin
14b2506d7d
HostInterface: Disable true color/enable scaled dithering by default
...
Too many games are broken with it enabled. The number which break with
scaled dithering is much smaller.
2020-05-15 01:41:58 +10:00
Connor McLaughlin
bf3c83658a
GPU: More accurate texture blending in non-true-colour-mode
...
Fixes Silent Hill loading animation, Advanced V.G. intro fade-out, and
probably others.
2020-05-15 01:32:22 +10:00
Connor McLaughlin
c114873ed8
GPU: Fix height underflow in CRTC calculations
2020-05-14 01:25:43 +10:00
Connor McLaughlin
3472e37d21
GPU: Synchronize before clearing FIFO
2020-05-14 01:25:10 +10:00
Connor McLaughlin
c0ea35ccdc
GPU: Fix parameters not applying on startup
2020-05-14 01:24:39 +10:00
Connor McLaughlin
d461d7c87a
SPU: Fix reverb write regression from e07d3c9d
2020-05-13 13:47:33 +10:00
Connor McLaughlin
db9d637f92
HostInterface: Fix mute not applying on startup
2020-05-13 13:47:12 +10:00
Connor McLaughlin
e07d3c9db2
SPU: Fix array bounds overflow in register reads
2020-05-13 12:37:13 +10:00
Connor McLaughlin
777809b3b0
CDROM: Fix XA filter change not applying immediately
...
Fixes audio getting cut off in PaRappa the Rapper - The Hip Hop Hero,
underwater music in R-Type Delta.
2020-05-13 00:14:20 +10:00
Connor McLaughlin
d6f6154380
CDROM: Read last delivered sector when pausing and reading without seek
...
Fixes Adidas Pro Soccer, Bedlem, Rise 2.
2020-05-13 00:13:57 +10:00
Connor McLaughlin
d866bd9cb8
CDROM: Reset XA resampler state on read
...
Should get rid of pops when switching files.
2020-05-12 12:36:10 +10:00
Connor McLaughlin
634880b5e3
SPU: Clamp before applying main volume not after
...
Fixes popping in Monkey Magic.
2020-05-12 02:15:18 +10:00
Connor McLaughlin
81f297456c
GPU: Fix mismatched scanout between hardware/software renderers
2020-05-12 01:35:06 +10:00
Connor McLaughlin
37d9f6344d
CDROM: Ignore Read/Play command without setloc/param
...
Fixes title screen music in Monkey Magic.
2020-05-11 22:55:14 +10:00
Connor McLaughlin
65c42cd30e
GPU: Don't use field offset for ODE in vblank
2020-05-11 22:26:10 +10:00
Connor McLaughlin
2bc1c67236
GPU/HW: Fix extra column being added with unaligned 24-bit scanout
...
Fixes pink lines in FMVs of NASCAR Thunder 2004.
2020-05-11 22:03:35 +10:00
Connor McLaughlin
6477e5fb54
CommonHostInterface: Add volume up/down/mute hotkeys
2020-05-10 00:54:23 +10:00
Connor McLaughlin
5aacfa7be3
Qt: Hook up audio settings (buffer size/count, volume, mute)
2020-05-10 00:44:56 +10:00
Connor McLaughlin
c329f58afe
HostInterface: Add audio buffer/count/volume/mute settings
2020-05-10 00:44:37 +10:00
Connor McLaughlin
b6fbdf9aeb
AudioStream: Support changing output volume
2020-05-10 00:44:23 +10:00
Connor McLaughlin
f17c2c44d0
GPU/HW: Fix red bleeding when writing VRAM with mask bit set
...
Fixes menu screen in Twisted Metal 4.
2020-05-09 14:38:06 +10:00
Connor McLaughlin
f679f8d063
GTE: Fix buggy MVMVA instruction
2020-05-09 13:48:45 +10:00
Connor McLaughlin
9959440a3a
SPU: Align starting addresses to two words
...
Fixes interrupts firing early and occasional broken speech in Valkyrie
Profile.
2020-05-08 21:36:47 +10:00
Connor McLaughlin
712168cf45
CDImage: Better handle sequential reading into lead-out area
2020-05-08 17:35:55 +10:00
Connor McLaughlin
684e83168e
CDROM: Prevent successful seeking to the lead-out area of the disc
2020-05-08 15:41:45 +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
9539ce032b
AnalogController: Show controller number in OSD messages
2020-05-08 15:32:39 +10:00
Connor McLaughlin
95468901f2
AnalogController: Add analog toggle button
2020-05-08 15:13:07 +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
c67e877d82
CommonHostInterface: Fix -state command line parameter not working
2020-05-08 00:57:46 +10:00
Connor McLaughlin
85707f809c
Pad: Fix OSD error message when save state memory cards mismatch
2020-05-08 00:49:04 +10:00
Connor McLaughlin
df66d86b27
CDImage: Log errno when fopen() fails
2020-05-06 23:42:08 +10:00
Connor McLaughlin
26e0177caa
SDL: Fix browse button not showing on hidpi displays
2020-05-05 03:04:56 +10:00
Connor McLaughlin
0f5bc7267f
HostInterface: Fix hang when switching audio backends
2020-05-05 03:04:28 +10:00
Connor McLaughlin
257c86930f
GPU/OpenGL: Fix GLES again
2020-05-03 19:38:27 +10:00
Connor McLaughlin
8139230d05
GPU/OpenGL: Shader compile fix
2020-05-03 18:33:33 +10:00
Connor McLaughlin
e058beb4b0
GPU/HW: Fix oversized VRAM copies writing out of bounds
...
Fixes jittering in Duke Nukem - Land of the Babes water effect.
2020-05-03 18:09:34 +10:00
Connor McLaughlin
91d7212b36
GPU/OpenGL: Fix swapped log statement
2020-05-03 18:09:31 +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
a5ecff0893
Qt: Set clear alpha to zero for OpenGL display
...
Fixes transparent windows in Wayland.
2020-05-03 02:59:00 +10:00
Connor McLaughlin
456ddc037a
GPU/OpenGL: Remove testing code which broke ES
2020-05-03 02:52:36 +10:00
Connor McLaughlin
edb12234d9
Common/GL/Texture: Fix potential crash on older drivers
2020-05-02 16:52:04 +10:00
Connor McLaughlin
620210cfc9
GPU/OpenGL: Use explicit bindings where possible
2020-05-02 16:01:16 +10:00
Connor McLaughlin
9dc82a738f
GPU/OpenGL: Fix incorrect fragcolor binding
2020-05-02 15:13:17 +10:00
Connor McLaughlin
2d6bdc1f82
Qt: Fix rumble not stopping on power off
2020-05-01 16:42:47 +10:00
Connor McLaughlin
1ed86f4897
Frontends: Add Discord Presence support
2020-05-01 01:01:53 +10:00
Connor McLaughlin
d8ab587153
HostInterface: Modify settings loading interface to support per-frontend settings
2020-05-01 01:01:50 +10:00
Connor McLaughlin
0ec44327d1
SDL: Add integer upscaling option
2020-05-01 01:00:35 +10:00
Connor McLaughlin
55fc3fffd9
Qt: Add integer upscaling option
2020-05-01 01:00:29 +10:00
Connor McLaughlin
b4c31e55e2
HostDisplay: Add integer upscaling option
2020-05-01 01:00:22 +10:00
Connor McLaughlin
98bb1de31f
Qt: Add help to GPU options in settings
2020-05-01 01:00:05 +10:00
Connor McLaughlin
101e1bfd73
Qt: Add advanced settings
2020-05-01 00:59:31 +10:00
Connor McLaughlin
a3792a74ed
Qt: Switch to Windows instead of Console subsystem
2020-05-01 00:58:46 +10:00
Connor McLaughlin
59d0e4aa21
SDL: Switch to Windows instead of Console subsystem
2020-05-01 00:58:38 +10:00
Connor McLaughlin
e37962009e
HostInterface: Add log lettings to ini
2020-05-01 00:58:32 +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
828513409f
Qt: Remove unnecessary log spam
2020-04-30 17:46:33 +10:00
Connor McLaughlin
5cd78dcab5
DMA: Fix an unlikely case where LL DMA gets stuck on
...
Fixes Frogger.
2020-04-30 14:52:38 +10:00
Connor McLaughlin
dac114fa4e
Qt: Use coarse timer for background controller polling
...
Fixes high idle CPU usage.
2020-04-30 12:34:14 +10:00
Connor McLaughlin
dc487655df
CDROM: More timing refinements
2020-04-30 01:36:07 +10:00
Connor McLaughlin
5a6c029814
GPU: Disable dual-source blending on Mesa Gen7/Gen7.5
...
Apparently it's broken. Need to look into it more.
2020-04-30 01:27:50 +10:00
Connor McLaughlin
59f055f4b9
HostInterface: Make title-based memory cards the default
2020-04-30 01:21:18 +10:00
Connor McLaughlin
226459b60f
SPU: Add missing register read for ENDX
2020-04-30 01:12:17 +10:00
Connor McLaughlin
2d92e0a819
CDROM: Reduce ACK timing
2020-04-30 00:12:39 +10:00
Connor McLaughlin
557a6c3696
GPU/HW: Work around rasterization differences in OpenGL
...
Strangely, AMD GPUs are fine, it's just NVIDIA and Intel. Time for a
Vulkan renderer?
2020-04-29 21:17:49 +10:00
Connor McLaughlin
940b725c1d
Settings: Make DMA performance parameters tweakable
2020-04-29 20:00:22 +10:00
Connor McLaughlin
9d1eb321ec
DMA: Properly handle infinite linked lists, add cycle stealing
...
Fixes Tekken 2, Hot Wheels Turbo Racing, probably others.
2020-04-29 16:52:15 +10:00
Connor McLaughlin
07e8ddcae2
DMA: Elide intermediate copy where possible
...
Easy 5% performance improvement.
2020-04-29 16:52:11 +10:00
Connor McLaughlin
d80aaf3880
Qt: Fix possible race/crash on shutdown
2020-04-29 16:52:06 +10:00
Connor McLaughlin
8f82987341
Controller: Add basic PlayStation Mouse support
...
Still needs capture/relative movement for a better experience.
2020-04-29 14:00:11 +10:00
Connor McLaughlin
b56546d8ad
Qt: Always poll controllers even when not running
...
Fixes pause hotkey not unpausing when bound to controller.
2020-04-29 13:28:09 +10:00
Connor McLaughlin
5a1b00825d
GPU: Fix timer 1 IRQs sometimes triggering late
...
Should hopefully fix missing voices in Akuji the Heartless.
2020-04-28 20:31:16 +10:00
Connor McLaughlin
a5ff904b33
SPU: Clear ENDX flag on key on
2020-04-28 20:30:16 +10:00
Connor McLaughlin
be9033b6c0
SPU: Add missing clamp in ADPCM decoder
2020-04-28 17:55:43 +10:00
Connor McLaughlin
b16ecd7a86
SPU: ENDX register should get set when looping as well as muting
2020-04-28 16:57:14 +10:00
Connor McLaughlin
ce46dbeeca
GPU/HW: Fix another vertex culling error
2020-04-28 02:07:56 +10:00
Connor McLaughlin
e20fd61f0b
System: Add option to use per-game memory cards with game title as filename
2020-04-28 01:04:10 +10:00
Connor McLaughlin
d04b252962
AnalogController: Reduce the number of commands which enable analog mode
...
Hopefully will fix those games where it's expecting digital outputs but
getting analog.
2020-04-28 00:34:34 +10:00
Connor McLaughlin
8605620c24
SPU: Force all voices off when SPUCNT.15=0
2020-04-27 23:33:24 +10:00
Connor McLaughlin
8c6cb877eb
GPU: Disable display when CRTC configuration is invalid
2020-04-27 21:49:34 +10:00
Connor McLaughlin
79111e4e03
Qt: Add option for memory card type/mode
2020-04-27 16:22:25 +10:00
Connor McLaughlin
bae4945c7a
SDL: Add option for memory card type
2020-04-27 16:22:25 +10:00
Connor McLaughlin
74e455a5f7
System: Support per-game memory cards
2020-04-27 16:22:25 +10:00
Connor McLaughlin
39498849bd
Common/String: Support casting to std::string_View
2020-04-27 16:14:38 +10:00
Connor McLaughlin
36444b264f
GPU/D3D11: Restore API state after updating settings
...
Should fix the debug layer warnings when adjusting resolution scale.
2020-04-27 13:52:59 +10:00
Connor McLaughlin
304391bd00
GPU: Truncate sprite/rectangle positions to 12 bits before rendering
...
Fixes disappearing objects in Skullmonkeys.
2020-04-27 12:51:18 +10:00
Connor McLaughlin
63692a012f
Qt: Add "New..." to input profile save button
...
This will ensure the profile gets saved to the correct location.
2020-04-27 01:05:03 +10:00
Connor McLaughlin
a8c43b0c8c
SDL: Only enable D3D11 break-on-error when debugger attached
2020-04-27 00:53:25 +10:00
Connor McLaughlin
84b8987105
Qt: Only enable D3D11 break-on-error when debugger attached
2020-04-27 00:53:17 +10:00
Connor McLaughlin
746a00743e
GPU/HW: Don't emit dual-source colour writes on opaque pass
...
Fixes warnings triggering in D3D11 debug runtime.
2020-04-27 00:52:02 +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
dc1e1b5adf
GPU/HW: Fix too-large polygon culling
...
Fixes graphical corruption in some levels of Point Blank 2.
2020-04-26 21:43:28 +10:00
Connor McLaughlin
98ff136f67
GPU: Round texture coordinates instead of flooring
...
Fixes misaligned textures in some games such as Crash Bandicoot.
Currently, because the vertex offset is not applied at >1x resolution
scale, this will not work so it is disabled at >1x.
2020-04-26 19:15:50 +10:00
Connor McLaughlin
d1e841f55d
GTE: Use intrinsic CountLeadingZeros()
...
Super tiny micro-optimization.
2020-04-26 18:33:35 +10:00
Connor McLaughlin
28a022547f
CommonTests: Add tests for BitUtils
2020-04-26 18:33:32 +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
38b075c014
NamcoGunCon: Use mouse position from host display
2020-04-26 17:37:12 +10:00
Connor McLaughlin
1000cb30a9
HostDisplay: Track mouse position
2020-04-26 17:36:49 +10:00
Connor McLaughlin
2502afc3f6
SDL: Hook up mouse button events to bindings
2020-04-26 17:24:00 +10:00
Connor McLaughlin
3723cd5867
Qt: Mouse button binding support
2020-04-26 17:23:42 +10:00
Connor McLaughlin
ce46475e41
Qt: Use click event rather than pressed to rebind
2020-04-26 17:22:29 +10:00
Connor McLaughlin
fce35d6dbe
CommonHostInterface: Support mouse bindings
2020-04-26 17:21:49 +10:00
Connor McLaughlin
02db665d4a
Common: Add bitutils.h
2020-04-26 17:21:33 +10:00
Connor McLaughlin
e6bd6587fd
Controller: Add emulation of Namco GunCon
2020-04-26 01:23:58 +10:00
Connor McLaughlin
2026ef99e8
MemoryCard: Last byte should not set /ACK
2020-04-26 01:23:08 +10:00
Connor McLaughlin
fccc2dd295
DigitalController: Store button state/transfer state in save states
2020-04-26 01:23:01 +10:00
Connor McLaughlin
2ffcad3d37
GPU: Add method to convert from window coordinates to beam ticks/lines
2020-04-26 01:22:56 +10:00
Connor McLaughlin
a111e36ad7
CommonHostInterface: Add proper fast forward toggle
2020-04-26 01:22:44 +10:00
Connor McLaughlin
194fc63232
GameList: Flush game list after re-scanning
...
Should hopefully fix random gamelist corruption.
2020-04-25 15:23:41 +10:00
Connor McLaughlin
25af5ef9d9
MemoryCard: Save FLAG to state
2020-04-25 15:00:14 +10:00
Connor McLaughlin
92255c8ddd
System: Don't drop audio buffers when time lost
2020-04-25 14:51:25 +10:00
Connor McLaughlin
f98c9b4084
GPU/HW: Fix display being cut off when cropping+upscaling
2020-04-25 14:37:56 +10:00
Connor McLaughlin
9e2331c52a
Qt: Redraw window immediately when switching between fullscreen/windowed
...
Fixes content not showing when displaying a popup message.
2020-04-25 14:30:10 +10:00
Connor McLaughlin
1dd2e0f498
Qt: Fix assertion tripping when starting fullscreen 2nd time
2020-04-25 14:30:10 +10:00
Connor McLaughlin
7fae169bbb
Timer: Don't let writes affect IRQ state
2020-04-25 14:17:44 +10:00
Connor McLaughlin
72f6503bec
CDROM: Reduce speed change delay
2020-04-25 14:16:36 +10:00
Connor McLaughlin
a4416d8cf5
CDROM: Add seek time when starting reading/playing without setloc
2020-04-25 14:16:20 +10:00
Connor McLaughlin
f7e2d98055
Qt: Add .psf to all files filter for open file
2020-04-25 00:37:48 +10:00
Connor McLaughlin
191c3450cc
SPU: Port reverb algorithm from Mednafen-PSX
2020-04-25 00:37:02 +10:00
Connor McLaughlin
6e6c11f8bf
GPU: Fix dithering enable check for non-textured polygons
...
Fixes screen fade out effects in Final Fantasy VIII.
2020-04-24 19:53:49 +10:00
Connor McLaughlin
e34b78ab80
SPU: Fix pitch modulation
2020-04-24 15:50:35 +10:00
Connor McLaughlin
1891b45b0e
GPU/OpenGL: Fix shader compile error on NVIDIA
2020-04-24 03:30:32 +10:00
Connor McLaughlin
715209e178
GPU/HW: Truncate colours to 16-bit before applying alpha
...
Fixes battle screen transitions blowing out in brightness in Final
Fantasy 7.
2020-04-24 03:26:54 +10:00
Connor McLaughlin
4a4c3d5e3b
GL/Texture: Add internal format as parameter
2020-04-24 03:21:44 +10:00
Connor McLaughlin
990147b7e9
GPU/HW: Use uint in CPU-side vertex attributes
2020-04-23 15:55:49 +10:00
Connor McLaughlin
e2f5905cd6
GPU/HW: Use unsigned integers in shaders for texcoords
...
Probably needs testing on GLES.
2020-04-23 15:14:19 +10:00
Connor McLaughlin
30033ed4aa
GPU/HW: Minor improvements to texture filtering
2020-04-23 15:08:28 +10:00
Connor McLaughlin
13e2b28f50
GPU/HW: Only apply vertex offset at 1x resolution scale
2020-04-23 14:45:11 +10:00
Connor McLaughlin
ea25b58dd3
Qt: Support disabling vsync via glXSwapInterval
2020-04-23 13:04:40 +10:00
Connor McLaughlin
fc6a165438
CMake: Fix compiling with Visual Studio
2020-04-23 13:04:33 +10:00
Connor McLaughlin
a02c818245
HostDisplay: Drop some unused methods
2020-04-22 21:15:59 +10:00
Connor McLaughlin
ea3c0b65cf
Qt: Refactor render widget state transitions
...
Recreate widget each time. Fixes fullscreen mode switches on D3D11 and
hopefully Wayland.
2020-04-22 21:13:53 +10:00
Connor McLaughlin
d7aa514f14
GPU/HW/OpenGL: Work around vertex-Y-off-by-one issue
2020-04-22 17:39:46 +10:00
Connor McLaughlin
ec5b52b3fb
GPU/HW: Tweak vertex shader offsets
...
Fixes Doom/Dark Forces/etc in hardware renderer, but only at 1x
resolution. Fixes missing lines in Castlevania SOTM, Ridge Racer Type 4,
etc.
2020-04-21 22:07:55 +10:00
Connor McLaughlin
834f3768a1
GPU/HW: Line coordinate typo fix
2020-04-21 16:01:04 +10:00
Connor McLaughlin
1ee418aebf
GPU/HW: Fix additional polyline vertices drawing
2020-04-21 15:45:22 +10:00
Connor McLaughlin
b9954a943a
CommonHostInterface: Default hotkeys for new save state UI
...
- F1: Load
- F2: Save
- F3: Select Previous
- F4: Select Next
2020-04-21 03:07:53 +10:00
Connor McLaughlin
2a710798cc
CommonHostInterface: Add save state selector UI
2020-04-21 03:07:40 +10:00
Connor McLaughlin
7c2244f20f
FrontendCommon: Add placeholder icon binary
2020-04-21 02:50:48 +10:00
Connor McLaughlin
08c8d1a521
System: Support saving screenshots in save states
2020-04-21 02:50:45 +10:00
Connor McLaughlin
aaf9dcaf02
GPU/HW: Fix possible crash when drawing polylines
2020-04-20 13:00:57 +10:00
Connor McLaughlin
4655aa02f8
CPU/CodeCache: Fix uninitialized pointers
2020-04-20 12:35:57 +10:00
Connor McLaughlin
badfe6117e
GPU: Remove textured draw time penalty
...
Fixes missing elements in Bloody Roar 2.
2020-04-20 12:25:00 +10:00
Connor McLaughlin
759c7c52d5
GPU: Don't wedge when other commands are in FIFO with polyline
...
Fixes Ridge Racer Type 4.
2020-04-20 01:10:41 +10:00
Connor McLaughlin
b893c0abf5
GPU/Software: Fix copies when overlapping and oversized
2020-04-20 00:54:50 +10:00
Connor McLaughlin
f1d1129e05
CDROM: Don't assert if SetMode.bit4 is set
2020-04-19 22:31:22 +10:00
Connor McLaughlin
5ad133a278
GPU/HW: Implement oversized copies on GPU
...
Fixes slowdown caused by this.
2020-04-19 22:30:55 +10:00
Connor McLaughlin
045c4d1745
SPU: Fix adsr_volume read for pending key-on voice
...
Fixes cutscene audio in Spyro 2, probably others.
2020-04-19 18:19:55 +10:00
Connor McLaughlin
13903c2abd
SDL: Add advanced options for tweaking GPU FIFO/runahead
...
These values are not saved.
2020-04-19 16:58:46 +10:00
Connor McLaughlin
3319adfa2f
GPU: Tweak rectangle draw times
2020-04-19 16:57:51 +10:00
Connor McLaughlin
d5a5432a8b
CPU/CodeCache: Fix crash when BIOS is missing
2020-04-19 16:03:35 +10:00
Connor McLaughlin
610cc74cb9
GPU: Add primitive setup timing
2020-04-19 15:26:27 +10:00
Connor McLaughlin
16500064f8
GPU: Tweak triangle draw times
2020-04-19 15:24:40 +10:00
Connor McLaughlin
6ef3626599
GPU/HW: Fix a possible crash in rectangle expansion
2020-04-19 14:34:17 +10:00
Connor McLaughlin
1757932b3a
GPU: Implement FIFO and timings
...
This will cause a slight performance loss. I've left some knobs in which
can be tweaked to mitigate this, but the goal is to be compatible with
all games which require them.
2020-04-19 01:17:28 +10:00
Connor McLaughlin
65ca8b9fe0
GPU/HW: Move logic from backend to GPU_HW class
2020-04-18 15:30:46 +10:00
Connor McLaughlin
5923129eca
Common/FIFOQueue: Make bounds checks debug only
2020-04-18 15:30:32 +10:00
Connor McLaughlin
277c03aca0
Add auto-generated Git version to window titles
2020-04-17 02:10:56 +10:00
Connor McLaughlin
610ebcf2fa
Qt: Support loading .psf files
2020-04-17 00:31:03 +10:00
Connor McLaughlin
9c184c5733
SDL: Support loading .psf files
2020-04-17 00:30:19 +10:00
Connor McLaughlin
205297ac27
System: PSF (Portable Sound Format) loading support
2020-04-17 00:29:56 +10:00
Connor McLaughlin
38847de8ee
GameList: PAPX and SCZS prefixes should be NTSC-J
2020-04-16 21:42:09 +10:00
Connor McLaughlin
197b193ca3
GPU/HW/OpenGL: Use geometry shaders for upscaled line rendering
2020-04-16 21:29:11 +10:00
Connor McLaughlin
02b1e084c1
GPU/HW/OpenGL: Re-enable some fast paths I accidentially disabled
2020-04-16 21:27:01 +10:00
Connor McLaughlin
b45b70970b
GL/ShaderCache: Support geometry shaders
2020-04-16 21:25:56 +10:00
Connor McLaughlin
a43a0a14cc
CPU/CodeCache: Don't leak blocks on shutdown
2020-04-16 20:23:54 +10:00
Connor McLaughlin
7a87b9b5bb
CPU/CodeCache: Don't leak blocks on flush
2020-04-16 19:40:52 +10:00
Connor McLaughlin
86df077ffe
GPU/HW: Slight refactor to vertex culling
2020-04-16 00:22:19 +10:00
Connor McLaughlin
8a5e955ba3
Qt: Add input profile support
2020-04-15 01:44:16 +10:00
Connor McLaughlin
f75ea052a6
FrontendCommon: Add input profile support
2020-04-15 01:44:04 +10:00
Connor McLaughlin
193763b4aa
SDL: Fix possible crash when parsing key modifiers
2020-04-14 16:41:59 +10:00
Connor McLaughlin
1eeb1012aa
Qt: Add buttons for binding controller rumble
2020-04-14 16:35:04 +10:00
Connor McLaughlin
d9ebb975b2
CommonHostInterface: Reimplement controller rumble support
...
Even better than before, supports separate motor control.
2020-04-14 16:34:42 +10:00
Connor McLaughlin
915989fa25
CommonHostInterface: Remove extra newlines in messages
2020-04-14 04:05:10 +10:00
Connor McLaughlin
67f2eb3fed
Qt: Fix -fullscreen not working
2020-04-13 22:37:24 +10:00
Connor McLaughlin
81cf4b469f
Frontends: Add shared command line interface
...
Also provides batch mode and automatic fullscreen switching.
-help: Displays this information and exits.
-version: Displays version information and exits.
-batch: Enables batch mode (exits after powering off)
-fastboot: Force fast boot for provided filename
-slowboot: Force slow boot for provided filename
-resume: Load resume save state. If a boot filename is provided,
that game's resume state will be loaded, otherwise the most
recent resume save state will be loaded.
-state <index>: Loads specified save state by index. If a boot
filename is provided, a per-game state will be loaded, otherwise
a global state will be loaded.
-statefile <filename>: Loads state from the specified filename.
No boot filename is required with this option.
-fullscreen: Enters fullscreen mode immediately after starting.
-nofullscreen: Prevents fullscreen mode from triggering if enabled.
-portable: Forces "portable mode", data in same directory.
--: Signals that no more arguments will follow and the remaining
parameters make up the filename. Use when the filename contains
spaces or starts with a dash.
2020-04-13 22:17:09 +10:00
Connor McLaughlin
6a03bb2d15
HostInterface: Drop std::filesystem requirement
2020-04-12 21:06:33 +10:00
Connor McLaughlin
e843fcd9f0
SDLControllerInterface: Fix broken input when player IDs clash
2020-04-11 19:36:53 +10:00
Connor McLaughlin
4fd5d6ca4f
SDL: Fix software renderer image uploads in OpenGL
2020-04-11 18:54:20 +10:00
Connor McLaughlin
a682b720e1
Qt: Fix software renderer image uploads in OpenGL
2020-04-11 18:54:09 +10:00
Connor McLaughlin
7779a54bc5
GPU: Rename 'Force Progressive Scan' to 'Disable Interlacing'
...
It affects rendering as well as display/scanout now, after all.
2020-04-11 16:37:53 +10:00
Connor McLaughlin
9e024b7a51
GPU: Handle VRAM wrap-around behavior on scanout
2020-04-11 16:09:03 +10:00
Connor McLaughlin
fc3efebb38
Revert "SPU: Use reverb formula from Mednafen-PSX"
...
This reverts commit 809b9f89ca
.
2020-04-11 15:04:04 +10:00
Connor McLaughlin
54adad948b
Qt: Add .mcr extension to memory card file picker
2020-04-11 11:57:39 +10:00
Connor McLaughlin
a4a112f5d8
CDROM: Deliver invalid sub-q (libcrypted) sectors to CPU
...
Nocash documentation would suggest that it only needs the sector to be
skipped by GetLocP. Which would make sense as the non-subchannel data is
still completely valid.
2020-04-11 02:44:43 +10:00
Connor McLaughlin
6d55979dac
HostDisplay: Fix 1x1 1:1 AR screenshots in OpenGL
2020-04-11 00:56:28 +10:00
Connor McLaughlin
05e4e7d262
CDROM: Add timing for speed changes/adjust seek timing
...
This makes the BIOS take longer to load the executable off the disc,
giving the sound effects longer to fade out and reducing the overlap
with the game.
2020-04-11 00:40:44 +10:00
Connor McLaughlin
809b9f89ca
SPU: Use reverb formula from Mednafen-PSX
2020-04-11 00:40:28 +10:00
Connor McLaughlin
64a96ad718
Common/WAVWriter: Add accessors
2020-04-11 00:24:30 +10:00
Connor McLaughlin
156a360d86
SDL: Migrate to common host interface
...
It now supports controllers again. But you have to bind them in Qt.
2020-04-11 00:00:44 +10:00
Connor McLaughlin
6cfad33b8e
HostInterface: Set NoNav on FPS window
...
Prevents it stealing focus in SDL frontend.
2020-04-11 00:00:37 +10:00
Connor McLaughlin
674bcdfeec
INISettingsInterface: Add Save() method
2020-04-11 00:00:21 +10:00
Connor McLaughlin
ebc3aa118c
SDL: Fix DXGI intercepting ALT+ENTER
2020-04-11 00:00:15 +10:00
Connor McLaughlin
6775100170
GPU: Drop OpenGL ES renderer
...
We can put this through the normal GL renderer instead.
2020-04-11 00:00:10 +10:00
Connor McLaughlin
fbfd838e22
GPU: Add pixel aspect ratio option
...
Can display in 4:3, 16:9, 1:1 ratios.
2020-04-10 15:12:35 +10:00
Connor McLaughlin
3325d2c42c
GPU: Add Force NTSC timings option
...
This option forces NTSC timings for PAL games, causing them to either
run faster (more likely) or smoother (less likely).
2020-04-10 13:35:10 +10:00
Connor McLaughlin
a06240141e
GPU/D3D11: Fix incorrect usage of CopySubresourceRegion() in CopyVRAM()
...
I believe this is what was causing the renderer to have issues on
Windows 7.
2020-04-10 01:07:44 +10:00
Connor McLaughlin
5a19abbbd3
GPU/D3D11: Fix broken 24-bit display/interlacing when upscaled
2020-04-10 00:43:18 +10:00
Connor McLaughlin
f0a3e66d08
GPU/Software: Fix broken display when VRAM is X-offset
2020-04-09 20:50:57 +10:00
Connor McLaughlin
2413c5a6a3
GPU/Software: Fix incorrect colours in 24-bit FMVs
2020-04-09 00:46:00 +10:00
Connor McLaughlin
3c45603cb4
MemoryCard: Batch sector writes together 5 seconds at a time
...
Reduces disk writes for SSDs (assuming the OS didn't just cache all the
writes), and limits OSD spam.
Fixes #146 .
2020-04-09 00:14:26 +10:00
Connor McLaughlin
0a004361fc
Qt: Work around flip model swap chains being limited to vsync when parented
...
Fixes fast forward not working on some systems.
2020-04-09 00:14:19 +10:00
Connor McLaughlin
1f40d5f77d
Qt: Implement memory card remove button
2020-04-09 00:13:44 +10:00
Connor McLaughlin
3272b37853
Qt: Implement browse button for memory card paths
2020-04-09 00:09:16 +10:00
Connor McLaughlin
9915d977e4
Qt: Fix memory card path not applying
...
Fixes #245 .
2020-04-09 00:03:52 +10:00
Connor McLaughlin
cbe9ef24b9
SettingWidgetBinder: Use QString instead of const char*
...
Fixes potential string lifetime issues.
2020-04-09 00:03:20 +10:00
Connor McLaughlin
bc66b2691d
CDImage: Linux build fix
2020-04-08 21:26:51 +10:00
Connor McLaughlin
0006052728
SPU: Fix some registers not being saved to state
2020-04-08 20:33:39 +10:00
Connor McLaughlin
08567fedf4
CDROM: Fix crash when loading save state from different system
2020-04-08 13:08:27 +10:00
Connor McLaughlin
9851b75368
CDImage: Fix crash on invalid cuesheet
2020-04-08 11:58:05 +10:00
Connor McLaughlin
32dbd173c5
Qt: Add link to Discord server in Help menu
2020-04-07 13:54:25 +10:00
Connor McLaughlin
610abc1a75
BIOS: Make SCPH-3000 BIOS known
2020-04-07 11:54:24 +10:00
Connor McLaughlin
b4538b1d2e
HostInterface: Add redump BIOS filenames to search list
...
ps-10x.bin, ps-30x.bin, etc.
2020-04-07 11:54:22 +10:00
Connor McLaughlin
e91d760175
HostInterface: Fix crash on startup with controller connected
2020-04-06 12:18:33 +10:00
Connor McLaughlin
0c1547d9e3
CDROM: Don't use valid bit for last subq, read on reset
...
Fixes GetlocP failing after resetting the system, causing some FMVs to
break/games to get wedged.
2020-04-06 00:25:56 +10:00
Connor McLaughlin
b7cdaaf36a
CDROM: Defer setting reading/playing bit until sector is read
...
Fixes softlock in Chicken Run.
2020-04-06 00:25:49 +10:00
Connor McLaughlin
411fbe8416
Common/Event: Add unit tests
2020-04-05 23:25:45 +10:00
Connor McLaughlin
e7640d5367
HostInterface: Make SetUserDirectory() overridable by frontends
2020-04-05 22:59:06 +10:00
Connor McLaughlin
11e8a91e30
CommonHostInterface: Simplify fullscreen toggle
2020-04-05 22:58:54 +10:00
Connor McLaughlin
bf6c1c4866
Qt: Implement render-to-seperate-window and render-to-main toggle
2020-04-05 22:58:47 +10:00
Connor McLaughlin
abb87f497f
Common: Port Event class from YBaseLib over
2020-04-05 22:57:35 +10:00
Connor McLaughlin
70ccdcfc30
INISettingsInterface: Make constructor parameter a std::string
2020-04-05 22:57:29 +10:00
Connor McLaughlin
45d7294c3c
CDROM: Limit XA playback to first-identified file/channel
...
Fixes background music in initial menu of Tomb Raider III.
2020-04-05 01:39:43 +10:00
Connor McLaughlin
cae2e09957
SDLControllerInterface: Pass player ID to hooks not joystick ID
...
Should fix controllers which show up as non-zero players.
2020-04-05 01:28:08 +10:00
Connor McLaughlin
3cfead36c4
Revert "GPU: Clamp coordinates to 11 bits after applying drawing offset"
...
This reverts commit 5302f83818
.
This is not the correct fix, and breaks other games.
2020-04-04 19:31:19 +10:00
Connor McLaughlin
4ea3c994f6
GL/ShaderCache: Linux build fix
2020-04-04 00:52:04 +10:00
Connor McLaughlin
ddf52cc8c7
GPU/SW: Implement interlaced display
2020-04-04 00:24:37 +10:00
Connor McLaughlin
c483a78889
GPU: Implement interlaced VRAM fills
2020-04-04 00:24:37 +10:00
Connor McLaughlin
2aecb570c1
GPU: Implement interlaced rendering in hardware backends
2020-04-04 00:24:37 +10:00
Connor McLaughlin
bb3c0a2ccc
GPU/HW/OpenGLES: Use shader cache
2020-04-04 00:24:37 +10:00
Connor McLaughlin
d0be5618ec
GPU/HW/OpenGL: Use shader cache
2020-04-04 00:24:37 +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
7f5c6f8b4f
GPU/HW: Move some flush checks to command time
2020-04-04 00:10:55 +10:00
Connor McLaughlin
5302f83818
GPU: Clamp coordinates to 11 bits after applying drawing offset
...
Fixes flickering in some scenes (e.g. Galbadia Missile Base).
2020-04-04 00:10:45 +10:00
Connor McLaughlin
48fba47ee6
GPU: Implement skip-drawing-to-active-field for interlaced mode
...
Currently only in the software renderer.
2020-04-04 00:10:41 +10:00
Connor McLaughlin
5b6027e6bb
Add common-tests and rectangle class tests
2020-04-03 01:32:27 +10:00
Connor McLaughlin
643e429ad2
Merge pull request #211 from ggdrt/patch-0
...
GPU: Fix "Draw To Display Area" debug reporting
2020-04-02 11:41:09 +10:00
Connor McLaughlin
2a6e04988f
GPU/HW: Simplify 24-bit scanout and interlacing shader
...
Has the added bonus of being faster (no downscale copy) and fixes the
edge case where the image is cropped in VRAM.
2020-04-02 00:17:25 +10:00
Connor McLaughlin
1d948a53e0
SPU: Reinitialize transfer event on loading state
2020-04-02 00:17:15 +10:00
Albert Liu
b27e030059
GPU: Fix "Draw To Display Area" debug reporting
2020-04-01 06:10:31 -07: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
31581763a3
GPU: Correct starting position for polyline terminator search
...
Fixes broken visuals in Wild Arms, probably others.
2020-04-01 20:24:57 +10:00
Connor McLaughlin
0eb740a0aa
Qt: Add CDROM Enable Region Check option
2020-04-01 14:50:27 +10:00
Connor McLaughlin
9933910312
SDL: Add CDROM Enable Region Check option
2020-04-01 14:50:21 +10:00
Connor McLaughlin
15c33ebedb
CDROM: Add "Enable Region Check" option
2020-04-01 01:48:37 +10:00
Connor McLaughlin
e36e70a266
CDROM: Drop sector buffer not read back to dev log level
...
This happens a lot in games and it's perfectly fine, but sometimes it
can mean the game is wedged and not receiving data.
2020-03-31 22:29:03 +10:00
Connor McLaughlin
f6711cbafa
CDROM: Pausing while seeking should be an error response
...
Confirmed by hardware test.
2020-03-31 22:28:55 +10:00
Connor McLaughlin
00c24c2501
CDROM: Adjust ACK timings to be closer to hardware test results
...
Fixes Shrek Treasure Hunt.
2020-03-31 22:28:48 +10:00
Connor McLaughlin
8439e1c54e
GPU: Adjust visible ticks/lines, fix underflow in height
2020-03-31 22:28:37 +10:00
Connor McLaughlin
6bc91f2157
GPU: Polyline must have at least two vertices
...
Fixes GPU stream corruption in Lifeforce Tenka.
2020-03-30 13:58:39 +10:00
Connor McLaughlin
eaf13a1461
GPU: Fix flipped MSB/LSB for single pixel reads
2020-03-30 00:41:31 +10:00
Connor McLaughlin
f13cfce34d
GPU: Fix incorrect polyline terminator check
...
Fixes Gran Turismo 2, maybe others.
2020-03-30 00:35:39 +10:00
Connor McLaughlin
a9109c7552
System: Don't insert blank memory card if path unspecified
2020-03-30 00:14:15 +10:00
Connor McLaughlin
3f042cd477
CDROM: Fix play command with parameter forever seeking
...
Fixes audio playback when selecting track in BIOS CD player.
2020-03-30 00:13:46 +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
02f67a801e
CDROM: Fix behavior of stat bit 5 according to hardware tests
2020-03-29 17:52:37 +10:00
Connor McLaughlin
deb2865606
CDROM: Preserve header valid bit on more commands
...
Fixes Goryuujin Electro hanging on boot.
2020-03-29 01:16:01 +10:00
Connor McLaughlin
0e0bd2852f
CDROM: Trigger INT5 on shell open
...
This behaviour has been verified on console.
Fixes disc swap detection in "Arc the Lad III"
2020-03-29 01:15:04 +10:00
Connor McLaughlin
2292292956
CDROM: Set mode to read raw sectors after reset
...
Fixes "This is Football 2", possibly others.
2020-03-29 01:14:58 +10:00
Connor McLaughlin
148279e2f2
GPU: Rewrite CRTC display modeling and overscan handling
2020-03-29 01:14:37 +10:00
Connor McLaughlin
fe824d6c89
GPU: Display VRAM with 1:1 pixel ratio rather than scaling
2020-03-29 01:14:33 +10:00
Connor McLaughlin
21ddfacd40
Settings: Add missing crop mode save
2020-03-29 01:13:53 +10:00
Connor McLaughlin
e6d5a9d3e4
GPU: Add missing blitter ticks reset to SoftReset()
2020-03-29 01:13:40 +10:00
Connor McLaughlin
10197506c5
CDROM: Implement 8-sector buffering behavior
2020-03-29 01:13:25 +10:00