281 Commits

Author SHA1 Message Date
Stenzek
723af4de3a
Misc: Loading old save state versions is unlikely 2024-05-31 18:48:26 +10:00
Stenzek
4e922a34a7
Log: Simplify macros 2024-05-24 02:08:14 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
Stenzek
d2f28b6926
GPU: Explicit RemovePathLimits() is no longer needed 2024-05-23 19:52:56 +10:00
Stenzek
10df7ba319
GPU/HW: Ensure CLUT cache is synced when using SW-for-readbacks 2024-05-23 14:30:18 +10:00
Stenzek
f3aec0c965
Host: Re-introduce plural translation support 2024-05-13 01:46:45 +10:00
Stenzek
a4a35b7e58
GPU: Add Bilinear (Integer) scaling option 2024-05-12 15:32:21 +10:00
Stenzek
1185f8f6aa
GPU: Implement CLUT cache (SW renderer only)
Fixes copyright screen in Shadow Master.
Fixes title splash in Castrol Honda Superbike Racing.
2024-05-02 01:03:58 +10:00
Stenzek
7e22fb08d2
GPU: Add #define'able PSX GPU stats 2024-05-01 23:00:10 +10:00
Stenzek
fec210b1e1
GPU: Ensure coordinates are masked/clamped 2024-05-01 20:58:21 +10:00
Stenzek
3be02c53c1
GPU: Improve CRTC hblank accuracy
And implement Timer0 gating, it was missing previously.
2024-04-28 15:25:24 +10:00
Stenzek
b26a9556f7
System: Improve reset determinism 2024-04-22 00:19:44 +10:00
Stenzek
417bf0c3bc
DMA: Better enforce CPU runtime during linked list
and get rid of the hack for Newman Haas.
2024-04-10 20:11:23 +10:00
Stenzek
72ab669e70
GPUDevice: Add support for feedback loops 2024-04-01 13:55:19 +10:00
Stenzek
3ecc19c43f
GPU: Fix HW readback counter 2024-03-31 14:02:44 +10:00
Stenzek
fa6850902a
CPU: Make interrupts actually edge-triggered 2024-03-18 01:46:19 +10:00
Stenzek
1ab7850ed0
GPU: Rewrite deinterlacing and add adaptive/blend modes 2024-03-16 14:14:15 +10:00
Stenzek
43eb6e20fa
System: Improve screenshot naming 2024-03-16 14:14:15 +10:00
Stenzek
6aa491f863
GPU: Ensure screenshots are saved before shutdown 2024-03-16 14:14:15 +10:00
Stenzek
7159330f63
GPU/HW: Ensure buffers are unmapped before present
Darn DX11...
2024-03-08 13:43:22 +10:00
Stenzek
250b1bea8f
GPU: Use Image class for screenshot saving 2024-03-06 23:55:18 +10:00
Stenzek
04b837a418
Qt: Redesign graphics settings panel
Add screenshot format/type.
2024-03-02 21:21:20 +10:00
Stenzek
f936a36c85
GPUDevice: Add GPUDownloadTexture
Which can also be based in host/client memory.
Use it for screenshots and VRAM downloads.
2024-02-29 18:56:50 +10:00
Stenzek
411213d6a0
GPU: Make VRAM a global object 2024-02-29 17:00:51 +10:00
Stenzek
150ab8f4af
GPU: Add host/hardware stats 2024-01-22 14:41:19 +10:00
Stenzek
12b9cf1898
GPU: Fix crash when trying to postprocess surfaceless 2023-12-31 19:40:45 +10:00
Stenzek
98a96db1bd
GPU: Remove redundant fields 2023-12-14 20:23:49 +10:00
Stenzek
39913b2a39
GPUDevice: Fix incorrect positioning with PostFX and GL 2023-12-10 23:26:43 +10:00
Stenzek
a907e1f550
GPUDevice: Pool textures 2023-12-09 22:08:13 +10:00
Stenzek
3b2c70cda5
GPUDevice: Get rid of framebuffer abstraction 2023-12-09 22:08:13 +10:00
Stenzek
ff17444074
GPU/HW: Add framebuffer fetch blending path 2023-11-25 21:22:35 +10:00
Stenzek
9d88a373bd
GPU: Fix Guncon positioning with window padding 2023-11-04 20:11:51 +10:00
Stenzek
b678fcd874 GPUDevice: Move debug messages over to fmt 2023-09-23 14:14:52 +10:00
Stenzek
7e07d2feb8 GunCon: Add relative pointer binding 2023-09-20 17:11:29 +10:00
Stenzek
80e3d29ab8 Misc: clang-cl warning clean-up 2023-09-03 14:30:26 +10:00
Stenzek
0076ab5cc4 System: Restore context after pumping messages 2023-09-03 13:14:22 +10:00
Stenzek
e804b5e701 GPUDevice: Support geometry shaders 2023-09-02 22:09:22 +10:00
Stenzek
bcda86d782 GPU: Fix non-internal resolution screenshots 2023-09-02 21:44:08 +10:00
Stenzek
9e8ff3969e GPU: Clamp UVs to active rect when presenting 2023-09-02 21:44:08 +10:00
Stenzek
09e7a5843f GPU: Add scaling shader support
Currently only Bilinear (Sharp).
2023-08-31 23:38:11 +10:00
Stenzek
b217f64bcf PostProcessing: Refactor config to use separate sections 2023-08-30 00:44:01 +10:00
Stenzek
8db8baf33f GPUDevice: Move display logic to GPU 2023-08-30 00:44:00 +10:00
Stenzek
e23c9875d5 Misc: Split core and util Host 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
e57ad0b6aa Host: Backport translations cache
Note: You'll need a new command line for lupdate.

..\..\..\dep\msvc\qt\6.5.0\msvc2022_64\bin\lupdate.exe ../ ../../core/ ../../util/ -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP -ts duckstation-qt_LANGUAGE.ts
2023-08-20 12:40:47 +10:00
Stenzek
a00a4391ca Common: DynamicHeapArray/FixedHeapArray 2023-08-19 21:18:28 +10:00
Stenzek
bb60170d9a Move frontend-common to util/core 2023-08-16 01:13:00 +10:00
Stenzek
5b980dafa5 System: Refactor main loop
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +10:00
Stenzek
6fbdb6d7db GPU: Enable GPUSTAT.28 in read mode
Fixes Celeste Classic.
2023-07-24 19:24:08 +10:00
Connor McLaughlin
0683b9fa0e InterruptController: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
db364d0e95 Timers: Convert to namespace 2023-01-11 19:15:59 +10:00
Connor McLaughlin
3acf569d67 DMA: Convert to namespace 2023-01-11 19:15:59 +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
0709f92ac1 Misc: Cleanup/deduplicate from c9cba5e 2022-10-13 17:37:39 +10:00
Connor McLaughlin
a9038133c8 HostDisplay: Common texture base class for all APIs 2022-10-04 00:00:56 +10:00
Connor McLaughlin
bec0d6e7df HostDisplay: Add GPU usage statistics 2022-09-03 14:17:51 +10:00
Connor McLaughlin
fc40397818 GPU: Don't set empty post chain 2022-07-23 13:55:09 +10:00
Connor McLaughlin
b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin
b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00
Connor McLaughlin
fd76f437b3 Core: Purge WITH_IMGUI define 2022-03-27 16:59:02 +10:00
Connor McLaughlin
13c5ee8bfb GPU: Fix incorrect value for status bit 13
Fixes openbios boot animation.
2021-09-29 10:48:55 +10:00
Connor McLaughlin
497a5b8dd1 GPU: Don't reset CRTC state on soft reset 2021-09-29 10:48:25 +10:00
Connor McLaughlin
461e6aa50b GPU: Update display on reset 2021-08-24 11:57:12 +10:00
Connor McLaughlin
628dc36e77 GPU: Add GPU::GetFullDisplayResolution() 2021-08-24 11:57:09 +10:00
Connor McLaughlin
256f272768 Support custom and match display aspect ratios 2021-04-30 02:53:03 +10:00
Connor McLaughlin
88618bde1c GPU: Correct value of ODE bit in vblank
Fixes line streaks in Dead or Alive.
2021-04-15 01:32:08 +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
c6c67b7b27 ImGui: Remove close button from debug windows
They can be closed by unchecking the setting instead, and it stays in
sync with the config this way.
2021-02-12 01:01:30 +10:00
Connor McLaughlin
ef7d135492 GPU: Fix missing sync when hblank is pending 2021-01-31 16:39:51 +10:00
Connor McLaughlin
516d685dd0 System: Add memory-only save states and rewind 2021-01-25 01:15:45 +10:00
Connor McLaughlin
699d599d00 GPU: Clear display when disabling DAC and interlaced
Fixes old output showing up briefly when it's re-enabled.
2021-01-18 03:28:14 +10:00
Connor McLaughlin
2b5cfb272c Qt: Add dump VRAM and SPU RAM actions 2021-01-13 19:24:41 +10:00
Connor McLaughlin
11992bde4e TimingEvents: Use function pointers instead of std::function 2021-01-10 01:45:07 +10:00
Connor McLaughlin
e804fdfdba GPU: Use floating point coordinates for lightgun 2020-12-19 17:02:01 +10:00
Connor McLaughlin
4860313bef NamcoGuncon: Add an option to scale X coordinates
Fixes what appears to be curvature correction at the edges of the
screen.
2020-12-19 17:02:01 +10:00
Connor McLaughlin
9d7b63923a
Merge pull request #1235 from valadaa48/CRTCTicksToSystemTicks_optimization
Small optimization to GPU::SystemTicksToCRTCTicks
2020-12-17 11:36:21 +10:00
Connor McLaughlin
bd8613b120
Merge pull request #1227 from ggrtk/auto-aspect-ratio
GPU: Add auto aspect ratio and various fixes
2020-12-17 11:35:48 +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
Albert Liu
de8f03bd75 GPU: Add auto (game native) aspect ratio 2020-12-16 02:40:33 -08:00
valadaa48
f5f12fd76d Small optimization to GPU::SystemTicksToCRTCTicks 2020-12-15 22:31:34 -05:00
Albert Liu
1c8a896a55 GPU: Wrap display VRAM coordinates properly 2020-12-14 19:28:59 -08:00
Albert Liu
866cbdca4b GPU: Prevent potential overflow in CRTC visible area calculation 2020-12-14 19:28:59 -08:00
Albert Liu
78e42d9b4c GPU: Clean up CRTC variable naming 2020-12-14 19:28:59 -08:00
Albert Liu
b8abf2df95 GPU: Don't apply display offsets when not cropping 2020-12-14 19:28:58 -08:00
Connor McLaughlin
d7bd21c06d Timers: Update when sync is used with sysclk source
Fixes hang at boot in Zoku Mikagura Shoujo Tanteidan - Kanketsuhen.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
d757056891 GPU: Implement dot clock timer (Timer 0)
Fixes softlock in Evil Dead - Hail to the King.
2020-12-06 00:35:54 +10:00
Connor McLaughlin
362905e3df GPU: Add display line offset game setting
Use when games need additional cropping.
2020-12-04 00:33:04 +10:00
Connor McLaughlin
b45bee5954 libretro: Work around crash in RetroArch Vulkan driver 2020-11-25 23:06:41 +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
0726ad1275 GPU: Flush partial VRAM writes to backend VRAM 2020-11-19 00:40:02 +10:00
Connor McLaughlin
473cfffa0c GPU: Only accept DMA writes when FIFO is empty or command incomplete
Fixes a bunch of games, including Red Asphalt, Little Princess, Vampire
Hunter D main menu when combined with tight DMA sync.
2020-11-16 01:00:55 +10:00
Connor McLaughlin
a1453ee8a5 GPU: Skip full CRTC update on GP1(05h) 2020-10-23 19:37:56 +10:00
Albert Liu
6bc7cf29cc GPU: Synchronize CRTC on GP1(05h) command
Fixes text flashing briefly after startup PlayStation logo in King's
Field (USA).
2020-10-22 21:41:42 -07:00
Albert Liu
ca7db7a2d2 GPU: Update CRTC debug window reporting 2020-10-21 23:17:39 -07:00
Albert Liu
1a0b1a3149 GPU: Use accurate VRAM display width rounding
Modified version of Nocash algorithm, confirmed with hardware test.
Relies on proper horizontal display range rounding for correct results.
2020-10-21 23:17:39 -07:00
Albert Liu
bbaebfd4c9 GPU: Round horizontal display range values down to clockdiv multiple
GP1(06h) X1 and X2 are persistent across clockdiv changes, but the GPU
actively uses rounded values for display output. This behavior is
modeled by storing the rounded values in horizontal_display_start and
horizontal_display_end. Verified with hardware test.
2020-10-21 23:17:39 -07:00
Connor McLaughlin
27697d0508 System: Implement CPU overclocking [SAVEVERSION+]
Partial credit to @CookiePLMonster as well.
2020-09-30 23:48:34 +10:00
Connor McLaughlin
cacf7a7cc9 GPU: Precompute texture window expression [SAVEVERSION+] 2020-09-30 23:03:52 +10:00