Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with the triangle example and vulkan on windows #263

Closed
trsh opened this issue Jan 19, 2020 · 8 comments · Fixed by #299
Closed

Issues with the triangle example and vulkan on windows #263

trsh opened this issue Jan 19, 2020 · 8 comments · Fixed by #299

Comments

@trsh
Copy link

trsh commented Jan 19, 2020

It opens shows the triangle and then

VUID-vkDestroyInstance-instance-00629(ERROR / SPEC): msgNum: 0 - OBJ ERROR : For VkInstance 0x1df3c0[], VkSurfaceKHR 0x5bf4e10000000004[] has not been destroyed. The Vulkan spec states: All child objects created using instance must have been destroyed prior to destroying instance (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyInstance-instance-00629)
    Objects: 1
        [0] 0x4, type: 1000000000, name: NULL

example.zip

@zakarumych
Copy link
Member

It seems example holds on Surface object longer that it should.
It works otherwise. It is coded to shutdown in few seconds.

@trsh
Copy link
Author

trsh commented Jan 19, 2020

@omni-viral can this be fixed? Suggestions?

@zakarumych
Copy link
Member

The fix is easy. One must destroy Surface before dropping Factory

@trsh
Copy link
Author

trsh commented Jan 20, 2020

@omni-viral why Im trying to study and understand the example code, could drop some lines how that surface drooping should be like. Or maybe update the example? Pls
Im trying to hack out the surface from graph, as its is moved into its node, but somehave stuck:

let s = graph.take().unwrap().nodes; // field `nodes` of struct `rendy_graph::graph::Graph` is private
            graph.take().unwrap().dispose(&mut factory, &());

@trsh
Copy link
Author

trsh commented Jan 20, 2020

Been looking all day long how to get to surface to destroy it with no luck. Any help appreciated

@foltik
Copy link

foltik commented Feb 11, 2020

Happens for me on Linux with Vulkan as well

@trsh
Copy link
Author

trsh commented Feb 11, 2020

I think Rendy should handle the surface destroying before Factory, so this is a bug.

@HellButcher
Copy link
Contributor

gfx_hal::Instance::destroy_surface is never called (I didn't find it in the whole repository).

rendy::Factory::destroy_surface just drops the surface without calling gfx_hal::Instance::destroy_surface. Is this by intention?

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 a pull request may close this issue.

4 participants