Stenzek
411213d6a0
GPU: Make VRAM a global object
2024-02-29 17:00:51 +10:00
Stenzek
98a96db1bd
GPU: Remove redundant fields
2023-12-14 20:23:49 +10:00
Stenzek
a907e1f550
GPUDevice: Pool textures
2023-12-09 22:08:13 +10:00
Stenzek
a96111eaeb
Misc: Swap make_array() for size deduction
2023-10-02 13:33:33 +10:00
Stenzek
01e505ec8b
Common: Add intrin.h
2023-10-01 17:24:34 +10:00
Stenzek
b1bb33a566
Common: Move CPU macros to types.h
2023-10-01 13:57:25 +10:00
Stenzek
0e0beec1f4
OpenGLDevice: Fix PBO and non-PBO path for SW renderer
2023-09-20 19:35:46 +10:00
Stenzek
09e7a5843f
GPU: Add scaling shader support
...
Currently only Bilinear (Sharp).
2023-08-31 23:38:11 +10:00
Stenzek
8db8baf33f
GPUDevice: Move display logic to GPU
2023-08-30 00:44:00 +10:00
Stenzek
e3d9ba4c99
Rewrite host GPU abstraction
...
- Don't have to repeat the same thing for 4 renderers.
- Add native Metal renderer.
2023-08-20 21:55:38 +10:00
Stenzek
bb60170d9a
Move frontend-common to util/core
2023-08-16 01:13:00 +10:00
Stenzek
14cf865905
Misc: Correctness fixes for OpenGL
...
GLES2 fallback should be functional again.
2023-01-30 19:17:11 +10:00
Connor McLaughlin
d65cbe42ae
GPU: Truncate instead of rounding 24bpp->16bpp
...
Thanks to axetion for writing a test to confirm this is what the console
GPU indeed does.
2022-12-20 21:19:58 +10:00
Connor McLaughlin
8c7a192128
Misc: Add copyright/license statement to applicable files
...
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin
71c558625e
GPU/SW: Fix incorrect min/max in polylines
...
Thanks to FPGAzumSpass for catching.
2022-11-28 18:04:58 +10:00
Connor McLaughlin
a9038133c8
HostDisplay: Common texture base class for all APIs
2022-10-04 00:00:56 +10:00
Connor McLaughlin
0b3461338c
HostDisplay: Use streaming for sw renderer display
2022-09-13 17:50:42 +10:00
Connor McLaughlin
06ecc50797
System: Fix CPU usage not showing for sw-renderer-for-readbacks
2022-08-05 17:17:29 +10:00
Connor McLaughlin
b42b5501f6
UI: Massive revamp, new features and improvements
2022-07-22 21:19:54 +10:00
Connor McLaughlin
1e88d04430
GPU: Set display parameters even when disabled
2021-08-24 11:57:14 +10:00
Connor McLaughlin
5d877250e9
GPU/HW: Add an option to use software renderer for readbacks
2021-05-20 13:28:36 +10:00
Connor McLaughlin
437d3fbb4b
GPU/SW: Set display parameters before data
2021-05-20 12:19:27 +10:00
Connor McLaughlin
e4d5d9f049
GPU/SW: Spin for 1ms rather than immediately sleeping
2021-04-17 22:17:02 +10:00
Connor McLaughlin
2ac6f60bbb
Rename cpu_detect.h to platform.h and add OS
2021-04-04 13:01:43 +10:00
Connor McLaughlin
ddea2818d9
Qt: Add renderer/resolution to status bar
2021-03-28 13:47:53 +10:00
Connor McLaughlin
b13c51a2e2
GPU/SW: Use new 5-to-8 converters for RGBA8 display
2021-03-18 13:00:58 +10:00
Connor McLaughlin
701edb335a
Various warning fixes
2021-02-06 19:19:55 +10:00
Connor McLaughlin
43bb69fb6b
GPU/SW: Fix 576-line scanout of PAL games
2021-02-01 18:39:36 +10:00
Connor McLaughlin
e01d66d18e
System: Implement runahead
2021-01-25 01:15:46 +10:00
Connor McLaughlin
516d685dd0
System: Add memory-only save states and rewind
2021-01-25 01:15:45 +10:00
Connor McLaughlin
29690c4635
GPU/SW: Fix interlaced output getting corrupted when size changes
...
Fixes glitches in screen when tilting table in Pro Pinball.
2021-01-17 02:45:13 +10:00
Connor McLaughlin
7b6d30a994
GPU/HW: Fix possible VRAM corruption when live switching resolutions
...
Mask bit was getting lost based on guest state.
2020-12-17 01:20:06 +10:00
Connor McLaughlin
5e05a14f97
GPU: Fix incorrect draw time approximation of lines
...
Fixes flickering pre-mission screen in Omega Boost.
2020-12-06 00:35:54 +10:00
Albert Liu
e12c68cf65
GPU/SW: Fix 16-bit wraparound output crashing
2020-11-26 23:58:06 -08:00
Connor McLaughlin
b49067d165
Build: Fix Android armv8 performance regression
2020-11-22 02:33:02 +10:00
Connor McLaughlin
a6529a9537
Android: Enable armeabi-v7a builds
2020-11-21 23:47:12 +10:00
Connor McLaughlin
2595e31575
GPU: Split software to frontend/backend
2020-11-21 18:39:04 +10:00
Connor McLaughlin
03d4f80883
GPU: Move enums/types into separate file
2020-11-21 18:39:04 +10:00
Connor McLaughlin
d3d881aa6b
GPU/Software: Reduce number of copies by one, enable 16-bit scanout
2020-11-21 18:39:04 +10:00
Romain TISSERAND
b2ef931772
Minor gpu_sw optimizations and warning fixes
2020-10-12 13:15:21 +02:00
Connor McLaughlin
fe25f005c2
GPU: Fix incorrect sign extension of positions
...
Fixes missing objects in Skullmonkeys (again).
2020-10-11 12:21:08 +10:00
Connor McLaughlin
50b025c75a
GPU: Use triangle area for ticks rather than bbox
...
Fixes slow transitions in Tales of Phantasia.
2020-10-04 00:12:01 +10:00
Connor McLaughlin
8f9f039665
GPU/SW: Port triangle/line rasterizer from Mednafen
2020-09-30 23:04:14 +10:00
Connor McLaughlin
cacf7a7cc9
GPU: Precompute texture window expression [SAVEVERSION+]
2020-09-30 23:03:52 +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
3847be86b0
Fix a bunch of random warnings
2020-09-13 11:54:51 +10:00
Connor McLaughlin
231c0b5ff6
GPU/SW: Wrap texture coordinates when sampling
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
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