Commit Graph
1581 Commits
Author SHA1 Message Date
Henrik Rydgård 0646dc749b Vulkan vertex cache: Fix memory leak 2017-11-24 13:53:23 +01:00
Henrik Rydgård 543bb34dbc Yet another buildfix, sorry :/ 2017-11-22 15:35:01 +01:00
Henrik Rydgård b6911d2764 Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163. Also improve some asserts. 2017-11-22 10:47:04 +01:00
Henrik Rydgård 2c86217552 Cleanup GPU vendor detection a bit, use it to avoid the issue mentioned in #9545 2017-11-21 16:19:28 +01:00
Henrik Rydgård 4628334bb9 Disable the DisableAccurateDepth compat flag on AMD/Vulkan, see #9545. Ugh. 2017-11-21 13:58:42 +01:00
Henrik Rydgård 6a3d41892a Workarounds for issue with "accurate depth". See #9545, #10087 2017-11-21 12:11:05 +01:00
Henrik RydgårdandGitHub 674d5c7dbb Merge pull request #10130 from hrydgard/lod-bias-fixes
Mipmaps: Disable slope mode pending a better method. Implementing it entirely as a LOD bias is not the way it works.
2017-11-20 13:49:39 +01:00
Henrik Rydgård 713afdfe49 Refactor: Unify DecodeVerts and move ComputeNumVertsToDecode to Common 2017-11-19 12:39:09 +01:00
Henrik Rydgård ce2b5df985 Vulkan: Break apart DecodeVerts 2017-11-19 12:33:20 +01:00
Henrik Rydgård ac518f819a Vulkan: Fix stencil clears to a specific value. Should help #10150 2017-11-18 00:33:20 +01:00
Henrik Rydgård 766ddf9148 Temporarily turn off Vulkan threading on AMD, see issue #10097. 2017-11-16 21:40:00 +01:00
Henrik Rydgård 23b795e947 Vulkan: Forgot to enable our various depth rounding features. 2017-11-16 18:40:19 +01:00
Henrik Rydgård a56d6f2399 Vulkan: Flush at display list waits. Fixes #10095 2017-11-16 16:28:13 +01:00
Henrik Rydgård 23f7819329 Unify RebindFramebuffer, mostly. 2017-11-15 20:44:25 +01:00
Henrik Rydgård 3e3214d54a Vulkan: Fix bug where shader blend texture overwrote normal texture binding. Fixes #10135 2017-11-15 20:43:29 +01:00
Henrik Rydgård 971995fa3d Move aniso to the sampler cache key. 2017-11-15 19:07:41 +01:00
Henrik Rydgård de67c9feff Vulkan screenshots: Fix R/G swap bug. Thanks unknown. 2017-11-15 17:07:38 +01:00
Henrik Rydgård 909fb6b3a4 Cleanups 2017-11-15 16:31:17 +01:00
Henrik RydgårdandGitHub 143a199082 Merge pull request #10141 from hrydgard/vulkan-screenshots
Windows/Vulkan: implement screenshots.
2017-11-15 15:23:45 +01:00
Henrik Rydgård 65275c29b7 Share UpdateSamplingParams between D3D11 and Vulkan. Support lod bias in Vulkan. 2017-11-15 14:21:17 +01:00
Henrik Rydgård b958432783 Properly zero samplercache keys before filling them out. 2017-11-15 14:21:17 +01:00
Henrik Rydgård f564c59248 Mipmaps: Disable LOD bias in slope mode as that's not how it works.
Works around #9772
2017-11-15 14:21:17 +01:00
Henrik Rydgård 10792cc8e7 Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though... 2017-11-15 13:18:29 +01:00
Henrik Rydgård 656ec18ded Vulkan: Dual Src blending strikes again! Disable it on nVidia X1 (Shield TV) due to driver bugs, sigh.
Should help #10136
2017-11-15 10:24:11 +01:00
Henrik Rydgård 5582b8fe22 Just more accurate feature flags for Vulkan. 2017-11-15 09:08:30 +01:00
Henrik Rydgård ce1bc7fc3f Fixes problem switching between non-through triangles and rects. Helps a small part of #6554 2017-11-14 09:27:03 +01:00
Henrik Rydgård d4df0181db More duplicate code removal 2017-11-14 09:20:36 +01:00
Henrik Rydgård a0f1276a5c Vulkan: Use optimal alignment for texture uploads. May help stutter in #10105 ? 2017-11-13 17:18:12 +01:00
Henrik Rydgård 35437e6b62 Kill off more unused duplicate code 2017-11-13 16:50:45 +01:00
Henrik Rydgård 2261029536 Delete unused duplicate functions 2017-11-13 15:57:59 +01:00
Henrik Rydgård 4788221251 Vulkan shader view (debug): Add a simple textural representation (incomplete) of pipelines 2017-11-13 15:27:06 +01:00
Henrik Rydgård 5c7f7c1df6 Vulkan: Make sure to clear the pipeline key to avoid padding bytes causing us to allocate duplicate pipelines.
Also pack the struct better.
2017-11-13 15:20:11 +01:00
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 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årdandGitHub 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 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
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 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