[vk, renderdoc] fixed zero-sized streambuffer bug on old heap-absent GPUs (#4052)

This fix a bug in which eden crashes when renderdoc is attached to vulkan.
that kept me away from renderdoc for around a year now.

the bug:

in video_core\renderer_vulkan\vk_staging_buffer_pool.cpp
in GetStreamBufferSize(...)
if device.HasDebuggingToolAttached()
but heap is empty/unavailable <-- Case in my old nvidia kepler gpu

the original method returns size 0, right?
the change honors same original behavior, while covers my case properly, returning MAX_STREAM_BUFFER_SIZE.

addl some log tip and some minimal doc. fully safe. let it rip.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4052
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
This commit is contained in:
xbzk
2026-06-03 05:02:13 +02:00
committed by crueter
parent 5027aecf77
commit ec2b9b0400
5 changed files with 73 additions and 30 deletions
@@ -1481,6 +1481,12 @@ void Device::CollectToolingInfo() {
has_nsight_graphics = has_nsight_graphics || name == "NVIDIA Nsight Graphics";
has_radeon_gpu_profiler = has_radeon_gpu_profiler || name == "Radeon GPU Profiler";
}
#ifdef _WIN32
if (has_renderdoc) {
LOG_INFO(Render_Vulkan,
"Windows default RenderDoc output folder: %LOCALAPPDATA%\\Temp\\RenderDoc");
}
#endif
}
std::vector<VkDeviceQueueCreateInfo> Device::GetDeviceQueueCreateInfos() const {