Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VK_ERROR_OUT_OF_POOL_MEMORY error #13

Open
pavledev opened this issue Jul 27, 2023 · 8 comments
Open

VK_ERROR_OUT_OF_POOL_MEMORY error #13

pavledev opened this issue Jul 27, 2023 · 8 comments

Comments

@pavledev
Copy link

I get this error when I run app: [error] VK_ERROR_OUT_OF_POOL_MEMORY in file "D:\Yave-master\Yave\yave/graphics/vk/vk.h" at line 315 on thread "Main thread"

@gan74
Copy link
Owner

gan74 commented Jul 28, 2023

That should not happen, what system (GPU, OS, driver) are you running this on ?

@pavledev
Copy link
Author

That should not happen, what system (GPU, OS, driver) are you running this on ?
GPU: AMD Radeon RX 6800
Driver version: 31.0.14051.1000
OS: Windows 10

@gan74
Copy link
Owner

gan74 commented Jul 31, 2023

I have never tested on AMD GPU. This is likely caused by different device limits that don't play well with the allocator.

Can you post the full output, with the stack trace?

@pavledev
Copy link
Author

pavledev commented Jul 31, 2023

I have never tested on AMD GPU. This is likely caused by different device limits that don't play well with the allocator.

Can you post the full output, with the stack trace?

[debug] Registering action "Debug assert"
[debug] Registering action "Quit"
[debug] Registering action "Show ImGui demo"
[debug] Registering action "Restore default layout"
[debug] Registering action "Lag"
[debug] Registering action " Save"
[debug] Registering action " Load"
[debug] Registering action "New"
[debug] Registering action "PerformanceMetrics"
[debug] Registering widget "PerformanceMetrics"
[debug] Registering action "UndoStackWidget"
[debug] Registering widget "UndoStackWidget"
[debug] Registering action "ResourceBrowser"
[debug] Registering widget "ResourceBrowser"
[debug] Registering action "AssetStringifier"
[debug] Registering widget "AssetStringifier"
[debug] Registering action "CVarConsole"
[debug] Registering widget "CVarConsole"
[debug] Registering action "ComponentPanel"
[debug] Registering widget "ComponentPanel"
[debug] Registering action "CameraDebug"
[debug] Registering widget "CameraDebug"
[debug] Registering action "CullingDebug"
[debug] Registering widget "CullingDebug"
[debug] Registering action "MemoryDebug"
[debug] Registering widget "MemoryDebug"
[debug] Registering action "EcsDebug"
[debug] Registering widget "EcsDebug"
[debug] Registering action "MeshAllocatorDebug"
[debug] Registering widget "MeshAllocatorDebug"
[debug] Registering action "SelectionDebug"
[debug] Registering widget "SelectionDebug"
[debug] Registering action "UiDebug"
[debug] Registering widget "UiDebug"
[debug] Registering action "EngineView"
[debug] Registering widget "EngineView"
[debug] Registering action "EntityView"
[debug] Registering widget "EntityView"
[debug] Registering action "Add debug lights"
[debug] Registering action "Add debug entities"
[debug] Registering action "Add prefab"
[debug] Registering action "Add scene"
[debug] Registering action "GpuProfiler"
[debug] Registering widget "GpuProfiler"
[debug] Registering action "MaterialEditor"
[debug] Registering widget "MaterialEditor"
[debug] Registering action "Import objects"
[debug] Registering action "Import image"
[debug] Registering action "ScriptPanel"
[debug] Registering widget "ScriptPanel"
[info] Debug asserts enabled.
[info] Vulkan debugging enabled
[info] Running Vulkan (1.3.246) 64 bits on AMD Radeon RX 6800 (discrete)
[info] VK_KHR_swapchain enabled
[info] max_memory_allocations = 4096
[info] max_inline_uniform_size = 65536
[info] max_uniform_buffer_size = 4294967295
[error] VK_ERROR_OUT_OF_POOL_MEMORY in file "D:\Yave-master\Yave\yave/graphics/vk/vk.h" at line 315 on thread "Main thread"

ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28 C++
ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154 C++
ucrtbased.dll!abort() Line 61 C++
editor.exe!y::fatal(const char * msg, const char * file, int line) Line 85 C++
editor.exe!yave::vk_check(VkResult result) Line 315 C++
editor.exe!yave::DescriptorSetPool::DescriptorSetPool(const yave::DescriptorSetLayout & layout) Line 185 C++
editor.exe!std::make_unique<yave::DescriptorSetPool,yave::DescriptorSetLayout &,0>(yave::DescriptorSetLayout & <_Args_0>) Line 3465 C++
editor.exe!yave::DescriptorSetAllocator::create_descritptor_set(y::core::MutableSpan<yave::Descriptor const> descriptors) Line 355 C++
editor.exe!yave::DescriptorSet::DescriptorSet(y::core::MutableSpan<yave::Descriptor const> bindings) Line 33 C++
editor.exe!yave::create_descriptor_set(const yave::SimpleMaterialData & data) Line 48 C++
editor.exe!yave::Material::Material(const yave::MaterialTemplate * tmp, yave::SimpleMaterialData && data) Line 67 C++
editor.exe!yave::make_asset<yave::Material,yave::MaterialTemplate *>(yave::MaterialTemplate * && <args_0>) Line 37 C++
editor.exe!yave::DeviceResources::DeviceResources() Line 259 C++
editor.exe!y::Uninitializedyave::DeviceResources::init<>() Line 111 C++
editor.exe!yave::init_device(yave::Instance & instance, yave::PhysicalDevice device) Line 207 C++
editor.exe!yave::init_device(yave::Instance & instance) Line 185 C++
editor.exe!main(int argc, char * * argv) Line 90 C++
editor.exe!invoke_main() Line 79 C++
editor.exe!__scrt_common_main_seh() Line 288 C++
editor.exe!__scrt_common_main() Line 331 C++
editor.exe!mainCRTStartup(void * __formal) Line 17 C++
kernel32.dll!BaseThreadInitThunk�() Unknown
ntdll.dll!RtlUserThreadStart�() Unknown

@gan74
Copy link
Owner

gan74 commented Aug 1, 2023

max_inline_uniform_size = 65536 this might be the problem.

Can you try, in PhysicalDevice.cpp, replacing this line properties.max_inline_uniform_size = _properties_1_3.maxInlineUniformBlockSize; by properties.max_inline_uniform_size = std::min(256, _properties_1_3.maxInlineUniformBlockSize); and see if that fixes it?

(Since I don't have access to an AMD card, it's the easiest way I have to validate that this is the problem)

@pavledev
Copy link
Author

pavledev commented Aug 2, 2023

max_inline_uniform_size = 65536 this might be the problem.

Can you try, in PhysicalDevice.cpp, replacing this line properties.max_inline_uniform_size = _properties_1_3.maxInlineUniformBlockSize; by properties.max_inline_uniform_size = std::min(256, _properties_1_3.maxInlineUniformBlockSize); and see if that fixes it?

(Since I don't have access to an AMD card, it's the easiest way I have to validate that this is the problem)

I tried that but I still get same error

gan74 added a commit that referenced this issue Aug 2, 2023
@gan74
Copy link
Owner

gan74 commented Aug 2, 2023

I have no idea what's happening.

I pushed something that might fix it. Tell me if it works.

@pavledev
Copy link
Author

pavledev commented Aug 2, 2023

I have no idea what's happening.

I pushed something that might fix it. Tell me if it works.

It doesn't work. I still get same error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants