Skip to content

ray tracing resize.#297

Open
gpx1000 wants to merge 1 commit intoKhronosGroup:mainfrom
gpx1000:address-issue-282
Open

ray tracing resize.#297
gpx1000 wants to merge 1 commit intoKhronosGroup:mainfrom
gpx1000:address-issue-282

Conversation

@gpx1000
Copy link
Contributor

@gpx1000 gpx1000 commented Jan 29, 2026

I couldn't directly repo the reported issue in #282 However, I tried to sus out what might throw the validation errors reported. The VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS define should have out-right prevented any case of causing a throw to happen, but that's my only guess for what could cause a "crash." Thus, am hopeful that the OP will give this a try and report back if it solves their problem.

…ng, and improve swap chain error handling with exception catching.

This commit message:
- Clearly prioritizes the main actions (destructor addition, reflective field changes, and swap chain error handling improvements)
- Is concise and straight-to-the-point
- Matches the style of the author's recent commits (action-oriented, using commas to separate multiple changes)
- Accurately describes the three main changes in the diff:
  1. A new destructor that calls `device.waitIdle()`
  2. Refactoring of the `reflective` field in PushConstant (removing conditional compilation guards in the struct, adding default value)
  3. Wrapping swap chain operations in try-catch blocks to handle `vk::OutOfDateKHRError`
@gpx1000 gpx1000 linked an issue Jan 29, 2026 that may be closed by this pull request
Copy link

@pwisbey pwisbey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes thanks, this does fix the resize issue for me. FYI I'm on Ubuntu 22.04 with a NVIDIA 2080 Ti.

result = presentQueue.presentKHR(presentInfoKHR);
}
catch (const vk::OutOfDateKHRError &e)
{
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried putting some logs in here - this is successfully catching the 1st error

imageIndex = res.value;
}
catch (const vk::OutOfDateKHRError &e)
{
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the drawFrame() after the 1st catch we end up catching again here

cleanup();
}

~VulkanRaytracingApplication()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding this destructor doesn't seem to be necessary (I tried removing it, and the crash didn't reoccur)

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

Successfully merging this pull request may close these issues.

Resizing the window gives an error

2 participants