218 Commits

Author SHA1 Message Date
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
16d83989e5 GPU/HW: Support line drawing at >1x scale in D3D11 via GS 2019-11-05 00:27:22 +10:00
Connor McLaughlin
3619b46b45 GPU: Fix parsing of polylines.. again 2019-11-05 00:26:35 +10:00
Connor McLaughlin
3c64a242bb GPU: Fix incorrect parsing of polyline commands 2019-11-04 02:56:30 +10:00
Connor McLaughlin
5d26c2177f GPU/HW: Don't crash when switching to incompatible renderer 2019-11-04 02:02:33 +10:00
Connor McLaughlin
a397979d72 GPU/HW: Elide buffer copy in scanout and fix flipped display 2019-11-04 01:46:19 +10:00
Connor McLaughlin
ac45f3892c Frontend: Fix broken display texture for OpenGL 2019-11-04 01:01:31 +10:00
Connor McLaughlin
4a6f283484 CPU: Add trace log to file support 2019-11-04 00:55:07 +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
d68f7085d6 Common: Move GL classes to subdirectory 2019-11-03 15:22:37 +10:00
Connor McLaughlin
47849465d8 GPU/HW: Use uniform blocks for all shaders + HLSL support in shadergen 2019-11-03 15:18:51 +10:00
Connor McLaughlin
be81d08109 GPU/HW: Split shadergen to seperate class 2019-11-03 13:36:59 +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
f7f5d45d7a GPU: Fix incorrect VRAM fill colours in GL renderer 2019-11-03 01:02:05 +10:00
Connor McLaughlin
8ffce6ae0b GPU: Fix 24-bit scanout being cut-off at >1x resolution scale 2019-11-03 00:52: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
5abbdef065 Fix compile errors on GCC 2019-11-03 00:15:42 +10:00
Connor McLaughlin
6dc7069d7c CDROM: Fix buffer overflow 2019-11-03 00:09:17 +10:00
Connor McLaughlin
bb572d5c14 GPU: Remove hack for bitwise ops on TextureMode enum 2019-11-03 00:01:54 +10:00
Connor McLaughlin
4143469353 GPU: Use texture buffer/fragment shader for VRAM writes 2019-11-02 23:43:20 +10:00
Connor McLaughlin
60281eb67e Common: Use std::string_view for GL::Program 2019-11-02 23:42:21 +10:00
Connor McLaughlin
2b17cfd365 GPU: Use streaming buffers for CPU->VRAM transfers 2019-11-02 22:31:15 +10:00
Connor McLaughlin
407fee9ec3 GPU: Add base functionality for GL streaming buffers 2019-11-02 22:21:56 +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
fc09b722ea GPU: Truncate fragment values to 15-bit RGB 2019-11-02 00:01:03 +10:00
Connor McLaughlin
bbd7798ca4 GPU: Apply dither pattern more correctly at higher resolutions 2019-11-01 23:17:50 +10:00
Connor McLaughlin
3aa4219067 GPU: Implement dithering on software backend 2019-11-01 23:11:37 +10:00
Connor McLaughlin
ac82383abe GPU: Implement dithering on OpenGL backend 2019-11-01 23:11:30 +10:00
Connor McLaughlin
1d1da1d82c GPU: Add VRAM read/write stats to GL renderer 2019-11-01 22:06:24 +10:00
Connor McLaughlin
1c79737021 GPU: Simplify batch state 2019-11-01 21:47:45 +10:00
Connor McLaughlin
1540769cb4 GPU: Fix interlaced display at higher internal resolutions 2019-10-30 01:01:57 +10:00
Connor McLaughlin
5626d4f282 GPU: Fix texcoord off-by-one error in rectangles 2019-10-29 23:42:08 +10:00
Connor McLaughlin
9f5bd6e5f9 SPU: Correct sample rate display in debugger 2019-10-29 22:54:16 +10:00
Connor McLaughlin
40eb157d77 SPU: Fix off-by-one-sampling-error causing noise in output 2019-10-29 13:33:19 +10:00
Connor McLaughlin
772ef27a55 GPU: Implement display disable command GP1(03h) 2019-10-28 17:43:34 +10:00
Connor McLaughlin
3128d0ebcb CDROM: Shell open flag behavior when changing discs 2019-10-28 17:34:46 +10:00
Connor McLaughlin
a1ed2d1d77 CDROM: Implement motor on command 2019-10-28 17:25:04 +10:00
Connor McLaughlin
c15822d745 CDROM: Implement stop command 2019-10-28 17:19:29 +10:00
Connor McLaughlin
6e60991fd0 Frontend: Add hotkey to adjust resolution scale 2019-10-28 00:48:43 +10:00
Connor McLaughlin
49be3efb35 GPU: Preserve low bits in upscaled texture coordinates 2019-10-27 23:50:28 +10:00
Connor McLaughlin
12ce777e30 Frontend: Add toggle for software rendering 2019-10-27 21:52:10 +10:00
Connor McLaughlin
21f555cf8f Frontend: Add pause support 2019-10-27 21:26:15 +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
6bbf5b70bb CDROM: More refactoring, playing -> header valid bit changes 2019-10-27 19:55:49 +10:00
Connor McLaughlin
dd4b9609b5 CDROM: Increase ack timing 2019-10-27 17:58:20 +10:00
Connor McLaughlin
0092cb1016 Pad: Set up memory cards via settings 2019-10-27 17:46:36 +10:00
Connor McLaughlin
739ada4721 CDROM: Send pre-pause/seek/read stat for commands 2019-10-27 14:38:48 +10:00
Connor McLaughlin
4181b8c6b5 CDROM: Fix XA sectors overwriting unfetched data sectors 2019-10-27 13:44:23 +10:00
Connor McLaughlin
41574d92e8 Build: Enable conformance mode 2019-10-27 01:58:28 +10:00
Connor McLaughlin
e99f0a4acf Pad: Use baud rate for transfer delay 2019-10-27 01:52:18 +10:00
Connor McLaughlin
4283fa7f74 CDROM: Tweak timings / add missing status update 2019-10-27 01:45:26 +10:00
Connor McLaughlin
0d71ebccc8 Frontend: Add display linear filtering option 2019-10-27 00:02:01 +10:00
Connor McLaughlin
88eec0a56b GPU: Fix internal resolution options not displaying 2019-10-26 22:36:01 +10:00
Connor McLaughlin
62f6a5597e CDROM: Don't crash emulator when interrupts are missed 2019-10-26 22:34:05 +10:00
Connor McLaughlin
b0c492fd43 DigitalController: Fix broken input due to 0x01 handling
Fixes THPS among others.
2019-10-26 22:33:25 +10:00
Connor McLaughlin
99663d119c CDROM: Refactoring seek/read to support timing 2019-10-26 21:10:08 +10:00
Connor McLaughlin
b4f2bf4d3c CDROM: Deliver data interrupt asynchronously
Prevents FMVs locking up when a command is being executed during a
sector read.
2019-10-26 17:41:39 +10:00
Connor McLaughlin
3ded9d46c1 CDROM: Combine stat pushing/ack interrupt 2019-10-26 16:12:37 +10:00
Connor McLaughlin
bedc305b64 CPU: Inline instruction accessor functions 2019-10-26 15:44:03 +10:00
Connor McLaughlin
1adb1d14ae Build: Enable inlining for __inline functions in DebugFast 2019-10-26 15:42:21 +10:00
Connor McLaughlin
a9e0fe6db2 cpu: Remove superfluous logging for syscall 2019-10-26 15:39:10 +10:00
Connor McLaughlin
ed6d0e34de MDEC: Fix broken stats window 2019-10-26 13:31:45 +10:00
Connor McLaughlin
540e942a46 Add basic software GPU renderer 2019-10-26 12:57:45 +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
3db77a3139 SPU: Handle IRQ address register (fixes FF8 intro FMV) 2019-10-23 00:50:00 +10:00
Connor McLaughlin
c048679044 GPU: Don't create explicit framebuffers 2019-10-23 00:35:20 +10:00
Connor McLaughlin
a76ec6fc19 Compile fixes for GCC 2019-10-22 23:07:51 +10:00
Connor McLaughlin
dc7b72b156 Frontend: Support vsync for speed limiter 2019-10-21 01:41:31 +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
7e39dd0935 GPU: Fix display of 24-bit buffers with upscaling enabled 2019-10-20 22:59:40 +10:00
Connor McLaughlin
4f1fc7abf0 Fix CMake build 2019-10-20 22:31:45 +10:00
Connor McLaughlin
9058a79184 Remove libsamplerate dependency 2019-10-20 22:26:49 +10:00
Connor McLaughlin
0e6d1d5629 Frontend: Add a powered-off window/welcome screen 2019-10-20 21:19:54 +10:00
Connor McLaughlin
884378045d SPU: Add CD audio volume control 2019-10-20 21:19:54 +10:00
Connor McLaughlin
140d63c674 SPU: Add more details to debug window 2019-10-20 21:19:54 +10:00
Connor McLaughlin
b5f7fa2652 SPU: Stub out noise mode register 2019-10-20 21:19:54 +10:00
Connor McLaughlin
33f1cf4fd4 SPU: Global volume control 2019-10-20 21:19:54 +10:00
Connor McLaughlin
f3cd100b16 SPU: Float-less volume application 2019-10-20 21:19:54 +10:00
Connor McLaughlin
03e4c71b4c CDROM: Implement CDDA playback 2019-10-20 15:55:23 +10:00
Connor McLaughlin
faa9e59f61 GPU: Correctly mask src x/y in VRAM->CPU transfer 2019-10-20 15:31:32 +10:00
Connor McLaughlin
75f206262c Pad: Store JOY_BAUD 2019-10-18 23:52:52 +10:00
Connor McLaughlin
f046d1008e GPU: Mask high bits in copy commands 2019-10-18 23:52:52 +10:00
Connor McLaughlin
9433e08782 CDROM: Implement GetTD command 2019-10-18 23:52:52 +10:00
Connor McLaughlin
4959de9859 CDROM: Implement GetTN command 2019-10-18 23:52:52 +10:00
Connor McLaughlin
baf97cb864 GPU: Split command handlers into seperate file 2019-10-18 23:52:52 +10:00
Connor McLaughlin
246b17454e CDROM: Store filename, reduce ack cycles 2019-10-18 23:52:52 +10:00
Connor McLaughlin
513bbe44f3 Common: Refactor CDImage class to support multiple tracks/indices 2019-10-18 23:52:52 +10:00
Connor McLaughlin
c8bbd25f59 MDEC: Refactor buffer handling, fixes FF9 FMVs 2019-10-18 23:52:52 +10:00
Connor McLaughlin
6b4298541c DMA: Fix DICR write breaking FMVs in FF7 2019-10-18 23:52:50 +10:00
Connor McLaughlin
9d5f3c1306 CPU: Support stalling CPU for bus activity such as DMA 2019-10-18 00:20:38 +10:00
Connor McLaughlin
0324ae2fd7 CDROM: Initial debug windows 2019-10-17 23:54:51 +10:00
Connor McLaughlin
a6a121f8fe CPU: Add missing instruction signature for xori 2019-10-16 02:17:18 +10:00
Connor McLaughlin
5784fc260d Update CPU interrupt line on interrupt mask change 2019-10-16 02:17:18 +10:00
Connor McLaughlin
254c668d7e GPU: Implement GP1(00h) 2019-10-16 02:17:18 +10:00