Connor McLaughlin
19f4921ca7
GPU/OpenGL: Fix crash on non-dual-source-blend drivers
2020-10-14 18:50:10 +10:00
Connor McLaughlin
fc28ba75da
GPU/OpenGL: Create the texture stream buffer with its final target
...
Fixes broken texture uploads on Adreno GPUs.
2020-10-10 18:27:40 +10:00
Connor McLaughlin
8bb89c9aeb
GPU/OpenGL: Disable texture buffer upload path if larger buffers are unsupported
2020-10-10 18:27:18 +10:00
Connor McLaughlin
2df06225ee
GPU/OpenGL: Don't keep shader cache open
2020-10-09 18:09:10 +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
2819715260
FrontendCommon: Add a post processing implementation
2020-09-13 01:23:43 +10:00
Connor McLaughlin
3625834ea7
GPU/HW: Add loading bar to shader compilation
2020-09-12 00:26:34 +10:00
Connor McLaughlin
e1c29510f1
GPU/OpenGL: Fix incorrect framebuffer clear for interlacing
2020-08-19 00:45:08 +10:00
Connor McLaughlin
d1ee6c0da7
GPU/HW: Make settings update slightly safer
2020-08-12 02:27:52 +10:00
Connor McLaughlin
d733553425
GPU/HW: Don't display a deleted texture in D3D/OpenGL when updating settings
2020-08-11 04:03:11 +10:00
Connor McLaughlin
5c6e92cdfc
GPU/HW: Disable coordinate clamping when unnecessary
2020-08-10 23:28:37 +10:00
Connor McLaughlin
b95ce993e0
GPU/HW: Clamp interpolated UVs to polygon limits
...
Fixes texture filtering and PGXP issues in some games.
2020-08-10 23:28:37 +10:00
Connor McLaughlin
0fc301d654
GPU/HW: Use wrap texture address modes
2020-08-04 14:40:00 +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
96ba9198ef
GPU/HW: Expand lines into triangles before rendering
...
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
Connor McLaughlin
568cfa1865
GPU/OpenGL: Fix possible error on shutdown
2020-08-02 17:16:51 +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
Connor McLaughlin
caf9943418
GPU/Vulkan: Possible workaround for Adreno GS shader compiler bug
2020-07-25 15:17:29 +10:00
Connor McLaughlin
e9db1d0f6f
GPU/OpenGL: Use base class helper for filling VRAM copy uniforms
2020-07-22 14:47:09 +10:00
Connor McLaughlin
d1a2ebd8f3
GPU/HW: Eliminate CPU round trip on oversized VRAM writes
2020-07-11 20:35:33 +10:00
Connor McLaughlin
a5fe740e30
Fix a bunch of compiler warnings
2020-07-09 13:30:16 +10:00
Connor McLaughlin
209d7c67e9
GPU/OpenGL: Prefer SSBOs over small texel buffers+subimage
2020-07-08 02:05:36 +10:00
Connor McLaughlin
f396a2c373
Renderers: Make shader cache path a prefix instead of directory
2020-07-04 22:14:07 +10:00
Connor McLaughlin
0b261e836b
GPU/Vulkan: Fix shader VRAM copies
...
Fixes battle transitions in Final Fantasy IX.
2020-06-27 03:00:03 +10:00
Connor McLaughlin
16ca214d09
GPU/OpenGL: Fix VRAM writes breaking on <GL4.3
2020-06-26 21:39:37 +10:00
Connor McLaughlin
08ef8c1e8d
GPU/HW: Support SSBOs instead of texture buffers for VRAM writes
2020-06-24 01:39:53 +10:00
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
04f131f979
GPU/OpenGL: Fix 24-bit progressive scanout regression
2020-05-26 21:31:01 +10:00
Connor McLaughlin
cb66889856
GPU/OpenGL: Fix non-interleaved interlaced display
2020-05-26 13:44:05 +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
0daea7c2fc
GPU/HW: Disable texture buffer based uploads on macOS
2020-05-25 20:26:13 +10:00
Connor McLaughlin
2156236f52
Frontends: Use common GL context wrapper
2020-05-25 15:02:44 +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
257c86930f
GPU/OpenGL: Fix GLES again
2020-05-03 19:38:27 +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
91d7212b36
GPU/OpenGL: Fix swapped log statement
2020-05-03 18:09:31 +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
620210cfc9
GPU/OpenGL: Use explicit bindings where possible
2020-05-02 16:01:16 +10:00
Connor McLaughlin
9dc82a738f
GPU/OpenGL: Fix incorrect fragcolor binding
2020-05-02 15:13:17 +10:00
Connor McLaughlin
5a6c029814
GPU: Disable dual-source blending on Mesa Gen7/Gen7.5
...
Apparently it's broken. Need to look into it more.
2020-04-30 01:27:50 +10:00
Connor McLaughlin
8c6cb877eb
GPU: Disable display when CRTC configuration is invalid
2020-04-27 21:49:34 +10:00