Commit Graph
1358 Commits
Author SHA1 Message Date
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 d6d72db0a9 Unify BlitFramebufferDepth. 2020-09-17 20:53:02 +02:00
Henrik Rydgård d0f7b1e30f Make the implementations of CopyFramebufferDepth more similar.
Also avoid matching framebuffers with bad z for copies.
2020-09-17 20:52:45 +02:00
Henrik Rydgård 181ddd842a Unify some GPU_SUPPORT* bits 2020-09-17 20:52:32 +02:00
Henrik Rydgård ccea07ab94 Merge pull request #13438 from hrydgard/header-cleanup
Some header include cleanup
2020-09-16 13:46:50 +02:00
Henrik Rydgård c1194dcb52 Help the compiler out a little bit in IndexGenerator::AddStrip.
The generated code wasn't good - this helps break long register
dependency chains.

Speed boost is measurable but small on x86, but might be bigger on simpler CPUs.
2020-09-16 09:23:12 +02:00
Henrik Rydgård 1b3413945b Some header include cleanup 2020-09-16 09:20:41 +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 a6084f6fee Merge pull request #13420 from hrydgard/framebuffer-simplify
Framebuffer manager refactor: Don't cache framebuffer information in TexCacheEntry
2020-09-13 16:40:17 +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 7f27f569d7 x64: Fix stack alignment in vertex decoder, just because. 2020-09-12 16:10:17 +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
Henrik Rydgård b964572679 Make SetColorUpdated static, reorder some fields 2020-09-12 12:32:24 +02:00
Unknown W. Brackets e3dd3e597c Merge pull request #13411 from hrydgard/clear-speedhack-option
Add option for the clear-fb-on-first-use speedhack.
2020-09-10 22:59:04 -04:00
Henrik Rydgård 406fed7914 Add option for the clear-fb-on-first-use speedhack. See #13295 2020-09-10 23:52:35 +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 56892944f6 Fix crash in Digimon Adventures.
Fixes #13371
2020-09-04 09:01:42 +02: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 eda4bb2341 Test Drive: Allow virtual framebuffer copies. This eliminates the hyper expensive readbacks.
Write some comments in Depal about how we could get rid of the banding.
2020-08-30 16:21:56 +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 e33c31e187 Merge pull request #13353 from unknownbrackets/texcache
TexCache: Improve QuickTexHash a little, cleanup ARM64 defines
2020-08-29 18:35:06 +02:00
Unknown W. Brackets 6b8f7294b3 Global: Remove ARM64 define.
Was barely used anymore, and some users are specifying it when it's not
the case, so better to detect consistently.
2020-08-29 08:45:50 -07:00