563 Commits

Author SHA1 Message Date
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
Henrik Rydgård ba0d04a142 Vulkan: Implement depth texturing through depal. 2020-08-09 20:31:04 +02:00
Henrik Rydgård c24dad2ac4 Logging improvement 2020-08-06 14:33:29 +02:00
Henrik Rydgård 8e1caadb48 Remove some unnecessary reporting. 2020-08-06 10:20:27 +02:00
Henrik Rydgård 09e300e646 Be a little more aggressive discarding non matching framebuffers when texturing. Enable create framebuffer from copy, fixing #12345 2020-08-04 14:51:37 +02:00
Henrik Rydgård 58ef0c8e80 Texture from framebuffer: Logging improvements 2020-08-04 14:45:14 +02:00
Henrik Rydgård d57edfbdac Rename FramebufferCommon.cpp/h to FramebufferManagerCommon.cpp/h for consistency 2020-08-03 23:17:22 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets 7024a2877d GPU: Take A off RGB565 conversion funcs. 2020-05-13 18:17:58 -07:00
Unknown W. Brackets 884a64b932 GPU: Cleanup skip buffer texture draws.
These will be used when a game does multiple transfers from RAM to the
screen, rather than one big one.  Wasn't clearing some state, though.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets 16e47f6333 GPU: Calc framebuf offset with right params.
It has nothing to do with the target or source framebuf, oops.
2020-05-07 23:22:51 -07:00
Unknown W. Brackets 48980d8786 GLES: Simplify the framebuf offset detection.
It's clearly not been understood well as changes were made, so let's dump
a bunch of comments on it.
2020-05-07 23:12:14 -07:00
Unknown W. Brackets ad98609819 GPU: Use consistent buffered rendering state.
The setting can be changed in Qt and Windows between frames, so let's
track the current setting in most places.  This is everywhere fbman is
easily accessible.
2020-04-04 10:51:47 -07:00
Unknown W. Brackets c7a27ed9af GPU: Fix memory corruption with bufw > w.
Seen for example in Mecho Wars.
2020-03-19 20:56:02 -07:00