Commit Graph

23990 Commits

Author SHA1 Message Date
Henrik Rydgård
f76e5e70a7 Enable FlushInstructionCache on UWP, it's been allowed finally.
Minor warning fixes, UWP buildfix

Retarget UWP project to latest SDK.
2018-03-20 20:30:33 +01:00
Henrik Rydgård
78488a4ea6 Android: Restore auto screen orientation.
Fixes #10708

This reverts commit 53a351c29d.
2018-03-19 20:12:37 +01:00
Henrik Rydgård
24b9fb6ea9 Buildfix 2018-03-19 18:14:57 +01:00
Henrik Rydgård
f1359af0b0 Vulkan: Improve handling of shader compile failures (don't crash) 2018-03-19 17:46:58 +01:00
Henrik Rydgård
1888d828ec Vulkan: Workaround for bug in Adreno shader compiler affecting color tests.
This comparison should pretty much work as well as the old one, I
believe, if not faster.

Should help #10695
2018-03-19 17:33:08 +01:00
Henrik Rydgård
7ce5f8d29c Delete some mistaken logging code 2018-03-19 14:44:20 +01:00
Henrik Rydgård
efad648de2
Merge pull request #10746 from hrydgard/vulkan-pipeline-cache-fixes
Vulkan: De-duplicate pipelines when storing cache
2018-03-19 11:36:20 +01:00
Henrik Rydgård
3e5757d7d7 Minor improvement in pipeline-to-string (debug) 2018-03-19 11:19:10 +01:00
Henrik Rydgård
8f87a9f5c5 Vulkan: De-duplicate pipelines when storing cache
The new variety of renderpasses with different transitions causes
duplication. Hopefully drivers are smart enough to re-use work
between similar pipelines as much as possible...
2018-03-19 11:18:37 +01:00
Henrik Rydgård
1dabccb453 Vulkan: Minor logic fixes in the transition elimination 2018-03-18 13:14:20 +01:00
Henrik Rydgård
ce18364a15
Merge pull request #10743 from hrydgard/vulkan-renderpass-barrier-2
Vulkan: Further barrier optimizations
2018-03-18 13:02:08 +01:00
Henrik Rydgård
452e299473
Merge pull request #10740 from hrydgard/vulkan-renderpass-barrier
Vulkan: Merge some barriers into "subpass dependencies".
2018-03-18 12:29:21 +01:00
Henrik Rydgård
3e7723ea6d Vulkan: Use finalLayout to optimize away barriers before framebuffer copies. 2018-03-18 12:09:02 +01:00
Henrik Rydgård
2d3655ea23 Vulkan: Get rid of more explicit barriers by merging the finalLayout color transitions into renderpasses. 2018-03-18 12:03:23 +01:00
Henrik Rydgård
6d5f0665fe Add a super focused workaround for the Mali bug, see #10723
Minimizes the performance penalty.
2018-03-18 11:20:45 +01:00
Henrik Rydgård
216bab8a4a Vulkan: Fix a barrier to be more permissive, there's no outstanding writes from the GPU to wait for. 2018-03-18 09:57:17 +01:00
Henrik Rydgård
f43935b030 Merge framebuffer layout pre-transitions into render pass subpass dependencies.
With this, drivers should be able to completely get rid of layout
transitions into render passes that use CLEAR, at least.
2018-03-18 09:55:36 +01:00
Henrik Rydgård
33a1e6a080 Vulkan Clear-renderpass merging: If a copy step is found that reads from the affected buffer, don't merge the clear into the later renderpass. 2018-03-18 09:44:00 +01:00
Henrik Rydgård
648b4eac51 Shrink the vertexCount field in DeferredDrawCall to the 16 bits required. 2018-03-18 09:42:05 +01:00
Henrik Rydgård
ad42ec5473 Inner interpreter: Add support for the Gran Turismo hack. 2018-03-17 23:57:50 +01:00
Henrik Rydgård
a966403def Add another SDL game controller config, fixing #10724 2018-03-17 23:42:10 +01:00
Henrik Rydgård
0ee058320a Pass new vulkan validation layers. Fix math in FindTransferFramebuffers. 2018-03-17 23:39:02 +01:00
Henrik Rydgård
778beb6cd9
Merge pull request #10736 from unknownbrackets/loading
Module: Hash functions only once during loading
2018-03-17 22:24:58 +01:00
Unknown W. Brackets
892c439fcf Module: Clarify insertSymbols usage. 2018-03-17 13:58:56 -07:00
Unknown W. Brackets
f14f2efa79 Module: Hash functions only once during loading.
This fixes the loading speed regression from #10501.
2018-03-17 13:36:37 -07:00
Henrik Rydgård
473c87273f Maybe slightly safer vulkan detection code. Might help #10732 2018-03-17 19:22:59 +01:00
Henrik Rydgård
d5b123f10d
Merge pull request #10733 from unknownbrackets/loading
Vulkan: Load shaders/pipelines on thread
2018-03-17 16:12:06 +01:00
Unknown W. Brackets
7ae4a9e977 Vulkan: Load shaders/pipelines on thread.
In case it's slow when not reading raw cache data.
2018-03-17 07:42:07 -07:00
Henrik Rydgård
99af1d58ad OpenGL task switching fix 2018-03-17 13:45:12 +01:00
Henrik Rydgård
940d8b4589
Merge pull request #10731 from hrydgard/improve-vulkan-detection
Improve Vulkan detection
2018-03-17 13:05:03 +01:00
Henrik Rydgård
08c3e13517 Do more detailed checks for Vulkan availability. Should hopefully solve #10729. 2018-03-17 11:36:16 +01:00
Henrik Rydgård
1bb7be489f Remove some unused tracking of whether lighting is used by a shader 2018-03-17 10:33:50 +01:00
Henrik Rydgård
31de74c56c
Merge pull request #10730 from hrydgard/update-vulkan-headers
Update Vulkan headers to 1.1. Might as well keep up.
2018-03-17 10:12:30 +01:00
Henrik Rydgård
71630b81cf Update Vulkan headers to 1.1. Might as well keep up. 2018-03-17 09:55:14 +01:00
Henrik Rydgård
9761d8930d Bump GL shader cache version 2018-03-17 02:01:11 +01:00
Henrik Rydgård
6858c77612 Don't allow wrapping on framebuffer textures. Fixes GTA on old NV Shield 2018-03-17 01:54:11 +01:00
Henrik Rydgård
d72d710714
Merge pull request #10727 from hrydgard/vulkan-shader-cache
Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
2018-03-16 23:20:51 +01:00
Henrik Rydgård
763ece593a
Merge pull request #10728 from hrydgard/update-glslang
Update glslang to the latest version
2018-03-16 23:17:39 +01:00
Henrik Rydgård
d4a4844bff Update glslang to the latest version 2018-03-16 21:29:16 +01:00
Henrik Rydgård
614cabb115 Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
The raw pipeline cache got pretty large. Instead, store IDs like GL.

There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård
2d33d526b8 Remove some remains of software skinning 2018-03-16 20:38:05 +01:00
Henrik Rydgård
8dc85c1a60 Vulkan pipeline: Merge a few property fields to a flags field.
To make saving/loading them easier.
2018-03-16 17:38:02 +01:00
Henrik Rydgård
45464896d2 Update lang submodule 2018-03-16 16:45:27 +01:00
Henrik Rydgård
4ee941dab1 Vulkan: Fix bug where we didn't always reset dynamic state after readbacks. 2018-03-16 15:52:43 +01:00
Henrik Rydgård
c5ebb2d73f Oops, remove logging 2018-03-16 14:58:45 +01:00
Henrik Rydgård
a08464eb77 Vulkan: Also check for empty clearing renderpasses later in the frame. 2018-03-16 14:57:41 +01:00
Henrik Rydgård
17eca3e2dd
Merge pull request #10725 from hrydgard/renderpass-merge-clear
Vulkan: If the first renderpass is an empty clear, merge it into the next one touching the same framebuffer.
2018-03-16 14:36:35 +01:00
Henrik Rydgård
df8dac4aae If the first renderpass is an empty clear, merge it into the next one that touches the same framebuffer. Works around #10723 in Wipeout. 2018-03-16 13:44:56 +01:00
Henrik Rydgård
3cd92b4d90 Vulkan: Add a (disabled) facility to force image layouts to GENERAL, for debugging barrier issues 2018-03-15 16:23:23 +01:00
Henrik Rydgård
26966d4655
Merge pull request #10719 from hrydgard/fix-gl-buffer-crash
GL: Fix bug where we could crash if a readback happened at the same time as a buffer expansion.
2018-03-14 00:52:24 +01:00