Commit Graph
3315 Commits
Author SHA1 Message Date
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 eaca9d1b59 Remove dirtying of TEXTURE_PARAMS from ForgetLastTexture, not its responsibility. 2020-09-21 08:56:58 +02:00
Henrik Rydgård b6efc65c94 Set the texture dirty flags when binding a new framebuffer. 2020-09-21 08:56:58 +02:00
Henrik Rydgård 277333682f GPU debug stats: Show how many bytes of texture data we hash per frame 2020-09-20 22:09:29 +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 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årdandGitHub 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
iota97 0c885db052 User chain support 2020-09-13 21:48:00 +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årdandGitHub 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. BracketsandGitHub 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