* (#1618): Add DisplayNativeAmd enum variant to ColorSpaceEnum
- Fixed issue where GPUs that support
VK_COLOR_SPACE_DISPLAY_NATIVE_AMD in its surface format colorspaces would cause
vulkano to Panic when checking the surface capabilities of the device.
* (#1618): Remove AMD Vendor suffix from DisplayNative Enum
* Add external semaphore device extensions & function
* Add semaphore export functionality
* Fix test failing due to missing extensions
* Add semaphore module
* Add builder pattern for semaphore
* Add check for supported extensions before running test
* Add missing file
* Fix use with super instead of crate
* Fix pool semaphore built incorrectly; Fix semaphore types export
* Add pool parameter as semaphore builder function
* Fix test not checking instance extensions
* Don't enable any features in examples unless the example requires it
* More elaborate device selection code in the triangle example
* Better device selection for all other examples
* Clarify refresh_rate return type, impl Display on DisplayMode
Actually describe what a display mode is
* Display in hertz, not millihertz. Add a small test
* little typo
* Remove non-functional test
* Migrate to using Ash as a base
* Small change to test, to make it applicable to Vulkan 1.1
* Auto-generate extensions, check extension requirements
* Add documentation to extensions, use vk.xml from Ash 0.32.1
* Remove `RawDeviceExtensions` and `RawInstanceExtensions`
* Add extension conflict checking
* Small fix
* Add auto-generated features, more requirements checks
* Features documentation
* Macrofy required_if_supported_extensions
* Include vulkano-gen tool
* Move autogen imports to macros
* Change autogen into a build script
* Delete leftover file
* Autogenerate device properties
* Propagate bugfix in properties chain to features
* Migrate to using Ash as a base
* Small change to test, to make it applicable to Vulkan 1.1
* Auto-generate extensions, check extension requirements
* Add documentation to extensions, use vk.xml from Ash 0.32.1
* Remove `RawDeviceExtensions` and `RawInstanceExtensions`
* Add extension conflict checking
* Small fix
* Add auto-generated features, more requirements checks
* Features documentation
* Macrofy required_if_supported_extensions
* Include vulkano-gen tool
* Move autogen imports to macros
* Change autogen into a build script
* Delete leftover file
* initial support for the `VK_KHR_multiview` extension
The `VK_KHR_multiview` extension can be used to efficiently draw to multiple layers of a framebuffer at once with.
This is particularly useful for virtual reality applications or other types of stereoscopic rendering where both eyes need to be rendered and they share almost all visible vertices.
* allow creation of multi-layer attachment images
Using the `AttachmentImage::multisampled_with_usage_with_layers` constructor.
More constructors with different combinations could be added for the `AttachmentImage` but `multisampled_with_usage_with_layers` already exposes all possible options.
I think all these different constructors should be replaced with a constructor that takes a struct that implements `Default` or an enum with the different possibilities.
* compliance with VUID-VkFramebufferCreateInfo-renderPass-02531
* removed changelog entries according to new policy
* migrate `VK_KHR_multiview` support to ash
* add more comments
* add remaining `VK_KHR_multiview` validation
* validate instanced drawing using `multiview` limits
* add some missing validation relating to `VIEW_LOCAL` dependencies
* use the vulkano device feature instead of depending on the `multiview` extension directly
* Allow choosing the Vulkan max API version when creating Instance
* Rewrite feature handling, include all Vulkan 1.1 and 1.2 features
* Fixes
* Move features.rs to device module
* More small fixes
* Changelog
* Convert trait `ShaderInterfaceDef` into struct `ShaderInterface`
* Convert some instances of PipelineLayoutDesc to RuntimePipelineDesc
* Use regular Vec for now
* Convert PipelineLayoutDescUnion to RuntimePipelineDesc
* Convert PipelineLayoutDescTweaks to use RuntimePipelineDesc
* Remove PipelineLayoutDesc trait, replace with what used to be RuntimePipelineDesc
* Remove PipelineLayoutAbstract trait
* Fix bug
* Provide value for push constants to entry point instead of type
* Remove GraphicsEntryPointAbstract, allow pipelines without fragment shader
* Move descriptor::pipeline_layout to pipeline::layout
* Small changelog addition
* Fix bug
* vulkano/image: SampleCounts for each pixel in an Image.
Map u32-bit SampleCountsFlagBits type to boolean collection of
SampleCounts struct type.
* vulkano/image: Convert between vk::SampleCountFlags and SampleCounts
* Move physical device functions into their own module
* Add method to FunctionPointers to query Vulkan api version
* Store the versions of instances and devices, allow user to query
* Check Vulkan version in vulkano-shaders, changelog
* Small mistake in changelog
* Add core instance extensions.
core extensions added as part of `vulkano::instance::InstanceExtensions`
VK_KHR_device_group_creation
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_display_properties2
VK_EXT_acquire_xlib_display
VK_EXT_debug_report
VK_EXT_direct_mode_display
VK_EXT_display_surface_counter
* export FunctionPointers::entry_points method.
Similar to PhysicalDevice.instance().pointers() export root-level
entry_points() method. This will allow applications to call vk-functions
like `vkEnumerateInstanceExtensionProperties` directly.
* heap: Add MEMORY_HEAP_MULTI_INSTANCE_BIT for MemoryHeap.
A new method is_multi_instance() method is added to `MemoryHeap` to
know whether the heap is enabled for multi-instance.
* CHANGE-LOG.
* Remove format structs, StrongStorage trait
* Remove a bunch of superfluous traits and functions
* Remove FormatDesc trait
* Make formats macro a bit easier to read
* Rename AcceptsPixels trait to Pixel, reverse implementation direction
* Changelog
* Documentation
* Improved image aspects, add aspects to Format