Connor McLaughlin
597aa20d83
GPU: Don't panic when FIFO is non-empty with VRAM->CPU copy
...
This probably is not a good state to be in though, since the DMA request
gets turned off and will never resume until it's copied out.
2020-05-17 14:05:31 +10:00
Connor McLaughlin
b25ed6c151
GPU: Fix interlaced rendering in vblank breaking
2020-05-17 01:02:20 +10:00
Connor McLaughlin
c114873ed8
GPU: Fix height underflow in CRTC calculations
2020-05-14 01:25:43 +10:00
Connor McLaughlin
3472e37d21
GPU: Synchronize before clearing FIFO
2020-05-14 01:25:10 +10:00
Connor McLaughlin
c0ea35ccdc
GPU: Fix parameters not applying on startup
2020-05-14 01:24:39 +10:00
Connor McLaughlin
65c42cd30e
GPU: Don't use field offset for ODE in vblank
2020-05-11 22:26:10 +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
be9033b6c0
SPU: Add missing clamp in ADPCM decoder
2020-04-28 17:55:43 +10:00
Connor McLaughlin
8c6cb877eb
GPU: Disable display when CRTC configuration is invalid
2020-04-27 21:49:34 +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
b893c0abf5
GPU/Software: Fix copies when overlapping and oversized
2020-04-20 00:54:50 +10:00
Connor McLaughlin
1757932b3a
GPU: Implement FIFO and timings
...
This will cause a slight performance loss. I've left some knobs in which
can be tweaked to mitigate this, but the goal is to be compatible with
all games which require them.
2020-04-19 01:17:28 +10:00
Connor McLaughlin
7779a54bc5
GPU: Rename 'Force Progressive Scan' to 'Disable Interlacing'
...
It affects rendering as well as display/scanout now, after all.
2020-04-11 16:37:53 +10:00
Connor McLaughlin
9e024b7a51
GPU: Handle VRAM wrap-around behavior on scanout
2020-04-11 16:09:03 +10:00
Connor McLaughlin
fbfd838e22
GPU: Add pixel aspect ratio option
...
Can display in 4:3, 16:9, 1:1 ratios.
2020-04-10 15:12:35 +10:00
Connor McLaughlin
3325d2c42c
GPU: Add Force NTSC timings option
...
This option forces NTSC timings for PAL games, causing them to either
run faster (more likely) or smoother (less likely).
2020-04-10 13:35:10 +10:00
Connor McLaughlin
c483a78889
GPU: Implement interlaced VRAM fills
2020-04-04 00:24:37 +10:00
Connor McLaughlin
2aecb570c1
GPU: Implement interlaced rendering in hardware backends
2020-04-04 00:24:37 +10:00
Connor McLaughlin
7f5c6f8b4f
GPU/HW: Move some flush checks to command time
2020-04-04 00:10:55 +10:00
Connor McLaughlin
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
Connor McLaughlin
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
Connor McLaughlin
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
Albert Liu
b27e030059
GPU: Fix "Draw To Display Area" debug reporting
2020-04-01 06:10:31 -07:00
Connor McLaughlin
8439e1c54e
GPU: Adjust visible ticks/lines, fix underflow in height
2020-03-31 22:28:37 +10:00
Connor McLaughlin
eaf13a1461
GPU: Fix flipped MSB/LSB for single pixel reads
2020-03-30 00:41:31 +10:00
Connor McLaughlin
148279e2f2
GPU: Rewrite CRTC display modeling and overscan handling
2020-03-29 01:14:37 +10:00
Connor McLaughlin
e6d5a9d3e4
GPU: Add missing blitter ticks reset to SoftReset()
2020-03-29 01:13:40 +10:00
Connor McLaughlin
54abd37daa
GPU: Let the GPU drive DMA transfers for large time slices
...
Fixes FMV breakage... again.
2020-03-26 00:13:20 +10:00
Connor McLaughlin
452c6e16d1
GPU: Fix blitter ticks not being counted
...
Fixes Monkey Hero, again...
2020-03-24 00:21:42 +10:00
Connor McLaughlin
40d6be7142
System: Frame pacing improvements
2020-03-24 00:21:11 +10:00
Connor McLaughlin
e2e2b573c0
GPU/HW: Move drawing offset to CPU-side
...
Saves updating the uniform buffer.
2020-03-24 00:20:15 +10:00
Connor McLaughlin
904ab982e6
GPU: Fix crash when fill rectangles are out-of-bounds
2020-03-21 00:15:35 +10:00
Connor McLaughlin
d67bcd654c
GPU: Prevent emulator locking up when switching between PAL/NTSC mode
2020-03-20 01:12:41 +10:00
Connor McLaughlin
f9a298f1b7
GPU: Fix incorrect handling of check mask bit
...
Fixes boxes in Silent Hill in Software Renderer.
2020-03-06 00:45:21 +10:00
Connor McLaughlin
34f1c644f5
GPU: Update GPUSTAT if raster has passed to the next line
...
Fixes games which poll GPUSTAT, including The Next Tetris (Europe).
2020-03-01 17:14:42 +10:00
Connor McLaughlin
b0b1fd8f1a
GPU: Timing for CPU->VRAM transfers
...
Fixes Monkey Hero, probably others.
2020-03-01 17:14:38 +10:00
Connor McLaughlin
6b9c6d3750
GPU: Add a helper function to determine how many GPU ticks are pending
2020-03-01 17:14:32 +10:00
Connor McLaughlin
7412e78aa1
GPU: Move software copy/fill functions to base class so it can be used as fallback
2020-02-29 00:18:33 +10:00
Connor McLaughlin
aa56a59f58
GPU: Make resolution info less spammy
2020-02-28 23:00:37 +10:00
Connor McLaughlin
fcc0ae9571
GPU: Implement "Crop Mode" (none, overscan, all borders)
2020-02-28 17:01:01 +10:00
Connor McLaughlin
82eb14efb1
Core: Apply DPI scaling to debug windows
2020-02-28 16:59:51 +10:00
Connor McLaughlin
9148581213
GPU: Narrowing warning fix
2020-02-16 00:13:57 +09:00
Connor McLaughlin
c820ddba79
HostInterface: Move throttle and perf stats to System class
2020-02-09 22:16:25 +09:00
Connor McLaughlin
88936463d7
GPU: Toggle vblank timer gate for full frame
...
Regression from event system. Fixes Ridge Racer.
2020-01-30 16:22:05 +10:00
Connor McLaughlin
1b9609ef61
Implement event-based scheduler instead of lock-step components
2020-01-24 16:23:39 +10:00
Connor McLaughlin
71c1e243fe
Remove YBaseLib dependency
2020-01-10 13:40:53 +10:00
Connor McLaughlin
c52040434a
Core: Linux warning fixes
2020-01-09 08:46:52 +10:00
Connor McLaughlin
f5d65448d6
GPU: Improve structure alignment
2019-12-11 20:28:14 +10:00
Connor McLaughlin
8f624afb59
GPU: Fix handling of GP1(09h)
2019-12-11 16:47:49 +10:00
Connor McLaughlin
ffe90083d3
GPU: Refactor draw mode setting
2019-12-11 16:35:14 +10:00
Connor McLaughlin
df6e079920
GPU: Add a Force Progressive Scan option (disable interlacing)
2019-12-10 22:52:46 +10:00
Connor McLaughlin
8930383c96
GPU: Use start address in computation of drawing_even_line
2019-12-08 00:40:52 +10:00
Connor McLaughlin
9d6d00480c
GPU: Implement mask bit handling in software renderer
...
Still needs implementation in the hardware renderers.
2019-11-24 18:47:42 +10:00
Connor McLaughlin
613e4f4a2a
GPU: Set PAL mode on soft reset if region is PAL
2019-11-16 20:52:39 +10:00
Connor McLaughlin
49ab9467df
GPU: Set throttle frequency based on mode config
2019-11-16 20:52:39 +10:00
Connor McLaughlin
4e9d5b77f8
GPU: Fix swapped bytes for VRAM->CPU transfers
2019-11-15 15:05:27 +10:00
Connor McLaughlin
49569d29aa
GPU: Refactor command execution/VRAM->CPU transfers
...
Simpler, and handles odd sizes correctly.
2019-11-14 22:17:11 +10:00
Connor McLaughlin
9d66638bce
GPU: Handle oversized transfers (wrap around behavior)
2019-11-14 20:31:48 +10:00
Connor McLaughlin
9ea7a8418c
GPU: Eliminate temporary buffer when reading back
2019-11-14 17:17:22 +10:00
Connor McLaughlin
7152d54104
GPU: Simplify 480i mode handling in CRTC
2019-11-14 00:58:15 +10:00
Connor McLaughlin
d8452d7d7d
GPU: Track horizontal blanking, correct timer increment point
2019-11-12 01:32:06 +10:00
Connor McLaughlin
2c631aba5e
GPU: Move stats from renderer class to base classes
2019-11-05 19:44:17 +10:00
Connor McLaughlin
afbec85f89
GPU/HW: Track dirty area of VRAM shadow texture via drawing area
2019-11-05 19:19:49 +10:00
Connor McLaughlin
9de9cf3be2
GPU/HW: Add D3D11 renderer and refactor host interface/display
2019-11-04 00:39:48 +10:00
Connor McLaughlin
91c99f0226
GPU/HW: Use uniform blocks for batch rendering
2019-11-03 13:18:43 +10:00
Connor McLaughlin
aa1f3ad8f7
GPU: Don't truncate clear colour to 15-bit with true colour on
2019-11-03 01:05:37 +10:00
Connor McLaughlin
ba1a5a5ca9
GPU: Fix batching regression (draws split on texture page)
2019-11-03 00:36:47 +10:00
Connor McLaughlin
c52c0608ae
GPU: Move resolution scale to hardware backend only
2019-11-02 01:32:27 +10:00
Connor McLaughlin
c9feb7ea07
GPU: Add force true color setting
2019-11-02 00:31:25 +10:00
Connor McLaughlin
1c79737021
GPU: Simplify batch state
2019-11-01 21:47:45 +10:00
Connor McLaughlin
772ef27a55
GPU: Implement display disable command GP1(03h)
2019-10-28 17:43:34 +10:00
Connor McLaughlin
6e60991fd0
Frontend: Add hotkey to adjust resolution scale
2019-10-28 00:48:43 +10:00
Connor McLaughlin
4e6596adfb
GPU: Update display after loading state
...
Fixes black frame after switching renderers.
2019-10-27 21:08:43 +10:00
Connor McLaughlin
b1d3ba3d68
GPU: Remove unused resolution fields in CRTC
2019-10-27 20:20:53 +10:00
Connor McLaughlin
9b56499afa
Refactoring settings/support changing GPU renderer at runtime
2019-10-26 12:55:56 +10:00
Connor McLaughlin
2d0dd03705
GPU: Implement weave deinterlacing
2019-10-23 15:36:37 +10:00
Connor McLaughlin
a76ec6fc19
Compile fixes for GCC
2019-10-22 23:07:51 +10:00
Connor McLaughlin
1b8b730f85
GPU: Compute display aspect ratio based on visible area
2019-10-21 00:18:52 +10:00
Connor McLaughlin
2e70c22422
GPU: Properly handle display range config
2019-10-20 23:19:26 +10:00
Connor McLaughlin
baf97cb864
GPU: Split command handlers into seperate file
2019-10-18 23:52:52 +10:00
Connor McLaughlin
254c668d7e
GPU: Implement GP1(00h)
2019-10-16 02:17:18 +10:00
Connor McLaughlin
45bfcc8225
GPU: Fix GPUSTAT(31) during vblank
2019-10-16 02:17:18 +10:00
Connor McLaughlin
7448cbaf9d
GPU: Copy-less processing from DMA
2019-10-13 17:33:20 +10:00
Connor McLaughlin
ec8c5d4bb6
DMA: Batch multi-word transfers together
2019-10-13 16:48:11 +10:00
Connor McLaughlin
0f68c8c5d3
Add debugging for GPU/Timers
2019-10-12 22:15:38 +10:00
Connor McLaughlin
2f8edd1812
MDEC: Only set DMA request when there is actually data to write
2019-10-08 19:27:22 +10:00
Connor McLaughlin
caec927a98
GPU: Implement GetGPUInfo subcommands 02-05h
2019-10-06 23:12:17 +10:00
Connor McLaughlin
b7209eafb1
GPU: Fix out-of-bounds read in GP1(10h)
2019-10-06 00:37:31 +10:00
Connor McLaughlin
24bda8f659
GPU: Flush rendering before filling rectangle
2019-10-05 23:31:19 +10:00
Connor McLaughlin
e286d6389c
GPU: Flush rendering when drawing offset changes
2019-10-05 23:29:36 +10:00
Connor McLaughlin
2a0483f571
GPU: Flush rendering when drawing area changes
2019-10-05 23:28:34 +10:00
Connor McLaughlin
bc8e035e37
GPU: Implement texture window
2019-10-05 23:27:48 +10:00
Connor McLaughlin
f59d35023c
GPU: Stub out more commands
2019-10-05 22:22:49 +10:00
Connor McLaughlin
27bc65fc2a
GPU: Use BitField sign extending for position
2019-10-04 23:21:20 +10:00
Connor McLaughlin
004c22f031
Frontend: Prevent drawing imgui into the vram texture
2019-10-04 22:27:18 +10:00
Connor McLaughlin
4fa79f1503
GL: Eliminiate most redundant state setting calls at draw time
2019-10-04 22:10:43 +10:00
Connor McLaughlin
4d22bec8fd
GPU: Add some missing state reset
2019-10-04 20:34:29 +10:00
Connor McLaughlin
8362b8e43b
UI: Beginning of customizable settings, debug menu
2019-10-04 15:00:32 +10:00
Connor McLaughlin
bddbab9d60
Rename to DuckStation
2019-10-04 13:54:09 +10:00