Hi,
the alignmnet probably comes from the least common mulitplier of 44 and 16 - the extra alignment of 16 is added for buffers in case they are needed as raw SRVs in ray tracing because those need to be 16 byte aligned. The alignment of 44 is needed if a structured buffer view needs to be created from the buffer because that’s defined in elements instead of offset. See last line of FD3D12Buffer::GetResourceDescAndAlignment.
But there is clearly a bug then when allocating a new pool for this allocation. You’re first suggestion makes sense and is probably the easiest fix - it will allocated more memory than needed but should only happen in very rare cases. Another option is make sure the extra alignment is not added when there is nothing allocated yet in the pool. FRHIMemoryPool::GetAlignedSize could not take the InAllocationAlignment into account when allocated pool size is empty.
Kind regards,
Kenzo