Commit graph

6122 commits

Author SHA1 Message Date
Henrik Rydgård
332bb7feeb VK: Whenever safely possible, shrink the render area.
We just set the render area to the union of the scissor rects used in a pass.

Might help some games on some mobile hardware, a little bit.

Possibly #13464?
2020-10-11 23:23:25 +02:00
Henrik Rydgård
495fd9a13c Fix OpenGL crash introduced in #13536 2020-10-11 22:34:37 +02:00
Henrik Rydgård
afb35c3be3 Fix GPU profile display on notched screens 2020-10-11 19:04:35 +02:00
Henrik Rydgård
5ece3de8ba Track and accumulate pipeline flags for render passes.
(Information that will later let us make some interesting optimizations)
2020-10-11 12:22:25 +02:00
Henrik Rydgård
940611fe65 Remove the USE_GENERAL_LAYOUT_FOR* debug defines. 2020-10-11 11:06:54 +02: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
93e327ab78 Vulkan: Automatically generate mipmaps for replacement textures. 2020-10-05 22:36:55 +02:00
Henrik Rydgård
886a8b1ac6 Remove Timer.cpp/h. Move various collections into Common/Data/Collections. 2020-10-05 21:05:23 +02:00
Henrik Rydgård
4310e35714 Windows: Remove the native project. 2020-10-05 06:56:10 +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
4f43cff5ca
Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Henrik Rydgård
f01ba6dc84 Move NativeApp.h to Common/System, split into NativeApp.h and System.h
Buildfix
2020-10-04 11:42:16 +02:00
Henrik Rydgård
b7edf75437 Move Display.cpp/h to Common. 2020-10-04 11:42:16 +02:00
Henrik Rydgård
821817e6d4 Move the profiler to Common 2020-10-04 11:42:16 +02:00
Henrik Rydgård
989e353482 Common.h shouldn't include Log.h.
Buildfixes

More buildfixes. Move JSON code to common.
2020-10-04 11:42:14 +02:00
Henrik Rydgård
9e41fafd0d Move math and some file and data conversion files out from native to Common.
Buildfixing

Move some file util files

Buildfix

Move KeyMap.cpp/h to Core where they belong better.

libretro buildfix attempt

Move ini_file

More buildfixes
2020-10-04 09:12:46 +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
3162f30158 Merge base/basictypes.h into Common/Common.h (mostly). 2020-09-29 15:51:51 +02:00
Henrik Rydgård
ed88761ecc Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h. 2020-09-29 15:51:51 +02:00
Henrik Rydgård
536d881626 Very minor optimization (divisions by constants are faster unsigned) 2020-09-29 00:36:29 +02:00
Henrik Rydgård
6fb0e92de3 Fix issue with duplicate texture dumps.
Fixes #13487.
2020-09-29 00:30:08 +02:00
barbudreadmon
a8dd3ef553
fix #13471 2020-09-27 16:38:24 +02:00
Henrik Rydgård
054acf768c Don't cache time in a variable.
A little weirdness in the code that has stuck around for a long, long
time. It's really not necessary and mostly just confusing.
2020-09-24 23:52:43 +02:00
Henrik Rydgård
4cfafb4605 Some GPU code cleanup. Disable some unnecessary reporting. 2020-09-24 23:01:23 +02:00
Henrik Rydgård
2a2a4a21d9 More cleanup 2020-09-24 10:03:07 +02:00
Henrik Rydgård
deedc7a1fe Cleanup 2020-09-24 09:49:28 +02:00
Henrik Rydgård
d8ddef150f IndexGenerator::AddStrip: Avoid the fallback by writing a few extra indices if necessary.
Actually a decent boost.
2020-09-24 09:36:39 +02:00
Henrik Rydgård
be54050521 Also optimize IndexGenerator::AddStrip for ARM NEON. 2020-09-24 09:24:03 +02:00
Henrik Rydgård
df9a5cc0f2 Buildfix 2020-09-24 02:09:39 +02:00
Henrik Rydgård
1a2597a513 SSE-optimize IndexGenerator::AddStrip. Shaves about half a percent from GoW. 2020-09-24 02:03:15 +02:00
Henrik Rydgård
a9fef066b5 Reduce string allocations in Vulkan memory allocator 2020-09-24 00:32:52 +02:00
Henrik Rydgård
b8ab04f53d Remove some reporting that's normally just the result of garbage-as-display-list-execution. 2020-09-22 21:57:51 +02:00
Henrik Rydgård
5ac6a9b3fd Fix slowdowns due to careless use of auto 2020-09-22 21:24:16 +02:00
Henrik Rydgård
3e3a40da8c Mark the PPGe font texture as reliable to avoid hashing it. 2020-09-22 21:13:30 +02:00
Henrik Rydgård
4ccde48485
Merge pull request #12924 from iota97/user-chain
Postprocessing: User chain support
2020-09-22 09:20:51 +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
8192f5174c Quick fix for #13459 2020-09-21 10:31:14 +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
ea2d2ec434 Remove unused lastBoundTexture from Vulkan 2020-09-21 08:57:19 +02:00
Henrik Rydgård
45f8b2721e Comment fixes. Minor tweak. 2020-09-21 08:56:58 +02:00
Henrik Rydgård
beb1d3f715 Cleanups in/around BlitFramebufferDepth 2020-09-21 08:56:58 +02:00
Henrik Rydgård
dcd33a4692 Remove redundant bind on GL texture build. Improve dirtying of texture state. 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
277333682f GPU debug stats: Show how many bytes of texture data we hash per frame 2020-09-20 22:09:29 +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
3093b9c7bf Share GPUS stats formatting code between the backends (easier to add new stats) 2020-09-20 22:09:25 +02:00
Henrik Rydgård
bdcf2c5cff Have to invalidate "lastBoundTexture" when binding framebuffers as texture.
Fixes parts of #13431 for D3D11 at least.

Will probably soon get rid of this concept, it's only useful in D3D9/11 and
those are probably not gonna lose much perf if we remove this minor
state caching.
2020-09-20 20:44:18 +02:00