Commit Graph

126 Commits (40257e5b2028a87bb983ca90e19417b82789af99)

Author SHA1 Message Date
Connor McLaughlin 40257e5b20 GPU/HW: Don't set m_pgxp_depth_buffer when PGXP is disabled
Fixes text corruption in Castlevania when PGXP is disabled and depth
buffer is enabled.
5 years ago
Connor McLaughlin 3cb2cd8235 GPU: Add adaptive and box downsampling modes 5 years ago
Connor McLaughlin d187c8b08d GPU/HW: Fix a potential case where depth isn't cleared on viewport change 5 years ago
Connor McLaughlin aa1543271e GPU: Support emulating a depth buffer from PGXP depth values 5 years ago
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 5e05a14f97 GPU: Fix incorrect draw time approximation of lines
Fixes flickering pre-mission screen in Omega Boost.
5 years ago
Connor McLaughlin b45bee5954 libretro: Work around crash in RetroArch Vulkan driver 5 years ago
Connor McLaughlin 07dbc5a80d GPU/HW: Draw opaque before semitransparent for reverse subtract
Fixes missing shadows in Suikoden II.
5 years ago
Connor McLaughlin e06f85a328 GPU: Fix VRAM palette changes not being detected in hw renderer
Fixes wall texture animation in Mega Man Legends.
5 years ago
Connor McLaughlin 2595e31575 GPU: Split software to frontend/backend 5 years ago
Connor McLaughlin 03d4f80883 GPU: Move enums/types into separate file 5 years ago
Connor McLaughlin d468814a6d GPU: Disable texture filters when dual-source blend is unsupported 5 years ago
Connor McLaughlin ae1e4b1b8f GPU: Add chroma smoothing for 24-bit display enhancement 5 years ago
Connor McLaughlin f2aa343cae GPU/HW: Fix SSAA being enabled when it's not supported 5 years ago
Connor McLaughlin 2eaebd8921 GPU: Implement support for multisample antialiasing 5 years ago
Albert Liu f69889264d Core: Make some additional OSD messages translatable 5 years ago
Connor McLaughlin 50b025c75a GPU: Use triangle area for ticks rather than bbox
Fixes slow transitions in Tales of Phantasia.
5 years ago
Connor McLaughlin cacf7a7cc9 GPU: Precompute texture window expression [SAVEVERSION+] 5 years ago
Connor McLaughlin 605992f294 Fix Android build 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 13e3095801 Core: Don't link to imgui for libretro core 5 years ago
Connor McLaughlin 10a46a7fd8 OSD: Add option to show display resolution 5 years ago
Connor McLaughlin 26aa627deb GPU/HW: Include resolution in scale change message 5 years ago
Connor McLaughlin 17a1719450 GPU/HW: Fix incorrect texel offset when upscaling
Fixes incorrectly coloured triangles in Tomb Raider.
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 23df239469 GPU/HW: Debug build compile fix 5 years ago
Connor McLaughlin f712c42c21 GPU/HW: Add more details to debug window 5 years ago
Connor McLaughlin 9b7512f7b8 GPU/HW: Implement automatic resolution scale from window size 5 years ago
Connor McLaughlin b527118c0a GPU/HW: Fix macOS compile 5 years ago
Connor McLaughlin 92975b2e81 GPU/HW: Tiny performance optimization in polygon loading 5 years ago
Connor McLaughlin 96ba9198ef GPU/HW: Expand lines into triangles before rendering
Fewer batches, consistent upscaling behavior.
5 years ago
Connor McLaughlin bd0c403672 GPU/HW: Fix mask bit test regression
Fixes white boxes in Silent Hill. Again.
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 d711baaa31 GPU/HW: Fix lines being one pixel too short
Fixes lines in screen wipe effect in Vagrant Story.
5 years ago
Connor McLaughlin 2dc62ab987 GPU/HW: Fix VRAM updates when Y >= 512 5 years ago
Connor McLaughlin d1a2ebd8f3 GPU/HW: Eliminate CPU round trip on oversized 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 fc0560087f GPU: Skip primitives where clip area is invalid
Fixes palettes being overwritten/menus being broken in
Yoshimoto Mahjong Club Deluxe.
6 years ago
Connor McLaughlin bda528d70a GPU: Alter timings to reflect new clock 6 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.
6 years ago
Connor McLaughlin 23436f08ba GPU/HW: More improvements to GPUSTAT.31
Fixes True Pinball without breaking intros to Final Fantasy 7/8.
6 years ago
Connor McLaughlin 237f469baa GPU: Mask variable sprite/rectangle sizes
Fixes broken sprites in Gradius Deluxe Pack (Gradius II).
6 years ago
Connor McLaughlin b25ed6c151 GPU: Fix interlaced rendering in vblank breaking 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 ce46dbeeca GPU/HW: Fix another vertex culling error 6 years ago
Connor McLaughlin 304391bd00 GPU: Truncate sprite/rectangle positions to 12 bits before rendering
Fixes disappearing objects in Skullmonkeys.
6 years ago
Connor McLaughlin dc1e1b5adf GPU/HW: Fix too-large polygon culling
Fixes graphical corruption in some levels of Point Blank 2.
6 years ago