Connor McLaughlin
cacf7a7cc9
GPU: Precompute texture window expression [SAVEVERSION+]
2020-09-30 23:03:52 +10:00
Connor McLaughlin
d73271ec0a
GPU: Add option to force 4:3 for 24-bit content (e.g. FMVs)
2020-09-26 15:11:45 +10:00
Connor McLaughlin
f990d6ab3b
GPU: Idle bit should be clear during an incomplete command
2020-09-24 22:16:15 +10:00
Silent
1918a5ddd4
STBI: Handle UTF-8 paths correctly
2020-09-14 21:27:22 +02:00
Connor McLaughlin
13e3095801
Core: Don't link to imgui for libretro core
2020-09-01 12:22:32 +10:00
Connor McLaughlin
60d3fffec1
Add per-game overrides (mainly for compatibility)
2020-08-21 00:09:37 +10:00
Connor McLaughlin
c9c2c00c1a
GPU: Update GPUSTAT.13 with field
...
Doubt this'll change much..
2020-08-19 00:02:37 +10:00
Connor McLaughlin
f65651823e
GPU: Simplify hsync handling
...
Fixes character lighting in Monkey Hero.
2020-08-17 01:22:03 +10:00
Connor McLaughlin
10a46a7fd8
OSD: Add option to show display resolution
2020-08-16 00:20:11 +10:00
Connor McLaughlin
d4665e8b22
GPU: Tweaks to ODE handling
...
Fixes Team Buddies and The Next Tetris.
2020-08-16 00:20:10 +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
9b7512f7b8
GPU/HW: Implement automatic resolution scale from window size
2020-08-03 03:06:03 +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
0c1b637549
PGXP: Add initial implementation
2020-08-02 00:25:07 +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
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
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
1231f6dafe
GPU: Handle GP1 command mirrors
2020-07-04 01:28:18 +10:00
Connor McLaughlin
8a8ce8d41c
NamcoGunCon: Use correct GPU clock as reference
2020-07-03 01:51:05 +10:00
Connor McLaughlin
936d92dfb8
System: Add option to force start in software mode
2020-06-30 02:44:19 +10:00
Connor McLaughlin
dad63f2303
GPU: Run draw clock at sysclk * 2
2020-06-13 01:40:05 +10:00
Connor McLaughlin
bdf9c91271
GPU: Fix double shader compilation
2020-06-09 03:04:02 +10:00
Connor McLaughlin
b4e45e865a
GPU: Use correct clocks for NTSC region
...
Fixes sync drift in Bust-a-Move 1/2.
2020-06-07 19:15:06 +10:00
Connor McLaughlin
3848276fa2
GPU: Improvements to height calculations when interlaced
...
Fixes screen doubling with interlacing force disabled, as well as
incorrect cropping area when non-interleaved framebuffers are used.
2020-06-02 20:52:07 +10:00
Connor McLaughlin
23436f08ba
GPU/HW: More improvements to GPUSTAT.31
...
Fixes True Pinball without breaking intros to Final Fantasy 7/8.
2020-05-26 22:57:58 +10:00
Connor McLaughlin
e368dbbadc
GPU: Implement non-interleaved interlaced rendering
...
Fixes screen shaking in True Pinball.
2020-05-26 03:18:05 +10:00
Connor McLaughlin
19cebd97da
GPU: Further refinements to crop overscan
...
Fixes flickering line in South Park.
2020-05-17 19:23:48 +10:00
Connor McLaughlin
0ef0c36704
GPU: Align display widths to 4 pixels
...
Documentation thanks to nocash.
Fixes line on edge in X2 - No Relief, Gunbird.
2020-05-17 18:46:59 +10:00
Connor McLaughlin
664bd06df6
GPU: Don't recursively execute commands
...
This can happen with interlaced rendering on when a line is pending
scanout and a primitive is drawn.
Fixes screen transitions in Slap Happy Rhythm Busters.
2020-05-17 17:58:48 +10:00
Connor McLaughlin
2185bbec73
GPU: Display state in debug window
2020-05-17 14:11:42 +10:00
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