Commit Graph

1831 Commits

Author SHA1 Message Date
Jakub Hlusička
e3bfe4270c Add a reinterpret function to BufferSlice (#1038)
Add a `reinterpret` function to `BufferSlice`
2018-09-17 07:44:36 +10:00
Lucas Kent
f4f91f7ee1
Run LANG=en_us aspell --mode ccpp check $filename on every rust file (#1034) 2018-09-02 14:18:22 +10:00
franckv
686c02440c Fix instance_count when using draw_index with instance buffers (#1033) 2018-09-02 00:57:03 +10:00
Dave Gilbert
40e0bbf77e PersistentDescriptorSetError: Expand missing usage errors (#1021)
Expand MissingUsage into MissingBufferUsage and MissingImageUsage
each with an enum so that the usage that is missing is obvious
in the error, e.g.:

thread 'main' panicked at 'add curimage: MissingImageUsage(Storage)'

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
2018-08-27 07:10:36 +10:00
Lucas Kent
7dc5de217b
Add trivial tessellation example and fix building a pipeline that uses tessellation shaders (#1024) 2018-08-24 20:01:00 +10:00
Lucas Kent
e21bd19bad
Publish 0.10.0 (#1013) 2018-08-12 18:42:17 +10:00
Lucas Kent
ef8bbecc5e
Fix warning when running cargo doc (#1016) 2018-08-11 20:50:31 +10:00
Gabriel Majeri
d80d5a6791 Fix Instance example (#872) 2018-08-11 16:48:03 +10:00
Cory Sherman
6b8938fe26 Document method to query supported extensions (#973) 2018-08-11 13:45:00 +10:00
Jim Blandy
01aaa2e524 Doc fixes (#1007)
* Use 'greater than' instead of 'superior to'.

Using 'X is superior to Y' to mean 'X > Y' is not standard mathematical usage. I
think I've seen 'superior to' used in lattice theory, but that's not relevant to
these cases.

* trait RenderPassDesc: Correctly describe when `None` is returned.

This seems to be an off-by-one error in the documentation. Looking at the
implementations generated in `src/framebuffer/macros.rs`, for example,
the various elements of each sequence are numbered from 0 to n-1.

* Typo: 'anistropic' -> 'anisotropic'.

* sampler::MipmapMode::Linear: Clarify description.

The docs seem to suggest that if the dimensions match a given level D, then
`Linear` would use levels D-1 and D+1, which is senseless. The new wording is
meant to be closer to the calculation described in Vulkan 1.1.82 §15.6.7.

* Typo: 'transitionned' -> 'transitioned', and similar.

* Doc fix: 'more optimal' -> 'more efficient'

Rationale for the curious:

'Optimal' is an absolute; once something is optimal, it cannot be made more so.
Absolutes can be weakened, as in 'almost optimal', but not strengthened, as in
'more optimal' or 'very optimal'. 'Efficient' is not an absolute: one thing
might be 'more efficient' than another.

* Minor doc fixes.

* Doc fix: 'performances' -> 'performance' throughout.
2018-08-10 14:51:26 +02:00
Lucas Kent
44e8207a27 Upgrade dependencies (#1012) 2018-08-10 14:50:38 +02:00
Lucas Kent
ab59ca7461 ensure CpuBufferPoolChunk::conflict_key is unique (#995) 2018-08-07 17:18:26 +02:00
Andrew Hickman
b0832072fc Avoid allocating a DynamicState every frame (#1008)
* Avoid allocating a DynamicState every frame

* Don't mutate the DynamicState

* Undo DynamicState::dynamic_state doc change
2018-08-04 14:38:33 +02:00
Jim Blandy
f6bbf5b200 Docs: Fix swapchain image count computation. (#997)
The previous expression gives unreasonable answers for some combinations of
`swapchain::Capabilities`' `min_image_count` and `max_image_count` values. For
example, for `3` and `None`, the expression evaluates to 2, which isn't a
permitted image count.

I looked for a terser expression (using `Option` methods, say), but the `match`
expression ended up being the most legible I came up with.
2018-07-28 15:16:02 +02:00
Andrew Hickman
67ace6b1c5 Add SingleInstanceBufferDefinition (#988)
* add SingleInstanceBufferDefinition

* Fixes from code review
2018-07-08 15:26:07 +02:00
Artyom Pavlov
f029b2bf69 Fix CpuBufferPool allocation strategy (#986)
The previous strategy was quite sub-optimal and was failing hard with OOM when `chunk` was used for allocating big buffers, e.g. textures.

Fixes: #984
2018-07-08 09:34:46 +02:00
Leonardo Yvens
5ddcce24c6 Fix future object safety of BufferAccess (#966)
It was recently discovered in rust-lang/rust#50781 that `Self: Trait` bounds in trait methods are really not object-safe. This will be made into a warning by rust-lang/rust#50966, and vulkano will be affected by the warning .

Thankfully the fix looks simple, by just moving `fn len` from `BufferAccess` to being directly in `TypedBufferAccess`.
2018-06-05 12:27:29 +02:00
Jacob Gardner
0e50cfa17d Fix instancing bug where we reference the first parameter for the number of instances (#965) 2018-06-05 12:22:52 +02:00
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
Las
401bc3bcbe Fix typo (#957)
Fixes #949
2018-05-22 12:32:48 +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
Pirh
54e97ae07d Link IOKit to fix compilation on macOS against open-source MoltenVK (#926)
Required by the following imports: 93c524d2f0/MoltenVK/MoltenVK/Utility/MVKOSExtensions.mm (L31-L32)
2018-03-02 12:15:07 +01:00
Gabriel Majeri
a9ac84c877 Fix linking MoltenVK on Mac OS (#925) 2018-03-02 12:10:39 +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
7ff3e5d51f
Publish vk-sys 0.3.3 (#917) 2018-02-12 16:12:43 +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
Lucas Kent
05dcbabb28 missing initial_layout/final_layout panic gives a useful message (#906) 2018-01-09 10:19:50 +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
Lucas Kent
aedb37f93e Enforce one ClearValue per Attachment (#905) 2018-01-08 13:52:58 +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
thelearnerofcode
80e1ed6dc3 Updated Dependencies. (#876)
* Updated Dependencies

* Complied with changes mentioned in pull request.
2017-12-11 10:23:40 +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
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
e590f22bf2 Fix the version of vk-sys required by vulkano (#864) 2017-10-10 15:11:50 +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
626863d7c0 Run rustfmt (#843) 2017-10-03 14:39:55 +02:00
Benjamin Saunders
d845b15ff1 Add a method to execute an arbitrary secondary vk::CommandBuffer (#842) 2017-10-03 14:19:43 +02:00