563 Commits

Author SHA1 Message Date
Henrik Rydgård 355c18512f Fix BGRA issue on D3D with GPU CLUT textures 2022-09-20 22:31:54 +02:00
Henrik Rydgård 85d1f28997 Throw in assorted warning fixes 2022-09-20 18:04:08 +02:00
Unknown W. Brackets fddcbfc5fa GE Debugger: Include rendered CLUTs in frame dumps.
Like with textures, this uses the VRAM address directly.
2022-09-19 12:01:34 -07:00
Henrik Rydgård 370a7304a6 Careful with min filtering of framebuffer textures only if auto max quality is on. 2022-09-16 19:19:42 +02:00
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