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
Connor McLaughlin
a988384423
Common/HeapArray: Fix move construction/assignment
2020-03-29 01:13:14 +10:00
Connor McLaughlin
46239e6758
GPU: Fix GP0(1Fh) locking up emulator
2020-03-29 01:12:54 +10:00
Connor McLaughlin
5dbdc0b60c
DMA: Remove timing events
...
We'll probably need to revert/re-add a variant of this when we
eventually implement chopping. But for now it simplifies things.
2020-03-29 01:12:44 +10:00
Connor McLaughlin
423f04325f
SPU: Implement timing for RAM reads/writes
2020-03-29 01:12:37 +10:00
Connor McLaughlin
20025b2ffd
Qt: Hide mouse cursor in fullscreen mode
...
Fixes #135 .
2020-03-29 01:12:27 +10:00
Connor McLaughlin
22a0d8f93c
CDROM: Implement Sync/00h command
2020-03-28 02:24:36 +10:00
Connor McLaughlin
0b347e2151
GPU/HW: Implement flipped quad coordinate hack from beetle-psx
...
Fixes graphical glitches around the edges of flipped sprites.
2020-03-28 02:24:22 +10:00
Connor McLaughlin
f23bcc0faa
SPU: Ignore loop start flag when repeat address is explicitly set
...
Fixes dialog/softlock in Thousand Arms.
2020-03-27 01:42:59 +10:00
Connor McLaughlin
08ad5aad53
SPU: Run muted voices when IRQ is enabled
...
Fixes SPU timeout in Casper. We can still optimize for most games where
interrupts are not used by completely ignoring muted voices in those.
2020-03-27 01:42:43 +10:00
Connor McLaughlin
54abd37daa
GPU: Let the GPU drive DMA transfers for large time slices
...
Fixes FMV breakage... again.
2020-03-26 00:13:20 +10:00
Connor McLaughlin
d4ae0f13fe
MDEC: Refactoring and fixes
2020-03-26 00:13:07 +10:00
Connor McLaughlin
c81efb1142
DMA: Enable block splitting for linked list mode
2020-03-26 00:13:03 +10:00
Connor McLaughlin
88f1edd48d
System: Include console region in save state
...
Fixes #149 .
2020-03-25 01:49:20 +10:00
Connor McLaughlin
7cd7dec668
HostInterface: Restore pause state after switching renderers
...
Fixes #148 .
2020-03-25 01:48:51 +10:00
Connor McLaughlin
18cc3d5932
SPU: Stub out external volume registers
...
If nothing else, it'll avoid spamming the log.
2020-03-24 00:22:02 +10:00
Connor McLaughlin
7317c83a3c
SPU: Implement internal volume sweep register reads
...
Fixes muted audio in Michelin Rally Masters.
2020-03-24 00:21:52 +10:00
Connor McLaughlin
452c6e16d1
GPU: Fix blitter ticks not being counted
...
Fixes Monkey Hero, again...
2020-03-24 00:21:42 +10:00
Connor McLaughlin
4c2597acf3
SPU: Process key on/off at next 44100hz cycle
...
Some games, particularly CART World Series and Monkey Hero, depend on
this behaviour.
2020-03-24 00:21:32 +10:00
Connor McLaughlin
c8af4abad8
CDROM: Don't queue up a second INT1 when one is still pending
2020-03-24 00:21:22 +10:00
Connor McLaughlin
40d6be7142
System: Frame pacing improvements
2020-03-24 00:21:11 +10:00
Connor McLaughlin
cbb9b96537
System: Include buffer swap time in frame time measurement
2020-03-24 00:20:56 +10:00
Connor McLaughlin
9ce63952fb
TimingEvent: Fix events losing time when rescheduling outside handler
2020-03-24 00:20:45 +10:00
Connor McLaughlin
612b362ae9
Timers: Sync GPU on register write too
2020-03-24 00:20:27 +10:00
Connor McLaughlin
e2e2b573c0
GPU/HW: Move drawing offset to CPU-side
...
Saves updating the uniform buffer.
2020-03-24 00:20:15 +10:00
Connor McLaughlin
40481305c4
GPU/HW: Fudge texture coordinates by half a screen-space pixel
...
Fixes holes in triangles in some games, e.g. Disney's The Emperor's New
Groove.
2020-03-24 00:20:12 +10:00
Connor McLaughlin
7ac48cd8d6
SPU: Swap read/write ready bits
...
Nocash might be incorrect here.
2020-03-23 00:29:18 +10:00
Connor McLaughlin
7a89c787b8
SPU: Fix some reverb registers not being saved to state
2020-03-23 00:29:10 +10:00
Connor McLaughlin
d47a82d591
SPU: Implement noise functionality
2020-03-23 00:29:00 +10:00
Connor McLaughlin
0a6295a9b4
SPU: Implement volume sweep functionality
2020-03-23 00:28:51 +10:00
Connor McLaughlin
a5083f0ee4
Qt: Remove ? button in title bar
2020-03-22 22:40:45 +10:00
Connor McLaughlin
701491156a
Qt: Use menu font instead of system font as default font
2020-03-22 22:40:29 +10:00
Connor McLaughlin
7b9be0a586
Qt: Add per-page help to settings dialog
2020-03-22 22:19:46 +10:00
Connor McLaughlin
1d9bcb2a48
Qt: Force redraw the display when restoring after minimized
2020-03-22 21:50:49 +10:00
Connor McLaughlin
361bedc2c3
SDLControllerInterface: Hackfix for non-player-id supporting controllers
2020-03-22 21:31:54 +10:00
Connor McLaughlin
8b836555f6
Qt: Disable auto-fill background and set WA_NoSystemBackground
2020-03-22 21:25:10 +10:00
Connor McLaughlin
74e0e83cfd
Qt: Use same imgui style as SDL
2020-03-22 13:20:08 +10:00
Connor McLaughlin
e662f34f8b
Qt: Add help for general settings
2020-03-22 13:20:08 +10:00
Connor McLaughlin
4629cdfffc
Qt: Add help text section to settings dialog
2020-03-22 13:20:08 +10:00
Connor McLaughlin
d5c76bf7d5
Qt: Increase default size of settings dilaog
2020-03-22 13:20:08 +10:00
Connor McLaughlin
c646bf507f
Qt: Add OSD options to general settings
2020-03-22 13:20:08 +10:00
Connor McLaughlin
a4a5d3ef79
Qt: Split some console settings out into general settings
2020-03-22 13:20:08 +10:00
Connor McLaughlin
bf2f9bd8d9
Qt: Add 'Refresh' button to toolbar for reloading game list
2020-03-22 13:20:08 +10:00
Connor McLaughlin
7e36195f44
HostInterface: Enable on-screen FPS/VPS/Speed display via config
2020-03-22 13:20:08 +10:00
Connor McLaughlin
9fd95c3e21
Common/Rectangle: Fix off-by-one error in Intersects()
2020-03-22 13:20:08 +10:00
Connor McLaughlin
77a60f0c5f
HostInterface: Crash fix again for controller switching
2020-03-22 13:15:44 +10:00
Connor McLaughlin
acd49f3765
Qt: Fix possible crash when loading state via menu
2020-03-22 13:10:28 +10:00
Connor McLaughlin
12ddeb675c
HostInterface: Fix controller not updating when switched and system running
2020-03-22 12:54:26 +10:00
Connor McLaughlin
46f921fb95
SDLControllerInterface: Fix crash on shutdown
2020-03-22 12:54:25 +10:00
Connor McLaughlin
8190efa5dc
SDLControllerInterface: Fix compilation on Ubuntu LTS
2020-03-22 12:28:10 +10:00
Connor McLaughlin
ad6e4cb6e4
Qt: Add "Clear All" and "Rebind All" to controller bindings
2020-03-22 00:50:09 +10:00
Connor McLaughlin
45050709f2
Qt: Add support for clearing input bindings with right click
2020-03-22 00:49:55 +10:00
Connor McLaughlin
29a09a3685
Introduce ControllerInterface class, port SDL interface over
...
This breaks controller support in the SDL frontend until it's ported
over to the common interface.
2020-03-22 00:49:46 +10:00
Connor McLaughlin
a4486cf6fa
CDROM: Don't miss last three frames at end of sector
2020-03-21 12:31:40 +10:00
Connor McLaughlin
8ef1e71ce0
DMA: Channels other than OTC should run based on request in SyncMode 0
2020-03-21 00:15:49 +10:00
Connor McLaughlin
f4d172df2f
DMA: Fix underflow when block_count == 0
2020-03-21 00:15:42 +10:00
Connor McLaughlin
904ab982e6
GPU: Fix crash when fill rectangles are out-of-bounds
2020-03-21 00:15:35 +10:00
Connor McLaughlin
d67bcd654c
GPU: Prevent emulator locking up when switching between PAL/NTSC mode
2020-03-20 01:12:41 +10:00
Connor McLaughlin
bad5b30a61
CDROM: Fix incorrect volume matrix update/application
...
Fixes #90 .
2020-03-19 00:28:57 +10:00
Connor McLaughlin
3223f87eeb
CDROM: Simplify register indexing for write
2020-03-19 00:28:41 +10:00
Connor McLaughlin
1ee68ad12a
CommonHostInterface: Add Screenshot hotkey
2020-03-18 22:28:03 +10:00
Connor McLaughlin
afe2f96474
Qt: Fix display not updating after resize when paused
...
Fixes #104 .
2020-03-18 22:27:45 +10:00
Connor McLaughlin
b86e0bc846
SPU: Implement reverb
...
Possibly still not complete.
2020-03-17 12:48:03 +10:00
Connor McLaughlin
c9e5e3a43e
CDROM: Add missing disc/console region check
...
Fixes #106 .
2020-03-17 12:47:46 +10:00
Connor McLaughlin
282998d0bb
Qt: Add screenshot button
2020-03-16 00:06:39 +10:00
Connor McLaughlin
ffb760c79d
SDL: Add screenshot to menu
2020-03-16 00:04:16 +10:00
Connor McLaughlin
6b68512ac1
HostInterface: Add SaveScreenshot() method
2020-03-16 00:03:57 +10:00
Connor McLaughlin
2bb992a702
HostDisplay: Add texture dumping/saving support
2020-03-16 00:03:49 +10:00
Connor McLaughlin
b4153266a0
GL/Texture: Add a GetTextureSubImage fallback/helper
2020-03-16 00:03:25 +10:00
Connor McLaughlin
212fddd195
D3D11/StagingTexture: Add auto-resizing staging texture
2020-03-16 00:03:16 +10:00
Connor McLaughlin
97c435a154
CMake: Linux build fix
2020-03-16 00:02:55 +10:00
Connor McLaughlin
fe2e6561d3
Qt: Add audio dumping options
2020-03-15 22:04:32 +10:00
Connor McLaughlin
c4af353d54
SDL: Add audio dumping options
2020-03-15 22:04:25 +10:00
Connor McLaughlin
8e20d0d4ff
SPU: Add audio dumping support
2020-03-15 22:04:17 +10:00
Connor McLaughlin
198a64eb5e
HostInterface: Add a helper function for generating timestamp-based filenames
2020-03-15 22:03:53 +10:00
Connor McLaughlin
c7a74cabaa
Common: Add WAVWriter class
2020-03-15 22:03:22 +10:00
Connor McLaughlin
6a6aa72f3a
SPU: Add a tick counter and delay between key on/off writes
...
Not yet tested on hardware. We believe that writing to a specific
voice's key on/off register within 2 samples/ticks of the first
write will result in the second write being ignored. This still
needs to be tested on hardware for confirmation.
Thanks to @PSI-Rockin for the idea.
Fixes sound effects in Monkey Hero.
2020-03-14 15:33:24 +10:00
Connor McLaughlin
d42f155512
SPU: Use "ticks" instead of "sample" in variable names
2020-03-14 15:23:23 +10:00
Connor McLaughlin
90d6babfb0
SPU: Always run, not only when enabled
2020-03-14 15:01:23 +10:00
Connor McLaughlin
c3cb6ef393
Qt: Fix debug menu not updating selected GPU renderer
...
Fixes #93 .
2020-03-14 12:34:41 +10:00
Connor McLaughlin
90121aa169
GPU: Fix VRAM display in software renderer
2020-03-13 23:21:44 +10:00
Connor McLaughlin
e076526898
CDROM: Rework sector buffering behavior
...
This has not been tested on hardware yet, but fixes a couple of games.
2020-03-12 15:33:07 +10:00
Connor McLaughlin
86eefbd5d7
System: Fix a possible assertion failure loading state
2020-03-12 15:32:37 +10:00
Connor McLaughlin
21ecf231d9
Qt: Show game list scanning progress visually
2020-03-12 15:32:34 +10:00
Connor McLaughlin
0e3bcfa7b5
Qt/HostInterface: Track main window pointer
2020-03-12 15:32:30 +10:00
Connor McLaughlin
9e08ae6188
GameList: Use ProgressCallback interface when scanning
2020-03-12 15:32:19 +10:00
Connor McLaughlin
f71a03202b
Qt: Add ProgressCallback implementation
2020-03-12 15:32:15 +10:00
Connor McLaughlin
8028b7b4a3
Common: Add ProgressCallback class
2020-03-12 13:54:27 +10:00
Connor McLaughlin
8f39a0f154
Qt: Properly implement "Start Fullscreen"
2020-03-12 13:53:58 +10:00
Connor McLaughlin
2480624cbe
Qt: Replace QWindow for display with QWidget base
...
Not as elegant, but it solves the input focus issue.
2020-03-12 13:53:51 +10:00
Connor McLaughlin
db1070a683
Settings: Fix start paused not applying
2020-03-12 13:53:43 +10:00
Connor McLaughlin
3effa1238f
CDROM: Return correct SCEx string based on disc region
...
Fixes SCEI/SCEE displaying as SCEE in BIOS.
2020-03-12 13:51:53 +10:00
Connor McLaughlin
419422a2d7
CDROM: Return console region string based on system
2020-03-12 13:51:38 +10:00
Connor McLaughlin
e0a339ca96
GameList: Seperate disc region and console region
2020-03-12 13:51:29 +10:00
Connor McLaughlin
e8a5259e68
Qt: Show save times in save state menu as well
2020-03-12 13:51:23 +10:00
Connor McLaughlin
b2d0dd2d6c
Qt/GameList: Update entry rather than ignoring same directory added twice
2020-03-10 23:10:20 +10:00
Connor McLaughlin
ed0abf3912
Qt: Fix possible assertion failure when removing search directories
2020-03-10 22:59:17 +10:00
Connor McLaughlin
bd25aa2f9d
Qt: Include .chd in disc image filter
...
Fixes #77 .
2020-03-10 00:18:13 +10:00
Connor McLaughlin
c2370c598e
CDROM: Don't crash when stopping with no media
...
Fixes #76 .
2020-03-10 00:09:27 +10:00
Connor McLaughlin
e98c753d3d
CDROM: Delay the first CDDA report by one second
...
Needs hardware testing...
2020-03-09 00:01:28 +10:00
Connor McLaughlin
776159265a
CDROM: Skip pregap when processing CDDA
2020-03-09 00:01:26 +10:00
Connor McLaughlin
b81071a65c
CDImage: Assume 2 second pregap between tracks if none specified
2020-03-09 00:01:23 +10:00
Connor McLaughlin
631865469d
CDROM: Bump up ACK delay timing
2020-03-08 18:07:39 +10:00
Connor McLaughlin
4eeaa38ccd
CDROM: Don't persist seek error bit in secondary status
...
Fixes Viewpoint (#56 ).
2020-03-08 15:54:09 +10:00
Connor McLaughlin
2249b873ff
D3D11/StreamBuffer: Check feature support for MAP_NO_OVERWRITE before using
2020-03-08 12:51:14 +10:00
Connor McLaughlin
99d42c07c2
D3D11/StreamBuffer: Use WRITE_DISCARD at position 0
2020-03-08 12:38:01 +10:00
Connor McLaughlin
e19175edae
GPU/D3D11: Fix non-vertical line rendering at >1x scale
2020-03-08 00:03:31 +10:00
Connor McLaughlin
34ae0dae13
CDROM: Fix upper bound for XA audio frames and sync SPU
2020-03-07 17:29:41 +10:00
Connor McLaughlin
6fa8031569
GPU/D3D11: Fix uniform buffer creation on Win7
2020-03-07 16:05:54 +10:00
Connor McLaughlin
eb6dbbfb13
CDROM: Set seeking bit in stat when seeking
2020-03-07 15:10:49 +10:00
Connor McLaughlin
c700913322
CDROM: Implement SetSession command
2020-03-07 15:10:19 +10:00
Connor McLaughlin
d0f420de10
CDROM: Log invalid command identifiers
2020-03-07 14:00:15 +10:00
Connor McLaughlin
6bb6249e86
GPU/HW: Print capabilities to log
2020-03-07 12:54:15 +10:00
Connor McLaughlin
b5b6a15e40
GPU/D3D11: Always flush render before presenting
2020-03-07 12:37:58 +10:00
Connor McLaughlin
ae4767a9ca
GPU/HW: Always unmap buffer on flush
...
Should stop assertions firing in some games.
2020-03-07 12:34:44 +10:00
Connor McLaughlin
ef2796b780
CommonHostInterface: Fix controller inputs not binding
...
Fixes #46 .
2020-03-06 21:55:27 +10:00
Connor McLaughlin
2004de7170
Qt: Fix controller rebinding not registering when paused
2020-03-06 21:55:10 +10:00
Connor McLaughlin
f9a298f1b7
GPU: Fix incorrect handling of check mask bit
...
Fixes boxes in Silent Hill in Software Renderer.
2020-03-06 00:45:21 +10:00
Connor McLaughlin
552a01a9b6
Qt: Disable LTCG on Release-only builds
...
It wasn't being used anyway.
2020-03-04 23:21:43 +10:00
Connor McLaughlin
b59e4ffbcb
HostInterface: Reset performance counters on unpausing
2020-03-03 10:07:16 +10:00
Connor McLaughlin
b405c01652
Qt: Save settings for column visibility/sorting in game list
2020-03-02 11:08:29 +10:00
Connor McLaughlin
5c0660744a
Qt: Implement "File Title" column and toggling in game list
2020-03-02 11:08:25 +10:00
Connor McLaughlin
c8954a3089
Qt: Fix game list sorting by column
2020-03-02 11:08:20 +10:00
Connor McLaughlin
69f03959aa
Qt: Implement context menu in game list
2020-03-02 11:08:16 +10:00
Connor McLaughlin
0c40903f74
Qt: Fix double mutex lock on controller type change
...
Fixes #39 .
2020-03-02 11:05:13 +10:00
Connor McLaughlin
34f1c644f5
GPU: Update GPUSTAT if raster has passed to the next line
...
Fixes games which poll GPUSTAT, including The Next Tetris (Europe).
2020-03-01 17:14:42 +10:00
Connor McLaughlin
b0b1fd8f1a
GPU: Timing for CPU->VRAM transfers
...
Fixes Monkey Hero, probably others.
2020-03-01 17:14:38 +10:00
Connor McLaughlin
6b9c6d3750
GPU: Add a helper function to determine how many GPU ticks are pending
2020-03-01 17:14:32 +10:00
Connor McLaughlin
635ab72b37
GPU: Implement "Scaled Dithering" option
...
Fixes #29 .
2020-03-01 00:05:31 +10:00
Connor McLaughlin
d41e6dd28f
CommonHostInterface: Add some more default key bindings
...
Also remove some unused code.
2020-02-29 00:41:17 +10:00
Connor McLaughlin
fdcb891ed3
GPU: Fix incorrect detection of 480i mode
2020-02-29 00:19:23 +10:00
Connor McLaughlin
ed493c846d
GPU: Don't panic on oversized VRAM copies
...
Fixes #31 .
2020-02-29 00:19:09 +10:00
Connor McLaughlin
7412e78aa1
GPU: Move software copy/fill functions to base class so it can be used as fallback
2020-02-29 00:18:33 +10:00
Connor McLaughlin
e1d4c0b9d4
HostDisplay: Fudge texture coordinates for better linear filtering
2020-02-29 00:18:24 +10:00
Connor McLaughlin
6bacbf3438
GPU: Fix 480i displays getting cut off in OpenGL and Software
2020-02-28 23:01:38 +10:00
Connor McLaughlin
aa56a59f58
GPU: Make resolution info less spammy
2020-02-28 23:00:37 +10:00
Connor McLaughlin
0690491883
GPU/HW: Fix potential crash in rectangle expansion
2020-02-28 22:58:34 +10:00
Connor McLaughlin
a298e93004
CMake: Fix Linux build
...
Fixes #36 .
2020-02-28 22:43:34 +10:00
Connor McLaughlin
e8e44991db
GPU: Fix display in OpenGL renderer
2020-02-28 22:42:56 +10:00
Connor McLaughlin
63064f80c2
HostInterface: Fix default value for Display/CropMode
2020-02-28 18:15:37 +10:00
Connor McLaughlin
f2adb71a70
CommonHostInterface: Bind face buttons to keypad by default
2020-02-28 18:15:21 +10:00
Connor McLaughlin
19c1e8b838
StringUtil: Fix for older gcc versions again
2020-02-28 17:19:51 +10:00
Connor McLaughlin
fcc0ae9571
GPU: Implement "Crop Mode" (none, overscan, all borders)
2020-02-28 17:01:01 +10:00
Connor McLaughlin
5df7fbd68c
Common/Rectangle: Fix typo in assignment operator
2020-02-28 17:00:19 +10:00
Connor McLaughlin
122726fe65
Common/StringUtil: Support compiling on gcc7
2020-02-28 17:00:16 +10:00
Connor McLaughlin
bbdee22ea8
SDL: Move SDLSettingsInterface (ini) to frontend-common
2020-02-28 17:00:14 +10:00
Connor McLaughlin
9ab5212833
FrontendCommon: Make SDL2 dependency optional
2020-02-28 17:00:12 +10:00
Connor McLaughlin
f35970fcac
FrontendCommon: Move input binding and some other logic from Qt to common
2020-02-28 17:00:09 +10:00
Connor McLaughlin
ccbe6f0c42
Qt: Don't store floats in settings as QVariant data
2020-02-28 17:00:07 +10:00
Connor McLaughlin
da0059fb21
Common/StringUtil: Add a FromChars std::optional wrapper
2020-02-28 17:00:05 +10:00
Connor McLaughlin
86094b8080
Common/String: Don't copy StaticStrings when not writing
2020-02-28 17:00:02 +10:00
Connor McLaughlin
4fe57e64d7
SDL: Add -gstate parameter to load global state
2020-02-28 17:00:00 +10:00
Connor McLaughlin
992bf7c338
SDL: Add GPU debug device option to settings
2020-02-28 16:59:58 +10:00
Connor McLaughlin
07ba2ecd3d
Settings: Simplify resolution scale enumeration
2020-02-28 16:59:55 +10:00
Connor McLaughlin
f21cb25426
HostInterface: Recreate system on GPU debug device toggle too
2020-02-28 16:59:53 +10:00
Connor McLaughlin
82eb14efb1
Core: Apply DPI scaling to debug windows
2020-02-28 16:59:51 +10:00
Connor McLaughlin
ce31c85983
SDL: Support high-dpi displays
2020-02-28 16:59:48 +10:00
Connor McLaughlin
a0a0cd48fa
SDL: Reimplement improved fullscreen toggling
2020-02-28 16:59:46 +10:00
Connor McLaughlin
f03de090c4
SDL: Fix setting changes not applying
2020-02-28 16:59:44 +10:00
Connor McLaughlin
4b94224955
SDL: Use RunLater() for menu actions too
2020-02-28 16:59:41 +10:00
Connor McLaughlin
50a155e775
Settings: Default to relative paths for bios/memcards
...
Prevents from locking to the directory the first time we run.
2020-02-28 16:58:30 +10:00
Connor McLaughlin
509f26ad7e
Qt: Add some more default hotkeys (fullscreen/pause/poweroff)
...
Along with the previous commit, fixes #32
2020-02-26 19:31:12 +10:00
Connor McLaughlin
e4ff8b0936
Qt: Add power off hotkey and confirmation message
2020-02-26 19:26:20 +10:00
Connor McLaughlin
27c9f2d834
Qt: Add a method for the emulation thread to focus the display widget
2020-02-26 19:26:14 +10:00
Connor McLaughlin
e9dea6e0f7
HostInterface: Add a ConfirmMessage() method
2020-02-26 19:25:57 +10:00
Connor McLaughlin
8ffdcf1b7e
Qt: Add a way for the emulation thread to request fullscreen state
2020-02-26 19:25:51 +10:00
Connor McLaughlin
460ff24248
Qt: Support SDL audio backend
2020-02-25 23:40:46 +10:00
Connor McLaughlin
223b52736f
Qt: Populate audio backend drop-down
2020-02-25 23:40:42 +10:00
Connor McLaughlin
c68d188029
Disable DXGI handling of ALT+ENTER
...
We manage fullscreen ourselves.
2020-02-24 18:19:20 +09:00
Connor McLaughlin
bfdf343dfe
SDL: Move imgui render to display
...
Fixes crash on renderer switch.
2020-02-23 00:04:30 +09:00
Connor McLaughlin
49c7767ed4
System: Check save state version when loading
...
Fixes #34 .
2020-02-22 17:16:47 +09:00
Connor McLaughlin
959a555274
CDROM: Implement asynchronous disc reading
2020-02-22 00:24:35 +09:00
Connor McLaughlin
7ece901d57
CDImage/CHD: Fix crash when opening invalid/nonexistant file
2020-02-22 00:18:58 +09:00
Connor McLaughlin
1ed8243776
HostInterface: Reset counters when starting from state
2020-02-22 00:18:27 +09:00
Connor McLaughlin
3a0f8bffc5
SDL: Use precompiled D3D11 display shaders
2020-02-20 23:22:37 +09:00
Connor McLaughlin
784a5c789f
Qt: Use precompiled D3D11 display shaders
2020-02-20 23:22:28 +09:00
Connor McLaughlin
4f794b1c37
Add precompiled versions of D3D11 display shaders
2020-02-20 23:21:54 +09:00
Connor McLaughlin
46846a10f6
Common: Simplify D3D shader object creation with helpers
2020-02-19 22:04:21 +09:00
Connor McLaughlin
11b90b2beb
Qt: Fix mac build again
2020-02-18 00:31:05 +09:00
Connor McLaughlin
262331504f
Qt: Support binding controller axes
2020-02-18 00:06:28 +09:00
Connor McLaughlin
b7dfe06f74
Qt: Support axes in input binding widgets
2020-02-18 00:06:11 +09:00
Connor McLaughlin
149cbf6457
GPU/HW: Properly implement too-large polygon culling
...
Replaces triangle strips with triangle lists, which has the added bonus
of not requiring flushing as many batches.
Fixes missing geometry in Vagrant Story.
2020-02-17 00:09:45 +09:00
Connor McLaughlin
bbe54df3a8
GPU/HW: Split rectangles on texture page boundaries
...
Fixes the sky in Ape Escape's menu screen, FF7 menu borders, probably
others.
2020-02-17 00:09:31 +09:00
Connor McLaughlin
bd542831a8
GPU: Fix incorrect bit check in DrawMode::IsUsingPalette()
...
Fixes Sony Computer Entertainment fade in the NTSC-J BIOS.
2020-02-17 00:09:27 +09:00
Connor McLaughlin
0f7365117b
SDLControllerInterface: Add missing include
2020-02-16 00:39:06 +09:00
Connor McLaughlin
961bc09979
SDL: Fix crashes on starting emulation
2020-02-16 00:33:43 +09:00
Connor McLaughlin
208928b6dc
Qt: Fix load state menu not refreshing after save
2020-02-16 00:15:18 +09:00
Connor McLaughlin
1e0e802fa4
HostInterface: Add a helper to display a 'Loading Screen' during long startup
2020-02-16 00:15:16 +09:00
Connor McLaughlin
9ddb3a8c7a
SDL: Use controller interface from frontend-common
2020-02-16 00:15:14 +09:00
Connor McLaughlin
6456c5d63d
Qt: Don't resume when booting without game code
2020-02-16 00:15:11 +09:00
Connor McLaughlin
dcc9da3f5e
HostInterface: Don't try to resume system without game code
2020-02-16 00:15:09 +09:00
Connor McLaughlin
06f4d72631
FrontendCommon: Use SDL_InitSubSystem() for lazy initialization
2020-02-16 00:15:05 +09:00
Connor McLaughlin
78a6666439
SDLAudioStream: Don't allow format to change
2020-02-16 00:15:02 +09:00
Connor McLaughlin
e48e6141c8
Qt: Set display window size on context create not constructor
...
The size isn't known at construction time.
2020-02-16 00:15:00 +09:00
Connor McLaughlin
cd2f6d1f68
HostInterface: Only display error when loading resume state if boot anyway flag isn't set
2020-02-16 00:14:58 +09:00
Connor McLaughlin
6d945439eb
Qt: Fix possible crash/race when startup fails
2020-02-16 00:14:56 +09:00
Connor McLaughlin
59cf799491
Qt: Implement controller interface/binding
2020-02-16 00:14:53 +09:00
Connor McLaughlin
6a1206dde7
Frontends: Add option for "Increase Timer Resolution"
2020-02-16 00:14:51 +09:00
Connor McLaughlin
e01cf0dccb
Frontends: Implement auto save on exit/resume
2020-02-16 00:14:49 +09:00
Connor McLaughlin
e738b87a25
HostInterface: Add helpers for resume save state
2020-02-16 00:14:47 +09:00
Connor McLaughlin
5f3be68028
HostInterface: Notify host when controller types change
2020-02-16 00:14:44 +09:00
Connor McLaughlin
b0c846388e
SDL: Only save settings when changes have been made
2020-02-16 00:14:42 +09:00
Connor McLaughlin
37d765e8d7
HostInterface: Support switching audio backends
2020-02-16 00:14:40 +09:00
Connor McLaughlin
6a0c15b649
HostInterface: Move timer resolution increase to base class
2020-02-16 00:14:37 +09:00
Connor McLaughlin
1e009133ae
Rename 'Default' audio backend to 'SDL'
2020-02-16 00:14:35 +09:00
Connor McLaughlin
d17f0a3923
Qt: Implement disc change in QtHostInterface
2020-02-16 00:14:33 +09:00
Connor McLaughlin
e5740a5632
Qt: Pass QStrings by reference in HostInterface
2020-02-16 00:14:30 +09:00
Connor McLaughlin
fd8ed08307
Move more logic from frontend to base HostInterface
2020-02-16 00:14:28 +09:00
Connor McLaughlin
f0578bb932
HostInterface: Make helper methods const
2020-02-16 00:14:25 +09:00
Connor McLaughlin
153eded978
Qt: Use a single column in hotkey binding list
2020-02-16 00:14:23 +09:00
Connor McLaughlin
5c303705ac
Qt: Use scroll area for hotkey binding list
2020-02-16 00:14:08 +09:00
Connor McLaughlin
1ce1e016ae
Qt: Implement save state menus
2020-02-16 00:14:04 +09:00
Connor McLaughlin
97ea851097
Qt: Narrowing warning fix
2020-02-16 00:14:02 +09:00
Connor McLaughlin
7290e5cad0
HostInterface: Add per-slot save state helper functions
2020-02-16 00:14:00 +09:00
Connor McLaughlin
9148581213
GPU: Narrowing warning fix
2020-02-16 00:13:57 +09:00
Connor McLaughlin
3bafdf88d4
SDL: Fix uninitialized mapping variables
2020-02-16 00:13:55 +09:00
Connor McLaughlin
745c2785b2
Move shared frontend code from SDL to a seperate project
2020-02-16 00:13:53 +09:00
Connor McLaughlin
24bebf7f59
SDL: Add emulation speed slider
2020-02-16 00:13:48 +09:00
Connor McLaughlin
fd2ca2927e
Common/FileSystem: Fix recursive directory creation
2020-02-15 23:19:27 +09:00
Connor McLaughlin
befa2a27d8
HostInterface: Fix crash in SetUserDirectory
2020-02-15 23:12:15 +09:00
Connor McLaughlin
b605a84f7d
HostInterface: Set user directory for Linux/macOS, portable.txt support
2020-02-15 22:36:16 +09:00
Connor McLaughlin
f5482cb3b6
Don't require OpenGL compatibility profile
2020-02-15 21:11:51 +09:00
Connor McLaughlin
1c17d5495e
CMake: Attempting to around SDL2 issues on macOS
2020-02-15 17:40:21 +09:00
Connor McLaughlin
65b5013da0
Qt: Work around indirect include of glext.h by QOpenGLContext on macOS
...
Hacky, but aside from not using glad I'm not sure what else to do.
2020-02-15 17:23:35 +09:00
Connor McLaughlin
15e49b9f61
Core/TimingEvent: Add missing <string> include
2020-02-15 11:34:57 +09:00
Connor McLaughlin
f0910dc948
Common/FileSystem: Include fix
2020-02-15 11:00:54 +09:00
Connor McLaughlin
f805764fea
Common/FileSystem: More OSX fixes..
2020-02-15 10:50:33 +09:00
Connor McLaughlin
2ac8f7a6ac
Common/FileSystem: uint32 -> u32
2020-02-15 10:34:48 +09:00
Connor McLaughlin
244302557f
SDL: Add missing <cmath> include to sdl_host_interface.cpp
2020-02-15 10:29:46 +09:00
Connor McLaughlin
8eba4b379c
Settings: Default to D3D11 renderer on Windows
...
This point it's less buggy and slightly more performant.
2020-02-15 10:21:59 +09:00
Connor McLaughlin
4681f9d744
Common/FileSystem: Don't include malloc.h on macOS
2020-02-15 10:12:55 +09:00
Connor McLaughlin
33f3ab4d86
Common/FIFOQueue: Use posix_memalign instead of memalign
2020-02-15 00:08:56 +09:00
Connor McLaughlin
23c8a5588d
Add macOS to some Linux/Android-only-isms
2020-02-14 22:58:18 +09:00
Connor McLaughlin
5aba89091e
HostInterface: Fix possible crash in BIOS loading
2020-02-14 22:45:54 +09:00
Connor McLaughlin
d7f8884291
Qt: Fix compilation under clang-9
...
Fixes #23 .
2020-02-13 16:54:09 +09:00
Connor McLaughlin
c008a5d523
Display: Fix bleeding from adjacent VRAM columns with linear filtering
2020-02-13 00:19:46 +09:00
Connor McLaughlin
5c7ef65a34
HostInterface: Non-standard speeds are <100% too
2020-02-12 21:27:43 +09:00
Connor McLaughlin
b8210ecbe3
GPU: Use correct texture page size in overlap tracking
2020-02-12 20:58:34 +09:00
Connor McLaughlin
278aa86d14
SPU: Refactor ADSR/implement exponential mode
2020-02-11 23:10:00 +09:00
Connor McLaughlin
e098c83342
HostInterface: Disable vsync/audio sync when running at not-100% speed
2020-02-11 12:03:25 +09:00
Connor McLaughlin
70fe43a3ec
System: Implement variable emulation speed
2020-02-11 12:02:42 +09:00
Connor McLaughlin
a81a0c0f21
Qt: Add normalized float values to SettingWidgetBinder
2020-02-10 22:44:00 +09:00
Connor McLaughlin
9ac7b002e2
GPU/HW: Improve dirty rectangle tracking
...
Fixes title screen of Activision Classics and performance regression
from Vagrant Story motion blur fix.
2020-02-09 22:49:53 +09:00
Connor McLaughlin
2bf6912f39
Qt: Simplify emulation thread loop
2020-02-09 22:16:37 +09:00
Connor McLaughlin
c820ddba79
HostInterface: Move throttle and perf stats to System class
2020-02-09 22:16:25 +09:00
Connor McLaughlin
895cefec60
Qt: Fix core trying to use core OpenGL shaders on OpenGL ES
2020-02-08 21:18:41 +09:00
Connor McLaughlin
1e45c9c4e1
GPU: Fix incorrect overwrite of set mask bit from draw mode
...
Fixes motion blur in Vagrant Story.
2020-02-08 00:01:37 +09:00
Connor McLaughlin
287ab93cdc
GPU: Fix texture bit15 not propogating when blending enabled
2020-02-08 00:01:12 +09:00
Connor McLaughlin
ac5af4658d
GPU: Mask bit check should use existing colour not new colour
2020-02-07 00:11:12 +09:00
Connor McLaughlin
a36fe8bfe6
GPU: Keep drawing area invalidated after invalidating shadow VRAM copy
...
Partially fixes the motion blur in Vagrant Story.
2020-02-07 00:10:58 +09:00
Connor McLaughlin
d1c8775996
Common/Rectangle: Compile fix when using operator=
2020-02-07 00:10:46 +09:00
Connor McLaughlin
7e862cd63e
GPU: Texture bit should be ignored when drawing lines
...
Fixes line flickering in Vagrant Story.
2020-02-07 00:10:36 +09:00
Stenzek
8d9ce82281
Qt: Slightly rework desktop/GLES context creation
2020-02-06 21:02:47 +09:00
Stenzek
8654778298
Qt: OpenGL display window crash fix
2020-02-05 22:47:49 +09:00
Stenzek
e4e15f234b
Qt: Fix up debug CPU mode switch menu
2020-02-05 17:43:25 +09:00
Stenzek
057263bda3
HostInterface: Track changes to CPU mode in ApplySettings()
2020-02-05 17:43:15 +09:00
Stenzek
c26b9bc54c
System: UpdateCPUExecutionMode -> SetCPUExecutionMode
2020-02-05 17:43:00 +09:00
Stenzek
93f85535eb
Qt: Handle creation of ES contexts even when it wasn't specified
2020-02-05 17:42:50 +09:00
Stenzek
edb6d7c97e
Qt: Add debug settings to menu
2020-02-04 15:22:56 +09:00
Stenzek
733ab1bca0
Settings: Store debug settings to ini
2020-02-04 15:22:48 +09:00
Stenzek
6718f0442c
Qt: Support QActions in SettingsWidgetBinder
2020-02-04 15:22:39 +09:00
Connor McLaughlin
52fd070d3b
Build: Compile tinyxml2 as static library instead of dll
2020-02-03 14:22:17 +10:00
Connor McLaughlin
ec55ab7f5e
Build: Rename duckstation to duckstation-sdl
2020-02-03 14:16:59 +10:00
Connor McLaughlin
5957df5b5c
Update SDL2 to 2.0.10
2020-02-03 13:53:31 +10:00
Connor McLaughlin
4eadc07629
Common/StringUtil: Fix more incorrect usage of va_list
2020-02-03 13:53:17 +10:00
Connor McLaughlin
899a8e0f03
Qt: Add "Use Debug Device" to GPU settings
2020-02-02 00:22:14 +10:00
Connor McLaughlin
96be414e3e
Qt: Populate console region drop-down dynamically
2020-02-02 00:22:07 +10:00
Connor McLaughlin
b11a7a106f
Common/Log: Fix corrupted output/UB with va_copy
...
Fixes crashes on GCC9+ (#9 ), maybe others.
2020-02-01 11:04:46 +10:00
Connor McLaughlin
c72d86cf1b
Qt: Hook up CPU execution mode setting
2020-02-01 00:05:20 +10:00
Connor McLaughlin
e11c7190b5
Linux build fix
2020-01-30 20:20:21 +10:00
Connor McLaughlin
070e6c32d6
Frontends: Add .chd files to open filter
2020-01-30 20:06:15 +10:00
Connor McLaughlin
c1c82eb3f3
Common/CDImage: Support CHD format
2020-01-30 20:06:15 +10:00
Connor McLaughlin
18d5086e4c
Common/CDImage: Changes to support CHD interfaces
2020-01-30 20:06:15 +10:00
Connor McLaughlin
0b7abf244e
Timers: Fix sync mode 3 inverted condition
2020-01-30 16:22:05 +10:00
Connor McLaughlin
88936463d7
GPU: Toggle vblank timer gate for full frame
...
Regression from event system. Fixes Ridge Racer.
2020-01-30 16:22:05 +10:00
Connor McLaughlin
288b680e07
FileSystem: Add ReplaceExtension() helper
2020-01-30 16:22:05 +10:00
Connor McLaughlin
6624df1e8c
Qt: Add CPU settings/emulation speed to console settings
2020-01-29 00:01:44 +10:00
Connor McLaughlin
5272ecd572
Qt: Support binding settings to QSliders
2020-01-29 00:01:35 +10:00
Connor McLaughlin
4c59d8a9ea
Linux build fix
2020-01-24 16:44:13 +10:00
Connor McLaughlin
1b9609ef61
Implement event-based scheduler instead of lock-step components
2020-01-24 16:23:39 +10:00
Connor McLaughlin
624888e131
HostInterface: Default BIOS path to bios subdirectory
2020-01-24 14:52:12 +10:00
Connor McLaughlin
faf2308695
Settings: Move set defaults to HostInterface so it can use user paths
2020-01-24 14:52:04 +10:00
Connor McLaughlin
b5e73a0be4
HostInterface: Add helper methods for getting paths to save states/memcards
2020-01-24 14:52:03 +10:00
Connor McLaughlin
a83cad5872
GPU/D3D11: Use shader bytecode cache
2020-01-24 14:52:01 +10:00
Connor McLaughlin
82da9a4505
D3D11: Add a shader bytecode cache class
2020-01-24 14:52:00 +10:00
Connor McLaughlin
2276975d62
Qt: Implement GitHub Repository/Issue Tracker links
2020-01-24 14:51:59 +10:00
Connor McLaughlin
1ed187fd57
Qt: Add hotkey for increasing/decreasing resolution scale
2020-01-24 14:51:57 +10:00
Connor McLaughlin
40799d0f77
HostInterface: Move ModifyResolutionScale() to base class
2020-01-24 14:51:56 +10:00
Connor McLaughlin
8148486a9f
Qt: Add hotkey to toggle software rendering
2020-01-24 14:51:55 +10:00
Connor McLaughlin
4a3478b360
HostInterface: Add function to switch between sw/hw rendering
2020-01-24 14:51:53 +10:00
Connor McLaughlin
f2231d6669
HostInterface: Move setting update logic to base class
2020-01-24 14:51:52 +10:00
Connor McLaughlin
82563d94f4
HostInterface: Fix offset OSD messages in Qt frontend
2020-01-24 14:51:38 +10:00
Connor McLaughlin
687772c4da
HostDisplay: Move some derived class fields to base class
2020-01-24 14:51:36 +10:00
Connor McLaughlin
736d85b0f3
Qt: Implement display linear filtering
2020-01-24 14:51:34 +10:00
Connor McLaughlin
abf48b6cc2
Qt: Update GPU settings when enhancements are changed
2020-01-24 14:51:33 +10:00
Connor McLaughlin
f05f5aeb2b
Qt: Implement browse button for BIOS path
2020-01-24 14:51:31 +10:00
Connor McLaughlin
2694181811
Qt: Hook up HostInterface::Report{Error,Message}
2020-01-24 14:51:30 +10:00
Connor McLaughlin
19cd91a684
Qt: Fix crash on exit when boot fails
2020-01-24 14:51:28 +10:00
Connor McLaughlin
78f984c412
Qt: Add automatic download of redump disc database for game list
2020-01-24 14:51:25 +10:00
Connor McLaughlin
b937275073
Qt: Link with and copy Qt5Network library
2020-01-24 14:51:24 +10:00
Connor McLaughlin
65ae85eb7b
Qt: Skeleton for audio settings
2020-01-24 14:51:13 +10:00
Connor McLaughlin
c5faa36f43
GameList: Add function to query whether database exists
2020-01-24 14:51:12 +10:00
Connor McLaughlin
f6fee86f1c
HostInterface: Create user directories on startup
2020-01-24 14:51:10 +10:00
Connor McLaughlin
b4c06fdcc6
GameList: Auto set cache/database path from user directory
2020-01-24 14:51:09 +10:00
Connor McLaughlin
feb48899c3
Qt: Don't double-create game list
2020-01-24 14:51:07 +10:00
Connor McLaughlin
77b282862f
HostInterface: Move running title info to System
2020-01-24 14:51:05 +10:00
Connor McLaughlin
b3db3a1cc0
HostInterface: Share settings between SDL and Qt frontends
2020-01-24 14:51:03 +10:00
Connor McLaughlin
2c3a0a6af9
HostInterface: Change working directory to user directory at startup
2020-01-24 14:51:02 +10:00
Connor McLaughlin
53428cb55b
HostInterface: Add user directory helpers
2020-01-24 14:51:00 +10:00
Connor McLaughlin
7afb79aee6
Common: Add FileSystem::{Get,Set}WorkingDirectory functions
2020-01-24 14:50:58 +10:00
Connor McLaughlin
de4e45a433
Common: Add a function to get the path to the running program
2020-01-24 14:50:57 +10:00
Connor McLaughlin
9456dc5d9b
Qt: Power off system correctly when exiting
2020-01-24 14:50:56 +10:00
Connor McLaughlin
069bdd471c
Qt: Stub saving resume state when powering off
2020-01-24 14:50:54 +10:00
Connor McLaughlin
0200b9ffc1
Qt: Hook up 'Add Game List Directory' function
2020-01-24 14:50:53 +10:00
Connor McLaughlin
98eb71aa3f
Qt: Fix extra margins in pad settings panel
2020-01-24 14:50:52 +10:00
Connor McLaughlin
1cdd4e01fb
Qt: Reorder settings categories
2020-01-24 14:50:51 +10:00
Connor McLaughlin
8d4d8e44e4
HostInterface: Saving state message should be OSD not error
2020-01-24 14:50:50 +10:00
Connor McLaughlin
0a5f7fcd75
System: Update running game when media changes from save state
2020-01-24 14:50:48 +10:00
Connor McLaughlin
f2d5ce74df
Qt: Fix bug where render window is not focused leaving fullscreen
2020-01-24 14:50:47 +10:00
Connor McLaughlin
20b60e0f01
Qt: Update window title/save states from running title
2020-01-24 14:50:46 +10:00
Connor McLaughlin
82b4229f1b
GameList: Move entry to global scope so it can be forward declared
2020-01-24 14:50:44 +10:00
Connor McLaughlin
183928b0f6
Qt: Skeleton of load/save state menus
2020-01-24 14:50:42 +10:00
Connor McLaughlin
1998aa96a4
Qt: Simplify Change Disc menu logic
2020-01-24 14:50:40 +10:00
Connor McLaughlin
69841d0a09
Qt: Move quick CPU/GPU switch to Debug menu
2020-01-24 14:49:54 +10:00
Connor McLaughlin
6737b3ec44
Qt: Drop Settings accessor from HostInterface
...
This should only be accessed on the emulation thread.
2020-01-24 14:49:53 +10:00
Connor McLaughlin
d343743768
Qt: Safer GPU renderer switching
2020-01-24 14:49:51 +10:00
Connor McLaughlin
c5282b99e1
Qt: Thread-safe QSettings access and updating
2020-01-24 14:49:49 +10:00
Connor McLaughlin
9562cbea56
Frontends: Add frame time performance counters
2020-01-24 14:49:47 +10:00
Connor McLaughlin
67710ca184
Qt: Add a signal when the game list selection is changed
2020-01-24 14:49:46 +10:00
Connor McLaughlin
99af858562
Qt/GameList: Fix incorrect game booting when sorted
2020-01-24 14:49:44 +10:00
Connor McLaughlin
bfef42f4cb
GPU: Fix possible driver crash on oversized update/fill
2020-01-23 00:01:05 +10:00
Connor McLaughlin
d2db6bf9c3
Common/Rectangle: Add clamp methods
2020-01-22 23:57:12 +10:00
Connor McLaughlin
a5135ceeb0
GameList: Fix incorrect loading of cache
2020-01-22 17:56:58 +10:00
Connor McLaughlin
a832138191
Settings: Add missing Cubeb entry to audio backend names
2020-01-21 21:27:29 +10:00
Connor McLaughlin
8096dc510d
Settings: Add missing load/store of GPU/ForceProgressiveScan
2020-01-21 21:27:21 +10:00
Connor McLaughlin
ed1ac6df4a
Frontend: Fix error in swap chain ResizeBuffers()
2020-01-20 17:26:57 +10:00
Connor McLaughlin
b9538a55f5
Settings: Add option for creating a debug GPU device
2020-01-19 14:54:19 +10:00
Connor McLaughlin
8378e5ed0d
Frontend: Don't use debug D3D11 device
2020-01-19 12:24:26 +10:00
Connor McLaughlin
46033898ba
Frontends: Use DXGI_PRESENT_FLAG_ALLOW_TEARING for presentatation
2020-01-18 18:12:09 +10:00
Connor McLaughlin
159786c3f1
Common/Assert: Fix incorrect windows platform detection
2020-01-17 21:36:31 +10:00
Connor McLaughlin
25004f882e
SDL: Fix multiple entries for settings being created in ini
2020-01-16 14:36:31 +10:00
Connor McLaughlin
504510c242
GPU: Fix reading of write-combined GPU buffers
...
+100fps in recompiler modes
2020-01-16 14:36:10 +10:00
Connor McLaughlin
0861a1e579
Common: Remove unused type declarations
2020-01-13 12:01:39 +10:00
Connor McLaughlin
4de82bda6d
Linux build for cubeb
2020-01-12 15:17:15 +10:00
Connor McLaughlin
28efc50a04
Qt: Fix worker thread lockup on shutdown
2020-01-11 14:21:08 +10:00
Connor McLaughlin
1911ab2e1c
CubebAudioStream: Initialize COM on Windows if it isn't already initialized
2020-01-11 14:20:51 +10:00
Connor McLaughlin
d52d6252a9
Qt: Remove QAudioOutput-based audio stream
2020-01-11 14:04:58 +10:00
Connor McLaughlin
835bbfaea5
Merge branch 'cubeb'
2020-01-11 13:52:02 +10:00
Connor McLaughlin
8f6ac437ab
Frontends: Add cubeb as audio backend option
2020-01-11 13:51:44 +10:00
Connor McLaughlin
9586970a9f
AudioStream: Add cubeb implementation
2020-01-11 13:51:41 +10:00
Connor McLaughlin
c6119c210a
Revert "DMA: Delay GPU transfers by block count"
...
This reverts commit 0639f4264f
.
Breaks FF7's FMVs in the top row. Needs GPU timings.
2020-01-11 13:40:04 +10:00
Connor McLaughlin
3e90d79df7
Pad: Fix log spam
2020-01-11 13:29:30 +10:00
Connor McLaughlin
e68e67f161
SDL: Fix log spam in Release builds
2020-01-11 13:29:22 +10:00
Connor McLaughlin
71c1e243fe
Remove YBaseLib dependency
2020-01-10 13:40:53 +10:00
Connor McLaughlin
1c2c4c8489
Qt: Fix emulation thread using 100% CPU when idle
2020-01-10 13:28:13 +10:00
Connor McLaughlin
c52040434a
Core: Linux warning fixes
2020-01-09 08:46:52 +10:00
Connor McLaughlin
06d26084fb
Frontend: Linux compile fix
2020-01-08 15:06:31 +10:00
Connor McLaughlin
2611e64459
Qt: Implement game list sorting
2020-01-08 15:01:04 +10:00
Connor McLaughlin
64426a0be2
Qt: Fix shutdown-and-restart failing in D3D11 renderer
2020-01-08 14:00:28 +10:00
Connor McLaughlin
25f55690f2
Qt: Add icons for game list entry type (disc/exe)
2020-01-08 13:50:44 +10:00
Connor McLaughlin
ecc8109d43
Qt: Show flags for region instead of text
2020-01-08 13:39:19 +10:00
Connor McLaughlin
9402c7c145
Qt: Fix double-free/crash on shutdown
2020-01-08 13:39:04 +10:00
Connor McLaughlin
048c6835e5
Qt: Don't highlight headings in game list
2020-01-08 13:38:31 +10:00
Connor McLaughlin
c03c1451fe
GameList: Support caching entries
2020-01-08 13:37:43 +10:00
Connor McLaughlin
e0086156ca
System: Compile fix for Linux
2020-01-08 13:34:21 +10:00
Connor McLaughlin
e7bebb0105
Qt: Support runtime renderer switching
2020-01-07 18:55:36 +10:00
Connor McLaughlin
c6d6b0405f
Qt: Don't create imgui.ini
2020-01-07 18:55:26 +10:00
Connor McLaughlin
d32383bd95
Settings: Don't include D3D11 renderer on non-WIN32 platforms
2020-01-07 18:54:39 +10:00
Connor McLaughlin
686df4a203
Qt: Improve imgui hidpi scaling
2020-01-07 18:52:33 +10:00
Connor McLaughlin
168eb5fe2d
Qt: Add D3D11 display window implementation
2020-01-07 15:54:44 +10:00
Connor McLaughlin
5076d7dfe8
Qt: Fix handling of display window size in hidpi
2020-01-07 14:27:48 +10:00
Connor McLaughlin
1b7be01507
Qt: Implement audio output
2020-01-07 14:18:51 +10:00
Connor McLaughlin
207c75e6eb
Qt: Implement fullscreen
2020-01-06 16:27:39 +10:00
Connor McLaughlin
87889a13e0
Qt: Properly handle modifier keys for input
2020-01-06 15:14:47 +10:00
Connor McLaughlin
6d5eca13a6
Qt: Ignore key repeat events for input
2020-01-06 14:08:15 +10:00
Connor McLaughlin
d61f12cb4e
Qt: Set focus to display window when starting
2020-01-06 14:08:00 +10:00
Connor McLaughlin
40e1b7af23
Qt: Initial hotkey implementation
2020-01-05 12:46:03 +10:00
Connor McLaughlin
0590f0935c
HostInterface: Fix compile error on Linux
2020-01-04 15:25:15 +10:00
Connor McLaughlin
d88fc20434
Qt: GPU settings tab
2020-01-03 17:51:58 +10:00
Connor McLaughlin
fbf5e7f0e3
Qt: Enable DPI scaling
2020-01-03 17:51:45 +10:00
Connor McLaughlin
bea15c97cd
Qt: ImGui support
2020-01-02 19:14:16 +10:00
Connor McLaughlin
9de0bf0aaf
HostInterface: Most some imgui logic from SDL to core
2020-01-02 19:14:06 +10:00
Connor McLaughlin
9436ffc806
Qt: Move some functionalty from OpenGLDisplayWindow into QtDisplayWindow
2020-01-02 17:45:25 +10:00
Connor McLaughlin
ac6a7bad3f
Qt: Hack for setting swap interval at runtime (currently Windows only)
2020-01-02 16:33:52 +10:00
Connor McLaughlin
b135b32159
Qt: Add config and implementation for basic controller input
2020-01-02 16:13:03 +10:00
Connor McLaughlin
eb7659368e
Qt: Add natvis file for Qt data structures
2020-01-02 16:11:22 +10:00
Connor McLaughlin
4b1541087a
Controller: Add methods to query buttons/axises for a controller type
2020-01-02 16:10:42 +10:00
Connor McLaughlin
0528a2a1f9
Settings: Put each controller in its own config section
2020-01-02 16:10:30 +10:00
Connor McLaughlin
3bdafa1932
Qt: Fix double-scanning of game list at start
2020-01-01 14:02:45 +10:00
Connor McLaughlin
77a47c87d2
Qt: Hook up console settings
2020-01-01 14:01:58 +10:00
Connor McLaughlin
62e1829ec9
Qt: Fix recursive setting toggle in game list settings
2019-12-31 16:40:24 +10:00
Connor McLaughlin
f3e9c3ec8c
Add initial work on Qt frontend
2019-12-31 16:18:30 +10:00
Connor McLaughlin
98214a9327
SettingsInterface: Add support for string list settings
2019-12-31 16:16:47 +10:00
Connor McLaughlin
dbf651e493
CPU/Interpreter: Remove redundant comparison in divu instruction
2019-12-31 11:41:52 +10:00
Connor McLaughlin
0f1f5a4f49
Settings: Define an abstract settings retrieval interface
...
Can be used by both Android and Qt to access their platform-dependent
formats.
2019-12-30 21:22:49 +10:00
Connor McLaughlin
6176fc4486
NullAudioStream: Provide factory function
2019-12-30 00:45:50 +10:00
Connor McLaughlin
e66214d93e
GameList: Fix non-recursive scanning
2019-12-30 00:45:37 +10:00
Connor McLaughlin
0639f4264f
DMA: Delay GPU transfers by block count
...
Needs real GPU timings, but fixes NFS5 in the meantime.
2019-12-29 15:34:07 +10:00
Connor McLaughlin
41cf894488
GPU/HW: Fix readback of odd transfer widths
...
Fixes character model flailing and crash in FF9.
2019-12-28 15:50:37 +10:00
Connor McLaughlin
d118377c9e
CPU/Recompiler: Reduced forced PC flushes
2019-12-28 14:04:15 +10:00
Connor McLaughlin
620284f7d1
CPU/Recompiler/AArch64: Use PC-relative branches to far code
2019-12-27 20:38:07 +10:00
Connor McLaughlin
9f45c67b1d
JitCodeBuffer: Fix compilation on AArch64
2019-12-27 20:38:07 +10:00
Connor McLaughlin
29355bc44d
CPU/Recompiler: Move branch codegen to base class
2019-12-27 20:38:07 +10:00
Connor McLaughlin
aabe5b9287
CPU/Recompiler: Add GetCurrentCodePointer()
2019-12-27 20:38:07 +10:00
Connor McLaughlin
390b6da0b8
CPU/Recompiler: Add unconditional EmitBranch
2019-12-27 20:38:07 +10:00
Connor McLaughlin
4f2c1e1a6b
CPU/Recompiler: Add EmitBindLabel and EmitBranchIfBitClear
2019-12-27 20:38:07 +10:00
Connor McLaughlin
03a36645a2
Settings: Save fullscreen setting to ini
2019-12-27 20:38:07 +10:00
Connor McLaughlin
5bb2b3ec63
Frontend: Add audio backend to settings (switch-while-running)
2019-12-27 20:38:07 +10:00
Connor McLaughlin
0eab6435fe
Frontend: Use configured audio backend when creating stream
2019-12-27 20:38:07 +10:00
Connor McLaughlin
16317d077e
Settings: Add audio backend, move sync settings to Display/Audio
2019-12-27 20:38:07 +10:00
Connor McLaughlin
ed7aabe5f2
Common: Add a NullAudioStream implementation
2019-12-23 17:02:11 +10:00
Connor McLaughlin
c8d3b2c546
GPU/Software: Use templates for render functions
2019-12-22 19:34:24 +10:00
Connor McLaughlin
a1b52980e2
GPU: Implement line renderering in software renderer
2019-12-22 18:53:20 +10:00
Connor McLaughlin
ad93d83421
JitCodeBuffer: Don't leak code space on Windows
2019-12-21 22:09:08 +10:00
Connor McLaughlin
decf416aee
JitCodeBuffer: Expose FlushInstructionCache() to callers
2019-12-20 21:55:25 +10:00
Connor McLaughlin
1de096224c
JitCodeBuffer: Fix far code pointer not being initialized without reset
2019-12-20 21:55:21 +10:00
Connor McLaughlin
ad21f48a67
Fix Android build after controller changes
2019-12-16 16:46:43 +10:00
Connor McLaughlin
52c82b6aa3
Pad: Change controller types when loading states if needed
2019-12-16 00:05:48 +10:00
Connor McLaughlin
0df741a799
Frontend: Disable controller input for navigating UI
...
It seems to interfere too much with normal gameplay.
2019-12-16 00:05:33 +10:00
Connor McLaughlin
6f7154fbef
Frontend: Rumble support
2019-12-15 23:24:34 +10:00
Connor McLaughlin
cbcb9b02b0
AnalogController: Rumble support
2019-12-15 23:22:53 +10:00
Connor McLaughlin
1d2bd11b02
Frontend: Add controller settings
2019-12-15 22:24:27 +10:00
Connor McLaughlin
a347b3606e
Implement support for analog controllers
2019-12-15 21:58:27 +10:00
Connor McLaughlin
e4595992a5
Frontend: Fix crash in controller input
2019-12-15 21:58:10 +10:00
Connor McLaughlin
6e18e56089
Controller: Support general axis input events
2019-12-15 00:32:55 +10:00
Connor McLaughlin
32d8b4dc84
Frontend: Dynamic button mapping based on controller type
2019-12-15 00:17:43 +10:00
Connor McLaughlin
c65279f944
System: Create controllers dynamically based on config
2019-12-14 23:29:26 +10:00
Connor McLaughlin
ea0845d5ad
Move controller creation to System class, switch shared_ptr to unique_ptr
2019-12-14 23:20:24 +10:00
Connor McLaughlin
5fd421860a
GameList: Support detecting region from system area of CDROM
...
More accurate than basing it off the code, and better support for
homebrew discs.
2019-12-13 16:51:40 +10:00
Connor McLaughlin
f77721b84d
CPU/Recompiler: Fix "jalr t0, t0" and like instructions (mainly AArch64)
2019-12-13 14:36:41 +10:00
Connor McLaughlin
5e5b1b64db
CPU/Recompiler: Incorporate latest work into AArch64 backend
2019-12-13 01:25:05 +10:00
Connor McLaughlin
44c76f3bf3
CPU/Recompiler: Support three-operand basic operations
...
e.g. add r1, r2, r3. This eliminates the extra move on ARM.
2019-12-13 00:51:41 +10:00
Connor McLaughlin
41298a74e1
CPU/Recompiler: Fetch instruction before dispatching interrupts
...
Fixes polygon glitches in Crash.
2019-12-12 23:55:42 +10:00
Connor McLaughlin
aa52dbfeb8
CPU/Recompiler: Use register cache for managing pc
...
Reduces the number of loadstores after each instruction.
2019-12-12 23:55:23 +10:00
Connor McLaughlin
002d1cd4fd
CPU/CoreCache: Use virtual (unmasked) address as PC
2019-12-12 20:23:53 +10:00
Connor McLaughlin
a267451614
CPU/Recompiler: Remove unused code
2019-12-12 20:17:52 +10:00
Connor McLaughlin
20c7aaf74b
CPU/Recompiler: Support pushing/popping the register cache state
2019-12-12 20:15:54 +10:00
Connor McLaughlin
1905d22a9a
CPU/Recompiler/AArch64: Fix potential stack corruption in function calls
2019-12-12 02:38:03 +10:00
Connor McLaughlin
18066239b7
CPU/Recompiler: Fix bad codegen on slti where rd==rs
2019-12-12 00:00:48 +10:00
Connor McLaughlin
aafac96f34
CPU/Recompiler: Linux/Android compile fix
2019-12-11 22:54:22 +10:00
Connor McLaughlin
37933e9678
CPU/Recompiler: Read GTE registers directly from struct
2019-12-11 22:33:54 +10:00
Connor McLaughlin
b0eb8074f5
CPU/Recompiler: Implement lwc2/swc2
2019-12-11 22:04:11 +10:00
Connor McLaughlin
a5afb250ea
CPU/Recompiler: Don't require fallback for GTE instructions
2019-12-11 21:54:08 +10:00
Connor McLaughlin
a6dab97928
CPU: Simplify GTE register addressing
2019-12-11 21:44:26 +10:00
Connor McLaughlin
4e7d420a06
CPU/Recompiler: Implement mfc0/mtc0/rfe
2019-12-11 20:50:55 +10:00
Connor McLaughlin
f5d65448d6
GPU: Improve structure alignment
2019-12-11 20:28:14 +10:00
Connor McLaughlin
8f624afb59
GPU: Fix handling of GP1(09h)
2019-12-11 16:47:49 +10:00
Connor McLaughlin
ffe90083d3
GPU: Refactor draw mode setting
2019-12-11 16:35:14 +10:00
Connor McLaughlin
cda2394287
System: Fix loading of EXEs with sp=0 (leave unchanged)
2019-12-11 16:34:56 +10:00
Connor McLaughlin
bf44f72169
Frontend: Remove unused texture for icon
2019-12-11 00:06:44 +10:00
Connor McLaughlin
6f78fea159
GL: Improve error handling with texture creation
2019-12-11 00:02:12 +10:00
Connor McLaughlin
05e6d4c401
GPU/OpenGL: Clean up VAOs at shutdown time
...
These were leaking before.
2019-12-10 23:37:01 +10:00
Connor McLaughlin
152b56c8cc
GPU: Fix mask bit setting on non-textured polygons
...
Fixes garbled colours in FMVs in some games.
2019-12-10 23:27:41 +10:00
Connor McLaughlin
0d293c4be4
Settings: Disable fast boot and TTY output by default
...
The latter can cause crashes in some games.
2019-12-10 23:06:45 +10:00
Connor McLaughlin
56b87f33c0
Controller: Linux build fix
2019-12-10 23:05:19 +10:00
Connor McLaughlin
df6e079920
GPU: Add a Force Progressive Scan option (disable interlacing)
2019-12-10 22:52:46 +10:00
Connor McLaughlin
fb0aad0917
System: Include SIO in save state
2019-12-10 00:28:58 +10:00
Connor McLaughlin
89e9373037
Controller: Add a set-button interface in base class
2019-12-09 01:06:58 +10:00
Connor McLaughlin
da14b10e72
Split MemoryCard and PadDevice (now Controller)
2019-12-09 00:52:00 +10:00
Connor McLaughlin
c1710482df
Pad: Add button name -> code lookup functions
2019-12-09 00:46:04 +10:00
Connor McLaughlin
8930383c96
GPU: Use start address in computation of drawing_even_line
2019-12-08 00:40:52 +10:00
Connor McLaughlin
42ee55ae17
CDROM: Seek to start of first track on stop
...
Fixes WipEout crashing after track selection.
2019-12-07 21:09:30 +10:00
Connor McLaughlin
315f2b701a
Stub out SIO controller
...
Fixes WipEout booting.
2019-12-07 21:09:04 +10:00
Connor McLaughlin
67c67bbb66
GPU: Add basic texture filtering support
...
Still has issues around the edges of text.
2019-12-07 17:03:56 +10:00
Connor McLaughlin
c284d3835f
GPU: Add a simplified OpenGL ES renderer
...
Seems this is the only way to get semi-decent performance out of Mali
drivers :/
2019-12-07 01:37:37 +10:00
Connor McLaughlin
b53e32e84f
GL/Program: Add IsBound() method
2019-12-07 01:36:14 +10:00
Connor McLaughlin
8d7b93766d
MemoryCard: Fix incorrect checksum after formatting
...
Fixes memory cards not working in the BIOS.
2019-12-07 00:03:05 +10:00
Connor McLaughlin
54277dc24f
Pad: Update status after ACK
2019-12-07 00:02:47 +10:00
Connor McLaughlin
c1e9617c77
Frontend: Disable KHR_debug for speed
2019-12-06 21:57:24 +10:00
Connor McLaughlin
36fbc4523d
CDROM: Skip reading sectors which have an invalid SubQ checksum
...
i.e. libcrypt support
2019-12-06 21:15:04 +10:00
Connor McLaughlin
bc44d4b1b0
CDImage: Support SBI replacement subchannel Q for cue/bin images
2019-12-06 21:14:58 +10:00
Connor McLaughlin
53621bd3eb
CDROM: Fix clipping when combined left/volume volume > 0x80
2019-12-06 00:33:46 +10:00
Connor McLaughlin
d41a76ac5e
CDImage: Fix incorrect file offset being used for pregap
2019-12-06 00:33:21 +10:00
Connor McLaughlin
4798f35e40
Pad: Delay ACK after receiving byte
...
The controller routines in the BIOS seem to depend on this, if they
happen at the same time depending on what part of the code it was in,
it'll assume no controller is connected.
2019-12-05 23:03:56 +10:00
Connor McLaughlin
9fa8eb239e
CPU: Force-inline some accessor functions
2019-12-05 23:02:03 +10:00
Connor McLaughlin
8b9d44f4dc
System: Use game code for automatic region detection
2019-12-05 17:09:10 +10:00
Connor McLaughlin
eeea5125f7
CPU: Use pending ticks as downcount comparison
...
Saves a few cycles decrementing the downcount.
2019-12-05 16:28:46 +10:00
Connor McLaughlin
0171dc4241
CPU/Recompiler: Prevent vixl from using scratch registers
...
This took too long to find that it was trashing one of our register
cache values. Let it abort instead, until we use the base assembler
instead of the macro assembler.
2019-12-05 02:03:01 +10:00
Connor McLaughlin
914abe64c1
CPU/Recompiler: Extend sign for add/sub/cmp immediates in AArch64
2019-12-05 02:02:23 +10:00
Connor McLaughlin
8c33163ef1
Android: Add type to game list (disc/psexe)
2019-12-04 21:54:14 +10:00
Connor McLaughlin
dec475db62
GameList: Support homebrew/psexe files
2019-12-04 21:12:50 +10:00
Connor McLaughlin
2c645d9e93
JitCodeBuffer: Use __builtin___clear_cache instead of __clear_cache
...
The former exists on Android.
2019-12-04 20:33:02 +10:00
Connor McLaughlin
baaa94d4c1
CPU/Recompiler: Instruction parity between x64 and AArch64
2019-12-04 19:52:56 +10:00
Connor McLaughlin
f49216f5f8
CPU/Recompiler: Implement most instructions for AArch64
2019-12-04 01:50:59 +10:00
Connor McLaughlin
e518cbfffb
CPU/Recompiler: Fallback-all-instructions working in AArch64
2019-12-03 20:45:14 +10:00
Connor McLaughlin
98e67616ec
JitCodeBuffer: Flush cache after committing code on ARM CPUs
...
ARM's instruction and data caches are not coherent, so we need to flush
before executing to ensure there's no stale data left over.
2019-12-03 20:21:32 +10:00
Connor McLaughlin
bbe1cb5fe9
CPU: Preparations for AArch64 recompiler
2019-12-03 01:31:49 +10:00
Connor McLaughlin
efb8033d48
HostInterface: Fix for gcc < 8
2019-12-03 01:29:26 +10:00
Connor McLaughlin
45fc19fd05
GPU: Only latch texpage/mode on polygon/set draw mode
...
Driver seems to draw an off-screen polygon to set up the parameters,
instead of the set draw mode command.
Fixes broken sprites in Driver/Driver 2.
2019-12-02 17:04:26 +10:00
Connor McLaughlin
a3f2286bdb
CDROM: Hack to set subq position before seek instead of after
...
I assume this should be set throughout the seek to the current disc
position, but since we're only updating at the end of the seek, this'll
do.
Fixes music looping in Spyro.
2019-12-02 17:02:59 +10:00
Connor McLaughlin
adc3a2fac1
Android: Support GLES3 and hardware renderers
2019-12-01 21:57:27 +10:00
Connor McLaughlin
299ee05cd9
HostInterface: Move OSD messages to base class
2019-12-01 21:33:56 +10:00
Connor McLaughlin
0a6b913536
HostInterface: Move performance counters to base class
2019-12-01 21:29:09 +10:00
Connor McLaughlin
abfa531648
GameList: Add disc size
2019-12-01 19:52:00 +10:00
Connor McLaughlin
ea52b9e8aa
GameList: Support parsing Redump.org dat files
2019-12-01 19:52:00 +10:00
Connor McLaughlin
04c70b3118
Add initial game list class implementation
2019-11-29 23:46:11 +10:00
Connor McLaughlin
3b11d936df
Common: Add a basic ISO reader class
2019-11-29 23:36:25 +10:00
Connor McLaughlin
ea0b13a05c
More changes to accomodate Android - imgui/host display
2019-11-28 23:32:57 +10:00
Connor McLaughlin
f11d357ab9
Compile fixes for Android
2019-11-28 01:55:33 +10:00
Connor McLaughlin
457743e109
Common/CDImage: Fix double increment of sectors_read
2019-11-28 01:55:09 +10:00
Connor McLaughlin
aec01d3890
Bus: Reduce RAM write delay
2019-11-27 00:01:47 +10:00
Connor McLaughlin
519dbc818d
CPU/CodeCache: Fix DMA writes not invalidating code blocks
...
Fixes Crash Team Racing and Spyro in Cached Interpreter/Recompiler
modes.
2019-11-26 19:45:38 +10:00
Connor McLaughlin
771a151567
GPU/OpenGL: Use CopyImageSubData for VRAM copies
...
Not correct with regard to the mask bit handling, but better than
blitting.
2019-11-25 00:27:23 +10:00
Connor McLaughlin
22e8b6b0a7
System: Fall back to software when D3D11 selected on Linux
2019-11-25 00:24:22 +10:00
Connor McLaughlin
0bc7333e6e
GPU/OpenGL: Set GLSL version string dynamically
...
Rather than hardcoding to 3.3.
2019-11-25 00:17:17 +10:00
Connor McLaughlin
db0d11c2ff
GPU/HW: Cull primitives larger than 1024x512
2019-11-24 23:46:33 +10:00
Connor McLaughlin
024ed01bbb
GPU/HW: Set alpha to mask bit setting
2019-11-24 23:30:35 +10:00
Connor McLaughlin
bc5a247a4b
GPU/HW: Use dual-source blend to split alpha and mask
2019-11-24 23:28:01 +10:00
Connor McLaughlin
9d6d00480c
GPU: Implement mask bit handling in software renderer
...
Still needs implementation in the hardware renderers.
2019-11-24 18:47:42 +10:00
Connor McLaughlin
6c6bf8714c
CPU/Recompiler: Only check interpreter load delay when it's dirty
2019-11-24 16:51:08 +10:00
Connor McLaughlin
e3965d9be3
CPU/Recompiler: Fix b{ltz,gez}al when using a load delayed register
2019-11-24 16:47:21 +10:00
Connor McLaughlin
8c5fcc8f48
CPU: Fix more load delay slot issues
...
Fixes Spyro again. b{ltz,gez}(al)? disabled in the recompiler until
issues are fixed.
2019-11-24 01:11:51 +10:00
Connor McLaughlin
897e75fa8e
CPU/Recompiler: Fix code generation crash on Linux
2019-11-23 21:38:38 +10:00
Connor McLaughlin
889bd73ac8
CPU: Add settings for execution mode
2019-11-23 20:22:09 +10:00
Connor McLaughlin
b8de55b9b8
CPU/Recompiler: Implement simple block linking
2019-11-23 19:56:19 +10:00
Connor McLaughlin
201be8aa9c
CPU: Fix interpreter speed regression from recompiler
...
Seems the logging prevented ExecuteInstruction() from being inlined.
2019-11-23 19:49:44 +10:00
Connor McLaughlin
5d0a6f88ad
CDROM: Header valid/playing should not be set on SeekL
...
Fixes Syphon Filter locking up on boot.
2019-11-23 19:13:50 +10:00
Connor McLaughlin
9da4e642af
CMake: Include SDL2 module in-tree
2019-11-23 19:07:54 +10:00
Connor McLaughlin
bb4ef2103e
GPU: Fix dump vram-to-cpu copies
2019-11-23 19:07:17 +10:00
Connor McLaughlin
da69085b3c
CPU/Recompiler: Implement nor
2019-11-23 12:53:44 +10:00
Connor McLaughlin
2f3107216a
CPU/Recompiler: Implement syscall/break
2019-11-23 12:51:17 +10:00
Connor McLaughlin
d2d0d5287b
CPU/Recompiler: Implement slt/sltu/slti/sltiu
2019-11-23 01:20:59 +10:00
Connor McLaughlin
bdc47319dc
CPU/Recompiler: Remove unused variable
2019-11-23 00:45:46 +10:00
Connor McLaughlin
e2850b5a6c
CPU/Recompiler: Implement and/or/xor
2019-11-23 00:41:25 +10:00
Connor McLaughlin
a9cbc08890
CPU/Recompiler: Cleanup/combine shift immediate/variable
2019-11-23 00:35:32 +10:00
Connor McLaughlin
5b745864e3
CPU/Recompiler: Implement sub/subu
2019-11-23 00:30:47 +10:00
Connor McLaughlin
f14ad1d3c4
CPU/Recompiler: Implement add/addu/addi
2019-11-23 00:26:56 +10:00
Connor McLaughlin
641e68db95
CPU/Recompiler: Implement b{gez,ltz}(al)?
2019-11-23 00:25:51 +10:00
Connor McLaughlin
167e2a3454
CPU/Recompiler: Implement j/jal/jr/jalr/beq/bne/bgtz/blez
2019-11-22 21:41:10 +10:00
Connor McLaughlin
ff398a3f77
Revert "Frontend: Swap L1/R1 and L2/R2 bindings"
...
This reverts commit a25fe54a4b
.
2019-11-22 18:28:41 +10:00
Connor McLaughlin
11966e4caf
CPU/Recompiler: Write exception exits to far code buffer
...
Keeps the hot path nice and clean.
2019-11-22 18:01:28 +10:00
Connor McLaughlin
7b0978119b
CPU: Only write exceptions to log when logging
2019-11-22 17:54:06 +10:00
Connor McLaughlin
f46160ac46
CPU/Recompiler: Implement mult/multu
2019-11-22 16:45:13 +10:00
Connor McLaughlin
e5c0d28fdc
CPU/Recompiler: Implement mfhi/mthi/mflo/mtlo
2019-11-22 10:53:54 +10:00
Connor McLaughlin
51a873e58d
CPU: Expand register file to include hi/lo/pc/npc
2019-11-22 10:53:54 +10:00
Connor McLaughlin
330d512831
CPU: Write exceptions to trace log
2019-11-22 10:53:15 +10:00
Connor McLaughlin
9e82afac7b
CPU/Recompiler: Support block revalidation instead of flushing
2019-11-22 00:32:40 +10:00
Connor McLaughlin
7aafaeacbc
CPU/Recompiler: Implement lb/lbu/lh/lhu/lw/sb/sh/sw instructions
...
Currently not passing CPU tests when combined with lwl/lwr.
2019-11-21 23:34:04 +10:00
Connor McLaughlin
9e3bb62216
CPU/CodeCache: Fast path for self-linking blocks
2019-11-20 01:19:03 +10:00
Connor McLaughlin
09de3819eb
CPU/Recompiler: Implement sra/srav instructions
2019-11-20 01:00:31 +10:00
Connor McLaughlin
4f436461ff
CPU/Recompiler: Combine shift instructions
2019-11-20 01:00:31 +10:00
Connor McLaughlin
51600c5bc0
CPU/Recompiler: Implement andi/xori, combine BitwiseImmediate
2019-11-20 01:00:31 +10:00
Connor McLaughlin
6157aa9d21
CPU/Recompiler: Implement srlv/srrv instructions
2019-11-20 00:32:41 +10:00
Connor McLaughlin
82cbb6e1b8
CPU/Recompiler: Implement srl instruction
2019-11-20 00:21:02 +10:00
Connor McLaughlin
5217088d82
CPU: Refactor load delay handling
...
Now works when mixing interpreter and recompiler code.
2019-11-20 00:15:15 +10:00
Connor McLaughlin
1d6c4a3af1
CPU: Basic recompiler implementation for x64 (lui, ori, addiu)
...
Disabled by default.
2019-11-19 20:38:05 +10:00
Connor McLaughlin
b9089cac95
System: Fix EXE loading again
2019-11-18 21:03:48 +10:00
Connor McLaughlin
19062e11b5
Revert "Bus: Relax memory timing"
...
This reverts commit b5c799ba81
.
2019-11-17 22:11:16 +10:00
Connor McLaughlin
38d0f46063
Frontend: Fix some GPU settings not saving to ini
2019-11-17 22:10:55 +10:00
Connor McLaughlin
48e3683d20
HostInterface: Fix load state on boot not loading state
2019-11-17 19:41:25 +10:00
Connor McLaughlin
1f4dbd1060
Frontend: Implement D3D<->GL renderer switching
2019-11-17 19:37:10 +10:00
Connor McLaughlin
d1f7ad2512
HostInterface: Fix display classes not getting destructed
2019-11-17 19:36:56 +10:00
Connor McLaughlin
55550798e4
Frontend: Call timeBeginPeriod() to increase timer resolution
...
Hopefully will prevent FPS fluctuations due to sleep variation.
2019-11-17 01:47:52 +10:00
Connor McLaughlin
b2b5e6c793
HostInterface: Reset throttle timer on slowdown
...
Prevents too slow messages when fast forwarding.
2019-11-17 01:47:50 +10:00
Connor McLaughlin
b5c799ba81
Bus: Relax memory timing
...
Formulas from Mednafen.
2019-11-17 01:47:46 +10:00
Connor McLaughlin
8fb4f73d17
Settings: Add audio sync and additional cleanup
2019-11-16 20:52:39 +10:00
Connor McLaughlin
3673c6e33c
HostInterface: Re-enable audio sync by default
2019-11-16 20:52:39 +10:00
Connor McLaughlin
f1289d6161
Settings: Hook up console region
2019-11-16 20:52:39 +10:00
Connor McLaughlin
613e4f4a2a
GPU: Set PAL mode on soft reset if region is PAL
2019-11-16 20:52:39 +10:00
Connor McLaughlin
49ab9467df
GPU: Set throttle frequency based on mode config
2019-11-16 20:52:39 +10:00
Connor McLaughlin
77fe883901
System: Default to NTSC region for BIOS boot if auto
2019-11-16 20:52:39 +10:00
Connor McLaughlin
b57f1d4a60
HostInterface: Implement non-vsync based speed throttler
...
Needed for PAL games.
2019-11-16 20:52:39 +10:00
Connor McLaughlin
246c97ccb3
System: Scaffolding for multi-system/multi-bios
2019-11-16 20:50:59 +10:00
Connor McLaughlin
d6209937fb
CDROM: Properly handle audio sectors in SeekL
2019-11-16 12:54:41 +10:00
Connor McLaughlin
f12b97e98b
DMA: Add missing transfer_ticks to save state
2019-11-16 01:51:22 +10:00
Connor McLaughlin
4524172573
Frontend: Use flip model swap chains in D3D
2019-11-16 01:45:31 +10:00
Connor McLaughlin
2399c1dab7
SPU: Fix incorrect step value in attack phase
2019-11-16 01:43:34 +10:00
Connor McLaughlin
a47492382c
System: Add "fast boot" option (skip boot logo)
2019-11-16 01:04:52 +10:00
Connor McLaughlin
30fd7a6683
DMA: Support delaying transfers
...
Fixes Syphon Filter 2/3.
2019-11-15 23:27:56 +10:00
Connor McLaughlin
e02ebb1b2a
SPU: Mute voice without release phase on loop/end flag
...
Fixes channels getting stuck in Syphon Filter.
2019-11-15 17:24:11 +10:00
Connor McLaughlin
5b5d22fd27
SPU: Stub out transfer control register
...
Fixes sound in Ridge Racer.
2019-11-15 16:44:23 +10:00
Connor McLaughlin
d9c27c4ee3
SPU: Fix sustain step being ignored
2019-11-15 16:42:25 +10:00
Connor McLaughlin
4e9d5b77f8
GPU: Fix swapped bytes for VRAM->CPU transfers
2019-11-15 15:05:27 +10:00
Connor McLaughlin
f27ad2fa67
Frontend: Re-implement fullscreen
2019-11-15 14:57:27 +10:00
Connor McLaughlin
a25fe54a4b
Frontend: Swap L1/R1 and L2/R2 bindings
2019-11-15 14:13:05 +10:00
Connor McLaughlin
708ce25cb0
GPU/HW: Fix resolution changing while running corrupting screen
2019-11-14 22:24:47 +10:00
Connor McLaughlin
49569d29aa
GPU: Refactor command execution/VRAM->CPU transfers
...
Simpler, and handles odd sizes correctly.
2019-11-14 22:17:11 +10:00
Connor McLaughlin
bc9ed3572b
GPU/HW: Fix flipped GPU readback in D3D11
2019-11-14 22:11:12 +10:00
Connor McLaughlin
9d66638bce
GPU: Handle oversized transfers (wrap around behavior)
2019-11-14 20:31:48 +10:00
Connor McLaughlin
9ea7a8418c
GPU: Eliminate temporary buffer when reading back
2019-11-14 17:17:22 +10:00
Connor McLaughlin
3998b9684e
GPU/HW: GPU-based RGBA8->RGB5551 conversion for readbacks
2019-11-14 17:16:21 +10:00
Connor McLaughlin
878a76e258
Common: Fix issues in utility classes for readbacks
2019-11-14 16:57:58 +10:00
Connor McLaughlin
4bab3bffc0
Frontend: Fix display linear filtering setting not applying
2019-11-14 01:22:35 +10:00
Connor McLaughlin
53881219ce
GPU: Fix handling of interlaced non-480-line mode
2019-11-14 00:59:09 +10:00
Connor McLaughlin
7152d54104
GPU: Simplify 480i mode handling in CRTC
2019-11-14 00:58:15 +10:00
Connor McLaughlin
b48accf0bf
GPU/HW: Fix 24-bit output broken with >1x res scale
2019-11-13 22:54:52 +10:00
Connor McLaughlin
76172c88f3
GPU/HW: Disable blending when updating VRAM
...
Fixes random breakage when it was previously enabled.
2019-11-13 22:48:39 +10:00
Connor McLaughlin
f7f4818de4
GPU/HW: Explicitly specify std140 layout for UBOs
2019-11-13 22:48:14 +10:00
Connor McLaughlin
8cfb8d7922
CDROM: Fix track skip behavior with track=0
...
Fixes Doom.
2019-11-13 16:33:51 +10:00
Connor McLaughlin
525bbf48d7
CDImage: Set data bit in Q subchannel for bin images
2019-11-13 16:28:43 +10:00
Connor McLaughlin
8e06f86db8
CDROM: Implement auto-pause at end of track
2019-11-12 20:40:37 +10:00
Connor McLaughlin
85413218cb
SPU: Check upper 8 byte block of ADPCM block for interrupt
...
Fixes NFS2 stuck after selecting Race.
2019-11-12 18:56:55 +10:00
Connor McLaughlin
90cf6b8b41
CDROM: Don't lose INT1 interrupts from command execution
2019-11-12 18:02:36 +10:00
Connor McLaughlin
6a82333d8f
Pad: Only buffer a single byte
...
Fixes Croc 2 memory card access freezing.
2019-11-12 01:32:06 +10:00
Connor McLaughlin
d8452d7d7d
GPU: Track horizontal blanking, correct timer increment point
2019-11-12 01:32:06 +10:00
Connor McLaughlin
f3baee2582
DMA: Hack for self-referencing DMA loops
...
I need to figure how these are being generated in the first place.
2019-11-11 20:37:13 +10:00
Connor McLaughlin
29674df803
DMA: Simplify address masking
2019-11-11 20:34:41 +10:00
Connor McLaughlin
6f4cf7d5e3
System: Support changing BIOS path
2019-11-11 19:43:39 +10:00
Connor McLaughlin
99c264947d
SPU: Implement capture buffers
...
Fixes Crash Team Racing and lipsyncing within.
2019-11-11 14:06:30 +10:00
Connor McLaughlin
26437e31dd
SPU: Fire interrupt on DMA reads/writes too
2019-11-11 14:05:58 +10:00
Connor McLaughlin
8722757412
SPU: Implement pitch modulation
2019-11-11 00:41:09 +10:00
Connor McLaughlin
5a84122862
CDROM: Implement CDDA report
2019-11-10 23:03:52 +10:00
Connor McLaughlin
ab90d287bb
CDROM: Use Sub-Channel Q for GetLocP
2019-11-10 22:45:48 +10:00
Connor McLaughlin
6bb4f8e728
CDImage: Support generating Q Sub-Channel
2019-11-10 22:44:53 +10:00
Connor McLaughlin
2cc5084dd1
CDImage: Handle cue sheets where pregap is in file
2019-11-10 15:16:48 +10:00
Connor McLaughlin
68fe492130
CDROM: Use seek time formula from Mednafen
2019-11-10 15:01:18 +10:00
Connor McLaughlin
c0208b6e78
GPU: Flush render before changing drawing area/offset
...
Fixes "random" broken polygons in hardware backends.
2019-11-09 22:56:53 +10:00
Connor McLaughlin
dbc22fe841
GPU/HW: Fix typo preventing fragment shader based VRAM writes from being used
2019-11-09 21:36:37 +10:00
Connor McLaughlin
5dd4f6f65e
CDROM: Implement ReadTOC command
2019-11-09 00:21:11 +10:00
Connor McLaughlin
7e7b7dc216
CDROM: Stub out SCEx test commands
2019-11-09 00:21:04 +10:00
Connor McLaughlin
5eea2f9ced
CDROM: Fix interrupt enable register having no effect
2019-11-08 23:49:28 +10:00
Connor McLaughlin
c3efc5637a
CDROM: Implement Getparam command
2019-11-08 22:45:06 +10:00
Connor McLaughlin
487f952c48
CDROM: Clear response FIFO before writing results
2019-11-08 22:42:42 +10:00
Connor McLaughlin
02132a9f29
CDROM: INT2 should not be sent after read/play command
2019-11-08 21:16:21 +10:00
Connor McLaughlin
8c51abaf37
System: Move settings to HostInterface
2019-11-08 01:07:39 +10:00
Connor McLaughlin
e8ebead23d
Frontend: Use Roboto font
2019-11-08 00:22:25 +10:00
Connor McLaughlin
52caf312d9
Frontend: Make about window modal
2019-11-08 00:22:25 +10:00
Connor McLaughlin
b5a8e562e8
Frontend: Add 'Darker' style
2019-11-08 00:22:25 +10:00
Connor McLaughlin
36b7690056
Frontend: Add settings window
2019-11-08 00:22:25 +10:00
Connor McLaughlin
98a5c4980d
Settings: Use simpleini for settings load/save
2019-11-07 01:43:51 +10:00
Connor McLaughlin
26c22f003f
Common: Persistent-mapped stream buffer implementation
2019-11-07 00:08:13 +10:00
Connor McLaughlin
ff8cef4da3
GPU/HW: Support OpenGL ES
2019-11-06 01:33:09 +10:00
Connor McLaughlin
b28610e30b
Frontend: Support OpenGL ES
2019-11-06 01:32:56 +10:00
Connor McLaughlin
15c42f032f
GPU/HW: Fallback path for VRAM writes for GPUs w/o texel buffers
2019-11-05 23:16:03 +10:00
Connor McLaughlin
089f297b9a
GPU/HW: Fallback path via blit for GPUs without GL_EXT_copy_image
2019-11-05 23:06:40 +10:00
Connor McLaughlin
cc7483ad58
GPU/HW: Only copy the dirty area to the VRAM read texture
2019-11-05 22:34:36 +10:00
Connor McLaughlin
da51d49d18
GPU/HW: Track VRAM fills/writes in dirty rectangle instead of invalidating
2019-11-05 22:12:39 +10:00
Connor McLaughlin
2578f34a7c
GPU/HW: Reset state when shutting down
2019-11-05 19:51:08 +10:00
Connor McLaughlin
2c631aba5e
GPU: Move stats from renderer class to base classes
2019-11-05 19:44:17 +10:00
Connor McLaughlin
afbec85f89
GPU/HW: Track dirty area of VRAM shadow texture via drawing area
2019-11-05 19:19:49 +10:00
Connor McLaughlin
65197d4350
Common: Add Rectangle helper class
2019-11-05 19:19:20 +10:00
Connor McLaughlin
16d83989e5
GPU/HW: Support line drawing at >1x scale in D3D11 via GS
2019-11-05 00:27:22 +10:00
Connor McLaughlin
3619b46b45
GPU: Fix parsing of polylines.. again
2019-11-05 00:26:35 +10:00
Connor McLaughlin
39850af147
Common: Add GS support to D3D11 shader compiler
2019-11-05 00:23:31 +10:00
Connor McLaughlin
3c64a242bb
GPU: Fix incorrect parsing of polyline commands
2019-11-04 02:56:30 +10:00
Connor McLaughlin
5d26c2177f
GPU/HW: Don't crash when switching to incompatible renderer
2019-11-04 02:02:33 +10:00
Connor McLaughlin
a397979d72
GPU/HW: Elide buffer copy in scanout and fix flipped display
2019-11-04 01:46:19 +10:00
Connor McLaughlin
ac45f3892c
Frontend: Fix broken display texture for OpenGL
2019-11-04 01:01:31 +10:00
Connor McLaughlin
4a6f283484
CPU: Add trace log to file support
2019-11-04 00:55:07 +10:00
Connor McLaughlin
9de9cf3be2
GPU/HW: Add D3D11 renderer and refactor host interface/display
2019-11-04 00:39:48 +10:00
Connor McLaughlin
f244da86a2
Common: Add helper classes for D3D11
2019-11-04 00:39:25 +10:00
Connor McLaughlin
d68f7085d6
Common: Move GL classes to subdirectory
2019-11-03 15:22:37 +10:00
Connor McLaughlin
47849465d8
GPU/HW: Use uniform blocks for all shaders + HLSL support in shadergen
2019-11-03 15:18:51 +10:00
Connor McLaughlin
d5150ec790
Common: Add unregistered uniform mutators to GL::Program
2019-11-03 15:18:28 +10:00
Connor McLaughlin
be81d08109
GPU/HW: Split shadergen to seperate class
2019-11-03 13:36:59 +10:00
Connor McLaughlin
91c99f0226
GPU/HW: Use uniform blocks for batch rendering
2019-11-03 13:18:43 +10:00
Connor McLaughlin
e3a9aa1c4f
Common: Add uniform block binding to GL::Program
2019-11-03 13:14:50 +10:00
Connor McLaughlin
aa1f3ad8f7
GPU: Don't truncate clear colour to 15-bit with true colour on
2019-11-03 01:05:37 +10:00
Connor McLaughlin
f7f5d45d7a
GPU: Fix incorrect VRAM fill colours in GL renderer
2019-11-03 01:02:05 +10:00
Connor McLaughlin
8ffce6ae0b
GPU: Fix 24-bit scanout being cut-off at >1x resolution scale
2019-11-03 00:52:37 +10:00
Connor McLaughlin
ba1a5a5ca9
GPU: Fix batching regression (draws split on texture page)
2019-11-03 00:36:47 +10:00
Connor McLaughlin
5abbdef065
Fix compile errors on GCC
2019-11-03 00:15:42 +10:00
Connor McLaughlin
6dc7069d7c
CDROM: Fix buffer overflow
2019-11-03 00:09:17 +10:00
Connor McLaughlin
bb572d5c14
GPU: Remove hack for bitwise ops on TextureMode enum
2019-11-03 00:01:54 +10:00
Connor McLaughlin
4143469353
GPU: Use texture buffer/fragment shader for VRAM writes
2019-11-02 23:43:20 +10:00
Connor McLaughlin
f59e08b564
Common: Add Unbind() to GL::StreamBuffer
2019-11-02 23:42:44 +10:00
Connor McLaughlin
60281eb67e
Common: Use std::string_view for GL::Program
2019-11-02 23:42:21 +10:00
Connor McLaughlin
2b17cfd365
GPU: Use streaming buffers for CPU->VRAM transfers
2019-11-02 22:31:15 +10:00
Connor McLaughlin
407fee9ec3
GPU: Add base functionality for GL streaming buffers
2019-11-02 22:21:56 +10:00
Connor McLaughlin
c52c0608ae
GPU: Move resolution scale to hardware backend only
2019-11-02 01:32:27 +10:00
Connor McLaughlin
c9feb7ea07
GPU: Add force true color setting
2019-11-02 00:31:25 +10:00
Connor McLaughlin
fc09b722ea
GPU: Truncate fragment values to 15-bit RGB
2019-11-02 00:01:03 +10:00
Connor McLaughlin
bbd7798ca4
GPU: Apply dither pattern more correctly at higher resolutions
2019-11-01 23:17:50 +10:00
Connor McLaughlin
3aa4219067
GPU: Implement dithering on software backend
2019-11-01 23:11:37 +10:00
Connor McLaughlin
ac82383abe
GPU: Implement dithering on OpenGL backend
2019-11-01 23:11:30 +10:00
Connor McLaughlin
1d1da1d82c
GPU: Add VRAM read/write stats to GL renderer
2019-11-01 22:06:24 +10:00
Connor McLaughlin
1c79737021
GPU: Simplify batch state
2019-11-01 21:47:45 +10:00
Connor McLaughlin
d8a02d7a15
common: Add macro for generating static/friend enum class operators
2019-11-01 21:47:40 +10:00
Connor McLaughlin
f5e1d443fa
Frontend: Implement Resume functionality
2019-10-31 23:02:52 +10:00
Connor McLaughlin
1540769cb4
GPU: Fix interlaced display at higher internal resolutions
2019-10-30 01:01:57 +10:00
Connor McLaughlin
5626d4f282
GPU: Fix texcoord off-by-one error in rectangles
2019-10-29 23:42:08 +10:00
Connor McLaughlin
9f5bd6e5f9
SPU: Correct sample rate display in debugger
2019-10-29 22:54:16 +10:00
Connor McLaughlin
40eb157d77
SPU: Fix off-by-one-sampling-error causing noise in output
2019-10-29 13:33:19 +10:00
Connor McLaughlin
6f7b9c8e28
Frontend: Fix last two slots missing from quick load
2019-10-29 02:08:46 +10:00
Connor McLaughlin
3ad6b005a8
Frontend: Add hotkey for toggling speed limiter
2019-10-29 01:59:53 +10:00
Connor McLaughlin
772ef27a55
GPU: Implement display disable command GP1(03h)
2019-10-28 17:43:34 +10:00
Connor McLaughlin
9bda6c5ef7
Frontend: Hook up change disc menu item
2019-10-28 17:34:59 +10:00
Connor McLaughlin
3128d0ebcb
CDROM: Shell open flag behavior when changing discs
2019-10-28 17:34:46 +10:00
Connor McLaughlin
a1ed2d1d77
CDROM: Implement motor on command
2019-10-28 17:25:04 +10:00
Connor McLaughlin
c15822d745
CDROM: Implement stop command
2019-10-28 17:19:29 +10:00
Connor McLaughlin
6e60991fd0
Frontend: Add hotkey to adjust resolution scale
2019-10-28 00:48:43 +10:00
Connor McLaughlin
49be3efb35
GPU: Preserve low bits in upscaled texture coordinates
2019-10-27 23:50:28 +10:00
Connor McLaughlin
12ce777e30
Frontend: Add toggle for software rendering
2019-10-27 21:52:10 +10:00
Connor McLaughlin
d1be9460b9
Frontend: Ignore key repeat events for controller/speed limit
2019-10-27 21:44:08 +10:00
Connor McLaughlin
2b419fcb08
Frontend: Add frame step hotkey (SPACE)/menu item
2019-10-27 21:35:13 +10:00
Connor McLaughlin
21f555cf8f
Frontend: Add pause support
2019-10-27 21:26:15 +10:00
Connor McLaughlin
4e6596adfb
GPU: Update display after loading state
...
Fixes black frame after switching renderers.
2019-10-27 21:08:43 +10:00
Connor McLaughlin
5f0980c684
dep: Update imgui
2019-10-27 20:52:02 +10:00
Connor McLaughlin
b1d3ba3d68
GPU: Remove unused resolution fields in CRTC
2019-10-27 20:20:53 +10:00