creation
To do so, we created a SubImage that implements the ImageAccess trait
This SubImage will decorate an ImageAccess image and will represent
one or more mip level / array layer level
* Implement caching for GraphicsPipeline
Added the method build_with_cache to set an Option that holds an Arc
containing a PipelineCache. This could probably be optimized to just
hold a vk::PipelineCache(u64) and start with a vk::NULL_HANDLE and
set the value to the internal_object of the PipelineCache. Using the Arc
is probably safer for now, but it is an idea.
* Add changes to the CHANGELOG
* Added a cache option to the ComputePipeline
This is a breaking change as there is no ComputePipelineBuilder and the
cache has to be added in the new function and the underlying functions
that build the ComputePipeline.
This needs to be discussed.
* Document the cache feature for the ComputePipeline
* Formatting with cargo fmt
* Remove outdated documentation
* Added testing for the PipelineCache
Checking that the cache returns the same data if the get_data method is
invoked twice without building a new pipeline.
Checking that the cache returns the same data if the same pipeline is
built two times with the cache.
Checking that the cache returns different data if there is a different
pipeline built in between the get_data calls.
* Create an example for the PipelineCache
* Formatting
* Move SubpassContents to command_buffer module, use it as parameter type instead of bool, add RenderPassState internally
* Add some safety checks to execute_commands
* Move Kind and related types to top-level module, add CommandBuffer::kind trait method, keep Kind value in AutoCommandBuffer(Builder)
* Some minor code cleanup
* Documentation update
* add additional ImageUsage constructors
* update examples to use ImageUsage::color_attachment instead of caps.supported_usage_flags
* fix additional usage in multi-window example
* update ignore to not include mandelbrot.png and triangle.png
* update ignore to not include mandelbrot.png and triangle.png
* Use traingle example as template
* Remove triangle example comments
* Switch to CpuBufferPool chunks instead of CpuAccessibleBuffer for vertex data
* rustfmt
* Keep unwrap()s on same line
* implement exclusive fullscreen
* fullscreen ext should be device ext
* add acquire/release
* require VK_KHR_get_surface_capabilities2
* fullscreen_exclusive is now an enum; explicit acquire/release methods added; FullscreenExclusiveError added to handle errors; FullscreenExclusiveLost varients added to acquire and present related errors
* add checks for double acquire/release; require AppControlled for acquire/release functions
* update examples and tests; resolve issue with try_gpu_lock() on SwapchainImage; update changelogs
* Decoupled descriptor sets from pipeline
* Fixed error in unit test
* Fixed more
* Forgot a file
* I think it works now. Don't mind me, I'm new
* Fix new example that got added
* add changelog entry
* remove unnecessary parentheses from previous merge
* Derive PartialEq for DescriptorDesc and added examples
* Added an example
* Example improvements
* Formatting issue
* Added Swapchain::with_old_swapchain() and integrated ColorSpace into Swapchain::new()
* Updated Changelog
* More docs and small improvement
* Added Swapchain::surface
* Version change
* Allowed surface creation with winit >= 0.20
* Latest winit version
* Migrate to latest winit
* Migrated all examples to the latest winit version
* Version increment
* Formatting change
* Removed trailing white space
* Corrected method calls
* Missing _ in OSX methods
* Minor version change
* Minor version change
* hooked up dynamic state to the synamic stencil values
* added validation, removed introduced whitespace
* comments
* updated changelog
* updated examples
* appeasing the CI
* Add an `instancing.rs` example.
This is a simple-as-possible example of how to do instancing with
vulkano. The example is a direct copy of the `triangle.rs` example but
removes the comments in favour of only explaining the differences
necessary for doing instancing. Rather than drawing one triangle in the
centre of the screen, the example draws 100 instances of the triangle in
a 10x10 grid and get slightly larger across each axis.
* Add missing word to InstanceData struct description
* replaced `.expect()` that provided no useful information with `.unwrap()`
* used `use` consistently (all types are `use`d all functions have the parent module `use`d)
* other formatting consistencies