Commit graph

176 commits

Author SHA1 Message Date
Henrik Rydgård
a9fef066b5 Reduce string allocations in Vulkan memory allocator 2020-09-24 00:32:52 +02:00
Henrik Rydgård
5ac6a9b3fd Fix slowdowns due to careless use of auto 2020-09-22 21:24:16 +02:00
Henrik Rydgård
3e3a40da8c Mark the PPGe font texture as reliable to avoid hashing it. 2020-09-22 21:13:30 +02:00
Henrik Rydgård
ea2d2ec434 Remove unused lastBoundTexture from Vulkan 2020-09-21 08:57:19 +02:00
Henrik Rydgård
45f8b2721e Comment fixes. Minor tweak. 2020-09-21 08:56:58 +02:00
Henrik Rydgård
dcd33a4692 Remove redundant bind on GL texture build. Improve dirtying of texture state. 2020-09-21 08:56:58 +02:00
Henrik Rydgård
f288e64679 Simplify NotifyFrameBuffer - only needs one call for both "channels" now. 2020-09-20 22:09:29 +02:00
Henrik Rydgård
3093b9c7bf Share GPUS stats formatting code between the backends (easier to add new stats) 2020-09-20 22:09:25 +02:00
Henrik Rydgård
bdcf2c5cff Have to invalidate "lastBoundTexture" when binding framebuffers as texture.
Fixes parts of #13431 for D3D11 at least.

Will probably soon get rid of this concept, it's only useful in D3D9/11 and
those are probably not gonna lose much perf if we remove this minor
state caching.
2020-09-20 20:44:18 +02:00
Henrik Rydgård
707e9cf7ac Remove some unnecessary function parameters, improve some comments. 2020-09-20 20:44:18 +02:00
Henrik Rydgård
74bc9785d9 Don't over-invalidate textures when a framebuffer is created or modified.
Should help #13431.
2020-09-16 01:03:56 +02:00
Henrik Rydgård
bf55986a7a Delete TexCacheEntries that get replaced by a framebuffer 2020-09-16 01:03:56 +02:00
Henrik Rydgård
7630fae4b9 Fix bug in new framebuffer code, reducing unnecessary texture invalidations.
Improves the performance issue in #13431
2020-09-16 01:03:56 +02:00
Henrik Rydgård
dce7dde5e6 More moves 2020-09-14 00:04:39 +02:00
Henrik Rydgård
f3ce685b0e Also move video filtering override. 2020-09-14 00:04:39 +02:00
Henrik Rydgård
0e464a61e0 Move overrides to the end of GetSamplingParams 2020-09-14 00:04:39 +02:00
Henrik Rydgård
a222b2017e Switch to a returned value and rename these functions. 2020-09-14 00:04:39 +02:00
Henrik Rydgård
5190f85c8e Unify/centralize SetFramebufferSamplingParams. Some include cleanup. 2020-09-14 00:04:39 +02:00
Henrik Rydgård
46b3fb0821 Workarounds for D3D9's very limited mip level control. 2020-09-14 00:04:39 +02:00
Henrik Rydgård
d5717c835f Comment fix 2020-09-13 22:51:22 +02:00
Henrik Rydgård
854ff7c5f1 Improve readability of the boolean expression mess in GetSamplingParams 2020-09-13 22:20:28 +02:00
Henrik Rydgård
a4c071261b TextureCacheCommon::UpdateSamplingParams no longer takes a TexCacheEntry 2020-09-13 16:40:37 +02:00
Henrik Rydgård
cea35007ae Always use a linear filter for video, unless forcing NEAREST filtering. 2020-09-13 16:40:37 +02:00
Henrik Rydgård
c9693ee061 Texfilter: Rewrite some checks in GetSamplingParams to be faster and more understandable. 2020-09-13 16:40:37 +02:00
Henrik Rydgård
5d5e5fe6ff Remove some outdated debugging code (SetDebugTexture) 2020-09-13 12:18:38 +02:00
Henrik Rydgård
a28954d311 Further simplify framebuffer matching. 2020-09-13 09:03:31 +02:00
Henrik Rydgård
f6db1c2b01 Show how many times we evaluate framebuffers per frame in debug statistics. 2020-09-12 15:37:03 +02:00
Henrik Rydgård
61d792e27a Re-fix BOF III - accidentally lost the texaddr offset 2020-09-12 15:25:54 +02:00
Henrik Rydgård
f7feca96a7 Mostly fix Katamari by boosting fbs from the same frame 2020-09-12 14:53:33 +02:00
Henrik Rydgård
41eee6a1a4 Decouple framebuffers from texcache entries entirely. 2020-09-12 14:25:50 +02:00
Henrik Rydgård
c7a5f45f81 Remove fbCache_ from TextureCacheCommon.cpp. 2020-09-12 12:37:05 +02:00
Unknown W. Brackets
cbeeb8fdf1 GPU: Allow culling in through mode.
It works per tests and is used in Soul Caliber.  Fixes #13400.
2020-09-08 15:52:01 -07:00
Unknown W. Brackets
a817a60382 TexCache: Correct detaching textures. 2020-09-07 15:10:26 -07:00
Unknown W. Brackets
ee6fbd9a0b TexCache: Rename "Invalid" attach to "Inexact".
The name has seemed confusing to me for a while.
2020-09-06 23:04:52 -07:00
Unknown W. Brackets
85fb9a61e8 TexCache: Always apply detach matches if found.
The "Invalid" matches will only apply if nothing was attached, so it's
important that detaches happen.
2020-09-06 23:01:13 -07:00
Henrik Rydgård
5697b6a9c5 Look in the mirrors or not depending on whether the texture's address is in the mirrors (detected as a depth texture).
Also removes reporting that no longer makes sense.
2020-09-01 23:05:15 +02:00
Henrik Rydgård
a1e5f1b052 When going the other way, there can be multiple textures that need updating. 2020-09-01 22:54:36 +02:00
Henrik Rydgård
a22181df1c Partially fix Katamari (flicker due to choice of the wrong depth buffer still happening). 2020-09-01 22:54:36 +02:00
Henrik Rydgård
5043f05687 Oops, crashfix for late change 2020-08-31 10:37:28 +02:00
Henrik Rydgård
064f2b6d01 Add some ONCE-reporting of multiple candidate situations 2020-08-31 09:42:15 +02:00
Henrik Rydgård
4252036d89 Apply the scoring model when creating/updating framebuffers too.
Reuses the same mechanism.

This is the second part of the Test Drive fix.
2020-08-30 16:21:56 +02:00
Henrik Rydgård
a70ea98475 Switch framebuffer matching to a scoring model. 2020-08-30 16:21:56 +02:00
Henrik Rydgård
e9ff037e91 Extract AttachFramebufferToEntry function 2020-08-30 16:21:56 +02:00
Henrik Rydgård
41fe6f9e12 Delete an unused buffer, saving 0.5MB of RAM. 2020-08-28 10:38:00 +02:00
Henrik Rydgård
13552550bc
Merge pull request #13330 from unknownbrackets/gpu-clear
TexCache: Force recreate texture on detach
2020-08-24 07:24:04 +02:00
Unknown W. Brackets
f44717c4f5 TexCache: Force recreate texture on detach.
We could have multiple detaches, and we delete the texture on attach, so
we really must make sure we recreate.

Fixes #13320.
2020-08-23 21:29:53 -07:00
Henrik Rydgård
055588c1a1 Framebuffer manager refactor step 1: Split ApplyFramebuffer into Match and Apply steps.
This should have no change in behavior, but prepares the ground for the
next steps. Want this merged separately.
2020-08-24 00:01:02 +02:00
Henrik Rydgård
35c5308c30 Framebuffer matching: Don't try to match depth buffers with color if the swizzle bits don't indicate it.
Fixes God of War issue reported in a comment of #13317.
2020-08-23 22:11:18 +02:00
Henrik Rydgård
48ba304a4a Minor logging improvements 2020-08-10 20:17:01 +02:00
Henrik Rydgård
0aa2ceb372 Address feedback 2020-08-10 09:16:28 +02:00