Commit Graph

3086 Commits

Author SHA1 Message Date
Rua
0c06394e6c
Better validation of image view creation, descriptor set updates, draw-time resources and others (#1806) 2022-01-30 03:53:33 +07:00
Ilya Lakhin
b25598ee70
Readme fix 2022-01-30 01:52:53 +07:00
Rua
109920ec2d
#1803 Changelog update 2022-01-29 19:00:26 +01:00
Todd York
ec4f7631e0
Fix support for 2D array images (#1803)
* Fix mipmap generation for arrayed images

* Add example for texture array

* Change ImageView constructor to explicitly require ImageViewType

* Revert "Change ImageView constructor to explicitly require ImageViewType"

This reverts commit 3ad55717c4.
2022-01-29 18:59:45 +01:00
Ilya Lakhin
381604b5e3
Upading readme's Projects section
Added "egui-winit-vulkano" and  "VideowindoW"
2022-01-30 00:29:39 +07:00
Rua
6c6b7b4cfb
#1802 Changelog update 2022-01-29 18:01:13 +01:00
Todd York
be4e5dc678
Add boxed_send(), boxed_sync(), boxed_send_sync() for GpuFuture (#1802) 2022-01-29 17:58:51 +01:00
Ilya Lakhin
d36bba1a2c #1797 Changelog update 2022-01-25 19:02:10 +07:00
Rua
5e595a496a
Many changes to images, views and format (#1797)
* Update dependencies

* Many changes to UnsafeImage, ImageView and Format
2022-01-25 19:00:06 +07:00
dpytaylo
465bc9b461
Fix documentation (#1796)
1. [x] Describe in common words what is the purpose of this change, related
   Github Issues, and highlight important implementation aspects.
   
   Fixed the misprint

2. [x] Please put changelog entries **in the description of this Pull Request**
   if knowledge of this change could be valuable to users. No need to put the
   entries to the changelog directly, they will be transferred to the changelog
   files(`CHANGELOG_VULKANO.md` and `CHANGELOG_VK_SYS.md`)
   by maintainers right after the Pull Request merge.

    * Entries for Vulkano changelog:
        - `**Breaking** Breaking entry description.`
        - `Non-breaking entry description.`...

    * Entries for VkSys changelog:
        - `Entry 1.`
        - `Entry 2.`...

3. [x] Run `cargo fmt` on the changes.

4. [x] Make sure that the changes are covered by unit-tests.

5. [x] Update documentation to reflect any user-facing changes - in this repository.
2022-01-24 02:27:51 +07:00
Okko Hakola
5ae11903d2
Add Sandbox project to readme (#1800) 2022-01-22 20:33:10 +07:00
Ilya Lakhin
0cf68a3d25 #1793 Changelog update 2022-01-18 19:51:29 +07:00
Rua
07c1ec1dc1
Update dependencies (#1793) 2022-01-18 19:49:24 +07:00
Ilya Lakhin
dd542c7242 #1792 Changelog update 2022-01-18 19:45:37 +07:00
Todd York
3435efcfcc
Implement VertexMember for nalgebra::Vector*<T> (#1792) 2022-01-18 19:41:38 +07:00
Ilya Lakhin
b9b1c185f1 #1791 Changelog update 2022-01-11 10:57:40 +07:00
Amjad Alsharafi
bd0c4a60f2
Fixed failing basic_conflict test and added replacement for it (#1791)
When we implemented self_copy for images and buffers (#1782),
`basic_conflict` test failed. So we removed it and added tests for
`overlapping` and `non_overlapping` ranges checks when using buffer self
copy.
2022-01-11 10:52:55 +07:00
Ilya Lakhin
25347edb39 #1787 Changelog update 2022-01-11 10:34:21 +07:00
Rua
4c7cdb44fe
Sampler improvements (#1787)
* Sampler improvements

* Check Filter::Cubic for blits as well

* Small doc fix

* Better checks for blits

* Doc fix

* can_be_sampled > can_sample
2022-01-11 10:32:53 +07:00
Ilya Lakhin
6c111df9a7 #1786 Changelog update 2022-01-11 09:07:38 +07:00
Rua
16171c51ac
Improve shader analysis, add and refine DescriptorRequirements fields (#1786)
* Improve shader analysis, add and refine DescriptorRequirements fields

* Simplify a bit
2022-01-11 09:06:22 +07:00
Ilya Lakhin
dcf6c40ce7 #1783 Changelog update 2022-01-05 04:20:28 +07:00
Francisco Ayala Le Brun
adef9bd17a
Fix undefined behaviour on external semaphore & image creation; Fix wrong device chosen on hybrid graphics (#1783)
* Fix device memory missing p_next structures

* Fix exportable attachment image missing p_next; Fix mutable bit off

* Fix fd export for StorageImage

* Fix undefined behaviour on external semaphore & image creation

* Add uuid check on physical device creation

* Add rev specification to glium dependency
2022-01-05 04:14:18 +07:00
Ilya Lakhin
805c9d388e #1782 Changelog update 2022-01-03 03:56:11 +07:00
Amjad Alsharafi
657012142b
Allow copy_image, blit_image and copy_buffer source and destination to be the same image (#1782)
* Allow `copy_image` source and destination to be the same image

The doc: `srcImage and dstImage can be the same image or alias the same
memory`.

This was achieved by locking only one image exclusively if both are the same.

* Allow `blit_image` and `copy_buffer` to have the same src/dest buffers

Regarding this and the previous commits, I noticed an important note in
the docs.
`regions must not overlap`

Before this, it was not important check for us to do, since we can't
have overlapping regions if both buffers are different. But now we must
add some checks to make sure its safe to use these functions while also
allowing for shared buffers between src and dest.

* Added bounds and overlapping checks for `copy_buffer`

* Added overlap checks for `blit_image` and `copy_image`

Created utility file `src/command_buffer/validity/ranges.rs` which hold
functions that help compute if there is overlap in regions.

* Fixed bug in regions overlap check

It should be ANDed together and not ORed

* Added `image_blit` to the `image-self-copy` example

* Added example for `copy_buffer_dimensions` using `basic-compute-shaders`

Also updated copyright year for this and the `image-self-copy-blit`
example.
2022-01-03 03:54:02 +07:00
Ilya Lakhin
bb2671785d #1779 Changelog update 2021-12-19 19:23:17 +07:00
Amjad Alsharafi
d75390042f
Added command clear_attachment (#1779)
* Added command `clear_attachment`

This command implements `vkClearAttachments`, most checks are done
except for:
- Handling attachments with `VK_ATTACHMENT_UNUSED`, `vulkano` doesn't
  support unused attachments for now.
- command buffer protection and protectedNoFault, which `vulkano` is not
  supporting now.

* Added `clear_attachments` example

This explains the usage of `clear_attachments` command

* Modified `ClearRect.rect_offset` to use `u32`

Since, in vulkan docs, it says that the rect must be inside the render
area, its better to use `u32` so that we don't get negative values since
its not applicable here.

I was using `i32` because in vulkan docs its using `VkRect2D` inside
`VkClearRect` which is a general rectangle object. Since ours is only
specific to `ClearRect` its better to make it specific.
2021-12-19 19:20:51 +07:00
Ilya Lakhin
490bdd14df #1778 Changelog update 2021-12-19 17:50:10 +07:00
Rua
906877421f
Always generate shader requirements for the exact entrypoint interface (#1778) 2021-12-19 17:44:58 +07:00
Ilya Lakhin
286f1faf55 #1774 Changelog update 2021-12-18 17:36:37 +07:00
Rua
2151697af0
Remove DescriptorSetBuilder, use descriptor writes directly (#1774)
* Remove DescriptorSetBuilder, use descriptor writes directly

* Merge two error types
2021-12-18 17:32:38 +07:00
Ilya Lakhin
974087c0f4 #1772 Changelog update 2021-12-16 15:48:32 +07:00
Rua
f069fdc35f
Upgrade to Rust 2021, update dependencies (#1772)
* Upgrade to Rust 2021, update dependencies

* Missed one

* Fix raw_window_handle breaking changes
2021-12-16 15:46:44 +07:00
Austin Johnson
619af8239c
Release 0.27.1 (#1777) 2021-12-06 14:12:11 -06:00
Austin Johnson
a399459623
#1776 Changelog update 2021-12-06 14:02:52 -06:00
Austin Johnson
26ebc52945
reimplement generic implementations for BufferAccess, TypedBufferAccess, & ImageAccess (#1776) 2021-12-06 13:59:58 -06:00
Ilya Lakhin
b5034907fa Release 0.27.0 2021-12-06 04:21:17 +07:00
Francisco Ayala Le Brun
5d0c2390ba
Fix gl-interop validation error & window not closing (#1768) 2021-12-06 04:11:59 +07:00
Ilya Lakhin
d1ed277c8b #1766 Changelog update 2021-12-06 03:58:50 +07:00
Robin Heinemann
cc199b62e7
Fix typo in clear_depth_stencil (#1766) 2021-12-06 03:56:23 +07:00
Ilya Lakhin
d136f4a5e2 #1763 Changelog update 2021-12-06 03:49:56 +07:00
Rua
97e139c52a
Use General layout for storage_image regardless of image type (#1763) 2021-12-06 03:45:29 +07:00
Ilya Lakhin
1afb4d1c76 #1758 Changelog update 2021-12-06 03:37:27 +07:00
Rua
0ebf05f35d
Bring vertex input in line with other pipeline state, reorganise modules (#1758)
* Bring vertex input in line with other pipeline state, reorganise modules

* Documentation improvement

* Use ShaderInterfaceEntryType in shader interface instead of format

* Example fix
2021-12-06 03:30:56 +07:00
Ilya Lakhin
3845925655 #1765 Changelog update 2021-11-24 22:54:51 +07:00
Ilya Lakhin
29dcd28dc4
Fixes a bug when using vulkan-shaders macro with multiple shaders in release mode (#1765) 2021-11-24 22:53:43 +07:00
Ilya Lakhin
8152f3b9d1 #1760 Changelog update 2021-11-24 22:03:26 +07:00
Rua
281f8bd93d
Add type_for_format macro (#1760)
* Add `type_for_format` macro

* Doc thinko
2021-11-24 22:02:36 +07:00
Will Song
aa5a97481e
use repr(C) (#1757) 2021-11-24 21:19:57 +07:00
Ilya Lakhin
fc45a3516b #1754 Changelog update 2021-11-24 20:52:47 +07:00