* Make image_index and final_views accessible, and new example.
The first 2 changes should make creating frame buffers easier.
The new example should make it easier to learn vulkano-util.
* Remove unnecessary imports, and run clippy.
* Run fmt.
* .acquire() no longer returns image_index
* rename final_views() to swapchain_image_views()
The name change makes it more consistent with swapchain_image_view().
Personally I don't understand why the field name is final_views, yet we externally in function names refer to it as swapchain image views and such like.
* Fractal example no longer creates framebuffer every frame.
* Game of life example no longer creates framebuffer every frame.
(Also removed a piece of code I had commented out, but had forgotten to remove from the fractal example.)
* Rename if_recreate_swapchain to on_recreate_swapchain and update acquire() documentation. to on_recreate_swapchain
* on_recreate_swapchain is now impl FnOnce instead of generics based FnMut
Thanks marc0246!
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Replace empty comment with an actual comment.
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Support creating images that are not backed by vulkano managed memory
* Support creating buffers that are not backed by vulkano managed memory
* Add a way to create a RawImage that doesn't own the inner image
* Add a way to create a RawBuffer that doesn't own the inner buffer
* Apply suggestions from code review
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* fixup! Support creating images that are not backed by vulkano managed memory
* fixup! Support creating buffers that are not backed by vulkano managed memory
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Validate the fragment output against color blend state
* Remove old methods from render/subpass that are no longer needed
* Better fix
* Update vulkano/src/macros.rs
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Update vulkano/src/pipeline/graphics/mod.rs
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Add vulkano macros feature to example that needs it
* Add Buffer::pair_from_iter to make it one step easier for staging data to the device
* Revert "Add Buffer::pair_from_iter to make it one step easier for staging data to the device"
This reverts commit a30b5c0925.
* Use workspace dependencies
* Update CI workflow to account for the two workspaces
* Make the tables in the root workspace a bit nicer to look at
* Use workspace package version
* Remove workspace package version
* Make winit a workspace dependency as well
* Make each example its own workspace member
* Fix runtime-shader example
* Fix shader-include example
* Fix teapot example
* Fix `run_all.sh`
* Fix output files getting saved in cwd
* Fix spelling for examples readme filename
* Remove wrong leftover dependencies for gl-interop
* Fix pipeline-cache example
* Clearer .gitignore
* Help cargo be less useless
* Move resource tracking/locking back from Queue to futures
* Add partially validated `submit` command
* Add partially validated `present` command
* More safety docs
* Small doc change
* Add SemaphorePresentInfo
* Put safety docs in the semaphore/fence modules instead
* More fence and semaphore docs
* Re-add missing imports
* Remove state tracking from Fence
* Remove state tracking from Semaphore
* Use separate samplers and sampled images in the examples
* Update examples/src/bin/push-descriptors/main.rs
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Apply specialization to shader reflection
* Remove redundant method
* Remove all the SpecId decorations too
* Don't unnecessarily collect the instructions
* Replace decoration groups with individual decorations
* Rename with_specialization
* Missed renames
* Remove the Arcs
* Excommunicate `PoolAllocator`
* Switch to manual deallocation
* Move `ResourceMemory` away from the `suballocator` module
* Remove `SuballocatorError::BlockSizeExceeded`
* Fix examples
* Fix atom size
* Address safety TODOs
* Nice English you got there bro
* ValidationError-ify commands, add some validation to `UnsafeCommandBufferBuilder`
* Use `SubpassBeginInfo` for the triangle example
* ValidationError-ify queries
* Switch to a more expressive way to specify memory usage
* Fix tests
* Fix examples
* Forgot to adjust `SubbufferAllocatorCreateInfo::location_preference`s
* Oopsie
* Redo all of it
* Oopsie
* Add `RequiresAllOf`, automatically enable required extensions and features
* Add more missing backticks and backslashes to error messages
* Use updated VUIDs that require `acceleration_structure`
* ValidationError-ify `Surface` and `Swapchain`
* Update vulkano/src/lib.rs
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Update vulkano/src/lib.rs
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Don't draw if the window has zero size
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Reorganise render pass objects, add support for some extensions
* Handle stencil initial/final layout in the macro
* This was promoted to 1.2, not 1.1
* Doctests again...
* Missing docs
* Fix bad validation
* Convert Framebuffer to ValidationError while we're at it
* FramebufferCreateFlags
* Make render pass creation more like Vulkan again
* TODO for depth_resolve_mode and stencil_resolve_mode in the macro
* Depth/stencil resolve modes
* Missed validation
* Forgot some testing code...
* msaa-renderpass docs
* Doc fixes
* Add missing backslashes
* Updated #2208
This commit solves the problem of freezing when going fullscreen for MacOS.
It was caused because winit may behave unexpectedly when using
run_return. Winit crate generally discourages the use of that
(see: <https://docs.rs/winit/latest/winit/platform/run_return/trait.EventLoopExtRunReturn.html#tymethod.run_return>).
NOTE. This commit only solves the problem for `interactive_fractal`
binary, but not the `multi_window_game_of_life` binary.
* Some display servers (like X.org) are not redrawing for every frame.
* Fixed the same bug for example binary.
* Remove ControlFlow::Poll (it is the default anyway) in interactive_fractal
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
* Remove ControlFlow::Poll (it is the default anyway) in multi_window_game_of_life
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>
---------
Co-authored-by: marc0246 <40955683+marc0246@users.noreply.github.com>