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
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
06b04f65a0
Vulkan: Narrow down buffer usage flags a little bit.
2019-03-14 12:41:39 +01:00
Henrik Rydgard
9736bc431a
The block transfer setting should not affect clearing memory behind a render target, especially since that's already gated behind a compat flag.
2019-02-08 14:46:16 +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
8e1a5ef3d6
Minor refactor of physical device property/feature detection, to allow for more extension use.
2019-02-05 18:07:17 +01:00
Unknown W. Brackets
b1e68c653c
GPU: Avoid a missing virtual destructor warning.
2018-12-01 13:59:47 -08:00
Henrik Rydgård
9c6f7000b7
New spline stuff seems to need bigger storage buffer pools
2018-11-11 22:52:37 +01:00
xebra
eca9386c05
[spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer.
2018-10-07 23:54:31 +09:00
xebra
ef53195ae8
[spline/bezier]Surround with namespace Spline.
2018-10-07 23:54:28 +09:00
xebra
41823f8780
[spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing.
2018-10-07 23:54:23 +09:00
xebra
89786b943d
[spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders.
...
Add changing the quality of HW tessellation.
2018-10-07 23:54:22 +09:00
xebra
a48a5b32f0
[spline/bezier]Unify hardware tessellation of bezier and spline.
2018-10-07 23:54:06 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
xebra
966ff32ee7
[spline/bezier]Improve the logic of copying control-points.
2018-10-07 23:53:36 +09:00
Unknown W. Brackets
a4c0640f01
GE Debugger: Factor out host calls some.
...
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
Unknown W. Brackets
9bac603976
GPU: Use HW transform for flat spline/bezier.
...
We can control the provoking vertex here, but it's less likely to matter.
2018-06-28 19:30:20 -07:00
Unknown W. Brackets
e2c217ab29
Core: More consistently use config enums.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets
d1fa9b97a3
GPU: Remove some unused fields.
2018-06-17 11:26:09 -07:00
Henrik Rydgård
03175b74ef
Merge pull request #10957 from unknownbrackets/depal-bounds2
...
GPU: Dirty tex when clearing or rendering to self
2018-06-06 22:22:01 +02:00
Unknown W. Brackets
2606365ba4
GPU: Use software transform for flat shading.
...
Except on GLES where it works fine with the default provoking index.
This fixes #10969 so that it works everywhere.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
dca159c47e
GPU: Correct sw flat shading color on Vulkan/D3D.
...
It was only correct on GLES before. This only fixes software transform.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
61fc1cdcfb
GPU: Dirty tex when clearing or rendering to self.
...
This way if we're blitting, we'll re-blit.
2018-06-06 05:52:49 -07:00
Henrik Rydgård
b037efdb55
If there are multiple Vulkan devices, show a setting to allow the user to choose.
2018-06-06 10:20:12 +02:00
Henrik Rydgård
9485b04914
Never bind a NULL image view in Vulkan no matter what.
2018-06-01 18:51:37 +02:00
Unknown W. Brackets
e7d07aff71
Vulkan: Update shaders/state when dirty properly.
...
Can't have been right before.
2018-05-27 22:28:09 -07:00
Henrik Rydgård
413a204138
Vulkan: Semi-gross hack that massively improves the perf of MGS2:Acid.
2018-04-13 17:32:56 +02:00
Henrik Rydgård
81276c8862
Fix various bugs.
2018-04-13 14:19:05 +02:00
Henrik Rydgård
29c41c6a35
Implement shader depal for Vulkan. See #10908 . Bilinear filter not yet implemented.
2018-04-13 14:19:01 +02:00
Henrik Rydgård
a3ed87bca5
Some comment fixes and cleanup.
...
Not much point warning for those MIPS instructions - if games use them,
they use them carefully because games can't catch that exception anyway.
2018-04-12 12:00:19 +02:00
Henrik Rydgård
36fd2711d6
Revert "Remove further remains of hardware skinning."
...
This reverts commit 40db61a680
.
2018-04-10 12:22:41 +02:00
Henrik Rydgård
8953d7ff73
Revert "Comment fixes, reindentation."
...
This reverts commit 6fa9fcefb2
.
2018-04-10 12:14:23 +02:00
Unknown W. Brackets
5f27a2e60a
Vulkan: Track tags on emu textures.
2018-04-06 21:43:18 -07: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
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
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
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
0ed3deabe6
Fix #10692 (crash when starting games from command line). Throw in some minor Vulkan fixes as well.
2018-03-08 16:35:13 +01:00
Henrik Rydgård
6fa9fcefb2
Comment fixes, reindentation.
2018-03-05 00:03:47 +01:00
Henrik Rydgård
40db61a680
Remove further remains of hardware skinning. Fixes #10661
2018-03-05 00:03:47 +01:00
Henrik Rydgård
23980065ba
Unify all the DrawEngine::SubmitPrim
2018-02-26 11:07:30 +01:00
Henrik Rydgård
eb014e8c6b
Try to be more consistent when initializing vulkan structs.
2018-02-25 12:15:29 +01:00
Henrik Rydgård
b7b5c5e211
Follow the spec rules about errors when allocating from descriptor pools
...
See https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkAllocateDescriptorSets.html
2018-02-25 12:15:29 +01:00
Henrik Rydgård
8e0e5f9aa6
Extract RecreateDescriptorPool()
2018-02-25 12:15:29 +01:00
Henrik Rydgård
5d77c63216
Vulkan: Need to count allocated descsets per frame separately from the map, since tess isn't even in-frame cached.
2018-02-24 12:15:22 +01:00
Henrik Rydgård
d1a8514e72
Vulkan: Dynamically grow descriptor pools as needed. Should help #10641 and similar issues.
2018-02-24 10:24:11 +01:00
Unknown W. Brackets
22f65500f1
GPU: Fix shader blending recopying.
...
This at least didn't look horrible like GLEs did, but still looked
odd in Lunar.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b75c8b72c6
Fix another little inconsistency (two uniforms were merged for bad reasons)
2017-12-07 21:39:09 +01:00
Henrik Rydgård
d0c248368d
Use a VulkanDeviceAllocator for thin3d textures. Many devices have a hard limit on the total number of allocs and it's unnecessary to have the UI put pressure on that.
2017-12-03 10:29:41 +01:00