Commit graph

63 commits

Author SHA1 Message Date
Connor McLaughlin a08c398d4b GPU/HW: Provide depth in vertex rather than computing
Fixes mask bit effects in Vulkan (e.g. Silent Hill).
Significantly reduces the number of mask bit refreshes in OpenGL/Vulkan.
2020-06-20 20:21:33 +10:00
Connor McLaughlin 49d11988bf Core: Add Vulkan GPU renderer 2020-06-19 00:18:17 +10:00
Connor McLaughlin c8e1881ea9 GPU/HW: Clear dirty rectangle when updating shadow texture
Fixes high GPU usage in Robbit mon Dieu in D3D11, should improve overall
performance slightly when VRAM copies are heavily used.
2020-06-02 21:45:38 +10:00
Connor McLaughlin 7d66569d69 GPU/HW: Fix bobbing screen with interlacing disabled
Fixes bobbing screen in Tom and Jerry in House Trap.
2020-06-01 03:26:35 +10:00
Connor McLaughlin 445bd02cad GPU/HW: Interlace at native resolution rather than 1x
Also fixes screen bobbing when interlacing is disabled.
2020-05-27 00:27:27 +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 b25ed6c151 GPU: Fix interlaced rendering in vblank breaking 2020-05-17 01:02:20 +10:00
Connor McLaughlin 81f297456c GPU: Fix mismatched scanout between hardware/software renderers 2020-05-12 01:35:06 +10:00
Connor McLaughlin 2bc1c67236 GPU/HW: Fix extra column being added with unaligned 24-bit scanout
Fixes pink lines in FMVs of NASCAR Thunder 2004.
2020-05-11 22:03:35 +10:00
Connor McLaughlin f17c2c44d0 GPU/HW: Fix red bleeding when writing VRAM with mask bit set
Fixes menu screen in Twisted Metal 4.
2020-05-09 14:38:06 +10:00
Connor McLaughlin e058beb4b0 GPU/HW: Fix oversized VRAM copies writing out of bounds
Fixes jittering in Duke Nukem - Land of the Babes water effect.
2020-05-03 18:09:34 +10:00
Connor McLaughlin 9446587e8f GPU/HW: Mask bit handling in hardware renderers
Fixes:
 - Menu effect in Ghost in the Shell
 - Incorrect text colours in menu of Dragon Quest VII
 - Fade effect in TwinBee RPG
 - Fog in Silent Hill
 - Water in Duke Nukem - Land of the Babes
 - Shadows in Ultraman - Fighting Evolution

and probably others.
2020-05-03 17:11:31 +10:00
Connor McLaughlin 8c6cb877eb GPU: Disable display when CRTC configuration is invalid 2020-04-27 21:49:34 +10:00
Connor McLaughlin 36444b264f GPU/D3D11: Restore API state after updating settings
Should fix the debug layer warnings when adjusting resolution scale.
2020-04-27 13:52:59 +10:00
Connor McLaughlin f98c9b4084 GPU/HW: Fix display being cut off when cropping+upscaling 2020-04-25 14:37:56 +10:00
Connor McLaughlin 990147b7e9 GPU/HW: Use uint in CPU-side vertex attributes 2020-04-23 15:55:49 +10:00
Connor McLaughlin 5ad133a278 GPU/HW: Implement oversized copies on GPU
Fixes slowdown caused by this.
2020-04-19 22:30:55 +10:00
Connor McLaughlin 65ca8b9fe0 GPU/HW: Move logic from backend to GPU_HW class 2020-04-18 15:30:46 +10:00
Connor McLaughlin 9e024b7a51 GPU: Handle VRAM wrap-around behavior on scanout 2020-04-11 16:09:03 +10:00
Connor McLaughlin a06240141e GPU/D3D11: Fix incorrect usage of CopySubresourceRegion() in CopyVRAM()
I believe this is what was causing the renderer to have issues on
Windows 7.
2020-04-10 01:07:44 +10:00
Connor McLaughlin 5a19abbbd3 GPU/D3D11: Fix broken 24-bit display/interlacing when upscaled 2020-04-10 00:43:18 +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 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
Connor McLaughlin 148279e2f2 GPU: Rewrite CRTC display modeling and overscan handling 2020-03-29 01:14:37 +10:00
Connor McLaughlin fe824d6c89 GPU: Display VRAM with 1:1 pixel ratio rather than scaling 2020-03-29 01:14:33 +10:00
Connor McLaughlin 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
Connor McLaughlin 6fa8031569 GPU/D3D11: Fix uniform buffer creation on Win7 2020-03-07 16:05:54 +10:00
Connor McLaughlin 6bb6249e86 GPU/HW: Print capabilities to log 2020-03-07 12:54:15 +10:00
Connor McLaughlin b5b6a15e40 GPU/D3D11: Always flush render before presenting 2020-03-07 12:37:58 +10:00
Connor McLaughlin ae4767a9ca GPU/HW: Always unmap buffer on flush
Should stop assertions firing in some games.
2020-03-07 12:34:44 +10:00
Connor McLaughlin 635ab72b37 GPU: Implement "Scaled Dithering" option
Fixes #29.
2020-03-01 00:05:31 +10:00
Connor McLaughlin e8e44991db GPU: Fix display in OpenGL renderer 2020-02-28 22:42:56 +10:00
Connor McLaughlin fcc0ae9571 GPU: Implement "Crop Mode" (none, overscan, all borders) 2020-02-28 17:01:01 +10:00
Connor McLaughlin 1e0e802fa4 HostInterface: Add a helper to display a 'Loading Screen' during long startup 2020-02-16 00:15:16 +09:00
Connor McLaughlin a36fe8bfe6 GPU: Keep drawing area invalidated after invalidating shadow VRAM copy
Partially fixes the motion blur in Vagrant Story.
2020-02-07 00:10:58 +09:00
Connor McLaughlin a83cad5872 GPU/D3D11: Use shader bytecode cache 2020-01-24 14:52:01 +10:00
Connor McLaughlin bfef42f4cb GPU: Fix possible driver crash on oversized update/fill 2020-01-23 00:01:05 +10:00
Connor McLaughlin 71c1e243fe Remove YBaseLib dependency 2020-01-10 13:40:53 +10:00
Connor McLaughlin 41cf894488 GPU/HW: Fix readback of odd transfer widths
Fixes character model flailing and crash in FF9.
2019-12-28 15:50:37 +10:00
Connor McLaughlin df6e079920 GPU: Add a Force Progressive Scan option (disable interlacing) 2019-12-10 22:52:46 +10:00
Connor McLaughlin 67c67bbb66 GPU: Add basic texture filtering support
Still has issues around the edges of text.
2019-12-07 17:03:56 +10:00
Connor McLaughlin ea0b13a05c More changes to accomodate Android - imgui/host display 2019-11-28 23:32:57 +10:00
Connor McLaughlin bc5a247a4b GPU/HW: Use dual-source blend to split alpha and mask 2019-11-24 23:28:01 +10:00
Connor McLaughlin 38d0f46063 Frontend: Fix some GPU settings not saving to ini 2019-11-17 22:10:55 +10:00
Connor McLaughlin 708ce25cb0 GPU/HW: Fix resolution changing while running corrupting screen 2019-11-14 22:24:47 +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 3998b9684e GPU/HW: GPU-based RGBA8->RGB5551 conversion for readbacks 2019-11-14 17:16:21 +10:00