Commit Graph

49 Commits (0daea7c2fc40b2c38e70fe376502705e884ef7fa)

Author SHA1 Message Date
Connor McLaughlin e058beb4b0 GPU/HW: Fix oversized VRAM copies writing out of bounds
Fixes jittering in Duke Nukem - Land of the Babes water effect.
6 years ago
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.
6 years ago
Connor McLaughlin 5ad133a278 GPU/HW: Implement oversized copies on GPU
Fixes slowdown caused by this.
6 years ago
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.
6 years ago
Connor McLaughlin 65ca8b9fe0 GPU/HW: Move logic from backend to GPU_HW class 6 years ago
Connor McLaughlin 3cfead36c4 Revert "GPU: Clamp coordinates to 11 bits after applying drawing offset"
This reverts commit 5302f83818.

This is not the correct fix, and breaks other games.
6 years ago
Connor McLaughlin 2aecb570c1 GPU: Implement interlaced rendering in hardware backends 6 years ago
Connor McLaughlin 5302f83818 GPU: Clamp coordinates to 11 bits after applying drawing offset
Fixes flickering in some scenes (e.g. Galbadia Missile Base).
6 years ago
Connor McLaughlin 0b347e2151 GPU/HW: Implement flipped quad coordinate hack from beetle-psx
Fixes graphical glitches around the edges of flipped sprites.
6 years ago
Connor McLaughlin e2e2b573c0 GPU/HW: Move drawing offset to CPU-side
Saves updating the uniform buffer.
6 years ago
Connor McLaughlin 6bb6249e86 GPU/HW: Print capabilities to log 6 years ago
Connor McLaughlin 635ab72b37 GPU: Implement "Scaled Dithering" option
Fixes #29.
6 years ago
Connor McLaughlin 0690491883 GPU/HW: Fix potential crash in rectangle expansion 6 years ago
Connor McLaughlin 149cbf6457 GPU/HW: Properly implement too-large polygon culling
Replaces triangle strips with triangle lists, which has the added bonus
of not requiring flushing as many batches.

Fixes missing geometry in Vagrant Story.
6 years ago
Connor McLaughlin 9ac7b002e2 GPU/HW: Improve dirty rectangle tracking
Fixes title screen of Activision Classics and performance regression
from Vagrant Story motion blur fix.
6 years ago
Connor McLaughlin 4a3478b360 HostInterface: Add function to switch between sw/hw rendering 6 years ago
Connor McLaughlin 504510c242 GPU: Fix reading of write-combined GPU buffers
+100fps in recompiler modes
6 years ago
Connor McLaughlin ffe90083d3 GPU: Refactor draw mode setting 6 years ago
Connor McLaughlin 67c67bbb66 GPU: Add basic texture filtering support
Still has issues around the edges of text.
6 years ago
Connor McLaughlin 024ed01bbb GPU/HW: Set alpha to mask bit setting 6 years ago
Connor McLaughlin bc5a247a4b GPU/HW: Use dual-source blend to split alpha and mask 6 years ago
Connor McLaughlin 9ea7a8418c GPU: Eliminate temporary buffer when reading back 6 years ago
Connor McLaughlin 3998b9684e GPU/HW: GPU-based RGBA8->RGB5551 conversion for readbacks 6 years ago
Connor McLaughlin cc7483ad58 GPU/HW: Only copy the dirty area to the VRAM read texture 6 years ago
Connor McLaughlin da51d49d18 GPU/HW: Track VRAM fills/writes in dirty rectangle instead of invalidating 6 years ago
Connor McLaughlin 2c631aba5e GPU: Move stats from renderer class to base classes 6 years ago
Connor McLaughlin afbec85f89 GPU/HW: Track dirty area of VRAM shadow texture via drawing area 6 years ago
Connor McLaughlin 9de9cf3be2 GPU/HW: Add D3D11 renderer and refactor host interface/display 6 years ago
Connor McLaughlin be81d08109 GPU/HW: Split shadergen to seperate class 6 years ago
Connor McLaughlin 91c99f0226 GPU/HW: Use uniform blocks for batch rendering 6 years ago
Connor McLaughlin f7f5d45d7a GPU: Fix incorrect VRAM fill colours in GL renderer 6 years ago
Connor McLaughlin ba1a5a5ca9 GPU: Fix batching regression (draws split on texture page) 6 years ago
Connor McLaughlin 4143469353 GPU: Use texture buffer/fragment shader for VRAM writes 6 years ago
Connor McLaughlin 2b17cfd365 GPU: Use streaming buffers for CPU->VRAM transfers 6 years ago
Connor McLaughlin 407fee9ec3 GPU: Add base functionality for GL streaming buffers 6 years ago
Connor McLaughlin c52c0608ae GPU: Move resolution scale to hardware backend only 6 years ago
Connor McLaughlin c9feb7ea07 GPU: Add force true color setting 6 years ago
Connor McLaughlin ac82383abe GPU: Implement dithering on OpenGL backend 6 years ago
Connor McLaughlin 1c79737021 GPU: Simplify batch state 6 years ago
Connor McLaughlin 5626d4f282 GPU: Fix texcoord off-by-one error in rectangles 6 years ago
Connor McLaughlin 9b56499afa Refactoring settings/support changing GPU renderer at runtime 6 years ago
Connor McLaughlin 2d0dd03705 GPU: Implement weave deinterlacing 6 years ago
Connor McLaughlin 7448cbaf9d GPU: Copy-less processing from DMA 6 years ago
Connor McLaughlin 5627955900 GPU: Two-pass rendering for B-F transparency 6 years ago
Connor McLaughlin bc8e035e37 GPU: Implement texture window 6 years ago
Connor McLaughlin c2baa7e834 GPU: 24-bit display depth support 6 years ago
Connor McLaughlin a9313b2958 GPU: Fix transparency not being enabled in shader 6 years ago
Connor McLaughlin 4d22bec8fd GPU: Add some missing state reset 6 years ago
Connor McLaughlin bddbab9d60 Rename to DuckStation 6 years ago