Commit Graph

2427 Commits

Author SHA1 Message Date
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
0f41adfe6f Add some documentation to FixedSizeDescriptorSetsPool (#826) 2017-09-20 09:47:37 +02:00
tomaka
bfa77ca45f Use ManuallyDrop in StandardCommandPoolAlloc (#824) 2017-09-19 08:43:12 +02:00
tomaka
db78c50218 Minor warning fix in tests (#825) 2017-09-17 15:18:06 +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
tomaka
bdcc06950e Add a "contributing" section to the README (#820) 2017-09-14 15:32:00 +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
e0d700a044 Remove the unused CommandBufferBuild trait (#813) 2017-09-07 19:33:12 +02:00
tomaka
df9d2f60db Remove some TODOs (#812) 2017-09-07 19:33:04 +02:00
tomaka
885f21c96a Fix warnings in the build (#814) 2017-09-07 19:32:57 +02:00
tomaka
c70f3efb6b Add some debug assertions for set_scissor (#810) 2017-09-07 16:52:41 +02:00
tomaka
9662f8b092 Run rustfmt on the code (#807)
* Run rustfmt on the code

* Fix compilation
2017-09-06 21:35:06 +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
tomaka
80e965aef5 Fix the StdDescriptorPool being destroyed too often (#801)
* Fix the StdDescriptorPool being destroyed too often

* Add a test
2017-09-06 09:40:50 +02:00
tomaka
dffb55ecfc Update crossbeam to 0.3 (#803) 2017-09-06 09:40:43 +02:00
tomaka
6d50ef2891 Improvements for the StandardCommandPool (#800)
* Fix the Arc<StandardCommandPool> being destroyed every time

* Simplify code for alloc

* Add test
2017-09-06 09:40:19 +02:00
tomaka
883d0cb94e Allow non-snake-case for specialization constants (#799) 2017-09-04 13:16:17 +02:00
tomaka
e2b63b8184 Correctly take image mipmaps into account (#797)
* Add mipmap_dimensions() and num_mipmaps()

* Correctly check mipmaps count in blit_image

* Use num_mipmaps() in UnsafeImage

* Use mipmap_dimensions() in check_copy_buffer_image()

* Documentation and rename to max_mipmaps()
2017-09-04 13:16:06 +02:00
tomaka
9f3f2dc000 Allow non_snake_case for auto-generated structs (#796) 2017-09-02 20:04:07 +02:00
Layl
3911761c0a Fixes blitting validation (#794)
* Fixes blitting validation

* Fix blitting format type validation (#793)
2017-08-31 17:24:37 +02:00
Layl
5270ac0029 Fixes check_blit_image (#792)
Fixes inverted checks and a check on the wrong structure in `check_blit_image`
2017-08-31 07:49:34 +02:00
tomaka
5167274709 Pass a Limits struct to check_desc_against_limits (#790) 2017-08-29 18:08:41 +02:00
Jeroen Bollen
3f98247403 Implement device::QueuesIter::device(&self). (#789)
* Implement `device::QueuesIter::device(&self)`.

This function allows one to retrieve the device the queues were generated for.

* Implement `device::DeviceOwned` for device queues.

Implement `device::DeviceOwned` for `device::QueuesIter` and `device::Queue`. This does not deprecate the function `device::Queue::device(&self)` as requested by @tomake, as this would have  effects all
throughout the codebase.
2017-08-29 18:08:31 +02:00
tomaka
ac4172b397 Check the descriptor sets compatibility when drawing (#788) 2017-08-28 20:31:26 +02:00
tomaka
bbba9ee4c9 Extract the Limits struct in its own module (#785)
* Extract the Limits struct in its own module

* Fix compilation
2017-08-28 20:31:18 +02:00
tomaka
9bf5e7f252 Remove the guide examples (#784) 2017-08-28 20:31:10 +02:00
tomaka
96163e1a93 Add a test for specialization constants in a compute pipeline (#782) 2017-08-28 11:39:54 +02:00
tomaka
6c81d8081a Make the Layout generated by vulkano-shaders entirely public (#787) 2017-08-28 11:39:40 +02:00
tomaka
9227c6ba8d Remove Option in UnsafeCommandPoolAllocIter (#786) 2017-08-28 11:39:30 +02:00
tomaka
a630a5efb1 Publish 0.6.1 (#783) 2017-08-27 10:56:28 +02:00
tomaka
e07cbf1d49 Add the logo to the README (#779)
* Add the logo to the README

* Try fix style

* Try fix style
2017-08-27 10:04:37 +02:00
tomaka
2cbdb288d4 Make specialization constants work (#780)
* Add new template parameters for GraphicsPipelineBuilder

* Add support for the specialization constants in build()

* Fix SpecializationConstants fields being private

* Fix lifetime problem in SpecializationConstants::descriptors()

* Run rustfmt on builder.rs
2017-08-27 10:04:18 +02:00
tomaka
a54281f8ec Add a link to the README in the Cargo.toml (#751) 2017-08-27 10:04:11 +02:00
tomaka
e37c136090 More documentation for SpecializationConstants (#778)
* More documentation for SpecializationConstants

* Fix doctest
2017-08-26 21:06:23 +02:00
tomaka
a8058022bd Continue cleanup of the graphics pipeline builder code (#777)
* Move GraphicsPipeline::new_inner() as GraphicsPipelineBuilder::build()

* Move GraphicsPipelineCreationError to a separate module

* Remove GraphicsPipelineParams

Signed-off-by: tomaka <pierre.krieger1708@gmail.com>

* Remove GraphicsPipelineParamsTess

Signed-off-by: tomaka <pierre.krieger1708@gmail.com>
2017-08-26 13:06:05 +02:00
tomaka
5207f8a703 Reflect specialization constants in vulkano-shaders (#774) 2017-08-26 11:34:00 +02:00
tomaka
799b508a31 Use a lock-free queue in the FixedSizeDescriptorSetsPool (#771) 2017-08-26 09:51:35 +02:00
Gabriel Majeri
08a4dbe6e1 Fix ApplicationInfo::from_cargo_toml (#776)
* Replace `from_cargo_toml` with a macro

* Update docs

* Use `None` as ApplicationInfo default

* Re-add and deprecate the old function

* Fix doctest

* Rename macro to `app_info_from_cargo_toml`

* Update deprecated note

* Fix build
2017-08-26 08:07:16 +02:00
tomaka
0b126e58a9 Derive Clone for GraphicsPipelineBuilder (#775) 2017-08-25 15:26:23 +02:00
tomaka
34027ac6e7 More documentation for buffers (#763) 2017-08-25 11:49:29 +02:00
tomaka
f13454dc6e Use SmallVec::truncate in state_cacher (#770) 2017-08-25 11:48:58 +02:00
tomaka
1640220ebf More fixes in limits_check (#773) 2017-08-25 11:48:13 +02:00