1078 Commits

Author SHA1 Message Date
Henrik Rydgård
0c1e7dcc18 Use the OS to clear the CPU cache instead of the gcc builtin. Experiment for the S7 issues. 2016-04-09 16:16:45 +02:00
Henrik Rydgard
617bcebcd6 Update to latest vulkan header (1.0.8) 2016-04-07 22:53:37 +02:00
Henrik Rydgard
5cd3956575 Reformat VulkanContext.cpp (fix tab indentation) 2016-04-03 00:01:56 +02:00
Henrik Rydgard
e1f660ebc1 Update vulkan structure init to the new style 2016-04-02 23:57:23 +02:00
Henrik Rydgard
32f5930e15 Move clear handling to FramebufferVulkan, center the clear properly in non-buffered. more cleanup. 2016-03-31 00:50:50 +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
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
8dd93576ec Vulkan: Ignore queued frees after destroy.
We flush slabs so this gives false assertions in some cases.
2016-03-27 12:38:15 -07:00
Unknown W. Brackets
048a12f589 Buildfix.
Some compilers didn't like that, oops.
2016-03-27 09:25:25 -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
62b6432121 Vulkan: Allocate forwards in device slabs. 2016-03-27 08:30:41 -07:00
Unknown W. Brackets
87d65e696c Vulkan: Correct alloc near slab end. 2016-03-27 08:30:40 -07:00
Unknown W. Brackets
9921fd2ea7 Vulkan: Don't bother with extra userdata, comments.
Was a failed attempt to avoid new/delete.
2016-03-27 08:30:40 -07:00
Unknown W. Brackets
bd7c431532 Vulkan: Increase new size for new slabs. 2016-03-27 08:30:39 -07:00
Unknown W. Brackets
973a9f6124 Vulkan: Delay frees for device memory slabs. 2016-03-27 08:30:38 -07:00
Unknown W. Brackets
7d5a8aa470 Vulkan: Protect better against memory alloc errors. 2016-03-27 08:30:38 -07:00
Unknown W. Brackets
f0dc921ed5 Vulkan: Setup a pool memory manager for textures. 2016-03-27 08:30:37 -07:00
Unknown W. Brackets
e7ea1da99f Vulkan: Swizzle instead of converting colors. 2016-03-26 15:02:06 -07:00
Unknown W. Brackets
adc9946641 Vulkan: Ask for COHERENT staged texture memory. 2016-03-26 12:18:49 -07:00
Henrik Rydgård
b0329e8106 Merge pull request #8657 from unknownbrackets/vulkan-resize
Support resizing the screen on Vulkan
2016-03-22 09:22:58 +01:00
Unknown W. Brackets
963b18e6c2 Vulkan: Prep for resize, destroy surface on exit.
I suppose this is a validation layer bug, it didn't report the leak.
2016-03-21 19:41:20 -07:00
Henrik Rydgard
b97e02febe Typo fixes. Delete irrelevant comments 2016-03-21 20:23:53 +01:00
Henrik Rydgard
dff585e440 VulkanContext: Detect the appropriate depth buffer format to use, expose it.
This should help AMD compatibility.
2016-03-21 20:11:49 +01:00
Henrik Rydgård
6831f6fc46 Merge pull request #8650 from unknownbrackets/vulkan-buf
Vulkan: Cache only device in push buffers
2016-03-21 08:27:50 +01:00
Henrik Rydgård
2a35d4b4c5 Merge pull request #8653 from unknownbrackets/warnings
Warning fixes from clang
2016-03-21 08:27:25 +01:00
Unknown W. Brackets
2d34c0a8bc Vulkan: Free anything pending before the device.
This includes, for example, device memory and etc.
2016-03-21 00:02:59 -07:00
Unknown W. Brackets
9c3e12ead0 Remove some unused things reported by clang. 2016-03-20 23:14:08 -07:00
Unknown W. Brackets
d90527e41e Correct some missing overrides. 2016-03-20 23:05:05 -07:00
Unknown W. Brackets
6d947a057e Vulkan: Handle oversized push buf allocations. 2016-03-20 22:49:38 -07:00
Unknown W. Brackets
9fd040eed0 Vulkan: Cache only device in push buffers. 2016-03-20 22:49:38 -07:00
Unknown W. Brackets
e3d9630b9a Vulkan: Handle oom slightly better. 2016-03-20 15:25:59 -07:00
Unknown W. Brackets
9e4389cbf5 Vulkan: Defrag buffers when growing. 2016-03-20 15:20:42 -07:00
Unknown W. Brackets
f2513ffcd6 Vulkan: Allocate more buffers on overflow. 2016-03-20 15:15:13 -07:00
Unknown W. Brackets
ef1dc583a2 Fix various minor warnings. 2016-03-20 14:17:51 -07:00
Unknown W. Brackets
87eadad326 Fix a failed lock release warning. 2016-03-20 14:16:54 -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
5d19f3dfb8 Decode vertex data directly into the vertex pushbuffer, saving a memcpy. 2016-03-20 19:35:03 +01:00
Henrik Rydgard
5d45413dab Fix a resource leak. Request COHERENT memory for pushbuffers. 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
Henrik Rydgard
966cb89d41 Vulkan: Fix our use of dual source blending, re-enable if available. 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
Henrik Rydgard
e45c24b75f Show how much pushbuffer space is used each frame.
Optimizing this number (by avoiding redundant UBO uploads etc) will probably help performance.
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