Unknown W. Brackets
a1efed31b9
GPU: Use flags to fix triggered upload/download.
...
No longer using mirror hacks.
2022-10-03 20:17:25 -07:00
Unknown W. Brackets
58a4376998
GPU: Normalize framebuf addresses.
...
In VRAM, always store without mirror. In RAM, always store without
cache/kernel bits.
2022-10-02 21:28:53 -07:00
Henrik Rydgård
ab08db6fca
Tighten up some color format checks with displays and copies
...
Now that we allow multiple color format buffers to overlap, and don't
just take one and change its format during copy for example, we could
use some additional checking.
Additionally, do a simple heuristic to reject "obviously" wrong copies
copies to framebuffers.
Fixes #15959 , should also help #16124
2022-10-02 00:10:19 +02:00
Henrik Rydgård
9ec41436d1
ES2 crash fix: Don't draw depth if lacking fragment shader depth write.
2022-10-01 19:28:52 +02:00
Henrik Rydgård
bd759790b0
Update the Vulkan debug names when reassigning depth buffers.
2022-09-28 14:09:40 +02:00
Henrik Rydgård
de51d067f2
If a framebuffer starts using a different depth buffer than before, re-point.
...
Fixes depth artifacts in Silent Hill: Origins. See issue #16126
2022-09-28 13:41:41 +02:00
Henrik Rydgård
ca5c69d3dd
Vulkan: Better debug names for RENDER passes.
2022-09-27 23:41:09 +02:00
Henrik Rydgård
1c0d66aef7
Add compatibility flag for loading pixels on framebuffer create using nearest filtering
...
Solves the last problem with the speedometers - so we can finally say: Fixes #8509
Render-to-CLUT for speedometers renders on top of an image that just comes from the
underlying memory, so it's been drawn to the framebuffer with DrawPixels. That adds
filtering so at higher resolutions, there's some blurring of the CLUT, causing
artifacts. We can solve this two ways: either we force on lower-resolution-for-effects
for Ridge Racer games, or we use nearest filtering when doing DrawPixels of the
memory under a framebuffer. For best result, we do the latter.
(The speedometers look even better with nearest filtering, but that's a more
general issue of UI looking better that way).
2022-09-26 20:47:55 +02:00
Unknown W. Brackets
93c909a88e
GPU: Upload depth only on first usage.
...
Fixes various glitches in Kingdom Hearts, etc.
2022-09-23 00:04:14 -07:00
Henrik Rydgård
a6d6e0a3cc
Texture/Framebuffer match: Ignore stride if texHeight == 1. Fixes Ridge Racer lens flares.
2022-09-22 22:11:16 +02:00
Henrik Rydgård
c108db0e71
Merge pull request #16081 from hrydgard/zbuffer-upload-heuristic
...
Fix green flashes with Burnout Dominator lens flare
2022-09-22 11:02:27 +02:00
Henrik Rydgård
a31c5c8239
Cleanup logic
2022-09-22 10:48:45 +02:00
Henrik Rydgård
bd196f7a50
Preserve depth buffer on framebuffer resize, if has been used.
2022-09-22 09:59:49 +02:00
Henrik Rydgård
188ab67d6a
More lenient heuristic for uploading depth buffers. Still behind compat flag. See #11100
2022-09-22 09:29:33 +02:00
Henrik Rydgård
287e025978
Minor cleanups around dirtying of render state
2022-09-22 09:12:58 +02:00
Henrik Rydgård
94ae0fabfa
CLUTs can be loaded from small rectangular textures. Need to linearize.
...
Fixes #8406 , although technically, we should wrap by bufw, not the
texture width.
2022-09-21 18:33:15 +02:00
Unknown W. Brackets
bf86f00df8
GPU: Correct display framebuffer reading.
...
The displayFramebuf_ might not be set yet, but that doesn't mean we want
an INVALID format and zero stride. We might also be rendering to a
different target, but still want the display.
2022-09-20 14:01:36 -07:00
Henrik Rydgård
662126a0a1
Small simplification
2022-09-15 16:57:03 +02:00
Henrik Rydgård
36c98ab367
Address feedback, change roles of the two dynamic clut fbos to eliminate the need for state (see next commit)
2022-09-15 09:15:02 +02:00
Henrik Rydgård
85bb6786a1
Log improvements
2022-09-14 23:13:46 +02:00
Henrik Rydgård
7213e9b7c2
Comment
2022-09-14 22:18:34 +02:00
Henrik Rydgård
a52e62a187
Enable depth uploads on render-to-clut-buffer. Esoteric but needed for #11100 . Compat flag for now.
2022-09-14 22:18:34 +02:00
Henrik Rydgård
4803825f83
Buffer copy matching workaround
2022-09-14 22:18:34 +02:00
Henrik Rydgård
776c650017
Fix regression in Tantalus games. See #15914
2022-09-14 08:58:06 +02:00
Henrik Rydgård
cf2ad5ceaf
Merge pull request #16024 from unknownbrackets/logicop-simulate
...
GPU: Fix simulating logicop with blend and shader
2022-09-14 08:41:29 +02:00
Unknown W. Brackets
440062530e
GE Debugger: Allow fb copies while stepping.
...
This is now causing crashes and should be allowed.
2022-09-13 19:07:54 -07:00
Henrik Rydgård
39890f7d6f
Extract function GetReinterpretPipeline
2022-09-13 11:46:47 +02:00
Henrik Rydgård
d6fd9a386b
Non-buffered rendering crashfix
2022-09-13 00:29:46 +02:00
Henrik Rydgård
5e6b064835
DownloadFramebufferForCLUT: Apply the fix mentioned in #8590
2022-09-11 10:30:43 +02:00
Unknown W. Brackets
b4e1f6d902
GPU: Fix crash on overlap copy w/o cur target.
2022-09-06 18:55:25 -07:00
Henrik Rydgård
7065a7fa8f
Water effect fix #1 : Force "Lower resolution for effects" on in Outrun and DiRT 2
2022-09-04 23:42:35 +02:00
Henrik Rydgård
3787b43b7a
Fix "Lower resolution for effects" in Ratchet & Clank. Bad option for this game though.
2022-09-04 23:28:55 +02:00
Henrik Rydgård
d3309dd8e9
Minor refactor with pipelines in QueueRunner (makes more information available for easier debugging)
2022-09-03 23:08:02 +02:00
Henrik Rydgård
a854fbbe76
fbtex matching: Shrink the matching struct, use TinySet instead of vector to avoid an allocation.
2022-09-01 10:24:52 +02:00
Henrik Rydgård
a8a9fb4206
Much faster framebuffer matching (no more ToString every time there's more than 1 candidate, etc).
2022-08-31 14:23:56 +02:00
Henrik Rydgård
67d6549afd
Rename Slow Framebuf effects to Shader Blending (might remove). Reassign readbacks to BlockTransferGPU.
2022-08-31 14:23:33 +02:00
Henrik Rydgård
437d6d30a0
KillZone: Fix margin detection on the title screen, fixing some glitches. Need more fixes though to fix the shimmer effect.
...
See #6207 comments
2022-08-31 11:40:42 +02:00
Henrik Rydgård
0928d9d285
Extract the split code to a function
2022-08-31 09:12:52 +02:00
Henrik Rydgård
95b299766e
Cleanup (more to do, though)
2022-08-31 01:53:13 +02:00
Henrik Rydgård
70f7f74a05
Check X coordinate of through-mode drawcalls to figure out which of the splits to render to
2022-08-31 01:09:23 +02:00
Henrik Rydgård
1b3b1acefa
Tweak ForceMax60Fps to work for Killzone
2022-08-30 20:10:44 +02:00
Henrik Rydgård
987bfc79ef
Split the framebuffer in Killzone, with a compatibility flag.
...
Greatly improves performance.
See issue #6207
2022-08-30 20:05:56 +02:00
Henrik Rydgård
340c75a2d9
Remove "DisableReadbacks" compat flag. MotoGP no longer needs it after BlockTransferAllowCreateFB was added.
2022-08-30 13:16:36 +02:00
Henrik Rydgård
44d822be3b
Address feedback
2022-08-30 06:41:37 +02:00
Henrik Rydgård
670c31e746
Add support for reading depth buffers to the PackFramebufferSync function.
...
Also adds D16 conversion code (though, could probably get away with just
creating a 16-bit depth buffer on the GPU and blit to it, where depth
blit is available).
Not yet used, just getting it in separately.
2022-08-30 00:00:59 +02:00
Henrik Rydgård
847e05140b
Add another stat, for self-tex
2022-08-29 17:41:29 +02:00
Henrik Rydgård
333df62691
Remove the reinterpret compat flag, now always on
...
Remove ini entries
2022-08-29 17:41:29 +02:00
Henrik Rydgård
cd37bffdaa
Better framebuffer checks, remove all ways that framebuffer formats can change.
2022-08-29 11:06:45 +02:00
Henrik Rydgård
b447092742
Some Vulkan renderpass load/store optimizations.
2022-08-28 23:16:48 +02:00
Henrik Rydgård
e63c14b45a
More spongebob check tweaks, assert fix
2022-08-28 09:13:43 +02:00