mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 15:50:20 +00:00
Guard renderWorld/renderHUD against null command buffer after device lost
After VK_ERROR_DEVICE_LOST, beginFrame returns VK_NULL_HANDLE but renderWorld() and renderHUD() were still called, passing the null handle to vkCmdBindPipeline which triggered a validation abort.
This commit is contained in:
parent
4cd1abd5a6
commit
0c5a915db3
1 changed files with 4 additions and 0 deletions
|
|
@ -3166,6 +3166,9 @@ void Renderer::renderOverlay(const glm::vec4& color) {
|
|||
void Renderer::renderWorld(game::World* world, game::GameHandler* gameHandler) {
|
||||
(void)world;
|
||||
|
||||
// Guard against null command buffer (e.g. after VK_ERROR_DEVICE_LOST)
|
||||
if (currentCmd == VK_NULL_HANDLE) return;
|
||||
|
||||
// GPU crash diagnostic: skip ALL world rendering to isolate crash source
|
||||
static const bool skipAll = (std::getenv("WOWEE_SKIP_ALL_RENDER") != nullptr);
|
||||
if (skipAll) return;
|
||||
|
|
@ -3731,6 +3734,7 @@ void Renderer::setTerrainStreaming(bool enabled) {
|
|||
}
|
||||
|
||||
void Renderer::renderHUD() {
|
||||
if (currentCmd == VK_NULL_HANDLE) return;
|
||||
if (performanceHUD && camera) {
|
||||
performanceHUD->render(this, camera.get());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue