Commit graph

55 commits

Author SHA1 Message Date
Henrik Rydgård
0510101f6c Fix task switching issue with reinterpret. Fixes #13649 2020-11-10 13:24:52 +01:00
Henrik Rydgård
5eea7435d0 Minor cleanup in GL backend, fixes #13647
Was a stray old texture in boundTextures_ in thin3d. Now makes sure to
invalidate them, and also make it possible to look up bound framebuffer
textures when checking for valid tex parameters.
2020-11-10 00:13:44 +01:00
Henrik Rydgård
669c18a088 Fix crashes on exit (Vulkan). Should help #13223 2020-11-09 11:13:44 +01:00
Henrik Rydgård
9105249901 Add compat flag for reinterpret shader, also disable on platforms that can't support it yet 2020-11-08 11:32:55 +01:00
Henrik Rydgård
28f8578408 Cleanup reinterpret shader resources in FramebufferManagerCommon::DeviceLost(). 2020-11-08 11:32:55 +01:00
Henrik Rydgård
96c36d5c10 More work on reinterpret. Get Vulkan running 2020-11-08 11:32:55 +01:00
Henrik Rydgård
981d0a2abe Reinterpret the data when binding a framebuffer with a different 16-bit format.
Car reflections in Outrun are better (see #11358) but have some
blue/yellow color garbage that will need a different fix.
2020-11-08 11:32:55 +01:00
Henrik Rydgård
1ccc8c129c Reinterpret code runs, no idea if it works 2020-11-08 11:32:55 +01:00
Henrik Rydgård
f2e315b9a6 More shadergen work
Buildfix
2020-11-08 11:32:53 +01:00
Henrik Rydgård
c23ed09a32 Unify FramebufferManager::BindFramebufferAsColorTexture 2020-11-07 11:10:54 +01:00
Henrik Rydgård
d9ee06a60d Reorganize the DeviceLost code a little. FramebufferManagerCommon now sees it. 2020-11-07 10:51:54 +01:00
Henrik Rydgård
381ca11561 Fix bugs caused by 44ec286ba4 2020-11-06 21:50:16 +01:00
Henrik Rydgård
44ec286ba4 Framebuffer: Keep the render scale factor around, no need to recompute it. 2020-11-06 09:11:57 +01:00
Henrik Rydgård
225734c0b3 Partially revert "Remove remnants of an old, no longer applicable readback optimization"
This reverts commit 7b2236778b.

Fixes #13628
2020-11-06 09:09:18 +01:00
Henrik Rydgård
3c5a05acb3 Buildfix 2020-11-05 18:25:14 +01:00
Henrik Rydgård
84037f448e Remove colorDepth property of framebuffers. They're all 8888. 2020-11-05 14:51:46 +01:00
Henrik Rydgård
7b2236778b Remove remnants of an old, no longer applicable readback optimization 2020-11-05 14:38:20 +01:00
Henrik Rydgård
127cf41480 Fix bug in framebuffer naming 2020-11-05 08:51:29 +01:00
Henrik Rydgård
d39badc8c1 Inline "OptimizeDownloadRange" to make the code more readable 2020-11-05 08:50:16 +01:00
Henrik Rydgård
32eb882bc6 Clarify some logic, improve framebuffer names 2020-11-02 10:02:49 +01:00
Henrik Rydgård
dc0f7ca8ee VK: Copy depth buffer if we can't blit. Some GPUs can't blit to depth.
Fixes some recent issues with Intel GPUs on Vulkan.
2020-10-11 10:57:35 +02:00
Henrik Rydgård
b28baed7d3 Create a safer variant of BlockTransferAllowCreateFB, enable for FF Type 0
Performance improvement by avoiding unnecessary readbacks.

New one is called IntraVRAMBlockTransferAllowCreateFB.

This one only allows intra-VRAM block transfers to happen on-GPU, such as the one this
game uses for bloom. Good chances to avoid missing stuff that actually requires
real readback, if there's any.
2020-10-10 23:59:51 +02:00
shenweip
a66cb1237d Warning fixes. 2020-10-10 19:18:46 +02:00
Henrik Rydgård
0e3a84b4a8 Move most GPU things to Common.
It works after the move, on Windows and Android at least.

Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
ff8148dd92 Move native/util, native/data and native/i18 to Common/Data.
Also move colorutil.cpp/h

linking build fix experiment

Delete a bunch of unused CMakeLists.txt files

CMakeLists.txt linking fix

Don't include NativeApp.h from any headers.

Android.mk buildfix

Half of the UWP fix

Buildfix

Minor project file cleanup

Buildfixes

Guess what? More buildfixes!
2020-10-04 07:28:29 +02:00
Henrik Rydgård
a0251eae27
Merge pull request #13456 from hrydgard/tex-fixes-3
More code cleanup in texture cache
2020-09-21 11:17:06 +02:00
Henrik Rydgård
2d06730762 Fix regression where Gran Turismo ended up recreating the framebuffer on every frame in the menu.
Should help #13458 slightly (but there's more to fix).
2020-09-21 09:56:52 +02:00
Henrik Rydgård
beb1d3f715 Cleanups in/around BlitFramebufferDepth 2020-09-21 08:56:58 +02:00
Henrik Rydgård
eaca9d1b59 Remove dirtying of TEXTURE_PARAMS from ForgetLastTexture, not its responsibility. 2020-09-21 08:56:58 +02:00
Henrik Rydgård
b6efc65c94 Set the texture dirty flags when binding a new framebuffer. 2020-09-21 08:56:58 +02:00
Henrik Rydgård
f288e64679 Simplify NotifyFrameBuffer - only needs one call for both "channels" now. 2020-09-20 22:09:29 +02:00
Henrik Rydgård
d6d72db0a9 Unify BlitFramebufferDepth. 2020-09-17 20:53:02 +02:00
Henrik Rydgård
d0f7b1e30f Make the implementations of CopyFramebufferDepth more similar.
Also avoid matching framebuffers with bad z for copies.
2020-09-17 20:52:45 +02:00
Henrik Rydgård
181ddd842a Unify some GPU_SUPPORT* bits 2020-09-17 20:52:32 +02:00
Henrik Rydgård
7630fae4b9 Fix bug in new framebuffer code, reducing unnecessary texture invalidations.
Improves the performance issue in #13431
2020-09-16 01:03:56 +02:00
Henrik Rydgård
406fed7914 Add option for the clear-fb-on-first-use speedhack. See #13295 2020-09-10 23:52:35 +02:00
Henrik Rydgård
56892944f6 Fix crash in Digimon Adventures.
Fixes #13371
2020-09-04 09:01:42 +02:00
Henrik Rydgård
a22181df1c Partially fix Katamari (flicker due to choice of the wrong depth buffer still happening). 2020-09-01 22:54:36 +02:00
Henrik Rydgård
8618cc7ab5 Virtual framebuffer copies: Make a more informed guess on appropriate pixel format.
This is the first part of the Test Drive fix, which I want in
separately.
2020-08-29 12:42:36 +02:00
Henrik Rydgård
0b8e377872 Address feedback from #13341. 2020-08-27 22:59:27 +02:00
Henrik Rydgård
4e841ca3a6 Naming fix, better names for temp fbos 2020-08-27 21:50:05 +02:00
Henrik Rydgård
6e9d5ffbd7 VulkanRenderManager: Improve logging. LogSteps output is much better.
More logging improvements
2020-08-27 21:50:05 +02:00
Henrik Rydgård
d465ce5123 Quick Vulkan crashfix 2020-08-22 10:50:39 +02:00
Unknown W. Brackets
3055deeba6 GPU: Fix some case warnings.
Better to avoid the warnings.
2020-08-19 21:18:44 -07:00
Henrik Rydgård
c0dffd56aa Log the first 100 block transfers instead of just the first one. Should make it easier to spot interesting things without hacking the log code. 2020-08-16 22:38:15 +02:00
Henrik Rydgård
479dedf0ba Some logging improvements. Show more coordinates for block transfers, etc. 2020-08-16 22:27:21 +02:00
Henrik Rydgård
5d64fc5ff1 Switch to PPSSPP's assert functions (don't use the system's) 2020-08-16 10:01:10 +02:00
Henrik Rydgård
0fcc0994b4 Recategorize some logging, in preparation for what's to come. 2020-08-15 11:51:22 +02:00
Henrik Rydgård
48ba304a4a Minor logging improvements 2020-08-10 20:17:01 +02:00
Henrik Rydgård
0aa2ceb372 Address feedback 2020-08-10 09:16:28 +02:00