Commit graph

359 commits

Author SHA1 Message Date
Henrik Rydgård
9ec35d1464 Logic op fix, min filter fix. Also remove some unnecessary indentation. Fixes the water on Adreno (no logic) 2022-09-16 12:39:37 +02:00
Henrik Rydgård
5d4075376d Copy the texels directly in LoadCLUT 2022-09-15 17:09:03 +02: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
9c2bfad749 Seems Need for Speed: Shift has exactly the same lens flare, enable the same compat settings. 2022-09-15 00:18:26 +02:00
Henrik Rydgård
85bb6786a1 Log improvements 2022-09-14 23:13:46 +02:00
Henrik Rydgård
1f6d27bd55 Ridge Racer fix 2022-09-14 22:46:17 +02:00
Henrik Rydgård
d6d7a15d25 Get depal-from-dynamic-CLUT working 2022-09-14 22:18:35 +02:00
Henrik Rydgård
51c97c7a7f Set texcache entry status flag if CLUT needs to be dynamic 2022-09-14 22:18:35 +02:00
Henrik Rydgård
abd58199ce Add way to bind cached textures to a DrawContext 2022-09-14 22:18:35 +02:00
Henrik Rydgård
f745e94899 Allow binding "native" texture objects to thin3d 2022-09-14 22:18:35 +02:00
Henrik Rydgård
9907957242 Start implementing ApplyTextureDepal 2022-09-14 22:18:35 +02:00
Henrik Rydgård
8d00df12a4 Detect the CLUT8/8888 situation
Implement CLUT8 depal from 8888 textures. Hard to tell if working
2022-09-14 22:18:34 +02:00
Henrik Rydgård
0ed1f3d461 Switch multiple bools as parameters to DecodeTextureLevel to a flags enum. 2022-09-14 18:40:08 +02:00
Henrik Rydgård
75efcd9dfd
Merge pull request #16000 from unknownbrackets/gedebugger
Cleanup some crashes in GE debugger or with large textures
2022-09-11 19:41:11 +02:00
Henrik Rydgård
cf959a8467 Remove CLUT matching case that shouldn't be there yet. 2022-09-11 19:33:31 +02:00
Henrik Rydgård
a30896e21f Switch more texture matching calculations to use bytes for matching. 2022-09-11 16:52:30 +02:00
Henrik Rydgård
4491c480a6 Texture/framebuffer matching: Do margin check in bytes. 2022-09-11 16:18:04 +02:00
Henrik Rydgård
694dbe1271 Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit. 2022-09-11 14:40:01 +02:00
Henrik Rydgård
9bd8b11bf8 Implement shader depal for D3D11. 2022-09-11 13:41:17 +02:00
Henrik Rydgård
33a93e238a CLUT download: Replace the broken block transfer check with a new compat flag.
This compat flag should be temporary until we've implemented
a readback-free path for CLUTs from framebuffers, both when texturing
from static textures and other framebuffers.
2022-09-11 10:27:21 +02:00
Unknown W. Brackets
3242bb8d66 TexCache: Allow valid bufw sizes.
These don't cause crashes anymore.
2022-09-10 20:15:43 -07:00
Henrik Rydgård
a2ca85bc87 Add logging for LoadCLUT from framebuffer. See #15923 . Logs nicely in Burnout Dominator. 2022-09-10 19:32:39 +02:00
Henrik Rydgård
befcfb470c Fix shader caching. 2022-09-08 00:38:32 +02:00
Unknown W. Brackets
7c8f8817b8 GPU: Fix CanDepalettize() missing false paths.
Mismatched texformats didn't have a return.
2022-09-06 18:52:20 -07:00
Henrik Rydgård
9a6c1d84c2 Remove impossible check 2022-09-06 00:39:10 +02:00
Henrik Rydgård
e69bb4f616 Buildfix, warn fixes while at it 2022-09-05 23:40:43 +02:00
Henrik Rydgård
16212cae73 NFS speed effect: Improve framebuffer choice logging, tighten up stride checks. 2022-09-05 23:31:30 +02:00
Henrik Rydgård
40f8f21836 Water effect fix #2: If ForceLowerResolutionForEffects, don't upscale textures participating in small-resolution passes. 2022-09-04 23:43:01 +02:00
Unknown W. Brackets
c5fbb400de Replacement: Detect OOM even with replacements.
Also allow saving video textures if so configured.
2022-09-01 19:05:20 -07:00
Henrik Rydgård
2bf0c86ac7 Fix image format when dumping textures.
Fixes #15831
2022-09-01 15:04:59 +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
608710f9f5
Merge pull request #15936 from hrydgard/framebuffer-cleanups
Framebuffer settings and block transfer speedup
2022-09-01 10:04:31 +02:00
Henrik Rydgård
1c9ec36fd8 Stricter checks for negative framebuffer offsets. Fixes #15937 2022-09-01 08:26:23 +02:00
Henrik Rydgård
470efac7d8 Merge GetFramebufferCandidates and GetBestCandidateIndex into one function. 2022-09-01 00:35:43 +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
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
daa62beb39 Small tweak in texture matching. Fixes #15927 2022-08-30 16:14:47 +02:00
Henrik Rydgård
08eaf7665c Fix race condition in replacement texture loading
The texture could become valid during the load, causing an inconsistent
state within the texture loading. So can only check for valid-ness once.
2022-08-30 12:52:31 +02:00
Henrik Rydgård
6f2966f502 Clean up mip size calculations
Calculating the same thing in multiple places is a recipe for bugs, so
let's not.
2022-08-30 12:05:57 +02:00
Henrik Rydgård
f228de76ef Fix OpenGL bug when framebuffer fetch is available. Add two new stats. 2022-08-29 15:39:29 +02:00
Henrik Rydgård
b447092742 Some Vulkan renderpass load/store optimizations. 2022-08-28 23:16:48 +02:00
Henrik Rydgård
9b4e94c4ae Depal: Set scissor tightly around processed area. 2022-08-28 23:14:30 +02:00
Henrik Rydgård
322f29ce80 Comments and fixes 2022-08-27 23:37:02 +02:00
Henrik Rydgård
8d1157e107 GL bugfix, log cleanup 2022-08-27 14:40:42 +02:00
Henrik Rydgård
cb8497731d Framebuffer texture matching: Remove heuristics other than seqCount 2022-08-27 11:01:54 +02:00
Henrik Rydgård
769f3d1466 Accept color textures as reinterpretable between 32 and 16-bit formats 2022-08-27 10:59:37 +02:00
Henrik Rydgård
6781dd5fe8 Fix Katamari 2022-08-26 23:47:22 +02:00