Commit graph

61 commits

Author SHA1 Message Date
Henrik Rydgård
7aacf3df37 Remove time_now() - time_now_d() is the replacement. Absolute time values can't be stored reliably in floats. 2020-08-16 09:37:18 +02:00
Henrik Rydgård
ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård
8835728f87 Replace base/logging.h in VulkanContext and parts of native 2020-08-15 19:08:44 +02:00
Henrik Rydgård
dee0f3f9ec Vulkan debug log: Remove some old exclusions, add a new one (for an old issue) 2020-08-02 15:41:44 +02:00
Henrik Rydgård
c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets
8524dbdf13 Vulkan: Check coherent bit. 2019-09-29 10:53:00 -07:00
Henrik Rydgård
a355f49c91 Also experiment with a "copy shader" that just does raw data manipulation into GPU local memory, then copies to image from there. 2019-09-29 10:39:12 -07:00
Henrik Rydgård
b0048525a1
Merge pull request #11884 from hrydgard/vulkan-buffer-usage
Vulkan: Tighten up push buffer usage flags a little bit.
2019-03-18 11:17:49 +01:00
Henrik Rydgård
d6d6dbb772 Finish up the fix attempt for #11882 2019-03-14 15:15:13 +01:00
Henrik Rydgård
06b04f65a0 Vulkan: Narrow down buffer usage flags a little bit. 2019-03-14 12:41:39 +01:00
Henrik Rydgård
036aeda512 Correctly handle memory types in VulkanPushBuffer. Should help #11882. 2019-03-14 11:43:44 +01:00
Henrik Rydgård
46585a5da9 Additional logging 2019-01-23 18:34:25 +01:00
Henrik Rydgard
c8e5dd325a VK device allocator: Support separate memory type per slab. 2019-01-23 10:36:08 +01:00
Unknown W. Brackets
f65481668c Vulkan: Fix a log formatting issue. 2018-04-14 10:47:06 -07:00
Unknown W. Brackets
7811c03c3b Vulkan: Report old allocations when enabled. 2018-04-06 21:43:18 -07:00
Unknown W. Brackets
3445a82567 Vulkan: Allow reusing memory more aggressively.
This causes allocated slabs to get reused more, which means more smaller
slabs are kept around.  However, it also reduces fragmentation.
2018-04-06 21:42:32 -07:00
Unknown W. Brackets
1c253ee271 Vulkan: Add code to track allocator usage info.
This way we can potentially debug leaks, if any.
2018-04-06 21:42:32 -07:00
Henrik Rydgård
83c82a5ebd GL: Fix depal issue where we forgot to set vp/scissor properly. Update some asserts. 2018-02-28 18:45:14 +01:00
Henrik Rydgård
eb014e8c6b Try to be more consistent when initializing vulkan structs. 2018-02-25 12:15:29 +01:00
Unknown W. Brackets
0e2a586c1b Global: Fix some type comparison/shadow warnings. 2018-02-11 07:03:23 -08:00
Henrik Rydgård
c3629b4a53 Warning fixes 2018-02-04 13:42:04 +01:00
Henrik Rydgård
22e28e218b
Merge pull request #10411 from hrydgard/gl-render-manager
GL render manager - new faster GL multithreading
2018-01-31 12:22:07 +01:00
Henrik Rydgård
c60c8ed68a Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour. 2018-01-29 19:38:10 +01:00
Henrik Rydgård
2656ad7d40 Vulkan: Use push_back instead of resize(+1) 2018-01-27 15:10:17 +01:00
Henrik Rydgård
60a966c5ec PushBuffer added. Thin3d works now on top of GLRenderManager, except framebuffers. 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
a7b3a1eb96 Vulkan: Decimate the texture allocator.
Thin3D wasn't calling Begin/End, which lead to leaks eventually and OOM.

Was causing softgpu to crash.
2017-12-24 10:39:42 -08: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
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
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
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
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
4346a54eb7 Vulkan: Speed up and simplify hardware tesselation by using storage buffers. 2017-11-12 13:55: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
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
804aa79376 Various Vulkan image transition fixes and related 2017-10-20 18:09:05 +02:00
Henrik Rydgård
3757070fe2 Extra safety when switching GPU backends, fix possible Vulkan shutdown issue. Should help #10005 2017-10-09 12:17:54 +02:00
Henrik Rydgård
5e788ffadf Implement vertex caching for Vulkan. 2017-08-17 11:22:45 +02:00
Henrik Rydgard
d4e1fc8d93 More vulkan shutdown fixes 2017-05-07 11:08:09 +02:00
Unknown W. Brackets
a1f59deafe Fix some type narrowing warnings and typos. 2017-03-19 07:44:31 -07: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
3352608027 Vulkan: Free texture slabs on exit. 2016-03-27 08:30:43 -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