Commit graph

4228 commits

Author SHA1 Message Date
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