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
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
Henrik Rydgård
49e64f10d4
Minor code cleanup
2019-08-12 23:36:35 +02:00
Henrik Rydgård
ddb5208130
Vulkan: Reduce the amount of redundant stencil parameter sets
2019-08-12 23:19:07 +02: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
213e2ccefc
Vulkan: Add missing barrier when rendering to a target that's already in COLOR_OPTIMAL layout.
...
Fixes #12215
2019-08-08 15:38:09 +02:00
Henrik Rydgård
3b0624ff9f
Some changes and asserts.
2019-08-08 14:07:53 +02:00
Henrik Rydgård
ebe64c60e9
Vulkan: Improve the Metal Gear Acid 2 performance hack.
2019-08-08 11:49:35 +02:00
Henrik Rydgård
75e2366a6d
Vulkan: Actually fix #12202 , an array was out of scope where it was used, causing garbage flags.
2019-08-01 17:46:46 +02:00
Henrik Rydgård
3d6bd6f0df
Vulkan: Using VK_DEPENDENCY_BY_REGION on the backbuffer subpass causes tearing, let's not do it. Fixes #12202 .
2019-08-01 14:56:58 +02:00
Unknown W. Brackets
3de796779c
Debugger: Fix subtexture readback crash.
...
When the texture image is scaled, we don't properly know its size, so we
were allocating too small of a buffer. Since this is only used for
debugging, let's just get the actual texture size.
2019-06-23 15:30:30 -07:00
Henrik Rydgård
ee294251c9
Fix the 270 degree rotation case
2019-06-21 11:58:41 +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
driver1998
eb99044a4f
Fix d3d11_loader on x86
2019-05-12 11:17:54 +08:00
driver1998
21d2008676
Use D3DCompiler_47.dll for D3D9 context.
2019-05-12 11:17:10 +08:00
Henrik Rydgård
ff65b813d9
Assorted warning fixes
2019-05-10 23:26:34 +02:00
Henrik Rydgård
ed1aa74827
Address feedback from #11936 (support memory types without CACHED as a backup)
2019-03-26 10:39:51 +01:00
Henrik Rydgård
60889767bf
Vulkan: Request cached memory for readbacks. First try coherent too but also support non-coherent cached memory.
...
Should speed up readbacks slightly.
This is just a common sense optimization, I haven't measured it. Writes to
coherent non-cached memory is OK due to hardware write combining, but for
reads you really want cached to avoid a memory transaction for every
single read (instead reading full cache lines).
2019-03-25 21:40:25 +01:00
Henrik Rydgård
06b04f65a0
Vulkan: Narrow down buffer usage flags a little bit.
2019-03-14 12:41:39 +01:00
Henrik Rydgård
7362cccee4
Vulkan subpass dependencies: Handle VK_IMAGE_LAYOUT_UNDEFINED without debug-asserting.
2019-03-12 22:34:41 +01:00
Henrik Rydgård
624587c594
Fix a VK validation failure when opening the homebrew menu
2019-03-11 16:42:41 +01:00
Henrik Rydgård
c1427f5981
VulkanImage: Fix issue where we'd try to free dedicated allocations from the allocator_ instead of Vulkan directly.
...
Snuck in some minor cleanups.
2019-02-24 22:23:26 +01:00
Henrik Rydgård
58c240045e
Make window resize work with Vulkan. Seems more stable now.
2019-02-23 15:53:05 +01:00
Henrik Rydgård
7e939802b5
Merge pull request #11787 from unknownbrackets/range-cull
...
GLES: Disable range culling on VideoCore/Vivante
2019-02-10 20:46:37 +01:00
Unknown W. Brackets
957c3d5b89
GLES: Disable range culling on VideoCore/Vivante.
...
Was only disabled before on Vivante GL3/GLES3 devices.
2019-02-10 11:36:23 -08:00
Henrik Rydgård
c509650bec
OpenGL: Disable the mapped buffer strategy for Adreno (Qualcomm).
...
It's a race during shutdown between the EmuThread writing commands, and
the render thread which just lost the buffer.
2019-02-10 20:13:39 +01:00
Henrik Rydgard
f38a6650b1
VK code cleanup: Just a little helper for handling dedicated allocation for images.
2019-02-07 14:56:29 +01:00
Henrik Rydgård
54c6c148fb
Detect PCI device ID where available (not in GL?)
2019-02-06 22:43:31 +01:00
Henrik Rydgard
e30daa8027
Remove unused API, assorted cleanup.
...
No longer enable the geometry shader feature, no plans to use it.
2019-02-05 21:31:43 +01:00
Henrik Rydgard
32f37723f9
Properly use VK_KHR_dedicated_allocation to make some drivers extra happy
2019-02-05 18:07:18 +01:00