d0be5618ec
GPU/HW/OpenGL: Use shader cache
2020-04-04 00:24:37 +10:00
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
ca2f691dbe
Common: Add GL Shader Cache class
2020-04-04 00:11:09 +10:00
ef4808bbde
GL/Program: Add program binary interface
2020-04-04 00:11:04 +10:00
256cb8a82c
GL/Program: Make moveable
2020-04-04 00:11:00 +10:00
7f5c6f8b4f
GPU/HW: Move some flush checks to command time
2020-04-04 00:10:55 +10:00
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
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
ba98bf345a
CI: Remove unit tests before packaging
2020-04-03 01:32:27 +10:00
5b6027e6bb
Add common-tests and rectangle class tests
2020-04-03 01:32:27 +10:00
26313b093c
dep: Add googletest
2020-04-03 01:32:27 +10:00
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
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
1d948a53e0
SPU: Reinitialize transfer event on loading state
2020-04-02 00:17:15 +10:00
b27e030059
GPU: Fix "Draw To Display Area" debug reporting
2020-04-01 06:10:31 -07:00
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
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
0eb740a0aa
Qt: Add CDROM Enable Region Check option
2020-04-01 14:50:27 +10:00
9933910312
SDL: Add CDROM Enable Region Check option
2020-04-01 14:50:21 +10:00
15c33ebedb
CDROM: Add "Enable Region Check" option
2020-04-01 01:48:37 +10:00
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
f6711cbafa
CDROM: Pausing while seeking should be an error response
...
Confirmed by hardware test.
2020-03-31 22:28:55 +10:00
00c24c2501
CDROM: Adjust ACK timings to be closer to hardware test results
...
Fixes Shrek Treasure Hunt.
2020-03-31 22:28:48 +10:00
8439e1c54e
GPU: Adjust visible ticks/lines, fix underflow in height
2020-03-31 22:28:37 +10:00
6bc91f2157
GPU: Polyline must have at least two vertices
...
Fixes GPU stream corruption in Lifeforce Tenka.
2020-03-30 13:58:39 +10:00
eaf13a1461
GPU: Fix flipped MSB/LSB for single pixel reads
2020-03-30 00:41:31 +10:00
f13cfce34d
GPU: Fix incorrect polyline terminator check
...
Fixes Gran Turismo 2, maybe others.
2020-03-30 00:35:39 +10:00
a9109c7552
System: Don't insert blank memory card if path unspecified
2020-03-30 00:14:15 +10:00
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
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
7ecac6dbcf
CDImage: Use track's control instead of last track's control for pregap
2020-03-30 00:13:26 +10:00
02f67a801e
CDROM: Fix behavior of stat bit 5 according to hardware tests
2020-03-29 17:52:37 +10:00
deb2865606
CDROM: Preserve header valid bit on more commands
...
Fixes Goryuujin Electro hanging on boot.
2020-03-29 01:16:01 +10:00
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
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
148279e2f2
GPU: Rewrite CRTC display modeling and overscan handling
2020-03-29 01:14:37 +10:00
fe824d6c89
GPU: Display VRAM with 1:1 pixel ratio rather than scaling
2020-03-29 01:14:33 +10:00
21ddfacd40
Settings: Add missing crop mode save
2020-03-29 01:13:53 +10:00
e6d5a9d3e4
GPU: Add missing blitter ticks reset to SoftReset()
2020-03-29 01:13:40 +10:00
10197506c5
CDROM: Implement 8-sector buffering behavior
2020-03-29 01:13:25 +10:00
a988384423
Common/HeapArray: Fix move construction/assignment
2020-03-29 01:13:14 +10:00
46239e6758
GPU: Fix GP0(1Fh) locking up emulator
2020-03-29 01:12:54 +10:00
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
423f04325f
SPU: Implement timing for RAM reads/writes
2020-03-29 01:12:37 +10:00
20025b2ffd
Qt: Hide mouse cursor in fullscreen mode
...
Fixes #135 .
2020-03-29 01:12:27 +10:00
22a0d8f93c
CDROM: Implement Sync/00h command
2020-03-28 02:24:36 +10:00
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
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
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
54abd37daa
GPU: Let the GPU drive DMA transfers for large time slices
...
Fixes FMV breakage... again.
2020-03-26 00:13:20 +10:00