Commit Graph
709 Commits
Author SHA1 Message Date
Unknown W. Brackets 51b94a9c9c Core: Quiet some warnings. 2020-03-10 22:19:59 -07:00
Henrik Rydgård b0b9e24d4e Vulkan: Fix minor vulkan resource leak if inflight frames isn't max. 2020-03-08 17:14:14 +01: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
Henrik Rydgård 63f06cdd91 Address some feedback, thanks unknown 2020-03-01 18:41:09 +01: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 25dcf8dd8d Warning fixes 2020-03-01 14:15:10 +01: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
Henrik Rydgård 81b42df7c2 D3D11: Fix mistake in UI vertex shader for non-textured geometry. Fixes #12587. 2020-01-20 22:54:28 +01:00
Unknown W. Brackets 61e4818419 Windows: Allow long path for sys directory.
Unlikely, though.
2020-01-04 11:04:33 -08:00
Henrik Rydgård 26ab81c102 vulkan: The GPU profiler could end up writing massive amounts of text, fix some bugs around that. 2019-11-30 23:03:30 +01:00
Henrik Rydgård fc34a93ac2 vulkan: ApplyRenderPassMerge; Add copy / blit destinations to touched buffers. 2019-11-30 23:02:08 +01:00
Henrik Rydgård 6c8186d046 Remove unused textureswizzle support (we use shaders instead). Universally support presenting 5551 format directly. 2019-10-27 20:55:32 +01:00
Henrik Rydgård 4f7c23fe79 DarkStalkers: Fix display on OpenGL ES. 2019-10-27 20:54:36 +01:00
Henrik Rydgård 796539ad7f DarkStalkers: Fix display in the D3D backends. Still broken in OpenGL. 2019-10-27 20:54:36 +01:00
Henrik Rydgård 58568632e8 Software renderer: Use hardware color conversion on Vulkan in 5551 16-bit mode 2019-10-27 20:54:36 +01:00
Henrik Rydgård 46447c9e90 Correct the wrong GL DataFormat enums 2019-10-24 23:01:45 +02:00
Henrik Rydgård 9e607fdeb1 GL: remove another unused format 2019-10-24 22:49:36 +02:00
Henrik Rydgård fcfeda653d Reduce GL texture format support to the ES minimum. We have to handle these anyway so let's only have one path. 2019-10-24 22:47:22 +02:00
Henrik Rydgård 8c2e318416 OpenGL dataformat cleanup - pass Draw::DataFormat to the GLRenderManager.
Avoids triple GLenum all over the place, and also clearly shows that the
mapping is wrong.
2019-10-24 22:41:41 +02:00
Henrik Rydgård 767b1e45b2 Fix the build - there's a Vec3 name collision, fixed it using a namespace. 2019-10-22 22:58:10 +02:00
Henrik Rydgård c7b3a08cf3 Vulkan: Add checks so we don't try to write NULL objects to a descriptor set.
(Shouldn't happen, but bad rendering is better than a crash in descriptor writing)
2019-10-20 17:05:42 +02:00
Henrik Rydgård 70c0a12b2b Fix name collision on iOS build 2019-10-13 21:25:16 +02:00
Henrik Rydgård 5adb61a5f2 Move the viewport clamping back to rendermanager to avoid a struct copy in the common case. 2019-10-13 21:25:16 +02:00
Henrik Rydgård 7c0470e061 Fix misplaced break 2019-10-13 21:25:16 +02:00
Henrik Rydgård 87c1ce6fa2 Vulkan: Move viewport/scissor rotation to the QueueRunner instead of RenderManager. Add some checks. 2019-10-13 21:25:16 +02:00
Henrik Rydgård 1e3711ee66 Vulkan blend factor: Bugfix and minor optimization 2019-10-13 21:17:29 +02:00
Henrik Rydgård 83c349a92b Merge pull request #12334 from hrydgard/vulkan-gpu-profile-cpu
Vulkan GPU profiler: Measure the CPU time spent on the render thread recording command buffers.
2019-10-07 21:43:48 +02: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 9d65ff8873 Silence a few warnings. 2019-09-24 23:10:18 +02:00
Henrik Rydgård 2467fddc01 Vulkan GPU profiler: Measure the CPU time spent on the render thread recording command buffers. 2019-09-18 00:16:08 +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 2439c3efb1 Merge pull request #12306 from hrydgard/mali-driver-version-detection
Improve Mali driver version detection
2019-09-04 22:45:34 +02:00
Henrik Rydgård 025a9f4dae Improve Mali driver version detection 2019-09-04 21:46:07 +02:00
Henrik Rydgård ab3c9fc21f Vulkan: Move scissor/viewport rotation into the VulkanRenderManager. Fixes #12303. 2019-09-03 23:26:44 +02:00
Henrik Rydgård 3af7229abc Bump up the descriptor pool size for the UI. Should fix #12299. 2019-09-02 18:39:10 +02:00
Henrik Rydgård 7bb6febc32 Add a few more checks. 2019-08-22 09:23:02 +02:00
Henrik Rydgård 05b2e11c5c Vulkan: Prevent some bad merging of renderpasses. Thanks Unknown for writing it up. 2019-08-21 21:30:36 +02:00
Henrik Rydgård 773cb5fa70 Stop renderpass merging at readbacks. 2019-08-21 21:13:56 +02:00
Henrik Rydgård 597b034b5c Minor optimization 2019-08-21 20:32:23 +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 66609b395f Vulkan: Profile individual render passes/steps. 2019-08-21 16:47:46 +02:00
Henrik Rydgård 06a71fdf49 Get rid of numQueries 2019-08-21 10:30:57 +02:00
Henrik Rydgård 5fcac1a9e2 Vulkan: Disable some bad validation. Things are right and work fine. 2019-08-21 10:23:36 +02:00
Henrik Rydgård 19a443819b Bugfixes to VK gpu profiling. Properly get the valid bits. 2019-08-21 09:02:40 +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 d0a3410875 Typo fix 2019-08-13 00:22:47 +02:00