Commit graph

227 commits

Author SHA1 Message Date
Henrik Rydgård
a5ee1884c1 Address feedback 2022-04-15 01:08:14 +02:00
Henrik Rydgård
a3d650d3e9 One more NEON optimization 2022-04-15 01:03:55 +02:00
Henrik Rydgård
ffcfef6031 Quick NEON optimization of CheckMask32 2022-04-15 00:56:26 +02:00
Henrik Rydgård
8bc2d1a653 SSE optimize a common case for video 2022-04-15 00:56:26 +02:00
Henrik Rydgård
a0ca968b1e Bugfixes, handle the rest of the cases 2022-04-15 00:56:25 +02:00
Henrik Rydgård
42cd937de2 Simplification and some cleanup 2022-04-15 00:56:25 +02:00
Henrik Rydgård
613df29467 Remove redundant line 2022-04-15 00:56:25 +02:00
Henrik Rydgård
35e0bfeacc Fix DeIndexTexture 2022-04-15 00:56:25 +02:00
Henrik Rydgård
e6df3ab23a Comments 2022-04-15 00:56:25 +02:00
Henrik Rydgård
9f7e0978a9 AND together colors while decoding, and then check against fullAlphaMask. 2022-04-15 00:56:25 +02:00
Henrik Rydgård
7cab540fca Short circuit the texture replacement code 2022-03-08 19:56:06 +01:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Henrik Rydgård
80ae4b039c Vulkan: Be more restrictive about texture upscaling on "slow" devices.
Applies the same rules as for software upscaling in this case.

Should fix the stutters seen in #15109
2021-12-16 21:00:49 +01:00
Unknown W. Brackets
09f0578a64 Replacement: Use a thread to load tex replacements. 2021-10-21 17:05:39 -07:00
Unknown W. Brackets
ee882d1861 Replacement: Avoid rebuild until ready. 2021-10-21 17:05:38 -07:00
Unknown W. Brackets
0721405628 Replacement: Avoid clash with X define. 2021-10-21 17:05:38 -07:00
Unknown W. Brackets
83b7b33cfd Replacement: Centralize lookup logic.
And make sure we don't change our minds about using a replacement during a
draw.
2021-10-21 17:05:38 -07:00
Unknown W. Brackets
36fc2c2628 Replacement: Purge old cached decoded textures.
Not actually decoding into the cache, just setup.
2021-10-21 17:05:38 -07:00
Unknown W. Brackets
2356280a9c Replacement: Add structure for delayed loading. 2021-10-21 17:05:38 -07:00
Henrik Rydgård
887f6101d5 Remove the "Auto" texture scale factor. It's a performance trap and not really useful. 2021-10-05 20:41:40 +02:00
Unknown W. Brackets
2d9719ed26 TexCache: Avoid hashing videos at all in lazy mode. 2021-09-19 07:35:25 -07:00
Unknown W. Brackets
e2c7366c92 TexCache: Prevent lazy cache on video textures. 2021-09-19 07:31:31 -07:00
Henrik Rydgård
6b76bcf070 Add new texture filtering "Auto Max Quality" that tweaks texture filtering for best quality.
It does this by enforcing mipmapping and minification filters, and
always autogenerates mipmaps and enforces anisotropic filtering for all
modes (if that's separately enabled).

This looks nice and flicker free in most games without any additional
tweaking, including GTA and Burnout which have long been painfully
flickery in the distance due to undersampling.

Needs a bit more testing before merge, maybe.

Fixes #13888
2021-09-03 00:14:58 +02:00
Henrik Rydgård
95dc7bb185 Minor cleanup 2021-07-10 20:00:50 +02:00
Unknown W. Brackets
1f6860d6c1 GPU: Clamp DXT texture memory bound.
See #13109.  This should handle any texture read that starts near a VRAM
or RAM boundary without crashing.
2021-06-06 11:52:26 -07:00
Unknown W. Brackets
8a8328c431 Common: Move ColorConv to a more appropriate place. 2021-05-01 11:20:05 -07:00
Henrik Rydgård
4e1bc2b3e0 Further std::string removal 2021-03-13 17:55:07 +01:00
Henrik Rydgård
409a2b5e28 Work around crash in texture replacement. See #14252 2021-03-08 00:55:17 +01:00
Unknown W. Brackets
d010f07529 GPU: Ignore replacements for framebufs.
Since these don't specify the texture hash/etc. info.
More importantly, prevents a crash.
2021-03-02 23:54:35 -08:00
Unknown W. Brackets
82a7a26409 GPU: Look up replaced filtering options. 2021-02-27 17:17:21 -08:00
Henrik Rydgård
2f3bc2d373
Merge pull request #14056 from unknownbrackets/debugger-mem
Track memory allocations and writes for debug info
2021-02-21 10:18:11 +01:00
Unknown W. Brackets
557bf0d963 TexCache: Check for videos rendered as slices.
In a few places, we were checking only the start address of the video.
2021-02-20 20:59:04 -08:00
Henrik Rydgård
aec37e8bb4 Only consider the actual PPGe texture in kernel ram reliable.
It seems some Chinese patches like to allocate kernel space for
textures.

(On that note, we should probably allocate our texture elsewhere... in
case it takes up too much space).
2021-02-19 09:53:55 +01:00
Unknown W. Brackets
10a77d29ab Debugger: Track texture usage too. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
ae474f5f18 GPU: Correct some field shadowing. 2021-02-15 12:00:29 -08:00
Unknown W. Brackets
f32f89dd90 Global: Remove some unused variables. 2021-02-15 11:59:45 -08:00
Henrik Rydgård
6df37b86bc
Merge pull request #14076 from unknownbrackets/zhp-map
GPU: Force texture invalidation for ZHP minimap
2021-02-15 11:33:32 +01:00
Unknown W. Brackets
abfeacef61 GPU: Fix a type comparison warning. 2021-02-14 10:30:10 -08:00
Unknown W. Brackets
ec3bfe08ae GPU: Force texture invalidation for ZHP minimap.
See #14069, our texture hash misses this change.
2021-02-07 09:02:28 -08:00
Henrik Rydgård
559ccd9f33 Minor cleanups 2020-12-14 20:06:06 +01:00
Henrik Rydgård
7061993c8f VK: Restore the ARM Mali Z hack that got lost in the refactor somehow.
Warning fixes.
2020-12-14 19:54:39 +01:00
Henrik Rydgård
0c66f6c6d0 Assorted drive-by code cleanup 2020-12-13 00:20:47 +01:00
Henrik Rydgård
575ae376a9 Don't try to texture from depth if not supported by backend. Works around #13621 2020-11-10 23:36:33 +01:00
Henrik Rydgård
9105249901 Add compat flag for reinterpret shader, also disable on platforms that can't support it yet 2020-11-08 11:32:55 +01:00
Henrik Rydgård
981d0a2abe Reinterpret the data when binding a framebuffer with a different 16-bit format.
Car reflections in Outrun are better (see #11358) but have some
blue/yellow color garbage that will need a different fix.
2020-11-08 11:32:55 +01:00
Henrik Rydgård
3e6d121016 Partially revert "Clarify some logic, improve framebuffer names"
I screwed up a couple things.

Fixes #13619

This reverts commit 32eb882bc6.
2020-11-03 11:39:12 +01:00
Henrik Rydgård
32eb882bc6 Clarify some logic, improve framebuffer names 2020-11-02 10:02:49 +01:00
Henrik Rydgård
b8e8325888 Fix text issue in God Eater Burst. Forgot that games can allocate texture in volatile memory too.
We considered any texture from kernel memory "reliable", which is wrong
since games can allocate out of the upper half of kernel RAM, which is
called "volatile" memory.

Fixes issue #13511
2020-10-14 00:09:08 +02:00
Henrik Rydgård
821817e6d4 Move the profiler to Common 2020-10-04 11:42:16 +02:00
Henrik Rydgård
6fb0e92de3 Fix issue with duplicate texture dumps.
Fixes #13487.
2020-09-29 00:30:08 +02:00