Commit Graph
156 Commits
Author SHA1 Message Date
Henrik Rydgård 795ddf16e5 Mipmaps: Use a uniform to specify the texture lod in SLOPE and CONST modes. Fixes the mipmap test for D3D11, Vulkan and modern GL properly, while keeping Tony Hawk games working.
Also implements increasing the lod level with the render resolution
properly.
2017-12-08 15:53:49 +01:00
Henrik Rydgård fb74c9dfeb Clean up a small inconsistency 2017-12-07 21:09:09 +01:00
Henrik Rydgård 2ebae034a4 Vulkan: Show samplers in "shader debug" 2017-12-07 09:28:18 +01:00
Henrik Rydgård 20af8264c2 Also disable dualsrc blend on Tegra K1. Should help #10208 2017-12-05 08:24:20 +01:00
Henrik Rydgård 1bf44b7ca3 Shutdown fix. 2017-12-03 11:02:49 +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
Henrik Rydgård be115822f7 Minor cleanup. Add a debug assert in shader ID calculation 2017-12-01 11:23:09 +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å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 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 d4df0181db More duplicate code removal 2017-11-14 09:20:36 +01:00
Henrik Rydgård 2261029536 Delete unused duplicate functions 2017-11-13 15:57:59 +01:00
Henrik Rydgård 04e313ecba Unify Execute_Bezier and Execute_Spline 2017-11-13 10:45:27 +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
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 525cb40f84 Vulkan: Support wide lines if available on the GPU. 2017-11-12 10:17:49 +01:00
Unknown W. Brackets 7041341d1a SaveState: Avoid clearing shaders in all backends. 2017-11-11 08:17:04 -08:00
Henrik Rydgård 47c06b9633 Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9.
As a side effect, this should fix #10082 since backwards depth is no
longer used.
2017-11-11 11:36:26 +01:00
Henrik Rydgård 9519b89056 Experimenally disable dual source blending on AMD too for Vulkan, see #10065 2017-11-10 18:28:38 +01:00
Henrik Rydgård 8b42d83123 Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
Plus more logging, of course.
2017-11-09 17:25:37 +01:00
Henrik Rydgård 6eb58b1252 Keep the draw context up to date in a bunch of places. More logging. 2017-11-09 16:28:22 +01:00
Henrik Rydgård ec504756e0 Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes. 2017-11-09 16:02:05 +01:00
Henrik Rydgård 25f32b1d78 Vulkan: Disable dual source blending on Intel GPUs, fixes #10074. 2017-11-09 13:16:06 +01:00
Henrik Rydgård d618b3673b Count readbacks in a frame and show in GPU debug stats. 2017-11-08 11:57:53 +01:00
Henrik Rydgård 8c69be9bfa Get rid of GPUCommon's "Internal" functions. 2017-11-05 23:21:52 +01:00
Henrik Rydgård 26e52ca5e8 Get rid of a bunch of sync stuff that's no longer needed. 2017-11-05 23:21:49 +01:00
Henrik Rydgård d5f8d484dd Tiny cleanups. 2017-11-04 10:08:53 +01:00
Henrik Rydgård 533f80a056 Fix bug in Vulkan's vertex shader generator, causing stretched characters in Jeanne D'arc. 2017-11-01 11:47:05 +01:00
Henrik Rydgård 6a8f72a327 Use the global curFrame counter. No need for a vector for pushing cmdbufs. 2017-11-01 08:47:50 +01:00
Henrik Rydgård 65e23bb9f3 Some reorganization. Start implementing framebuffer depal for Vulkan. 2017-10-31 12:34:31 +01:00
Henrik Rydgård b886efe8f5 Another minor cleanup (DescribeCodePtr) 2017-10-20 11:06:12 +02:00
Henrik Rydgård 4a30aedc53 Unify and move around code to cleanup some debug accessors 2017-10-18 13:10:05 +02:00
Henrik Rydgård d53c88456a Unify GetFramebufferList() (trivial) 2017-10-18 12:49:15 +02:00
Henrik Rydgård 2f85e6516e Minor optimizations (use the new hashmap in a few more places) 2017-08-20 19:18:46 +02:00
Henrik Rydgård 91783a3281 SIMD-optimize some data conv routines used in uniform updates. 2017-08-20 11:43:35 +02:00
Henrik Rydgård b9b2656e93 More vulkan microoptimizations. Add more profiler scopes. 2017-08-18 13:48:11 +02:00
Henrik Rydgård 5680332343 Minor cleanups 2017-08-17 15:20:21 +02:00
Henrik Rydgård 2c4e5e2303 Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset. 2017-08-17 15:20:16 +02:00
Henrik Rydgård 71baecabd6 Make FLAG_FLUSHBEFORE a no-op, move flushes into the execution functions.
It would only be necessary if we needed the previous value, which we
don't do in any of these.
2017-08-17 15:20:10 +02:00
Henrik Rydgård 50d771961b Vulkan: More minor optimization (avoid pipeline cache lookups when possible) 2017-08-15 16:01:50 +02:00
Henrik Rydgård 983bb3bd0f Can't dirty VERTEXSHADER_STATE before the flush in Execute_VertexTypeSkinning, causes obscure bugs when software skinning is enabled 2017-08-15 14:27:54 +02:00
Henrik Rydgård 4e7099bf47 Vulkan: Fix some more state dirtying issues. 2017-08-15 10:51:44 +02:00
Unknown W. BracketsandHenrik Rydgård c84efcfc97 Dirty vertexshader state on hw bezier/spline. 2017-08-14 11:36:06 +02:00
Henrik Rydgard 56cd991833 All: Only recompute the vertex shader ID when dirty 2017-08-14 11:36:06 +02:00
Henrik Rydgard e2b179d6e2 All: Only convert depth stencil state if dirty 2017-08-14 11:14:26 +02:00
Henrik Rydgard e4567c694c All: Only convert blend state if "dirty" 2017-08-14 11:14:26 +02:00