Commit Graph

390 Commits

Author SHA1 Message Date
Branan Riley
d4004e1770 Allow subpass dependencies on VK_SUBPASS_EXTERNAL (#951)
This updates the asserts in `RenderPass` creation to allow
`VK_SUBPASS_EXTERNAL` as a special value in addition to any value less
than the total number of subpasses. This enables custom unsafe
implementations of `RenderPassDesc` to define their external dependencies.
2018-06-05 12:21:13 +02:00
Nicholas Lordello
37fcd507d0 Use libvulkan.dylib instead of MoltenVK by default on macOS (#948) 2018-04-19 09:48:33 +02:00
Pierre Krieger
5e73ce96a1
Publish 0.9.0 (#936) 2018-03-14 17:57:22 +01:00
Gabriel Majeri
77c76b77ed Update dependencies (#903)
* Update dependencies

* Update winit to 0.11

* Update CHANGELOG.md
2018-03-13 12:34:30 +01:00
Pierre Krieger
de19ef2e14
Publish 0.8.0 (#934) 2018-03-11 20:18:08 +01:00
Branan Riley
e9104208c4 Allow Surface to reference an external window object (#848)
* Allow Surface to reference an external window object

This makes the Surface struct generic across a Window
type, so that a surface can own (or reference, if W is
an Arc) an external window object.

This also updates vulkano-win to take advantage of this.
There is no longer a dedicated Window struct in vulkano-win.
Instead, the Surface is simply passed ownership of the
winit::Window.

This fixes #844

* Update examples for new surface API

* Update Changelog

* Remove unnecessary send/sync bounds

* Update swapchain docs for new Surface behavior
2018-02-13 14:29:36 +01:00
Pierre Krieger
aa6ce2f977
Yank version 0.7.3 (#918) 2018-02-13 12:12:08 +01:00
Pierre Krieger
2519bc915a
Publish 0.7.3 (#916)
* Publish 0.7.3

* Also publish glsl-to-spirv 0.1.4
2018-02-10 19:17:41 +01:00
Bram Buurlage
057507f7c2 Fixed issue #857 / swapchain resize causes panic (#908)
* Fixed issue #857

* Update CHANGELOG.md
2018-01-09 08:47:19 +01:00
Benjamin Saunders
52fedcf77f Simplify constructing pipelines that use dynamic buffers (#894)
* Simplify constructing pipelines that use dynamic buffers

* Simplify PipelineLayoutDescTweaks API
2017-12-14 10:26:02 +01:00
Benjamin Saunders
70013d2678 Add object name setters (#895) 2017-12-13 09:50:08 +01:00
cbbowen
bc01c79992 Expose vkCmdCopyImage (#888)
* Expose vkCmdCopyImage.

* Add copy_image to changelog
2017-11-29 22:10:43 +01:00
jansol
0ae08dceec Fix linking against MoltenVK (#880)
Starting from version 0.19.0 MoltenVK depends on IOSurface.framework
2017-11-17 12:41:02 +01:00
Branan Riley
a3a4e89778 Do not try to hardlink glslangValidator (#870)
Previously, it was possible for the hardlinked glslangValidator
to become truncated when the glsl-to-spirv crate was rebuilt. The
file would be successfully hardlinked the first time, but on
subsequent builds the hardlink attempt would fail becasue the target
already exists. This would cause the build script to fall back to
a copy, which truncates when source and dest are the same file.

This removes the hardlinking entirely, meaning that we always just
copy our built glslangValidator to where we want it. While it would
be possible to try to make the hardlinking/copying logic idempotent,
the complexity (and potential fragility to similar bugs in the
future) doesn't seem worth it to avoid one copy.

This fixes #95
2017-10-24 07:51:50 +02:00
AustinJ235
36d74eab9f Clear value validation for AutoCommandBufferBuilder::begin_render_pass() (#869)
* Clear value validation for AutoCommandBufferBuilder::begin_render_pass()

* Add changelog entry and TODO comment

* Add changelog entry
2017-10-18 19:22:23 +02:00
AustinJ235
c7d77e5d8c Allow depth/stencil images to be used with AutoCommandBufferBuilder::copy_image_to_buffer() (#868)
* Allow depth/stencil images to be used with AutoCommandBufferBuilder::copy_image_to_buffer()

* Corrected the copy_image_to_buffer() change
2017-10-16 08:20:02 +02:00
tomaka
c60265c67b Changed ShaderInterfaceMismatchError to be more verbose (#862)
* Changed `ShaderInterfaceMismatchError` to be more verbose

* Add entry to changelog
2017-10-11 19:43:25 +02:00
tomaka
c9b35bc9e2 Publish 0.7.2 (#861) 2017-10-09 14:46:41 +02:00
tomaka
82225bb3ad Added GraphicsPipelineBuilder::with_pipeline_layout (#859) 2017-10-08 17:38:58 +02:00
Benjamin Saunders
3e56a917ab Minimal command buffer debug marker support (#847)
* Minimal command buffer debug marker support

* Suppress debug marker use when the extension isn't loaded

* Update CHANGELOG

* Revert "Suppress debug marker use when the extension isn't loaded"

This reverts commit 116ea5573bfbb34956f7f180659d570fc42d33e5.

* Document required extension for debug markers

* Document debug marker safety issues
2017-10-08 17:38:51 +02:00
tomaka
b438ee919c Directly build a vkPipelineInputAssemblyStateCreateInfo in the gfx pipeline builder (#855) 2017-10-08 10:17:32 +02:00
tomaka
3b10fe87bb Changed GraphicsPipelineBuilder to default to a buffer-less vertex … (#856)
* Changed `GraphicsPipelineBuilder` to default to a buffer-less vertex input

* Fix compilation
2017-10-08 09:54:16 +02:00
tomaka
ae5cf711a0 Check the min_texel_buffer_offset_alignment limit in buffer views (#846) 2017-10-07 16:11:05 +02:00
Fabio Krapohl
14ff3db022 impl_vertex accept generic structs (#849)
* fixed macro for vertex

* Update CHANGELOG.md
2017-10-07 11:18:11 +02:00
tomaka
8c05eb6453 Publish 0.7.1 (#837) 2017-09-28 14:05:20 +02:00
tomaka
93cbe33265 Some work on correct support for multisampling (#835)
* Some work on correct support for multisampling

* Note that Multisample is deprecated
2017-09-28 13:23:53 +02:00
tomaka
e8e48daadb Fix the render pass macros when it comes to resolving attachments (#833)
* Fix trhe render pass macros when it comes to resolving attachments

* Fix single_pass_renderpass
2017-09-26 10:29:34 +02:00
Pyry Kontio
ddb66a5513 Fixed the layer scaling issue on macOS. (#830)
* Fixed the layer scaling issue on macOS. Changed the triangle example to use the surface extents instead of window dimensions, as that seems to be a more robust source of correct information.

* Updated changelog. Fixed other examples' window extent problem.
2017-09-26 10:29:26 +02:00
Icy Defiance
430cabfe90 Fixed le() and ge() for DescriptorsCount (#832)
This also fixes a potential memory leak when allocating descriptor sets
2017-09-23 20:21:14 +02:00
tomaka
089d0879f7 Publish 0.7.0 (#829)
* Publish 0.7.0

* Fix dependencies versions
2017-09-21 13:27:10 +02:00
tomaka
bf583c7ef3 is_superset_of now returns a Result (#828) 2017-09-21 10:35:59 +02:00
tomaka
be9e6dc103 Add RuntimePipelineDesc (#827)
* Add RuntimePipelineDesc

* Minor changelog fix
2017-09-20 09:47:43 +02:00
tomaka
88743a6361 Check image layout in try_gpu_lock (#816)
* [WIP] Check image layout in try_gpu_lock

* Finish implementation

* Add entry in CHANGELOG

* Fix wrong unlock with error recovery

* Improve CommandBufferExecError::AccessError to provide a hint

* Fix AttachmentImage wrong layout report
2017-09-14 16:29:11 +02:00
Benjamin Saunders
24496cc725 Bufferless vertex definition (#819)
* Bufferless vertex definition

* Define `BufferlessVertices` to enable bufferless instanced drawing

* Cleanup
2017-09-13 19:29:53 +02:00
John-John Tedro
de25bb2906 Provide 32-bit word constructor for ShaderModule (#818)
This provides the alternative constructor `ShaderModule::from_words(..)`, which uses `&[u32]` for the SPIR-V code.

`ShaderModule` currently uses an argument of type `&[u8]`, which causes interoperability issues with libraries like [shaderc][shaderc] and [rspirv][rspirv].

This is spec-compliant since the byte-code of the shader module is defined as `[..] a series of 32-bit words in host endianness.`

[shaderc]: https://docs.rs/shaderc/0.2.0/shaderc/struct.CompilationArtifact.html
[rspirv]: https://docs.rs/rspirv/0.4.0/rspirv/binary/trait.Assemble.html#tymethod.assemble
2017-09-11 12:37:48 +02:00
Christian Sdunek
fa6d56de76 Fix layer count check in swapchain constructor (#817) 2017-09-10 13:02:53 +02:00
tomaka
9abc9e431d Simplify BufferAccess and ImageAccess (#811) 2017-09-09 09:11:58 +02:00
tomaka
bdf026a78b Propagate allocation errors to CpuBufferPool::next() and chunk() (#809)
* Propagate allocation errors to CpuBufferPool::next() and chunk()

* Add entry in CHANGELOG
2017-09-09 08:55:20 +02:00
tomaka
5ac98f53f1 Publish 0.6.2 (#806) 2017-09-06 15:47:46 +02:00
tomaka
e1854da9f9 Added a changelog (#805) 2017-09-06 14:36:06 +02:00