Commit Graph

138 Commits

Author SHA1 Message Date
Henrik Rydgård 04913be779 Move pushbuffer map/unmap to the .cpp file to avoid inlining (for stack traces) 2017-11-29 20:13:38 +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 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 525cb40f84 Vulkan: Support wide lines if available on the GPU. 2017-11-12 10:17:49 +01:00
Henrik Rydgård 70c70b1e76 Vulkan: Some error handling improvement. Might get us a clue for #10065 2017-11-07 00:08:39 +01:00
Henrik Rydgård 804aa79376 Various Vulkan image transition fixes and related 2017-10-20 18:09:05 +02:00
Henrik Rydgård e0e13e191f Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap. 2017-08-20 11:30:19 +02:00
Henrik Rydgård b9b2656e93 More vulkan microoptimizations. Add more profiler scopes. 2017-08-18 13:48:11 +02:00
Henrik Rydgård c173da49d3 Fix a number of bugs and stuff affecting Vulkan on Mali 2017-05-30 09:36:17 +02:00
Henrik Rydgård 2b93338255 Vulkan backend: Fix various issues, can almost run in buffered now (except the final blit) 2017-05-30 09:36:17 +02:00
Unknown W. Brackets 39d6ea2985 Vulkan: Auto-set queued deletes to null. 2016-10-09 12:16:42 -07:00
Unknown W. Brackets d80598d03f Vulkan: Fix double free in pipeline manager. 2016-10-09 11:39:09 -07:00
Unknown W. Brackets a4268fe0b8 Vulkan: Prep pipeline and shader cache for restore. 2016-10-09 11:28:10 -07:00
Henrik Rydgard 861a30a6cd Fix an assortment of minor resource leaks, make vulkan validator happier. 2016-04-02 11:06:39 +02:00
Henrik Rydgard 731af0d0b4 Add some infrastructure for 2D drawing, to be used by the Vulkan framebuffer manager 2016-03-31 00:49:10 +02:00
Unknown W. Brackets 3a08ff5c06 Vulkan: Use new stencil state calculation. 2016-03-26 20:15:41 -07:00
Henrik Rydgard 0b1cfaf751 Be more economical with UBO pushbuffer space by reusing the last data when possible. 2016-03-20 19:35:31 +01:00
Henrik Rydgard 8e9acff6aa Always specify depthstencil state in pipelines.
Turns out it's only OK to leave out if rendering only to color,
otherwise behaviour is undefined - which means it may still be enabled.
2016-03-20 19:35:03 +01:00
Henrik Rydgard 3e268e4d37 Mem leak fixes, cleanups 2016-03-20 19:31:02 +01:00
Unknown W. Brackets 323130eb86 Don't crash as hard on shader compile error. 2016-03-20 19:31:02 +01:00
Henrik Rydgard 76d8a87b2f Vulkan: Attempt at fixing dual source blending. Should work but doesn't. 2016-03-20 19:31:02 +01:00
Henrik Rydgard d325aa2b30 Hook up Vulkan on Android, no idea if it works. Move VulkanContext to Common. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 2481714a8e Load Vulkan dynamically. Fix Android build (though - Vulkan is not working on Android yet) 2016-03-20 19:30:11 +01:00
Henrik Rydgard 5a72564583 Cleanup 2016-03-20 19:30:11 +01:00
Henrik Rydgard 1677697735 Vulkan: Don't try to overlap proj with proj_through, will need a different approach.
Also, assorted bugfixes.
2016-03-20 19:30:11 +01:00
Henrik Rydgard 4b978b1fd3 Crashfix, fix left-behind culling disabling 2016-03-20 19:30:11 +01:00
Henrik Rydgard 02d1648872 Delete pipeline caches asynchronously too 2016-03-20 19:30:11 +01:00
Henrik Rydgard 3284899844 More clearing fixes. Also fix some memory leaks. 2016-03-20 19:30:11 +01:00
Henrik Rydgard 29341e53a5 Assorted fixes and cleanups. 2016-03-20 19:30:11 +01:00
Henrik Rydgard dced84c9fc Work on texture support, cube.elf works correctly. Delete unused code. 2016-03-20 19:30:11 +01:00
Henrik Rydgard ec6bc4a5f6 Vertex format fixes. Flip through drawing the right way up. 2016-03-20 19:30:11 +01:00
Henrik Rydgard d67d187b72 Get untextured drawing working! (at least cube.elf) 2016-03-20 19:30:11 +01:00
Henrik Rydgard 28ae840abe Pipelines, samplers, description sets, oh my 2016-03-20 19:30:11 +01:00
Henrik Rydgard 5216a24590 Back to work on the PSP renderer 2016-03-20 19:30:11 +01:00
Henrik Rydgard c64064024d Initial vulkan code.
This was squashed from nine commits but using old versions of Vulkan.
2016-03-20 19:18:35 +01:00