Stenzek
dc75afeb3d
RegTest: Fix directory creation always failing
2023-11-25 22:04:05 +10:00
Stenzek
ff17444074
GPU/HW: Add framebuffer fetch blending path
2023-11-25 21:22:35 +10:00
Stenzek
a456741ae6
GPU/HW: Don't blend binary alpha texture filters
2023-11-25 19:49:05 +10:00
Stenzek
ad1716e376
GPU/HW: Correct OSD message
2023-11-15 19:26:02 +10:00
Stenzek
5fff97c9e1
GPU/HW: Clear instead of invalidating adaptive downsample RTs
2023-11-15 19:14:27 +10:00
Stenzek
06c4dc5e1b
GPU/OpenGL: Fix incorrect 1/4 blend on Mali
2023-10-22 00:07:46 +10:00
Stenzek
ce7f6128e9
OpenGLDevice: Cache intermediate state
2023-10-08 01:47:29 +10:00
Stenzek
eb080834ad
OpenGLDevice: Actually check max texture buffer size
2023-10-08 01:10:52 +10:00
Stenzek
d5608bf12d
GPU: Fix crash with Box Downsampling/Auto Resolution Scale
2023-09-30 23:20:09 +10:00
Stenzek
b678fcd874
GPUDevice: Move debug messages over to fmt
2023-09-23 14:14:52 +10:00
Stenzek
18ae01bedb
GPU/HW: Tidying up
2023-09-20 18:54:26 +10:00
Stenzek
2818eb2199
GPU/HW: Fix copy pipeline not getting destroyed
2023-09-18 22:38:15 +10:00
Stenzek
a2f19143da
MetalDevice: Support multisampling
2023-09-16 19:00:28 +10:00
Stenzek
605aa3c53a
Misc: Swap gsl::span for std::span
2023-09-05 22:10:50 +10:00
Stenzek
4974a8015f
GPU/HW: Fix texture filtering making everything transparent
2023-09-03 18:06:27 +10:00
Stenzek
585cf25ac4
GPU: Add downsample scale option
2023-09-03 17:10:40 +10:00
Stenzek
0076ab5cc4
System: Restore context after pumping messages
2023-09-03 13:14:22 +10:00
Stenzek
7ad1b8d093
GPU: Add wireframe rendering/overlay
2023-09-02 22:26:03 +10:00
Stenzek
e804b5e701
GPUDevice: Support geometry shaders
2023-09-02 22:09:22 +10:00
Stenzek
0da14a5442
GPU/Vulkan: Fix MSAA
...
And disable sample rate shading ("SSAA") on AMD, Intel, and broken
mobile drivers, because it doesn't work.
2023-09-01 21:25:12 +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
39b8dcda6e
GPU/HW: Fix wrapped image writes
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
3e82409c10
GPU/HW: Fix base settings not updating on change
2023-08-25 21:53:33 +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
1ec6aee5bf
Host: Split translation macros dependent on return type
2023-08-20 12:40:47 +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
5f6490f68b
GPU/Vulkan: Fix downloads messing up later commands
2022-10-05 18:29:43 +10:00
Connor McLaughlin
a9038133c8
HostDisplay: Common texture base class for all APIs
2022-10-04 00:00:56 +10:00
Connor McLaughlin
971bba07d6
GPU: Make perspective-correct color interpolation toggleable
2022-10-03 21:08:41 +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
af91fcf195
Backport more common classes
2022-07-21 17:29:58 +10:00
Connor McLaughlin
b7fbde31a7
Move utility classes from common to own static lib
2022-07-21 17:29:58 +10:00
Silent
3a70e4d57d
Add keys to more OSD messages:
...
* Resolution scale
* Multisampling
* Switching software/hardware rendering
* Switching PGXP CPU
* Switching post processing
* Switching widescreen hack
2022-05-09 23:42:28 +02:00
Connor McLaughlin
fd76f437b3
Core: Purge WITH_IMGUI define
2022-03-27 16:59:02 +10:00
Connor McLaughlin
628dc36e77
GPU: Add GPU::GetFullDisplayResolution()
2021-08-24 11:57:09 +10:00
Connor McLaughlin
70209db402
GPU/HW: Implement oversized VRAM fills in hardware
...
Fixes downscaling in Bugs and Taz PAL.
2021-07-21 19:24:10 +10:00
Connor McLaughlin
096a92ba84
GPU/HW: Simplify shader compile progress updates
2021-07-11 13:21:41 +10:00
Connor McLaughlin
defce709da
GPU/HW: Don't allow adaptive downsampling at non-pow2 scales
2021-06-25 00:19:14 +10:00
Connor McLaughlin
815146e7d8
GPU/HW: Fix incorrect blend factor
...
Regression from 75e6c175de
2021-06-17 20:04:05 +10:00
Connor McLaughlin
75e6c175de
GPU/HW: Elide redundant UBO updates on draw mode change
2021-06-15 23:10:49 +10:00
Connor McLaughlin
179a7aea89
GPU/HW: Assume 240/288p for auto scale on start with all borders
2021-05-31 03:48:38 +10:00
Connor McLaughlin
245dd5b27a
GPU/HW: Fix crash with oversized writes and sw readback
2021-05-20 14:14:26 +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
df5de7730c
GPU/HW: Disable depth buffering on transparent polygons
...
These are the most likely to be coplanar and cause issues.
2021-03-30 01:40:05 +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
c043643c4d
GPU/HW: Fix typo in IncludeVRAMDirtyRectangle() name
2021-02-07 20:00:16 +10:00
Connor McLaughlin
837fb6128b
GPU/HW: Fix mask bit when rendering with transparency and no DSB
...
Fixes some sprites in Bloody Roar on Mali GPUs.
2021-02-06 20:14:28 +10:00
Connor McLaughlin
516d685dd0
System: Add memory-only save states and rewind
2021-01-25 01:15:45 +10:00
Connor McLaughlin
a927bfbe50
GPU/HW: Flush after each primitive for B-F transparency
...
Slow, but necessary for some games such as Suikoden II, where it draws
multiple polygons to the same area on screen with different transparency
modes.
2021-01-20 01:08:36 +10:00
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.
2021-01-01 17:49:20 +10:00
Connor McLaughlin
3cb2cd8235
GPU: Add adaptive and box downsampling modes
2020-12-30 17:41:39 +10:00
Connor McLaughlin
d187c8b08d
GPU/HW: Fix a potential case where depth isn't cleared on viewport change
2020-12-26 00:47:03 +10:00
Connor McLaughlin
aa1543271e
GPU: Support emulating a depth buffer from PGXP depth values
2020-12-23 01:39:49 +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
Connor McLaughlin
b45bee5954
libretro: Work around crash in RetroArch Vulkan driver
2020-11-25 23:06:41 +10:00
Connor McLaughlin
07dbc5a80d
GPU/HW: Draw opaque before semitransparent for reverse subtract
...
Fixes missing shadows in Suikoden II.
2020-11-22 13:46:20 +10:00
Connor McLaughlin
e06f85a328
GPU: Fix VRAM palette changes not being detected in hw renderer
...
Fixes wall texture animation in Mega Man Legends.
2020-11-22 13:22:29 +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
d468814a6d
GPU: Disable texture filters when dual-source blend is unsupported
2020-11-11 01:02:40 +10:00
Connor McLaughlin
ae1e4b1b8f
GPU: Add chroma smoothing for 24-bit display enhancement
2020-11-03 16:17:45 +10:00
Connor McLaughlin
f2aa343cae
GPU/HW: Fix SSAA being enabled when it's not supported
2020-10-31 15:12:12 +10:00
Connor McLaughlin
2eaebd8921
GPU: Implement support for multisample antialiasing
2020-10-31 14:27:58 +10:00
Albert Liu
f69889264d
Core: Make some additional OSD messages translatable
2020-10-22 02:07:48 -07: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
cacf7a7cc9
GPU: Precompute texture window expression [SAVEVERSION+]
2020-09-30 23:03:52 +10:00
Connor McLaughlin
605992f294
Fix Android build
2020-09-12 00:35:38 +10:00
Connor McLaughlin
6f250a4ff7
GPU/HW: Add JINC2 and xBRZ texture filtering options
...
Shaders ported from beetle-psx.
2020-09-12 00:26:34 +10:00
Connor McLaughlin
13e3095801
Core: Don't link to imgui for libretro core
2020-09-01 12:22:32 +10:00
Connor McLaughlin
10a46a7fd8
OSD: Add option to show display resolution
2020-08-16 00:20:11 +10:00
Connor McLaughlin
26aa627deb
GPU/HW: Include resolution in scale change message
2020-08-16 00:20:11 +10:00
Connor McLaughlin
17a1719450
GPU/HW: Fix incorrect texel offset when upscaling
...
Fixes incorrectly coloured triangles in Tomb Raider.
2020-08-12 02:27:52 +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
23df239469
GPU/HW: Debug build compile fix
2020-08-03 03:26:00 +10:00
Connor McLaughlin
f712c42c21
GPU/HW: Add more details to debug window
2020-08-03 03:06:23 +10:00
Connor McLaughlin
9b7512f7b8
GPU/HW: Implement automatic resolution scale from window size
2020-08-03 03:06:03 +10:00
Connor McLaughlin
b527118c0a
GPU/HW: Fix macOS compile
2020-08-02 18:04:00 +10:00
Connor McLaughlin
92975b2e81
GPU/HW: Tiny performance optimization in polygon loading
2020-08-02 17:32:43 +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
bd0c403672
GPU/HW: Fix mask bit test regression
...
Fixes white boxes in Silent Hill. Again.
2020-08-02 13:04:25 +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
d711baaa31
GPU/HW: Fix lines being one pixel too short
...
Fixes lines in screen wipe effect in Vagrant Story.
2020-07-25 02:37:01 +10:00
Connor McLaughlin
2dc62ab987
GPU/HW: Fix VRAM updates when Y >= 512
2020-07-22 14:46:52 +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
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
fc0560087f
GPU: Skip primitives where clip area is invalid
...
Fixes palettes being overwritten/menus being broken in
Yoshimoto Mahjong Club Deluxe.
2020-06-14 01:01:01 +10:00
Connor McLaughlin
bda528d70a
GPU: Alter timings to reflect new clock
2020-06-13 01:40:05 +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
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
237f469baa
GPU: Mask variable sprite/rectangle sizes
...
Fixes broken sprites in Gradius Deluxe Pack (Gradius II).
2020-05-21 12:04:57 +10:00
Connor McLaughlin
b25ed6c151
GPU: Fix interlaced rendering in vblank breaking
2020-05-17 01:02:20 +10:00