b13c51a2e2
GPU/SW: Use new 5-to-8 converters for RGBA8 display
2021-03-18 13:00:58 +10:00
c6c67b7b27
ImGui: Remove close button from debug windows
...
They can be closed by unchecking the setting instead, and it stays in
sync with the config this way.
2021-02-12 01:01:30 +10:00
ef7d135492
GPU: Fix missing sync when hblank is pending
2021-01-31 16:39:51 +10:00
516d685dd0
System: Add memory-only save states and rewind
2021-01-25 01:15:45 +10:00
699d599d00
GPU: Clear display when disabling DAC and interlaced
...
Fixes old output showing up briefly when it's re-enabled.
2021-01-18 03:28:14 +10:00
2b5cfb272c
Qt: Add dump VRAM and SPU RAM actions
2021-01-13 19:24:41 +10:00
11992bde4e
TimingEvents: Use function pointers instead of std::function
2021-01-10 01:45:07 +10:00
e804fdfdba
GPU: Use floating point coordinates for lightgun
2020-12-19 17:02:01 +10:00
4860313bef
NamcoGuncon: Add an option to scale X coordinates
...
Fixes what appears to be curvature correction at the edges of the
screen.
2020-12-19 17:02:01 +10:00
9d7b63923a
Merge pull request #1235 from valadaa48/CRTCTicksToSystemTicks_optimization
...
Small optimization to GPU::SystemTicksToCRTCTicks
2020-12-17 11:36:21 +10:00
bd8613b120
Merge pull request #1227 from ggrtk/auto-aspect-ratio
...
GPU: Add auto aspect ratio and various fixes
2020-12-17 11:35:48 +10:00
7b6d30a994
GPU/HW: Fix possible VRAM corruption when live switching resolutions
...
Mask bit was getting lost based on guest state.
2020-12-17 01:20:06 +10:00
de8f03bd75
GPU: Add auto (game native) aspect ratio
2020-12-16 02:40:33 -08:00
f5f12fd76d
Small optimization to GPU::SystemTicksToCRTCTicks
2020-12-15 22:31:34 -05:00
1c8a896a55
GPU: Wrap display VRAM coordinates properly
2020-12-14 19:28:59 -08:00
866cbdca4b
GPU: Prevent potential overflow in CRTC visible area calculation
2020-12-14 19:28:59 -08:00
78e42d9b4c
GPU: Clean up CRTC variable naming
2020-12-14 19:28:59 -08:00
b8abf2df95
GPU: Don't apply display offsets when not cropping
2020-12-14 19:28:58 -08:00
d7bd21c06d
Timers: Update when sync is used with sysclk source
...
Fixes hang at boot in Zoku Mikagura Shoujo Tanteidan - Kanketsuhen.
2020-12-06 00:35:54 +10:00
d757056891
GPU: Implement dot clock timer (Timer 0)
...
Fixes softlock in Evil Dead - Hail to the King.
2020-12-06 00:35:54 +10:00
362905e3df
GPU: Add display line offset game setting
...
Use when games need additional cropping.
2020-12-04 00:33:04 +10:00
b45bee5954
libretro: Work around crash in RetroArch Vulkan driver
2020-11-25 23:06:41 +10:00
2595e31575
GPU: Split software to frontend/backend
2020-11-21 18:39:04 +10:00
03d4f80883
GPU: Move enums/types into separate file
2020-11-21 18:39:04 +10:00
0726ad1275
GPU: Flush partial VRAM writes to backend VRAM
2020-11-19 00:40:02 +10:00
473cfffa0c
GPU: Only accept DMA writes when FIFO is empty or command incomplete
...
Fixes a bunch of games, including Red Asphalt, Little Princess, Vampire
Hunter D main menu when combined with tight DMA sync.
2020-11-16 01:00:55 +10:00
a1453ee8a5
GPU: Skip full CRTC update on GP1(05h)
2020-10-23 19:37:56 +10:00
6bc7cf29cc
GPU: Synchronize CRTC on GP1(05h) command
...
Fixes text flashing briefly after startup PlayStation logo in King's
Field (USA).
2020-10-22 21:41:42 -07:00
ca7db7a2d2
GPU: Update CRTC debug window reporting
2020-10-21 23:17:39 -07:00
1a0b1a3149
GPU: Use accurate VRAM display width rounding
...
Modified version of Nocash algorithm, confirmed with hardware test.
Relies on proper horizontal display range rounding for correct results.
2020-10-21 23:17:39 -07:00
bbaebfd4c9
GPU: Round horizontal display range values down to clockdiv multiple
...
GP1(06h) X1 and X2 are persistent across clockdiv changes, but the GPU
actively uses rounded values for display output. This behavior is
modeled by storing the rounded values in horizontal_display_start and
horizontal_display_end. Verified with hardware test.
2020-10-21 23:17:39 -07:00
27697d0508
System: Implement CPU overclocking [SAVEVERSION+]
...
Partial credit to @CookiePLMonster as well.
2020-09-30 23:48:34 +10:00
cacf7a7cc9
GPU: Precompute texture window expression [SAVEVERSION+]
2020-09-30 23:03:52 +10:00
d73271ec0a
GPU: Add option to force 4:3 for 24-bit content (e.g. FMVs)
2020-09-26 15:11:45 +10:00
f990d6ab3b
GPU: Idle bit should be clear during an incomplete command
2020-09-24 22:16:15 +10:00
1918a5ddd4
STBI: Handle UTF-8 paths correctly
2020-09-14 21:27:22 +02:00
13e3095801
Core: Don't link to imgui for libretro core
2020-09-01 12:22:32 +10:00
60d3fffec1
Add per-game overrides (mainly for compatibility)
2020-08-21 00:09:37 +10:00
c9c2c00c1a
GPU: Update GPUSTAT.13 with field
...
Doubt this'll change much..
2020-08-19 00:02:37 +10:00
f65651823e
GPU: Simplify hsync handling
...
Fixes character lighting in Monkey Hero.
2020-08-17 01:22:03 +10:00
10a46a7fd8
OSD: Add option to show display resolution
2020-08-16 00:20:11 +10:00
d4665e8b22
GPU: Tweaks to ODE handling
...
Fixes Team Buddies and The Next Tetris.
2020-08-16 00:20:10 +10:00
818892cb1b
GPU: Claer interlaced field buffer when enabling
...
Fixes old frames getting briefly displayed.
2020-08-03 03:26:13 +10:00
9b7512f7b8
GPU/HW: Implement automatic resolution scale from window size
2020-08-03 03:06:03 +10:00
4d9c2c1b6c
GPU: Ensure pending time is used in events
...
Fixes long delay in Syphon Filter.
2020-08-02 14:09:22 +10:00
0c1b637549
PGXP: Add initial implementation
2020-08-02 00:25:07 +10:00
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
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
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
000a51298a
GPU: Don't round screen size to 4-pixel multiple
2020-07-05 06:00:36 -07:00