Comments (7)
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.
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.
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.
Probably fixed by @FunMiles
from vookoo.
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.
Thanks for the confirmation!
And sure, go ahead with your PRs.
from vookoo.
PR submitted.
from vookoo.
Related Issues (20)
- Should it be Break here? vku_framework.hpp:init function HOT 2
- Multisampling option HOT 2
- CMake error: target dependency added via `target_include_directories` HOT 8
- Spirv-headers are not in correct locations with latest LunarG on linux HOT 13
- Allow running on Mac OS X with MoltenVK HOT 4
- Put glfw under subrepo HOT 8
- uniform example (example 03) causes Vulkan layer to report problem. HOT 8
- Add an 'install' capability for Vookoo. HOT 2
- Add Shader Specialization Constant capability. HOT 3
- Make the vku::framework and vku::Window more flexible HOT 7
- VK_LAYER_LUNARG_standard_validation has been removed in Vulkan version 1.2.135.0 HOT 2
- Vookoo organisation HOT 4
- changes for you, reformed Framework and Window a little bit, adds functionality to PipelineMaker HOT 1
- Return type mismatch in [Compute]PipelineMaker HOT 1
- Structured Binding compile error on createComputePipelineUnique
- Your code is building fine on MSYS2 MINGW64 HOT 1
- Remove `std::aligned_union`
- Vookoo will not run on Mac with Vulkan 1.3.216. HOT 1
- using Vulkan-Hpp update to 1.1.85 miss vk::SurfaceKHRDeleter change HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vookoo.