Commit Graph
33028 Commits
Author SHA1 Message Date
Unknown W. Brackets cbeb6c1477 Replacement: Fix reload of replaced textures.
Were showing as ready before they were ready after decimate, causing
flickering.
2022-09-01 19:17:04 -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
Unknown W. Brackets 1033fa6cd7 Vulkan: Prevent saving tex during replace load. 2022-09-01 18:52:52 -07:00
Henrik Rydgård 5200208a84 Revert "Merge pull request #15930 from sum2012/kernel-minor"
This reverts commit fd863beb96, reversing
changes made to 59813fff6d.
2022-09-01 20:44:00 +02:00
Henrik Rydgård cae8ce9147 Merge pull request #15939 from hrydgard/texture-dumping-fix
Texture dumping fix
2022-09-01 20:38:50 +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 11d4f9acb6 Fix texture saving for Vulkan 2022-09-01 15:04:59 +02:00
Henrik Rydgård f2e0f7611c Display paths with backslashes on Windows. Show texture path when saving. 2022-09-01 15:04:59 +02:00
Henrik Rydgård b5e5f780f2 Merge pull request #15938 from hrydgard/misc-optimizations
Misc optimizations
2022-09-01 15:03:48 +02:00
Henrik Rydgård 9097fdaae6 Shrink VkRenderData from 88 to 64 bytes. 2022-09-01 14:21:34 +02:00
Henrik Rydgård 1cd34f9d2b Another buildfix attempt 2022-09-01 14:07:27 +02:00
Henrik Rydgård 7c5d36eca7 libretro buildfix 2022-09-01 13:33:46 +02:00
Henrik Rydgård ecb84987ef Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring. 2022-09-01 11:59:35 +02:00
Henrik Rydgård 7bced814ce Remove a per-audio-frame allocation in sceAudio 2022-09-01 11:59:35 +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 24d674d2bc Shrink the TransitionRequest struct, use TinySet 2022-09-01 10:59:27 +02:00
Henrik Rydgård bd71d8044b TinySet bugfix, add "append" 2022-09-01 10:59:24 +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 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 3168f8d119 Merge pull request #15934 from hrydgard/killzone-split-framebuffer
Split the main framebuffer in Killzone, to avoid texturing-from-current-rendertarget
2022-08-31 09:37:57 +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 a71a10bb6e Allow signed texture offsets on framebuffers 2022-08-31 01:46:58 +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ård fd863beb96 Merge pull request #15930 from sum2012/kernel-minor
Fix sceKernelUnlockMutex timing
2022-08-30 15:34:59 +02:00
sum2012 75390be142 Fix sceKernelUnlockMutex timing
Fix https://github.com/hrydgard/ppsspp/issues/6557
2022-08-30 20:46:43 +08:00
Henrik Rydgård 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ård 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 a3287e07be Merge pull request #15928 from hrydgard/texture-size-calc-fix
Clean up mip size calculations
2022-08-30 12:34:44 +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 30dc831fc4 Merge pull request #15924 from hrydgard/prepare-depth-readback
Add support for reading depth buffers to the PackFramebufferSync function
2022-08-30 10:09:38 +02:00
Henrik Rydgård ec00e8069a Merge pull request #15925 from unknownbrackets/ge-disasm
GE Debugger: Improve display list disasm
2022-08-30 08:12:57 +02:00
Unknown W. Brackets a569921716 GE Debugger: Improve display list disasm.
This makes many registers clearer, and corrects some that were totally
wrong like minz/maxz.
2022-08-29 22:58:13 -07: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 dee6ba0c1e Merge pull request #15922 from hrydgard/remove-reinterpret-compat-flag
Remove reinterpret compat flag
2022-08-29 17:41:52 +02:00
Henrik Rydgård 847e05140b Add another stat, for self-tex 2022-08-29 17:41:29 +02:00