Certain devices were crashing on launch with an OutOfPoolMemoryError. This was caused both by the descriptor pools and sets not being created with the UpdateAfterBind flag (which allows for creation of memory resources beyond the hardware limitations) and because we are using a UniformBuffer but did not allocate one in our pool.
The error was device specific because some graphics drivers are more permissive than others on Vulkan setup.
Example: I removed all descriptor types from the pool except for one we weren't using, and my graphics driver allowed it.
Changes
Added an entry in pool creation for UniformBuffer
Updated the descriptor pools and sets to include the UpdateAfterBind flag.
Goal
Fix bug #426 (OutOfPoolMemoryError).
Background
Certain devices were crashing on launch with an
OutOfPoolMemoryError
. This was caused both by the descriptor pools and sets not being created with theUpdateAfterBind
flag (which allows for creation of memory resources beyond the hardware limitations) and because we are using aUniformBuffer
but did not allocate one in our pool.The error was device specific because some graphics drivers are more permissive than others on Vulkan setup. Example: I removed all descriptor types from the pool except for one we weren't using, and my graphics driver allowed it.
Changes
UniformBuffer
UpdateAfterBind
flag.closes #426