Commit Graph
9567 Commits
Author SHA1 Message Date
Unknown W. Brackets bdd2029623 Core: Fix memory range guard check.
Was allowing sizes with the high bits set, which could cause all kinds of
weird issues and crashes.
2019-09-28 08:40:41 -07:00
Henrik Rydgård 9e7625c74b Workaround for a crash found in #12358 on older devices 2019-09-28 01:11:06 +02:00
Henrik Rydgård 9c4649d3ac Assorted cleanup 2019-09-27 23:25:30 +02:00
Henrik Rydgård 9d65ff8873 Silence a few warnings. 2019-09-24 23:10:18 +02:00
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årdandGitHub 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 dc03050730.
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årdandGitHub 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årdandGitHub 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årdandGitHub 2ecec84c84 Merge pull request #12127 from unknownbrackets/ge-record
Cleanup GE dump playback
2019-06-24 12:28:32 +02:00
Henrik RydgårdandGitHub 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årdandGitHub 22b7349a70 Merge pull request #12119 from hrydgard/travis-mac
Fix macOS Travis builds
2019-06-23 06:54:02 +02:00
Henrik RydgårdandGitHub 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