5713 Commits

Author SHA1 Message Date
Henrik Rydgård
e723594133 Vulkan: Fix shutdown crash accidentally caused by #12324 2019-09-17 14:47:38 +02:00
Henrik Rydgård
c7798715a5 Fix issue preventing video to work correctly in Digimon. Fixes #12186
(due to BlockTransferAllowCreateFB not updating the framebuffer range
speedhack).
2019-09-17 14:47:38 +02:00
Henrik Rydgård
6d2be0d716
Merge pull request #12324 from unknownbrackets/vulkan-cache
Vulkan: Clear caches when deleting shaders
2019-09-15 20:00:06 +02:00
Unknown W. Brackets
59062ca7bc Vulkan: Clear caches when deleting shaders.
As noticed by iota97 in #12317, we're not clearing these.  If a pointer
gets reused by the Vulkan driver, we have to be careful not to reuse a
pipeline.
2019-09-14 11:23:12 -07:00
Henrik Rydgård
02a96e29bb Fix a comment 2019-09-09 00:52:23 +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
f76adfd760 Vulkan ARM mali Z hack: Modify the matrix instead of the shader. 2019-09-09 00:09:57 +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
d8db8ecfcc Revert "GPU: Download CLUTs when loading at 256 stride."
This reverts commit dc03050730ff5ce41c2b20433c11771589b49f2e.
2019-08-23 00:11:13 +02:00
Henrik Rydgård
7ad10ff0ef Vulkan profiling vis bugfix: Restore font scale after drawing. 2019-08-21 23:11:01 +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
Henrik Rydgård
e3f1e563f2 Improve renderpass profiling descriptions a little 2019-08-21 18:31:01 +02:00
Henrik Rydgård
653afeb7ab Vulkan: Implement basic integrated GPU profiling.
Currently simply measures the total GPU time of the frame. Will later be
extended to get the execution time of individual render passes.
2019-08-21 00:03:00 +02:00
Unknown W. Brackets
3e51fc5a89 GPU: Avoid some unused var/func warnings. 2019-08-17 12:01:22 -07:00
Henrik Rydgård
cf06b4a947 Vulkan: Image views: The driver is probably smart enough to recognize a no-swizzle, but let's use the proper method. 2019-08-12 23:09:47 +02:00
Henrik Rydgård
09b5546828 Apply the same Mali range culling "fix" in OpenGL. 2019-08-09 00:09:06 +02:00
Henrik Rydgård
caabc9023f Vulkan: Set all four coordinates to NaN instead of just W. Fixes range culling on ARM. Fixes #11999. 2019-08-08 23:14:20 +02:00
Henrik Rydgård
96a15cf525 Fix the indirect postprocessing path. Fixes #12133 (but see the issue for a secondary bug). 2019-08-04 18:01:36 +02:00
Unknown W. Brackets
748b33a561 GPU: Allow upload to temp resized framebuf.
Fixes #12045.
2019-07-28 05:31:49 -07:00
Henrik Rydgård
3916f8d7b6 Add a little reminder to self with a link to an interesting article. 2019-07-23 17:45:52 +02:00
Henrik Rydgård
ba09e7fb32
Merge pull request #12160 from unknownbrackets/ge-pause
GPU: Forget pause signal on new list
2019-07-07 23:23:34 +02:00
Unknown W. Brackets
c87d5a637b GPU: Forget pause signal on new list.
Otherwise, when the list gets executed again, we just pause it when it
finishes instead of letting it finish properly.
2019-07-07 13:10:28 -07:00
Henrik Rydgård
82119eda9a
Merge pull request #12157 from unknownbrackets/travis-win
Travis: Build Windows on Travis too
2019-07-07 20:17:40 +02:00
Unknown W. Brackets
dc03050730 GPU: Download CLUTs when loading at 256 stride.
Or otherwise when loading full rows.  Should fix #8406.
2019-07-07 07:49:42 -07:00
Unknown W. Brackets
c3ae97e237 Travis: Build Windows on Travis too. 2019-07-06 14:56:29 -07:00
Henrik Rydgård
e284d9f00d Remove Google Cardboard support. Fixes #11668 2019-07-01 14:47:42 +02:00
Henrik Rydgård
2ecec84c84
Merge pull request #12127 from unknownbrackets/ge-record
Cleanup GE dump playback
2019-06-24 12:28:32 +02:00
Henrik Rydgård
44685a7318
Merge pull request #12125 from unknownbrackets/debugger
Debugger: Fix subtexture readback crash
2019-06-24 06:52:27 +02:00
Unknown W. Brackets
93069756e6 GE Debugger: Split playback into a separate file. 2019-06-23 18:49:27 -07:00
Unknown W. Brackets
9e98642258 GE Debugger: Cache decompressed frame commands.
This adds to noise in profiling the frame dump.
2019-06-23 18:29:36 -07:00
Unknown W. Brackets
8cd5a1bd93 GLES: Update proj matrix on viewport change.
This is necessary because, for large (or negative) viewports, we adjust it
to account for what GL cannot do.  Fixes #12115.
2019-06-23 16:47:44 -07:00
Unknown W. Brackets
7b8d3e0c36 GPU: Improve a 5551 stencil emulation case.
Hammerin' Hero (see #10777) uses ALWAYS with INCR, which can be rewritten
to maintain more correct stencil values.
2019-06-23 16:14:18 -07:00
Henrik Rydgård
22b7349a70
Merge pull request #12119 from hrydgard/travis-mac
Fix macOS Travis builds
2019-06-23 06:54:02 +02:00
Henrik Rydgård
068ec3059b
Merge pull request #12118 from unknownbrackets/gpu-config
Add a hidden ini setting to disable graphics backends
2019-06-22 22:46:06 +02:00
Unknown W. Brackets
732d344328 Common: Fix some unused ident and case warnings. 2019-06-22 13:22:12 -07:00
Henrik Rydgård
b8bde71efe Address feedback, delete some unused code. 2019-06-22 22:15:09 +02:00
Unknown W. Brackets
df6c5f38dc Core: Use readable names for failed backends. 2019-06-22 12:48:56 -07:00
Henrik Rydgård
b5ad92b9ef Avoid rotating the image when DrawActiveTexture is used for other things than drawing to the backbuffer. 2019-06-21 14:00:02 +02:00
Henrik Rydgård
e943724905 Vulkan: Apply the desired pretransform when drawing to the backbuffer.
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099.
2019-06-21 09:38:51 +02:00
Henrik Rydgård
eb3faf5370 Fix some further static analysis warnings 2019-06-18 01:08:25 +02:00
Henrik Rydgård
a0dc85a9d7 Fix a bunch of inconsequential uninitialized variables 2019-06-18 00:18:40 +02:00
Unknown W. Brackets
a76d46dfa8 GPU: Correct Danganronpa hack.
Accidentally broken in #11553.
2019-06-02 11:48:46 -07:00
Unknown W. Brackets
3ba6c1e42b GLES: Use fragColor0 in GLSL 3.30 float path.
This should only happen when 32 bit ints are unsupported, which has been
reported for a few devices.
2019-05-27 00:36:48 -07:00
Unknown W. Brackets
7412e13767 SoftGPU: Implement dithering.
Note: it applies even in 8888, so it can be used as a slight brightness
adjustment.
2019-05-26 09:52:34 -07:00
Henrik Rydgård
efa1406d8f VS2017: Add hack to automatically select the newest installed Windows 10 SDK. VS2019 already does this by default if you specify 10.0.
Should hopefully fix the buildbot.
2019-05-19 15:23:25 +02:00
vnctdj
0ec0c6eb92 Remove the related #include
Following https://github.com/hrydgard/ppsspp/pull/12030
Oops, I forgot to check if it was still needed...
2019-05-12 16:38:37 +02:00
vnctdj
80807675f1 Delete 2 unused i18n category pointer declarations 2019-05-11 23:47:37 +02:00
Henrik Rydgård
268439dd4b Fix issue with D3D9 vs UWP 2019-05-11 08:37:42 +02:00
Henrik Rydgård
2f26297062 Clean up some more ifdefs 2019-05-10 23:25:57 +02:00