Connor McLaughlin
3a020ef87e
HostInterface; Fix crash on shutdown if boot fails
2020-08-11 03:01:08 +10:00
Connor McLaughlin
5c6e92cdfc
GPU/HW: Disable coordinate clamping when unnecessary
2020-08-10 23:28:37 +10:00
Connor McLaughlin
b95ce993e0
GPU/HW: Clamp interpolated UVs to polygon limits
...
Fixes texture filtering and PGXP issues in some games.
2020-08-10 23:28:37 +10:00
Connor McLaughlin
5b9db71b87
CPU/Recompiler: Fix mid-block software interrupts not updating pc
...
Fixes Need for Speed: High Stakes hanging at boot.
2020-08-09 04:32:53 +10:00
Connor McLaughlin
223074b78f
SPU: Fix activating transfer event with a downcount of 0
...
Happened when loading states.
2020-08-09 04:29:43 +10:00
Connor McLaughlin
70767dc6bf
CPU/Recompiler/AArch64: Use cmn for negative constant comparisons
2020-08-08 23:44:13 +10:00
Connor McLaughlin
901ca71fdc
CPU/Recompiler: Add temporary inhibiting of register allocation
2020-08-08 23:44:13 +10:00
Connor McLaughlin
1d5f810a4b
CPU/Recompiler: Disable memory access exceptions by default
...
This means it'll no longer pass amidog's CPU test in the default config.
But no games rely on this. You can enable it in advanced options if you
want to pass the CPU test.
2020-08-08 23:44:13 +10:00
Connor McLaughlin
b1377fe0d9
CPU/Recompiler: Add a fast block lookup array
...
Up to 15% perf improvement.
2020-08-08 23:06:28 +10:00
Connor McLaughlin
f6e88353eb
CPU/Recompiler: Make generated code invariant to virtual PC
2020-08-08 23:06:28 +10:00
Connor McLaughlin
8d4216068a
CPU/Recompiler: Implement div/divu
2020-08-08 23:06:27 +10:00
Connor McLaughlin
a2f271c505
CPU: Simplify some exception checks in cop0-3
2020-08-07 17:05:01 +10:00
Connor McLaughlin
e5c46a54b7
System: Restore/reset state on recreating GPU/updating settings
...
Fixes display corruption on RetroArch when switching renderers.
2020-08-06 23:20:52 +10:00
Connor McLaughlin
359234080a
D3D11: Set GS to null when restoring state
...
Fixes the D3D11 renderer being broken on RetroArch due to it leaving a
geometry shader bound.
2020-08-06 23:19:19 +10:00
Connor McLaughlin
6e586311e8
Common: Add title, modal information to ProgressCallback
2020-08-06 19:32:53 +10:00
Connor McLaughlin
466e4099d4
CDROM: Fix handling of logical seeks to audio sectors
...
Fixes Wizard's Harmony.
2020-08-05 03:14:04 +10:00
Connor McLaughlin
dd9705ef31
GPU/HW: Fix last row of oversized writes not applying
...
Combined with the wrap changes, fixes Namco Museum motherboard scene.
2020-08-04 14:40:00 +10:00
Connor McLaughlin
0b0bc32afb
GPU/HW: Use texture samplers rather than fetching for batches
...
Enables wrap-around.
2020-08-04 14:40:00 +10:00
Connor McLaughlin
0fc301d654
GPU/HW: Use wrap texture address modes
2020-08-04 14:40:00 +10:00
Connor McLaughlin
231c0b5ff6
GPU/SW: Wrap texture coordinates when sampling
2020-08-04 14:40:00 +10:00
Connor McLaughlin
818892cb1b
GPU: Claer interlaced field buffer when enabling
...
Fixes old frames getting briefly displayed.
2020-08-03 03:26:13 +10:00
Connor McLaughlin
23df239469
GPU/HW: Debug build compile fix
2020-08-03 03:26:00 +10:00
Connor McLaughlin
f712c42c21
GPU/HW: Add more details to debug window
2020-08-03 03:06:23 +10:00
Connor McLaughlin
9b7512f7b8
GPU/HW: Implement automatic resolution scale from window size
2020-08-03 03:06:03 +10:00
Connor McLaughlin
be6ae8b70b
GPU/Vulkan: Work around Mali crash with readbacks
2020-08-03 02:03:33 +10:00
Connor McLaughlin
b527118c0a
GPU/HW: Fix macOS compile
2020-08-02 18:04:00 +10:00
Connor McLaughlin
92975b2e81
GPU/HW: Tiny performance optimization in polygon loading
2020-08-02 17:32:43 +10:00
Connor McLaughlin
96ba9198ef
GPU/HW: Expand lines into triangles before rendering
...
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
Connor McLaughlin
568cfa1865
GPU/OpenGL: Fix possible error on shutdown
2020-08-02 17:16:51 +10:00
Connor McLaughlin
4d9c2c1b6c
GPU: Ensure pending time is used in events
...
Fixes long delay in Syphon Filter.
2020-08-02 14:09:22 +10:00
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