Henrik Rydgård
2250ef799c
Avoid including platform-specific headers in VulkanContext.h
2017-12-18 12:54:25 +01:00
Henrik Rydgård
ef66892f70
Update vulkan headers, add linux .so loader lib for easy builds, like Sascha does.
2017-12-15 16:40:38 +01:00
Henrik Rydgård
b4a44c5e02
Another buildfix, sigh. Also extend the safe region a little bit to the thing from a couple commits ago.
2017-12-13 22:28:30 +01:00
Henrik Rydgård
aaba38259a
Oops, buildfix
2017-12-13 20:51:17 +01:00
Henrik Rydgård
6f0b382d9e
Move vulkan debug callback out from WindowsVulkanContext into a file that can be shared with other platforms later.
2017-12-13 19:29:42 +01:00
Henrik Rydgård
cca4e0b2ca
Fix another case where we trusted std::move to clear the origin, which is not guaranteed.
2017-12-10 14:37:28 +01:00
Henrik Rydgård
91b089d90d
Tweak logging and asserts in VulkanDeviceMemory::Destroy
2017-12-10 14:22:35 +01:00
Henrik Rydgård
bd40479224
Vulkan: Add facility to auto-generate mipmap levels. Not yet used.
...
Intended for replacement textures and optional quality improvements
later.
2017-12-07 09:28:18 +01:00
Henrik Rydgård
aa0cc6712f
Clip block transfer destinations. Should fix crash in #10011 . Stats: Invent some sort of usage metric for device memory allocators.
2017-12-03 15:00:25 +01:00
Henrik Rydgård
6a2f0f4191
Revert "Fix memory-scan bug in VulkanDeviceAllocator that probably causes some fragmentation."
...
This reverts commit ac6b491287
.
2017-12-03 11:31:25 +01:00
Henrik Rydgård
ac6b491287
Fix memory-scan bug in VulkanDeviceAllocator that probably causes some fragmentation.
2017-12-03 11:10:40 +01:00
Henrik Rydgård
1bf44b7ca3
Shutdown fix.
2017-12-03 11:02:49 +01:00
Henrik Rydgård
6abdbde47e
Fix bugs in VulkanImage allocator support
2017-12-03 10:50:25 +01:00
Henrik Rydgård
5d53f5e24c
Add another assert, which gets hit.. Hm. Something is wrong..
2017-12-03 10:42:19 +01:00
Henrik Rydgård
ff264efe7e
Change some Crash() to asserts in VulkanDeviceAllocator
2017-12-03 10:35:34 +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
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
b9bad7431a
Add ability to simulate a few kinds of Vulkan initialization failures, to test the GL fallback.
2017-11-26 16:13:04 +01:00
Unknown W. Brackets
bd1ed897cf
Global: Fix some warnings.
2017-11-25 14:08:49 -08: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
27a60f5e58
Fix message asserts on Android. Add more of them to check things in Vulkan code.
2017-11-20 12:11:47 +01:00
Henrik Rydgård
96d6f1cae5
Make sure the device supports transfers from swapchain images when taking screenshots.
2017-11-15 13:57:22 +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
3594623a8d
Vulkan: Show the preferred depth-stencil format in the feature list.
2017-11-15 09:08:30 +01:00
Unknown W. Brackets
b1554ef061
Vulkan: Cut down on asserts during init.
...
In case something is horribly wrong, or our desired settings aren't
compatible, let's try to stumble our way out.
More things can fail, but the goal is to detect failure or at least be
able to render UI settings to swap out of Vulkan.
2017-11-12 21:56:55 -08: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
ebac0143e0
Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions.
2017-11-12 10:28:55 +01:00
Henrik Rydgård
8d7bcd9d61
Vulkan hw tess: Assorted minor fixes. Works on Mali now.
2017-11-11 21:51:05 +01:00
Henrik Rydgård
ee768ca949
Logging improvements, avoid resetting the Android text drawer unnecessarily
2017-11-10 13:02:24 +01:00
Henrik Rydgård
0a2b20bf59
More logging and tweaking
2017-11-10 12:09:42 +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
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
845b02a6c5
Ooops
2017-11-09 13:35:42 +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
ba846fdbc5
Show textual names of Vulkan GPU vendors
2017-11-09 12:30:07 +01:00
Henrik Rydgård
c6c90d4cbc
Improve Vulkan device selection mechanism to prefer discrete GPUs
2017-11-09 12:21:20 +01:00
Henrik Rydgård
ca3be1877e
Vulkan: Apply simple workaround for Mali driver bug (see #10070 ), and minor cleanup.
2017-11-08 17:03:27 +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
Unknown W. Brackets
fc32a7b24e
Vulkan: Show textures in GE debugger.
2017-11-06 00:29:01 -08:00
Unknown W. Brackets
8edc6eaf5e
Vulkan: Fix segfault on swapchain fail.
...
This at least allows us to detect that the backend failed to init.
Happens when switching backends with debugger attached (probably driver
bug?)
2017-11-04 20:45:08 -07:00
Henrik Rydgård
96cd368878
Make VulkanTexture "immutable".
2017-11-01 08:49:48 +01:00
Henrik Rydgård
330bdb8be8
Add and update some comments.
2017-11-01 08:42:49 +01:00
Henrik Rydgård
74861d2d73
Vulkan: Make backbuffer transitions part of backbuffer render pass. Optimize depth buffer memory operations.
2017-11-01 08:42:49 +01:00
Henrik Rydgård
3f503ca297
Implement the rest of Vulkan framebuffer depal. Not yet working though.
2017-10-31 12:34:59 +01:00
Henrik Rydgård
c788dc896a
Synchronization is HARD. need a rethink, methinks.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
1c5bd0f8dc
Move the VulkanRenderManager stuff to thin3d, fits in better there.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
02f76ae4a8
Rendering basics now works.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
833916a906
A multitude of fixes. The UI now works correctly, though of course ingame still broken.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
0a0494ef8e
It builds! With some shortcuts, of course.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
417b96a1b0
Use RenderManager for thin3d stuff
2017-10-26 10:56:59 +02:00