Giter Club home page Giter Club logo

Comments (7)

FunMiles avatar FunMiles commented on August 14, 2024

I have taken the approach of just recreating the minimum within the vku::Window.
Everything is working but I am getting a few validation layer messages.

Another issue I know can (and given Murphy's law, I'm sure it will on somebody's system) is that I trigger the resize change by catching the exception thrown by the presentQueue method. I think it is not strictly required that an implementation throw this exception.
Every time the window is resized I recreate:

  • the swap chain
  • the images
  • the depth stencil
  • the frame buffers.

As for the user's program, it is expected to recreate any affected pipelines.

For those who want to check it out, the current state is at https://github.com/FunMiles/Vookoo/tree/resize

For the moment, only the teapot example does the correct pipeline re-creation.
Edit: All demos work without crashing. The first 3 are not recreating a pipeline with the right size yet.

from vookoo.

FunMiles avatar FunMiles commented on August 14, 2024

There is a slight difficulty with the static commands. I've fixed the issue for the texture example.
The static drawing build function (functor passed to setStaticCommands) needs to rebuild the pipeline and command buffers any time the window size is changed. I've made a copy of the std::function being passed. But of course all the variables in the functions need to stay in scope. With a capturing by reference lambda, this can yield to some potential errors and crashes.

from vookoo.

andy-thomason avatar andy-thomason commented on August 14, 2024

I'm please to see that this is working much better now. It is very hard to diagnose some of these issues
as implementations interpret the standard in different ways.

from vookoo.

lhog avatar lhog commented on August 14, 2024

Probably fixed by @FunMiles

from vookoo.

FunMiles avatar FunMiles commented on August 14, 2024

Hi guys. I've been very busy with work and then after I had some free time, my linux box didn't want to run Vulkan anymore.
Today I got everything back and everything works on linux as well.
I did hit a little issue for which I thought I had submitted a PR. I guess I must have inflated my similar PR to imgui to think I also did it for Vookoo.
The Validation layer is no more Lunarg but Khronos.
If nobody else has an issue with that, I'll submit a PR. MoltenVK has dropped the Lunarg validation layer, so the code won't run on MacOS.

from vookoo.

lhog avatar lhog commented on August 14, 2024

Thanks for the confirmation!
And sure, go ahead with your PRs.

from vookoo.

FunMiles avatar FunMiles commented on August 14, 2024

PR submitted.

from vookoo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.