Connor McLaughlin
bd0c403672
GPU/HW: Fix mask bit test regression
...
Fixes white boxes in Silent Hill. Again.
2020-08-02 13:04:25 +10:00
Connor McLaughlin
0c1b637549
PGXP: Add initial implementation
2020-08-02 00:25:07 +10:00
Connor McLaughlin
e9882a10aa
System: Move restore/reset graphics API state to System
...
Fixes frame stepping.
2020-08-01 16:45:07 +10:00
Connor McLaughlin
2eb9384275
Replace more instances of fopen() with FileSystem::OpenFile()
2020-08-01 14:00:22 +10:00
Connor McLaughlin
2885d2e547
CPU/CodeCache: Hopefully fix 32-bit compile errors
2020-08-01 03:53:53 +10:00
Connor McLaughlin
b6f871d2b9
JIT optimizations and refactoring ( #675 )
...
* CPU/Recompiler: Use rel32 call where possible for no-args
* JitCodeBuffer: Support using preallocated buffer
* CPU/Recompiler/AArch64: Use bl instead of blr for short branches
* CPU/CodeCache: Allocate recompiler buffer in program space
This means we don't need 64-bit moves for every call out of the
recompiler.
* GTE: Don't store as u16 and load as u32
* CPU/Recompiler: Add methods to emit global load/stores
* GTE: Convert class to namespace
* CPU/Recompiler: Call GTE functions directly
* Settings: Turn into a global variable
* GPU: Replace local pointers with global
* InterruptController: Turn into a global pointer
* System: Replace local pointers with global
* Timers: Turn into a global instance
* DMA: Turn into a global instance
* SPU: Turn into a global instance
* CDROM: Turn into a global instance
* MDEC: Turn into a global instance
* Pad: Turn into a global instance
* SIO: Turn into a global instance
* CDROM: Move audio FIFO to the heap
* CPU/Recompiler: Drop ASMFunctions
No longer needed since we have code in the same 4GB window.
* CPUCodeCache: Turn class into namespace
* Bus: Local pointer -> global pointers
* CPU: Turn class into namespace
* Bus: Turn into namespace
* GTE: Store registers in CPU state struct
Allows relative addressing on ARM.
* CPU/Recompiler: Align code storage to page size
* CPU/Recompiler: Fix relative branches on A64
* HostInterface: Local references to global
* System: Turn into a namespace, move events out
* Add guard pages
* Android: Fix build
2020-07-31 17:09:18 +10:00
Connor McLaughlin
1f9fc6ab74
BIOS: Fix Linux build
2020-07-31 16:34:25 +10:00
Connor McLaughlin
8802177e25
BIOS: Add more revision filenames/hashes
2020-07-31 16:28:15 +10:00
Connor McLaughlin
66e79091d3
BIOS: Use fopen() wrapper from FileSystem
2020-07-31 16:04:10 +10:00
Connor McLaughlin
5634e821c5
CDROM: Reset audio decoder state immediately after pause or seek
...
Fixes stuttering dialogue in Dino Crisis (control room at beginning of
game).
2020-07-30 01:55:37 +10:00
Connor McLaughlin
5a34a15bf2
CDROM: Include FIFO size in debug window
2020-07-30 01:03:59 +10:00
Connor McLaughlin
dd48a1f585
System: Handle large event timing overshoots better
...
Usually a result of DMA cycle stealing. Instead of adding all time, add
min(all_events.downcount) at a time. 1.5% performance improvement, but
fixes desyncs between the SPU and CD-ROM.
2020-07-30 00:47:19 +10:00
Connor McLaughlin
cdab84e210
GPU/Vulkan: Display shader compiling message
2020-07-26 23:59:06 +10:00
Connor McLaughlin
7c54129409
Merge pull request #665 from ggrtk/analog-controller
...
AnalogController: Expose axis scale setting to frontend
2020-07-26 23:57:40 +10:00
Connor McLaughlin
caf9943418
GPU/Vulkan: Possible workaround for Adreno GS shader compiler bug
2020-07-25 15:17:29 +10:00
Albert Liu
79576ca956
AnalogController: Expose axis scale setting to frontend
2020-07-24 19:18:41 -07:00
Connor McLaughlin
d711baaa31
GPU/HW: Fix lines being one pixel too short
...
Fixes lines in screen wipe effect in Vagrant Story.
2020-07-25 02:37:01 +10:00
Connor McLaughlin
104b80f111
HostInterface: Move 'System shut down' message to SDL
...
Only frontend where it makes sense anyway.
2020-07-23 02:45:20 +10:00
Connor McLaughlin
8e1c0a4fe4
System: Support loading m3u playlists
2020-07-23 02:36:05 +10:00
Connor McLaughlin
d46c104d1b
System: Preload CD images to RAM when switching/loading state
2020-07-23 02:35:23 +10:00
Connor McLaughlin
08a8434140
GPU/HW: Fix off-by-one in wrap-around VRAM writes
2020-07-23 02:35:03 +10:00
Connor McLaughlin
10cd00c8dd
CDROM: Play audio when reading and mode.0 is set
2020-07-22 15:23:13 +10:00
Connor McLaughlin
e9db1d0f6f
GPU/OpenGL: Use base class helper for filling VRAM copy uniforms
2020-07-22 14:47:09 +10:00
Connor McLaughlin
2dc62ab987
GPU/HW: Fix VRAM updates when Y >= 512
2020-07-22 14:46:52 +10:00
jdgleaver
49f9ddfa0e
Finish adding support for PSX BIOS included in PSP firmware 6.60
2020-07-21 17:06:38 +01:00
jdgleaver
7478e75ed6
(libretro) Fix 'Fast Boot' option
2020-07-21 16:32:36 +01:00
Connor McLaughlin
f28ef01d24
CDROM: Move audio FIFO to CDROM class and skip sectors when unempty
...
Fixes cutscene audio in Nickelodeon Rugrats - Search for Reptar.
2020-07-22 00:05:52 +10:00
Connor McLaughlin
f9bbbbbaec
Settings: Make auto-detect the default console region
2020-07-22 00:03:31 +10:00
Connor McLaughlin
9496c992f7
System: Add an option to preload CD image to RAM
2020-07-22 00:03:22 +10:00
Connor McLaughlin
8b91bf5e57
Core: Add loading screen based progress callbacks
2020-07-22 00:03:01 +10:00
Connor McLaughlin
93528db388
System: Use existing CD media when loading state where possible
2020-07-22 00:02:37 +10:00
Connor McLaughlin
75a8a7fcca
Settings: Make per-game memory cards for slot 1 the default
2020-07-21 20:15:52 +10:00
Connor McLaughlin
68d98af497
Qt: Remove usage of QString where possible for settings
2020-07-21 20:10:06 +10:00
Connor McLaughlin
bddd098a66
Merge branch 'master' into qt-inisettings
2020-07-21 13:28:18 +10:00
Connor McLaughlin
5c1c467e38
GTE: Add widescreen hack
2020-07-18 00:28:37 +10:00
Connor McLaughlin
401ecfa872
Bus: Make memory map public
2020-07-18 00:28:37 +10:00
Albert Liu
9b2740b395
HostInterface: Save tweak/hack defaults to settings file
...
Fixes tweak/hack defaults not displaying correctly in Qt frontend.
2020-07-16 20:35:18 -07:00
Connor McLaughlin
dd9a4191e6
AnalogController: Fix swapped rumble test
...
Fixes weak rumble test in MGS.
I should write some hardware tests for this at some point, particularly
for the large motor, which should have a variable intensity.
2020-07-15 02:38:16 +10:00
Connor McLaughlin
7ba1bed37b
Settings: Leave interlacing on by default
...
Too many games break without it.
2020-07-14 01:27:57 +10:00
Connor McLaughlin
6ed67468d2
CDROM: Prevent games which spam Reset from getting wedged
2020-07-14 01:26:37 +10:00
Albert Liu
91f51c2833
Settings: Add 1:1 pixel aspect ratio
2020-07-12 17:09:15 -07:00
Albert Liu
9e316e4502
Settings: Add 8:7 display aspect ratio
...
Requested by users for some 256-width 240p titles (effectively 1:1 PAR
at 256x224 when overscan cropping is turned on).
2020-07-12 17:08:28 -07:00
Connor McLaughlin
dbce58e07d
CDROM: Display paused position in debug window
2020-07-13 02:23:56 +10:00
Albert Liu
c44e74db80
GPU: Compute VRAM display width from GP1(06h) values
...
Fixes overpadding in some specific cases, e.g. when cropping overscan in
Captain Commando.
2020-07-11 10:57:23 -07:00
Connor McLaughlin
50a25b63b1
CDROM: Track seek position when resetting
...
Fixes Blasto hanging after starting game.
2020-07-11 20:35:36 +10:00
Connor McLaughlin
d1a2ebd8f3
GPU/HW: Eliminate CPU round trip on oversized VRAM writes
2020-07-11 20:35:33 +10:00
Connor McLaughlin
eab70546c8
CDROMAsyncReader: Only log warning when waiting time exceeds 1ms
2020-07-11 03:21:05 +10:00
Connor McLaughlin
c5e8327e7a
CDROM: Seek to LBA 0 when resetting
...
Fixes Love & Destroy.
2020-07-10 20:55:15 +10:00
Connor McLaughlin
71157b171e
CDROM: Use partial seek position when re-seeking
2020-07-10 20:55:00 +10:00
Connor McLaughlin
4d1880091e
GPU: Ignore display start bit 0 instead of reducing width
2020-07-10 20:31:58 +10:00
Connor McLaughlin
93abf8e53d
GPU: Drop least significant bit of display start address
...
Fixes extra column in some games, e.g. Nascar Thunder 2004,
U.S. Navy Fighters.
2020-07-10 20:23:27 +10:00
Connor McLaughlin
604ff20b0d
AnalogController: Treat rumble as binary on/off
...
Fixes vibration in Final Fantasy 8.
2020-07-10 20:15:46 +10:00
Connor McLaughlin
c01854e9d1
Define LIBRETRO macro when building core, skip swap chain
2020-07-10 14:02:45 +10:00
Connor McLaughlin
a5fe740e30
Fix a bunch of compiler warnings
2020-07-09 13:30:16 +10:00
Connor McLaughlin
57cf40d1ae
Bus: Work around VS2017 bug with std::array
2020-07-08 12:45:53 +10:00
Connor McLaughlin
209d7c67e9
GPU/OpenGL: Prefer SSBOs over small texel buffers+subimage
2020-07-08 02:05:36 +10:00
Connor McLaughlin
1d4b5e22cb
Vulkan: Fall back to geometryShader when fillModeNonSolid unsupported
2020-07-07 00:59:35 +10:00
Connor McLaughlin
d1eae288bf
GameList: Add EntryCompatibilityRatingToString
2020-07-07 00:59:28 +10:00
Albert Liu
e42d5fed75
GPU: Adjust 4-pixel boundary alignment formula
...
Fixes missing edge in Tenchi wo Kurau II: Sekiheki no Tatakai.
2020-07-05 06:00:36 -07:00
Albert Liu
000a51298a
GPU: Don't round screen size to 4-pixel multiple
2020-07-05 06:00:36 -07:00
Albert Liu
e2b1158514
GPU: Report CRTC padding as signed in debug window
2020-07-05 06:00:36 -07:00
Connor McLaughlin
511c3133f1
GPU: Let GPU catch up before handling GP1 reset commands
...
Fixes trashed VRAM writes in some homebrew.
2020-07-05 02:25:56 +10:00
Connor McLaughlin
b0b3901722
libretro: Fix DualShock analog mode auto-enable
2020-07-05 00:05:14 +10:00
Connor McLaughlin
c76bb5eb6a
libretro: Fix display aspect ratio
2020-07-04 22:33:07 +10:00
Connor McLaughlin
f396a2c373
Renderers: Make shader cache path a prefix instead of directory
2020-07-04 22:14:07 +10:00
Connor McLaughlin
1231f6dafe
GPU: Handle GP1 command mirrors
2020-07-04 01:28:18 +10:00
Connor McLaughlin
2d74062abb
CPU: Delay interrupts by one instruction/block
...
Fixes Gameshark Sampler Disc.
2020-07-03 01:51:08 +10:00
Connor McLaughlin
8a8ce8d41c
NamcoGunCon: Use correct GPU clock as reference
2020-07-03 01:51:05 +10:00
Connor McLaughlin
0710e3b6d3
CDROM: Ignore sectors with channel number=255
...
Some games (Taxi 2 and Blues Blues) have junk audio sectors with a channel number of 255.
We need to skip them otherwise it ends up playing the incorrect file.
TODO: Verify with a hardware test.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
bff5432879
Pad: Improve ACK timing
...
Fixes random pauses in Moto Racer.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
b471d1043a
Settings: Load Memory Cards From State -> Load Devices From State
...
Makes it apply to controllers too.
2020-07-02 00:50:53 +10:00
Connor McLaughlin
8cd9e0887e
libretro: Use framebuffer view dimensions not texture dimensions
2020-07-01 01:57:25 +10:00
Connor McLaughlin
f65a50d84b
HostDisplay: Use surface scale for drawing software cursor
2020-07-01 01:57:25 +10:00
Connor McLaughlin
e374853cf5
HostInterface: Better configuration of custom crosshair/software cursor
2020-07-01 01:57:25 +10:00
Connor McLaughlin
f0c1dfefe7
Core: Add resources file
...
Currently includes a crosshair icon.
2020-07-01 00:56:46 +10:00
Connor McLaughlin
0b11a14e24
Qt: Better handling of default settings not in ini
2020-07-01 00:56:46 +10:00
Connor McLaughlin
4dc9e10777
HostInterface: Support per-controller-type settings
2020-07-01 00:56:46 +10:00
Connor McLaughlin
2a38090e7a
HostDisplay: Move most backend logic to FrontendCommon
2020-06-30 03:03:56 +10:00
Connor McLaughlin
936d92dfb8
System: Add option to force start in software mode
2020-06-30 02:44:19 +10:00
Connor McLaughlin
919494079b
System: Make saving screenshots to state optional
2020-06-30 02:44:09 +10:00
Connor McLaughlin
e5f56fcd33
MDEC: Slightly reduce block timing
...
Fixes FMVs in Disney's Treasure Planet.
Probably needs sub-block timing emulated at some point.
2020-06-29 14:45:14 +10:00
Connor McLaughlin
614ea632a5
SPU: Log warning when data is lost due to reg clear
2020-06-29 14:45:03 +10:00
Connor McLaughlin
15afe4f436
GPU/Vulkan: Fix incorrect vkCmdPushConstants() call
2020-06-27 16:26:20 +10:00
Connor McLaughlin
0b261e836b
GPU/Vulkan: Fix shader VRAM copies
...
Fixes battle transitions in Final Fantasy IX.
2020-06-27 03:00:03 +10:00
Connor McLaughlin
58b0e6859a
Frontend: Reset/restore GPU state before saving screenshot
...
Fixes driver crashes in Vulkan.
2020-06-27 02:59:58 +10:00
Connor McLaughlin
b94de1924d
GPU/ShaderGen: Round normalized colours before converting to integer
...
Fixes broken rendering/precision issues on Intel Ivy Bridge GPUs.
Many thanks to linkmauve from Dolphin for the idea - seems Dolphin also
had a similar problem a few years ago.
2020-06-26 21:40:53 +10:00
Connor McLaughlin
16ca214d09
GPU/OpenGL: Fix VRAM writes breaking on <GL4.3
2020-06-26 21:39:37 +10:00
Connor McLaughlin
34d7b752d8
GPU/ShaderGen: Enable GL_ARB_shader_storage_buffer_object on <GL4.3
2020-06-26 21:39:12 +10:00
Connor McLaughlin
998ec85b16
CDROM: Log slow sector reads in Release builds too
2020-06-26 17:17:25 +10:00
Connor McLaughlin
737337a526
CDROM: Fix incorrect sector read after incomplete seek->read
...
Fixes crash in Disney's The Lion King - Simba's Mighty Adventure.
2020-06-26 17:15:41 +10:00
Connor McLaughlin
b8a2487abf
GPU/HW: Fix incorrect offset application in line upscaler
...
Fixes green line in pause screen of Spyro.
2020-06-26 03:26:06 +10:00
Connor McLaughlin
ad727c7991
CPU/Recompiler: Check interrupts after mtc0 sr/cause
...
Fixes Jackie Chan Stuntmaster in Recompiler mode.
2020-06-25 01:33:00 +10:00
Connor McLaughlin
b00f50c927
CPU/Recompiler: Emit test/jz instead of bt/jnc for bits < 8
...
Likely very slightly faster.
2020-06-25 01:33:00 +10:00
Albert Liu
7c206766ae
HostInterface: Save default setting to AspectRatio, not PixelAspectRatio
...
Fixes inconsistency with default settings saving to PixelAspectRatio,
but loading from AspectRatio instead. PixelAspectRatio was not being
used elsewhere.
2020-06-23 09:24:50 -07:00
Connor McLaughlin
832c7a1192
Vulkan: Support using SSBOs instead texel buffers
2020-06-24 01:40:01 +10:00
Connor McLaughlin
08ef8c1e8d
GPU/HW: Support SSBOs instead of texture buffers for VRAM writes
2020-06-24 01:39:53 +10:00
Connor McLaughlin
eec37df1e0
Settings: Make the recompiler the default CPU mode
2020-06-24 01:39:42 +10:00
Connor McLaughlin
f6aae5e67c
Settings: Add 2:1 (VRAM 1:1) display aspect ratio
2020-06-24 01:39:35 +10:00
Connor McLaughlin
4b31034efa
Merge pull request #562 from lioncash/amp
...
spu: Make use of logical AND within IsPitchModulationEnabled()
2020-06-24 01:29:42 +10:00
Lioncash
20d17b953b
spu: Make use of logical AND within IsPitchModulationEnabled()
...
It seems awfully suspect to use a bitwise AND here.
2020-06-23 06:00:11 -04:00