Commit Graph

42 Commits (6437a5db601ff45597191ec3e0d124664c173783)

Author SHA1 Message Date
Stenzek 6437a5db60
GPU/TextureCache: Dump textures asynchronously
Saves lagging the emulation.
8 months ago
Stenzek 36d5708391
GPU/HW: Fall back to replacements from first disc
So you only need one copy.
9 months ago
Stenzek 4ce48abfc1
GPU/HW: Fix incorrect source rect for page replacements 9 months ago
Stenzek b01c06b412
GPU/TextureCache: Prevent wrapping for replacement lookup
Fixes replacements for 8 and 16-bit textures placed in the right-most
page of VRAM.
9 months ago
Stenzek d65c4efdd8
GPU/TextureCache: Prefill dumped texture list with replacements
Allows skipping dumping replaced textures without replacements enabled.
9 months ago
Stenzek f7d7eecb6c
GPU/TextureCache: Fix replacements starting in second page 9 months ago
Stenzek 70c45f7cf8
GPU/TextureCache: Handle replacements larger than 256x256
I left this unfinished because it was a pain...
9 months ago
Stenzek f58fa2297e
GPU/TextureCache: Only use a single palette record for C16
Stops C16 textures larger than 256x256 being split up.
9 months ago
Stenzek b0c0d6444c
GPU/TextureCache: Fix parsing of C16 replacement names 9 months ago
Stenzek df8822760a
GPU/HW: Further tweaks to replacement alpha handling
We can't simply clear the alpha channel unconditionally here, because that
would result in any black pixels with zero alpha being transparency-culled.

Instead, we set it to a minimum value (2/255 in case of rounding error, I
don't trust drivers here) so that transparent polygons in the source still
set bit 15 to zero in the framebuffer, but are not transparency-culled.

Silent Hill needs it to be zero, I'm not aware of anything that needs
specific values yet. If it did, we'd need a different dumping technique.
9 months ago
Stenzek 6cba825bac
System: Add fatal error shutdown path
Switch to a null backend and shut down the system instead of crashing.
9 months ago
Stenzek 4449ae7904
Settings: Rearrange fields to avoid padding 10 months ago
Stenzek 8c2fe430d8
GPU/TextureCache: Apply 'Dump Replaced Textures' option to backgrounds too 10 months ago
Stenzek 6f3e9913f5
GPU/HW: Fix VRAM write dumping only first row
Still has race conditions.
10 months ago
Stenzek 86d78e5eca
GPU/TextureCache: Only use shader bilinear for initial pagefill
Make bilinear replacements behave the same as nearest.
10 months ago
Stenzek 9e04b0bf55
GPU/TextureCache: Add 'Always Track Uploads' option 10 months ago
Stenzek 62285dcf33
Settings: Split into GPU and main settings
That way the GPU thread copy doesn't need fields it never touches.
10 months ago
Stenzek 26db661a05
GPU: Remove global indirection 10 months ago
Stenzek 2d659fc3eb
GPU: Move backend work off CPU thread 10 months ago
Stenzek 69947fb907
GPU/TextureCache: Look for replacements outside of subdirectory
i.e. old setups that do not have the `replacements` subdirectory.
11 months ago
Stenzek 5725a0360b
GPU: Use A1BGR5 format for SW/HashCache if available 11 months ago
Stenzek 3959c83bd4
GPU/TextureCache: Fix split writes not dumping 11 months ago
Stenzek e9848a6182
Misc: Collapse more niche log channels 11 months ago
Stenzek 0faa9cf650
Build: Add Devel configuration
Gets you debug assertions and logging, while still producing an
optimized executable.
11 months ago
Stenzek 53008eb34a
GPU/HW: Allow use of RGB5A1 for texture cache
Reduces bandwidth and storage requirements by 50%.
11 months ago
Stenzek c6e2235ee2
GPU/HW: Vectorize texture conversion routines
~100% speed up for RGBA8, ~50% for RGB5A1.
11 months ago
Stenzek aafc029682
Misc: Un-namespace Timer 11 months ago
Stenzek eb390a9b5d
GPU/TextureCache: Specify max hash cache size/memory in config 11 months ago
Stenzek 57595c47af
GPU/TextureCache: Move replacement cache onto the GPU
And enforce a maximum. Should sort out the upload spam.
11 months ago
Stenzek 24dfd30839
Image: Refactor to a more generic class 11 months ago
Stenzek 3ff1b04576
GPUDevice: Support generating mipmaps 11 months ago
Stenzek 5c03e1d940
Misc: Fix alignment errors on ARM32 11 months ago
Stenzek 4b71428846
GPU/TextureCache: Fix tracking getting enabled without TC 11 months ago
Stenzek 1451e968d5
GPU/TextureCache: Pack state in struct 11 months ago
Stenzek 9838dd9df2
GPU/TextureCache: Purge copy-target sources from hash cache
Saves some VRAM/hash cache usage by disacarding hash cache entries that
are discarded by a copy, but unfortunately cannot stop the uploads.
11 months ago
Stenzek aa0c0068ce
GPU/HW: Move shadergen parameters to functions 1 year ago
Stenzek 08bdffac64
GPU/HW: Fix toggling texture replacement settings 1 year ago
Stenzek c740fd9e11
GPU/TextureCache: Disable bilinear page upscaling by default
And fix it.
1 year ago
Stenzek 7e72b9fb7b
GPU/TextureCache: Fix palette reduction in C4 mode
It was only looking at the first row...
1 year ago
Stenzek 0730a361a3
GPU/HW: Fix batch shader compiling with GLSL ES 1 year ago
Stenzek 73fd97e770
GPUTextureCache: Fix reload replacements hotkey/menu action 1 year ago
Stenzek e06f1f1002
GPU: Add hardware texture cache 1 year ago