Henrik Rydgård
3e749a94ce
Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
...
This can cut down the number of pipelines to a third or less in some
games. However, benefit is likely smaller since Vulkan drivers will
deduplicate shaders inside each vkPipelineCache object.
Helps #10106 while not actually implementing any of the suggestions inside.
2017-11-13 11:22:33 +01:00
Henrik Rydgård
0f10014219
DevScreens: In shader viewer tabs, show the number of each shader type.
2017-11-13 11:13:55 +01:00
Henrik Rydgård
04e313ecba
Unify Execute_Bezier and Execute_Spline
2017-11-13 10:45:27 +01:00
Henrik Rydgård
14e9c9da80
Minor cleanup, fix a comment.
2017-11-13 10:35:31 +01:00
Henrik Rydgård
6e20721587
Vulkan: Minor validation error fix
2017-11-13 10:22:30 +01:00
Henrik Rydgård
d97ee99203
Win32: Add (debug) to window title in debug builds
2017-11-13 10:09:57 +01:00
Henrik Rydgård
c3c4ec4cc9
Merge pull request #10111 from unknownbrackets/vulkan-minor
...
Vulkan: Cut down on asserts during init
2017-11-13 09:50:30 +01:00
Henrik Rydgård
a1b3a4384c
Merge pull request #10108 from unknownbrackets/vulkan-scaling
...
Remove texture checks for simple alpha
2017-11-13 09:50:16 +01:00
Henrik Rydgård
68c7b7dfec
Fix driver version display on Vulkan. Enable dualsrc blend on newer AMD drivers. Fixes #10109
2017-11-13 09:44:35 +01:00
Unknown W. Brackets
d99685cd96
SoftGPU: Oops, fix silly typo.
2017-11-12 23:07:37 -08:00
Unknown W. Brackets
d2d5b8ee4e
Vulkan: Remove experimental warning.
2017-11-12 21:57:01 -08:00
Unknown W. Brackets
b1554ef061
Vulkan: Cut down on asserts during init.
...
In case something is horribly wrong, or our desired settings aren't
compatible, let's try to stumble our way out.
More things can fail, but the goal is to detect failure or at least be
able to render UI settings to swap out of Vulkan.
2017-11-12 21:56:55 -08:00
Unknown W. Brackets
65e71f57c7
TexCache: Add NEON alpha checks for Vulkan.
2017-11-12 16:45:05 -08:00
Unknown W. Brackets
f087b87b0c
TexCache: Simplify CheckAlpha funcs and SIMD.
...
Only check for full alpha now, which is simpler.
2017-11-12 16:41:19 -08:00
Unknown W. Brackets
e3b3828b15
TexCache: Check alpha before scaling.
...
This will be faster when scaling. We no longer need to wait, since we
only care about full alpha now.
2017-11-12 16:19:28 -08:00
Unknown W. Brackets
9fbcc01afa
TexCache: Remove simple 0/1 alpha check.
...
No practical optimizations have come of this, so it's a waste of time.
Slows down Vulkan too.
2017-11-12 16:17:46 -08:00
Unknown W. Brackets
fb65c7b87b
Vulkan: Avoid checking texture alpha after scale.
...
Since we're decoding to mapped memory, we don't want to read from it if
possible, especially not a large amount of data like an upscaled texture.
2017-11-12 15:53:59 -08:00
Henrik Rydgård
3dd08b84fe
Fix bug where readback buffers would be created too small sometimes. Should help #10098
2017-11-12 21:14:53 +01:00
Unknown W. Brackets
d4c345c870
Vulkan: Tweak stencil value from clears.
...
Both changes fix graphical artifacts in Final Fantasy 4.
2017-11-12 10:51:32 -08:00
Henrik Rydgård
232e30f4db
Vulkan: When deriving stencilref from color, don't forget to update the value.
...
Plus minor cleanups.
2017-11-12 19:33:21 +01:00
Unknown W. Brackets
ac78b908d3
UI: Typo fix.
2017-11-12 09:34:22 -08:00
Henrik Rydgård
190f363be1
Merge pull request #10096 from hrydgard/vulkan-postproc
...
Vulkan: Implement post-processing.
2017-11-12 17:17:27 +01:00
Henrik Rydgård
b8dc4d1fb8
Buildfixes for Android
2017-11-12 16:55:36 +01:00
Henrik Rydgård
93e148fed6
Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P
...
Bit hacky but works.
2017-11-12 16:12:26 +01:00
Henrik Rydgård
406ef92a74
Merge pull request #10094 from hrydgard/hwtess-perf
...
Vulkan: Speed up and simplify hardware tesselation by using shader storage buffers
2017-11-12 14:30:28 +01:00
Henrik Rydgård
4346a54eb7
Vulkan: Speed up and simplify hardware tesselation by using storage buffers.
2017-11-12 13:55:42 +01:00
Henrik Rydgård
c05fe8382a
hwtess: Shrink Vulkan UV textures
2017-11-12 11:04:17 +01:00
Henrik Rydgård
da09e10aa3
Make the interface to hw tess slightly more flexible.
2017-11-12 11:04:13 +01:00
Henrik Rydgård
ebac0143e0
Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions.
2017-11-12 10:28:55 +01:00
Henrik Rydgård
525cb40f84
Vulkan: Support wide lines if available on the GPU.
2017-11-12 10:17:49 +01:00
Henrik Rydgård
afa5b23abb
Vulkan readback: Resize the readback buffer dynamically as necessary.
2017-11-12 09:54:30 +01:00
Henrik Rydgård
98191f0f29
Merge pull request #10093 from unknownbrackets/softgpu
...
Speed up software clears, softgpu crash fix
2017-11-12 08:11:53 +01:00
Unknown W. Brackets
ed34cf06b8
SoftGPU: Add a clear mode fast path.
...
This skips a lot of extra work for clears, which are pretty common.
2017-11-11 21:04:32 -08:00
Unknown W. Brackets
2b194d30bf
Debugger: Prevent clear while stepping.
...
So it's easier to see what's going on.
2017-11-11 18:31:13 -08:00
Unknown W. Brackets
176283c3f1
SoftGPU: Thread by width for wide polygons.
...
This improves performance a little in some areas.
2017-11-11 18:16:55 -08:00
Unknown W. Brackets
ffbdb15975
SoftGPU: Fix crash when stride is 0.
...
This happens in Star Ocean 1.
2017-11-11 17:45:47 -08:00
Henrik Rydgård
4f001901e2
Merge pull request #10092 from hrydgard/vulkan-hwtess-fixes
...
Vulkan hardware tesselation fixes
2017-11-11 21:53:13 +01:00
Henrik Rydgård
8d7bcd9d61
Vulkan hw tess: Assorted minor fixes. Works on Mali now.
2017-11-11 21:51:05 +01:00
Henrik Rydgård
9cd4db5f18
Vulkan hw tess: Use pushbuffers instead of temp images to upload data.
2017-11-11 20:39:19 +01:00
Henrik Rydgård
5d6a830288
Vulkan hw tess: Don't reuse the same dynamic texture for multiple draws, not safe.
2017-11-11 20:39:19 +01:00
Henrik Rydgård
9f77d48719
Merge pull request #10091 from hrydgard/vulkan-remove-refcounts
...
Vulkan: Remove refcounts on VKRFramebuffer.
2017-11-11 20:38:56 +01:00
Henrik Rydgård
edfea7aed3
Remove unused pointer.
2017-11-11 20:22:45 +01:00
Henrik Rydgård
e18a023ce8
Vulkan: Noticed a framebuffer refcount leak, and changed my mind regarding those :) Let's do it this way instead.
2017-11-11 19:41:43 +01:00
Henrik Rydgård
bd8067a631
Reduce a ERROR_LOG_REPORT to a warning (vfpu branches in delay slots)
2017-11-11 19:39:44 +01:00
Henrik Rydgård
83e1cfb283
Merge pull request #10088 from unknownbrackets/d3d11-savestate
...
Avoid clearing shaders on load state
2017-11-11 18:19:29 +01:00
Unknown W. Brackets
7041341d1a
SaveState: Avoid clearing shaders in all backends.
2017-11-11 08:17:04 -08:00
Unknown W. Brackets
9cf17d9288
D3D11: Clear input layouts on shader clear.
...
When we do clear shaders, make sure to also clear input layouts so we
don't have corrupt keys.
2017-11-11 08:11:10 -08:00
Unknown W. Brackets
f93ef92960
D3D11: Avoid clearing shaders on load state.
...
They don't need to be cleared (unlike FBOs), and clearing them requires
clearing even more things. Fixes #9637 .
2017-11-11 08:09:56 -08:00
Unknown W. Brackets
039c69f031
SaveState: Fix use-after-resize iterator.
...
Only on older save states.
2017-11-11 08:08:59 -08:00
Henrik Rydgård
74a8aa5a91
Merge pull request #10086 from hrydgard/vulkan-accurate-depth
...
Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9.
2017-11-11 12:16:10 +01:00