Commit graph

56 commits

Author SHA1 Message Date
Henrik Rydgard
861a30a6cd Fix an assortment of minor resource leaks, make vulkan validator happier. 2016-04-02 11:06:39 +02:00
Henrik Rydgard
f52fd0c853 FramebufferVulkan: Fix DrawPixels 2016-03-31 00:49:10 +02:00
Henrik Rydgard
339daede56 Clean up, start building some scaffolding 2016-03-31 00:49:10 +02:00
Henrik Rydgard
40d05e292c Cleanup in FramebufferVulkan to reduce the size of future diffs 2016-03-28 20:23:29 +02:00
Henrik Rydgard
a8c386b94c Make VulkanImage a little more flexible (make it possible to create depth images)
Just preparation.
2016-03-28 18:25:05 +02:00
Unknown W. Brackets
ed41785692 Vulkan: Add EndFrame to texture cache. 2016-03-27 08:33:22 -07:00
Unknown W. Brackets
3352608027 Vulkan: Free texture slabs on exit. 2016-03-27 08:30:43 -07:00
Unknown W. Brackets
16570f10bd Vulkan: Handle texture allocation failure.
Users hit out of memory even using desktop GL devices, and it will
definitely be possible on mobile and desktop Vulkan.
2016-03-27 08:30:42 -07:00
Unknown W. Brackets
27a5697a96 Vulkan: Use the slab allocator for textures. 2016-03-27 08:30:42 -07:00
Unknown W. Brackets
d2f85792ab Vulkan: Unswizzle non-CLUT textures directly. 2016-03-26 23:38:51 -07:00
Unknown W. Brackets
1300631e9a Allow unswizzling with a dest pitch. 2016-03-26 23:38:50 -07:00
Unknown W. Brackets
b6778bf4ad Vulkan: Fix flat texture scaling. 2016-03-26 17:26:55 -07:00
Unknown W. Brackets
5e23d63538 Vulkan: Cleanup now that all formats decode direct. 2016-03-26 17:26:55 -07:00
Unknown W. Brackets
7931a01de7 Vulkan: Decode 4-bit clut directly. 2016-03-26 17:26:54 -07:00
Unknown W. Brackets
19f76aab30 Vulkan: Correct font texture optimization.
Oops, missed this when swapping color formats.
2016-03-26 17:26:49 -07:00
Unknown W. Brackets
9a4b74cd09 Vulkan: Directly decode simple palette textures. 2016-03-26 17:25:45 -07:00
Unknown W. Brackets
6c0a5ca503 Vulkan: Oops, correct DXT stride. 2016-03-26 15:02:12 -07:00
Unknown W. Brackets
a130e2695e Vulkan: Remove unused color conv func. 2016-03-26 15:02:11 -07:00
Unknown W. Brackets
fe4c0e9f5a Vulkan: Fix various problems with tex scaling. 2016-03-26 15:02:09 -07:00
Unknown W. Brackets
99bf2c5aeb Vulkan: Decode the simplest tex formats directly. 2016-03-26 15:02:08 -07:00
Unknown W. Brackets
29287ea0ee Vulkan: Reorganize a bit so we can decode directly. 2016-03-26 15:02:07 -07:00
Unknown W. Brackets
e7ea1da99f Vulkan: Swizzle instead of converting colors. 2016-03-26 15:02:06 -07:00
Unknown W. Brackets
f31fbb9417 Cleanup fbTexInfo_ when detaching framebuffers. 2016-03-26 12:30:34 -07:00
Unknown W. Brackets
aad04f2941 Centralize the texcache key format. 2016-03-26 12:30:33 -07:00
Unknown W. Brackets
e8c8f19aec Move framebuf attachment into central code.
It doesn't look like this will be different, and there's a bug in it.
2016-03-26 12:30:32 -07:00
Unknown W. Brackets
817df153f8 Vulkan: Don't replace images on old fb textures. 2016-03-26 12:30:32 -07:00
Henrik Rydgard
bd17351ef9 Texcache: Minor refactor/cleanup 2016-03-22 23:56:55 +01:00
Henrik Rydgard
efa508d492 Vulkan: Fix texture scaling 2016-03-21 21:26:48 +01:00
Henrik Rydgard
5d19f3dfb8 Decode vertex data directly into the vertex pushbuffer, saving a memcpy. 2016-03-20 19:35:03 +01:00
Henrik Rydgard
2c61b1e763 Change the VulkanPushBuffer API to allow for adding support for dynamic growth 2016-03-20 19:35:03 +01:00
Henrik Rydgard
5d56537a16 Move VulkanPushBuffer into VulkanMemory.h 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
add506a0d3 Cleanup differences in aniso handling.
Some places were not handling it as a power of two.
2016-03-20 19:31:02 +01:00
Unknown W. Brackets
82f3df1e06 Vulkan: Initial support for aniso filtering. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
da50370328 Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
3744008d1f Correct the 5551 format for now.
Otherwise we get wrong colors - also we are still converting colors.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
84e649f74b Vulkan: Enable mipmapping 2016-03-20 19:31:02 +01:00
Henrik Rydgard
8a62724316 Upload PSP textures through a push buffer instead of image copy. More flexible. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
5ea01ffff6 Add a secondary way to upload textures - through buffers. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
3e268e4d37 Mem leak fixes, cleanups 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
5f71b5b3ec Android: Vulkan builds but doesn't link as we have no link library. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
55ef97639a More zero-initialization. Fix scope issue, MSVC's optimizer was aggressive enough that this was a problem. Fixes textures in release mode. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
4c281f16ac Fix mixup with fragment shader ubo variables 2016-03-20 19:30:11 +01:00
Henrik Rydgard
3bf88d7475 Plug the texture memory leak 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
78d5fff2fe More texture work 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
6b8c004561 Fix indexed drawing, flip rendering the right side up, enable culling 2016-03-20 19:30:11 +01:00