Connor McLaughlin
7b6d30a994
GPU/HW: Fix possible VRAM corruption when live switching resolutions
...
Mask bit was getting lost based on guest state.
5 years ago
Connor McLaughlin
03d4f80883
GPU: Move enums/types into separate file
5 years ago
Connor McLaughlin
d3d881aa6b
GPU/Software: Reduce number of copies by one, enable 16-bit scanout
5 years ago
Connor McLaughlin
ae1e4b1b8f
GPU: Add chroma smoothing for 24-bit display enhancement
5 years ago
Connor McLaughlin
2eaebd8921
GPU: Implement support for multisample antialiasing
5 years ago
Connor McLaughlin
64e1305087
GPU/D3D11: Don't keep shader cache open
...
Allows you to run multiple DuckStation instances.
5 years ago
Connor McLaughlin
d73271ec0a
GPU: Add option to force 4:3 for 24-bit content (e.g. FMVs)
5 years ago
Connor McLaughlin
3625834ea7
GPU/HW: Add loading bar to shader compilation
5 years ago
Connor McLaughlin
6f250a4ff7
GPU/HW: Add JINC2 and xBRZ texture filtering options
...
Shaders ported from beetle-psx.
5 years ago
Connor McLaughlin
bb344a4e1e
GPU/D3D11: Fix crash/hang when toggling bilinear setting
5 years ago
Connor McLaughlin
d1ee6c0da7
GPU/HW: Make settings update slightly safer
5 years ago
Connor McLaughlin
d733553425
GPU/HW: Don't display a deleted texture in D3D/OpenGL when updating settings
5 years ago
Connor McLaughlin
fba2488bc5
GPU/D3D11: Don't add UV limits to input layout when unused
5 years ago
Connor McLaughlin
bf9ac64183
GPU/D3D11: Don't leak input layout objects
5 years ago
Connor McLaughlin
5c6e92cdfc
GPU/HW: Disable coordinate clamping when unnecessary
5 years ago
Connor McLaughlin
b95ce993e0
GPU/HW: Clamp interpolated UVs to polygon limits
...
Fixes texture filtering and PGXP issues in some games.
5 years ago
Connor McLaughlin
359234080a
D3D11: Set GS to null when restoring state
...
Fixes the D3D11 renderer being broken on RetroArch due to it leaving a
geometry shader bound.
5 years ago
Connor McLaughlin
0b0bc32afb
GPU/HW: Use texture samplers rather than fetching for batches
...
Enables wrap-around.
5 years ago
Connor McLaughlin
0fc301d654
GPU/HW: Use wrap texture address modes
5 years ago
Connor McLaughlin
818892cb1b
GPU: Claer interlaced field buffer when enabling
...
Fixes old frames getting briefly displayed.
5 years ago
Connor McLaughlin
96ba9198ef
GPU/HW: Expand lines into triangles before rendering
...
Fewer batches, consistent upscaling behavior.
5 years ago
Connor McLaughlin
0c1b637549
PGXP: Add initial implementation
5 years ago
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
5 years ago
Connor McLaughlin
caf9943418
GPU/Vulkan: Possible workaround for Adreno GS shader compiler bug
5 years ago
Connor McLaughlin
d1a2ebd8f3
GPU/HW: Eliminate CPU round trip on oversized VRAM writes
5 years ago
Connor McLaughlin
f396a2c373
Renderers: Make shader cache path a prefix instead of directory
5 years ago
Connor McLaughlin
0b261e836b
GPU/Vulkan: Fix shader VRAM copies
...
Fixes battle transitions in Final Fantasy IX.
5 years ago
Connor McLaughlin
08ef8c1e8d
GPU/HW: Support SSBOs instead of texture buffers for VRAM writes
5 years ago
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.
5 years ago
Connor McLaughlin
49d11988bf
Core: Add Vulkan GPU renderer
5 years ago
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.
5 years ago
Connor McLaughlin
7d66569d69
GPU/HW: Fix bobbing screen with interlacing disabled
...
Fixes bobbing screen in Tom and Jerry in House Trap.
5 years ago
Connor McLaughlin
445bd02cad
GPU/HW: Interlace at native resolution rather than 1x
...
Also fixes screen bobbing when interlacing is disabled.
5 years ago
Connor McLaughlin
23436f08ba
GPU/HW: More improvements to GPUSTAT.31
...
Fixes True Pinball without breaking intros to Final Fantasy 7/8.
5 years ago
Connor McLaughlin
e368dbbadc
GPU: Implement non-interleaved interlaced rendering
...
Fixes screen shaking in True Pinball.
5 years ago
Connor McLaughlin
b25ed6c151
GPU: Fix interlaced rendering in vblank breaking
5 years ago
Connor McLaughlin
81f297456c
GPU: Fix mismatched scanout between hardware/software renderers
5 years ago
Connor McLaughlin
2bc1c67236
GPU/HW: Fix extra column being added with unaligned 24-bit scanout
...
Fixes pink lines in FMVs of NASCAR Thunder 2004.
5 years ago
Connor McLaughlin
f17c2c44d0
GPU/HW: Fix red bleeding when writing VRAM with mask bit set
...
Fixes menu screen in Twisted Metal 4.
5 years ago
Connor McLaughlin
e058beb4b0
GPU/HW: Fix oversized VRAM copies writing out of bounds
...
Fixes jittering in Duke Nukem - Land of the Babes water effect.
5 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.
5 years ago
Connor McLaughlin
8c6cb877eb
GPU: Disable display when CRTC configuration is invalid
5 years ago
Connor McLaughlin
36444b264f
GPU/D3D11: Restore API state after updating settings
...
Should fix the debug layer warnings when adjusting resolution scale.
5 years ago
Connor McLaughlin
f98c9b4084
GPU/HW: Fix display being cut off when cropping+upscaling
5 years ago
Connor McLaughlin
990147b7e9
GPU/HW: Use uint in CPU-side vertex attributes
5 years ago
Connor McLaughlin
5ad133a278
GPU/HW: Implement oversized copies on GPU
...
Fixes slowdown caused by this.
5 years ago
Connor McLaughlin
65ca8b9fe0
GPU/HW: Move logic from backend to GPU_HW class
5 years ago
Connor McLaughlin
9e024b7a51
GPU: Handle VRAM wrap-around behavior on scanout
6 years ago
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.
6 years ago
Connor McLaughlin
5a19abbbd3
GPU/D3D11: Fix broken 24-bit display/interlacing when upscaled
6 years ago