Commit Graph

255 Commits

Author SHA1 Message Date
db4e28f44c GPU: Add cycle penalty for reloading CLUT 2024-08-11 23:50:37 +10:00
af47eb6956 System: Add video capture feature 2024-08-11 21:06:58 +10:00
b2ca23e9da GPU: Use full display rect for postfx calculations 2024-08-06 17:38:08 +10:00
4f16cb61b4 GPUDevice: Expose swap chain clear colour 2024-08-06 17:35:27 +10:00
6c0a0e6203 GPU: Fix incorrect lightgun line with force progressive 2024-08-04 17:54:19 +10:00
a2f98541b3 Misc: Slim down some header includes 2024-08-04 14:49:55 +10:00
7b99fcbbf3 GPU: Fix edge bleeding with Bilinear Integer scaling 2024-07-28 14:08:28 +10:00
7a3a72ec3d GPU: Add display rotation option 2024-07-26 23:09:33 +10:00
deed0c9713 GameDatabase: Merge compatibility messages 2024-07-22 14:59:55 +10:00
4f7ddfaae6 TimingEvents: Remove pointer indirection
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
d63ae8718f GPU: Always calculate draw rect
Stops postfx shaders that depend on the draw rect going into NaN
territory.
2024-07-07 12:46:09 +10:00
ed5a99066f GPU: Cull off-screen sprites/lines
And further optimizations to culling in general.
2024-07-06 22:13:46 +10:00
9ef7e8c5d0 GPU/HW: Use GSVector instead of Rectangle 2024-07-03 15:44:12 +10:00
044d7a4797 GPU: Eliminate heap allocation on state load 2024-07-03 00:24:12 +10:00
34d5cdec96 GPU/HW: Expose depth buffer to internal postprocessing 2024-06-29 14:25:36 +10:00
80d1056ddf GPU: Add virtual call when buffers are swapped 2024-06-28 21:15:47 +10:00
0c3cf1f5f8 PostProcessing: Split into internal and display chains 2024-06-28 20:17:15 +10:00
810ce1ce57 GPU: Remove duplicate display params fields
And enable postfx when the DAC is turned off.
2024-06-28 20:17:15 +10:00
ef69c31e9f GPUDevice: Support transpiling shaders at compile time
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
ac1bb905fe GPU: Set idle bit during VRAM upload
Tenga Seiha does a bunch of completely-invalid VRAM writes on boot, then
expects GPU idle to be set. It's unclear what actually happens, I need to
write another test, but for now, just skip these uploads. Not setting GPU
idle during the write command breaks Doom, so that's not an option.
2024-06-13 18:35:02 +10:00
354b250642 PostProcessing: Add native width/height inputs
Available in GLSL as GetNativeSize(), GetUpscaleMultiplier(), and in
reshade as native_width/native_height/upscale_multiplier.

GetPaddedOriginalSize() is now deprecated, as it does not make since
since the postfx shader runs with a window-sized off-screen target as an
input, not the internal render texture.
2024-06-11 14:04:45 +10:00
627c12bebe GPU: Fix IRQ request 2024-05-31 20:39:18 +10:00
73136d7dc4 GPU: Tie idle bit to FIFO emptyness on VRAM write
Fixes Tenga Seiha lockup on boot.
2024-05-31 20:12:59 +10:00
53600746c7 GPU: Cancel VRAM writes on Reset 2024-05-31 19:49:40 +10:00
723af4de3a Misc: Loading old save state versions is unlikely 2024-05-31 18:48:26 +10:00
4e922a34a7 Log: Simplify macros 2024-05-24 02:08:14 +10:00
b6d019db66 Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
d2f28b6926 GPU: Explicit RemovePathLimits() is no longer needed 2024-05-23 19:52:56 +10:00
10df7ba319 GPU/HW: Ensure CLUT cache is synced when using SW-for-readbacks 2024-05-23 14:30:18 +10:00
f3aec0c965 Host: Re-introduce plural translation support 2024-05-13 01:46:45 +10:00
a4a35b7e58 GPU: Add Bilinear (Integer) scaling option 2024-05-12 15:32:21 +10:00
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
7e22fb08d2 GPU: Add #define'able PSX GPU stats 2024-05-01 23:00:10 +10:00
fec210b1e1 GPU: Ensure coordinates are masked/clamped 2024-05-01 20:58:21 +10:00
3be02c53c1 GPU: Improve CRTC hblank accuracy
And implement Timer0 gating, it was missing previously.
2024-04-28 15:25:24 +10:00
b26a9556f7 System: Improve reset determinism 2024-04-22 00:19:44 +10:00
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
72ab669e70 GPUDevice: Add support for feedback loops 2024-04-01 13:55:19 +10:00
3ecc19c43f GPU: Fix HW readback counter 2024-03-31 14:02:44 +10:00
fa6850902a CPU: Make interrupts actually edge-triggered 2024-03-18 01:46:19 +10:00
1ab7850ed0 GPU: Rewrite deinterlacing and add adaptive/blend modes 2024-03-16 14:14:15 +10:00
43eb6e20fa System: Improve screenshot naming 2024-03-16 14:14:15 +10:00
6aa491f863 GPU: Ensure screenshots are saved before shutdown 2024-03-16 14:14:15 +10:00
7159330f63 GPU/HW: Ensure buffers are unmapped before present
Darn DX11...
2024-03-08 13:43:22 +10:00
250b1bea8f GPU: Use Image class for screenshot saving 2024-03-06 23:55:18 +10:00
04b837a418 Qt: Redesign graphics settings panel
Add screenshot format/type.
2024-03-02 21:21:20 +10:00
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
411213d6a0 GPU: Make VRAM a global object 2024-02-29 17:00:51 +10:00
150ab8f4af GPU: Add host/hardware stats 2024-01-22 14:41:19 +10:00
12b9cf1898 GPU: Fix crash when trying to postprocess surfaceless 2023-12-31 19:40:45 +10:00