Henrik Rydgård
bd15ae4f75
Fix bug in homebrew store with files with "." in their names.
...
Also, move the homebrew store button to the top bar instead of the
bottom of the list.
2021-07-12 11:55:15 +02:00
Henrik Rydgård
3595e092c9
Turn off all 16-bit formats if B5G6R5 format is not available.
...
Works around #14602 for now.
2021-07-10 23:33:46 +02:00
Henrik Rydgård
4c9b5ada0f
Address feedback
2021-07-09 21:09:44 +02:00
Henrik Rydgård
025bcb1673
Introduce Path, start using it all over the place.
...
Still lots left to convert!
Convert GetSysDirectory to return Path.
More buildfixing
Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets
de46b0998a
GPU: Correctly initialize HW tessellation support.
...
Oops, shouldn't call a virtual in a constructor.
2021-05-08 09:10:23 -07:00
Unknown W. Brackets
e85a8b0f5b
Global: Cleanup class init order warnings.
2021-02-15 11:59:45 -08:00
Henrik Rydgård
16f629df3e
Split the DepthRangeHack compat setting into itself and DisableRangeCulling
...
Most of our uses of DepthRangeHack was just to get DisableRangeCulling anyway -
and we don't want that on when not needed.
Also disables range culling for Splinter Cell Essentials (see #13035 )
We really need to understand range culling better. This is a "ship hack" for 1.11.
2020-12-26 19:56:49 +01:00
Henrik Rydgård
559ccd9f33
Minor cleanups
2020-12-14 20:06:06 +01:00
Henrik Rydgård
575ae376a9
Don't try to texture from depth if not supported by backend. Works around #13621
2020-11-10 23:36:33 +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
7b2236778b
Remove remnants of an old, no longer applicable readback optimization
2020-11-05 14:38:20 +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
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
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +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
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
f6db1c2b01
Show how many times we evaluate framebuffers per frame in debug statistics.
2020-09-12 15:37:03 +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
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
ccc0331279
Move timeutil to Common. (Experiment to see how much work it is to move these).
2020-08-15 20:53:08 +02:00
Henrik Rydgård
c41f875df4
Remove base/logging.h in a whole lot more places.
2020-08-15 19:09:00 +02:00
Henrik Rydgård
b43698a13d
Remove most instances of base/logging.h from Common, Core, GPU, more
2020-08-15 19:08:44 +02:00
Unknown W. Brackets
b8342fb8ec
SaveState: Rename ChunkFile files to Serialize.
...
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
1dc5ee424b
SaveState: Split out Do types to reduce headers.
2020-08-10 08:03:44 +00:00
Henrik Rydgård
eadd3c5785
Remove the LARGE_VIEWPORTS separate path. The fewer paths the better, all need to work anyway.
...
Required fixing a bug in ShaderUniforms.cpp (used by D3D11 and Vulkan,
the two backends that previously exposed LARGE_VIEWPORTS).
2020-08-05 19:03:08 +02:00
Henrik Rydgård
882cc6295e
Rename FramebufferVulkan.cpp/h to FramebufferManagerVulkan.cpp/h
2020-08-03 23:22:11 +02:00
Henrik Rydgård
d57edfbdac
Rename FramebufferCommon.cpp/h to FramebufferManagerCommon.cpp/h for consistency
2020-08-03 23:17:22 +02:00
Henrik Rydgård
bb6219e402
Merge pull request #12921 from unknownbrackets/postshader
...
Use less FBOs for chained post-processing shaders
2020-07-13 18:52:53 +02:00
Henrik Rydgård
f9cef5b6b2
Partly clean up SDL resize code, should help #11974
2020-06-24 01:06:01 +02:00
Unknown W. Brackets
9ef521d945
GPU: Avoid immediate postshader FBO recreate.
...
Before, we created things at the wrong size, then recreated at the right.
Now we just start at the correct size once.
2020-06-12 12:35:35 -07:00
Unknown W. Brackets
32a7e7345e
GPU: Centralize framebuffer download.
...
And try not to use a potentially-null nvfb. Primarily this can happen on
Direct3D backends.
2020-05-17 10:59:33 -07:00
Unknown W. Brackets
22e46b51c2
GPU: Centralize DestroyAllFBOs().
...
This cleans up the postshader update code.
2020-05-13 18:15:04 -07:00
Unknown W. Brackets
ad98609819
GPU: Use consistent buffered rendering state.
...
The setting can be changed in Qt and Windows between frames, so let's
track the current setting in most places. This is everywhere fbman is
easily accessible.
2020-04-04 10:51:47 -07:00
Unknown W. Brackets
051a84e9bd
GPU: Restart when changing inflight frames setting.
...
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Henrik Rydgård
fa8968f5c6
Merge pull request #12660 from unknownbrackets/frame-latency
...
GPU: Add setting to control inflight frame usage
2020-03-02 00:16:48 +01:00
Unknown W. Brackets
cebcfb1bbd
GPU: Use old frame when presenting a skip.
...
If we flip using a skipped frame, we may show an even older frame causing
weird flickering.
2020-03-01 13:55:28 -08:00
Unknown W. Brackets
98df4bbec3
GPU: Allow choosing number of inflight frames.
2020-03-01 08:53:46 -08:00
Unknown W. Brackets
a91e206926
GPU: Add setting to control inflight frame usage.
2020-03-01 06:21:27 -08:00
Henrik Rydgård
0da04f3694
Vulkan: Support devices that don't properly support 16-bit texture (like MoltenVK).
...
Fixes #12615 .
Will make finishing #10654 worthwhile.
2020-03-01 14:07:13 +01:00
Unknown W. Brackets
3c1e8abcfe
GPU: Centralize vsync interval logic.
...
We already do unthrottle checking here.
2020-02-29 22:27:00 -08:00
Henrik Rydgård
714205d699
Vulkan: Enable renderpass merging for all games (was introduced in 1.9 for GoW games). A number of other games can also benefit.
2019-11-30 22:44:59 +01:00
Henrik Rydgård
e723594133
Vulkan: Fix shutdown crash accidentally caused by #12324
2019-09-17 14:47:38 +02:00
Henrik Rydgård
70ec327b40
Vulkan: Slim down and rename the Mali hack.
2019-09-09 00:43:31 +02:00
Henrik Rydgård
0462c01228
Workaround ARM Mali depth hardware bug. Fixes #11937
...
When triangles coincide with the Z=1 plane in specific ways, triggered
by Burnout Legends' sky for example, the depth buffer gets corrupted.
This is worked around here by slightly rescaling Z. This type of
workaround is recommended by ARM driver engineers.
Ugly but what can you do when the hardware is bugged. I've done quick
tests on a number of games with no issues.
2019-09-08 23:44:26 +02:00
Henrik Rydgård
025a9f4dae
Improve Mali driver version detection
2019-09-04 21:46:07 +02:00
Henrik Rydgård
93412aff3b
Vulkan: Automatically merge render passes to the same target when possible.
...
Should speed things up a bit on mobile in some games that do stupid
things like GoW. Currently only enabled in GoW, but plan to enable this
globally as it should be quite cheap when nothing is detected.
2019-08-21 20:32:23 +02:00