Commit Graph
3315 Commits
Author SHA1 Message Date
Henrik Rydgård 0fe064d970 Small steps 2022-09-02 22:43:58 +02:00
Henrik Rydgård de712b7804 More renaming 2022-09-02 22:20:11 +02:00
Henrik Rydgård b84cda2876 Plumb the computed pipeline state into ComputeFragmentShaderID. 2022-09-02 22:16:57 +02:00
Henrik Rydgård c784c0e94b Some renaming. Store the BlendState/MaskState. 2022-09-02 21:07:29 +02:00
Unknown W. Brackets 470d2f0f4e vertexjit: Remove unused ReadUV() cases. 2022-09-01 23:33:52 -07:00
Unknown W. Brackets f2d5d668a5 vertexjit: Remove unused ReadPos() cases. 2022-09-01 23:33:52 -07:00
Unknown W. Brackets 9f48ddb18c vertexjit: Clamp through float pos during decode.
Rather than decoding it on read, better to decode it right away.
2022-09-01 23:33:52 -07: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
Lubos 00aaf9e1a6 Merge branch 'master' into feature_openxr_stereo 2022-09-01 18:09:21 +02:00
Henrik Rydgård 2bf0c86ac7 Fix image format when dumping textures.
Fixes #15831
2022-09-01 15:04:59 +02:00
Henrik Rydgård c9048c3748 Shrink the DeferredDrawcall struct, because why not. Assorted cleanup 2022-09-01 11:59:33 +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årdandGitHub 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 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 d99e4b6714 Quicker way to update the through projection matrix with the split framebuffer offset 2022-08-31 08:44:15 +02:00
Henrik Rydgård 95b299766e Cleanup (more to do, though) 2022-08-31 01:53:13 +02:00
Henrik Rydgård 7186fc2c17 Offset the draws properly. Now just some texel clamping left to fix 2022-08-31 01:40:53 +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årdandGitHub 59813fff6d Merge pull request #15929 from hrydgard/fix-tex-replace-race
Fix race condition in replacement texture loading
2022-08-30 13:17:19 +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årdandGitHub ead833561b Merge pull request #15926 from hrydgard/fix-framebuffer-read-dx9
Implement shader blending for D3D9
2022-08-30 13:01:04 +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 4da2ca0935 Implement shader blending for D3D9
This was easy, dunno why I never got around to it before..
I guess I didn't know about VPOS.

This does raise our minimum shader model requirement to ps_3_0.
2022-08-30 12:19:56 +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 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
Lubos 94968c3075 Merge branch 'master' into feature_openxr_stereo 2022-08-29 21:32: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 f228de76ef Fix OpenGL bug when framebuffer fetch is available. Add two new stats. 2022-08-29 15:39: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 9b4e94c4ae Depal: Set scissor tightly around processed area. 2022-08-28 23:14:30 +02:00
Lubos 2adc7269a3 Merge branch 'master' into feature_openxr_stereo 2022-08-28 21:55:15 +02:00
Unknown W. Brackets f5efc1aa56 GPU: Make Spongebob hack checks more readable.
Multiline clauses are just a lie programmers tell themselves to make them
think they've written readable code, just because it's better than a
single line.

Also add comments while there, in case this causes problems.
2022-08-28 08:50:16 -07:00
Unknown W. Brackets 18e1efece1 GPU: Add a way to defer dirty rechecks.
These are situations where we have temporary state which will require
recalc again later.
2022-08-28 08:34:48 -07:00
Unknown W. Brackets 77c834ba5c GPU: Fix possible shift truncation.
Also, add algorithm for std::max.
2022-08-28 08:32:00 -07:00
Henrik Rydgård c75b0235e1 Update the Spongebob workaround check to work with MX vs ATV: Reflex. See #15907
Not ideal to not check the verts :(
2022-08-28 15:09:58 +02:00
Lubos 4bd5a28604 OpenXR - Flag to easily disable multiview shaders added 2022-08-28 14:49:27 +02:00
Lubos ca92f80bd8 Merge branch 'master' into feature_openxr_stereo 2022-08-28 14:22:18 +02:00
Henrik Rydgård e63c14b45a More spongebob check tweaks, assert fix 2022-08-28 09:13:43 +02:00
Henrik Rydgård 98f2e2a370 Remove irrelevant stencil state checks 2022-08-28 07:35:26 +02:00