Skip to content

Conversation

@dependabot-preview
Copy link
Contributor

Updates the requirements on vulkano to permit the latest version.

Release notes

Sourced from vulkano's releases.

Release 0.24.0

Vulkano 0.24.0 and vk-sys 0.6.2

Changelog

Sourced from vulkano's changelog.

Version 0.24.0 (2021-06-20)

  • Breaking Vulkano-shaders now checks if the device supports the shader's SPIR-V version, when loading the shader.
  • Breaking (but unlikely) Vulkano-shaders now compiles to SPIR-V 1.0 by default. If your shader needs features only available in a higher version, you can specify the target version on the shader! macro with the new vulkan_version: "major.minor" and spirv_version: "major.minor" arguments.
  • Breaking Changes to how image sample counts are represented.
    • Instead of an integer, functions with a parameter for number of image samples now take a value of SampleCount, an enum with variants named SampleN, where N is a power-of-two integer. It can be converted to a Vulkan SampleCountFlags, and from an integer with try_from.
    • sample_counts field is originaly represented as u32 type, which is now represented by SampleCounts struct-type which is a boolean collection of supported sample_counts. It can be converted to and from a Vulkan SampleCountFlags.
  • Breaking Changes to shader interfaces and pipeline layouts.
    • The module descriptor::pipeline_layout has been renamed to pipeline::layout.
    • The trait ShaderInterfaceDef has been replaced by a simple struct ShaderInterface, and its elements method returns a slice instead of an iterator. This means you no longer need to define a new type for a shader interface. The accompanying type ShaderInterfaceDefEntry has been renamed to ShaderInterfaceEntry to match. The ShaderInterfaceDefMatch trait and EmptyShaderInterfaceDef struct have been removed.
    • The trait PipelineLayoutDesc has also been converted into a struct, with methods descriptor_sets and push_constants which return slices. It is functionally equivalent to the old RuntimePipelineDesc type, which is now merged into it. The traits PipelineLayoutSuperset, PipelineLayoutSetsCompatible and PipelineLayoutPushConstantsCompatible have been integrated into this struct as well. The EmptyPipelineDesc trait has been replaced with an ::empty() constructor.
    • Consequently, functions that took a value of these traits now take a plain ShaderInterface or PipelineLayoutDesc. Types that had a type parameter for it no longer have it, e.g. VertexDefinition, GraphicsEntryPoint, GraphicsEntryPointAbstract, PipelineLayout.
    • Now that PipelineLayout has no more type parameter, the trait PipelineLayoutAbstract is removed. The layout type parameter is also removed from ComputePipeline and GraphicsPipeline.
    • ComputeEntryPoint and GraphicsEntryPoint now take a value specifying the push constants descriptor, instead of having a type parameter. The corresponding associated type on EntryPointAbstract has been removed.
    • The GraphicsEntryPointAbstract trait has been removed. GraphicsPipelineBuilder now takes a GraphicsEntryPoint object directly, and has lifetime parameters for the 5 shader types instead. EntryPointDummy is no longer needed and has been removed.
  • Breaking The constructors of Instance now take an additional argument to specify the maximum API version.
  • Breaking Vulkano is now built on top of Ash instead of vk-sys.
    • The EntryPoints, InstancePointers and DevicePointers types from vk-sys have been replaced with a new module fns containing EntryFunctions, InstanceFunctions and DeviceFunctions. Rather than containing the functions directly, there is a member for each Vulkan version and extension, which is loaded from Ash.
    • The functions to retrieve the function pointers have been renamed to fns.
    • The TYPE associated constant has been removed from the VulkanObject trait. This is now provided by the Ash Handle trait, which the object returned by internal_object must implement.
  • Breaking RawInstanceExtensions and RawDeviceExtensions have been removed. The Instance and Device constructors now take &InstanceExtensions and &DeviceExtensions respectively. The loaded_extensions function returns these reference types as well.
  • Breaking The restrictions of each enabled extension and feature are checked when creating an instance or device.
  • Breaking Physical device properties are now retrieved through a new properties method, returning a &Properties reference.
    • To allow for the possibility that not every property is known by the physical device, fields in Properties are wrapped by an Option.
    • The previous methods for retrieving properties, name, ty, limits, driver_version, pci_device_id, pci_vendor_id, uuid and extended_properties, have been removed.
    • The api_version method remains, but there is now a semantic difference between it and the version reported by properties: The raw property gives the maximum supported version that the driver itself reports, while the method on PhysicalDevice returns the version a logical device would support if it were created from this physical device (that is, restricted by the instance's max_api_version).
  • Breaking ImageAccess trait method try_gpu_lock() now has an additional argument to allow locking the image in an uninitialized state.`
  • Improve ImageLayout checks to prevent AccessError::ImageNotInitialized from occurring where the image is safe to use uninitialized.
  • Added DeviceExtensions::khr_spirv_1_4, which allows SPIR-V 1.4 shaders in Vulkan 1.1.
  • Added FunctionPointers::api_version to query the highest supported instance version.
  • Added Instance::api_version and Device::api_version to return the actual supported Vulkan version. These may differ between instance and device, and be lower than what FunctionPointers::api_version and PhysicalDevice::api_version return.
  • Added Instance::max_api_version, which returns the maximum version that was specified when creating the instance.
  • Fixed the issue when creating a buffer with exportable fd on Linux(see to #1545).
  • The draw_indirect and draw_indexed_indirect commands on AutoCommandBufferBuilder now check the draw count against the max_draw_indirect_count limit.
  • Fixed a few documentation errors.
  • It is now possible to construct a graphics pipeline without a fragment shader.
  • Added support for all core Vulkan 1.1 and 1.2 device features.
  • Updated winit to 0.25.
  • Fixed the teapot example on ArchLinux (GTX 1650).
  • Added support for the SPIR-V draw parameters capability.
  • Added support for the VK_KHR_multiview extension.
  • Vulkano-shaders: Added support for MultiView SPIR-V capability.
  • Multiview example added showing how to utilize the VK_KHR_multiview extension to render to multiple layers of a framebuffer at once.
  • All Vulkan extensions supported by Ash are now provided in InstanceExtensions and DeviceExtensions. This includes all but the very newest extensions; new extensions should be added whenever Ash is updated to a new version.
  • Every extension is now documented with a link to its Vulkan page and information about requirements, conflicts, promotion and deprecation.
  • InstanceExtensions and DeviceExtensions now have a From implementation that takes an iterator of &CStr. There is also a From implementation for Vec<CString> that performs the reverse conversion.
  • All Vulkan features supported by Ash are now provided.
  • Implement fmt::Display for DisplayMode.
  • Clarify return value is in millihertz for DisplayMode.refresh_rate()

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Updates the requirements on [vulkano](https://github.com/vulkano-rs/vulkano) to permit the latest version.
- [Release notes](https://github.com/vulkano-rs/vulkano/releases)
- [Changelog](https://github.com/vulkano-rs/vulkano/blob/master/CHANGELOG_VULKANO.md)
- [Commits](vulkano-rs/vulkano@v0.21.0...v0.24.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
@dependabot-preview dependabot-preview bot added the dependencies Pull requests that update a dependency file label Jun 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant