diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-01-31 17:08:08 +0100 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-01-31 17:08:08 +0100 |
| commit | 35ed051742125b9fd3b314ce5241075ae658e4a5 (patch) | |
| tree | 6aef02414e37959d76e6c430dcb4ed1372481bb8 /src/video_core/renderer_vulkan/vk_scheduler.h | |
| parent | 11099dda2e2ab67ba4861d1e927afaa2ccce1efa (diff) | |
Vulkan: Fix Scheduler Chunks when their FuncType is 0.
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_scheduler.h')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_scheduler.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.h b/src/video_core/renderer_vulkan/vk_scheduler.h index 1b06c9296..e69aa136b 100644 --- a/src/video_core/renderer_vulkan/vk_scheduler.h +++ b/src/video_core/renderer_vulkan/vk_scheduler.h @@ -146,6 +146,7 @@ private: using FuncType = TypedCommand<T>; static_assert(sizeof(FuncType) < sizeof(data), "Lambda is too large"); + recorded_counts++; command_offset = Common::AlignUp(command_offset, alignof(FuncType)); if (command_offset > sizeof(data) - sizeof(FuncType)) { return false; @@ -167,7 +168,7 @@ private: } bool Empty() const { - return command_offset == 0; + return recorded_counts == 0; } bool HasSubmit() const { @@ -178,6 +179,7 @@ private: Command* first = nullptr; Command* last = nullptr; + size_t recorded_counts = 0; size_t command_offset = 0; bool submit = false; alignas(std::max_align_t) std::array<u8, 0x8000> data{}; |
