Eric Culp
7fea44b4da
Reject spirv arrays that have incorrect stride in rust ( #1050 )
...
SPIR-V allows the array stride and size of a type to differ, but rust defines them to be the same. Thus
certain types when represented in rust will have the wrong layout. E.g. an array of vec3 can have an array
stride of 16 in SPIR-V, but an array of [f32;3] in rust would have a stride of 12. Thus using one for the
other would cause corruption.
This suggests a workaround by using a wrapping struct or upgrading the size of the type to one where the size
is the array stride.
I considered generating the wrapping struct for the user, but that seems very confusing for the user. We could
generate wrapping structs for all vec and mat types in arrays, but that would be a large API change.
See #298 .
2018-09-29 14:43:09 +10:00
Nicholas Lordello
b507034df7
Use shaderc instead of glsl-to-spirv for shader compilation ( #947 )
...
* Use shaderc instead of glsl-to-spirv for shader compilation
* added some setup notes
2018-09-21 00:24:24 +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
Lucas Kent
e21bd19bad
Publish 0.10.0 ( #1013 )
2018-08-12 18:42:17 +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
aloucks
7a3434efd1
Update glslangValidator.exe to latest version ( #979 )
...
VulkanSDK: 1.1.77.0
Date: 20-Jun-2018
SHA256: 41631380388244fa88209beac748553705087ed7df375c08456a82e0769bd0c4
https://vulkan.lunarg.com/sdk/home#sdk/downloadConfirm/1.1.77.0/windows/VulkanSDK-1.1.77.0-Installer.exe
sha256sum VulkanSDK/1.1.77.0/Bin/glslangValidator.exe
90b377479fb137f4ac69460d5f5cdc54cd23bace5eb6e6812516fdfa693b25cf *VulkanSDK/1.1.77.0/Bin/glslangValidator.exe
glslangValidator.exe --version
Glslang Version: 7.7.2767
ESSL Version: OpenGL ES GLSL 3.20 glslang Khronos. 7.2767
GLSL Version: 4.60 glslang Khronos. 7.2767
SPIR-V Version 0x00010300, Revision 1
GLSL.std.450 Version 100, Revision 1
Khronos Tool ID 8
SPIR-V Generator Version 7
GL_KHR_vulkan_glsl version 100
ARB_GL_gl_spirv version 100
2018-06-30 19:18:37 +02:00
aloucks
f7905d6cfc
Validate sha256 checksum for glslangValidator.exe ( #972 )
2018-06-09 09:41:58 +02:00
Casey Rodarmor
54fd1500e1
Remove pritnln from parse::test::test ( #941 )
2018-04-06 08:26:33 +02:00
Pierre Krieger
5e73ce96a1
Publish 0.9.0 ( #936 )
2018-03-14 17:57:22 +01:00
Pierre Krieger
de19ef2e14
Publish 0.8.0 ( #934 )
2018-03-11 20:18: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
tomaka
c9b35bc9e2
Publish 0.7.2 ( #861 )
2017-10-09 14:46:41 +02:00
tomaka
8c05eb6453
Publish 0.7.1 ( #837 )
2017-09-28 14:05:20 +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
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
883d0cb94e
Allow non-snake-case for specialization constants ( #799 )
2017-09-04 13:16:17 +02:00
tomaka
9f3f2dc000
Allow non_snake_case for auto-generated structs ( #796 )
2017-09-02 20:04:07 +02:00
tomaka
6c81d8081a
Make the Layout generated by vulkano-shaders entirely public ( #787 )
2017-08-28 11:39:40 +02:00
tomaka
a630a5efb1
Publish 0.6.1 ( #783 )
2017-08-27 10:56:28 +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
5207f8a703
Reflect specialization constants in vulkano-shaders ( #774 )
2017-08-26 11:34:00 +02:00
tomaka
1640220ebf
More fixes in limits_check ( #773 )
2017-08-25 11:48:13 +02:00
tomaka
0f05fc8d57
Fix number of sets in vulkano-shaders ( #764 )
2017-08-23 18:07:54 +02:00
tomaka
411b4e7546
Publish vulkano 0.6.0 ( #747 )
2017-08-17 14:05:43 +02:00
tomaka
8273fb5530
Fix #772 ( #724 )
2017-08-05 14:06:08 +02:00
tomaka
d55cbf04f6
Update Cargo.toml metadata ( #721 )
2017-08-05 11:06:13 +02:00
tomaka
6abeba4f3d
Remove PipelineLayoutDescNames ( #712 )
2017-08-03 12:01:25 +02:00
tomaka
bf82214ec1
Rework shader entry points ( #708 )
2017-08-02 10:42:30 +02:00
tomaka
be298f470c
Remove DescriptorBufferContentDesc ( #630 )
...
* Remove DescriptorBufferContentDesc
* Update vulkano-shaders
* Fix tests
2017-07-28 07:19:22 +02:00
tomaka
a7e989ad53
Publish 0.5.6 ( #697 )
2017-07-27 14:30:36 +02:00
tomaka
0fa06f7597
Publish 0.5.5 ( #694 )
2017-07-27 11:38:28 +02:00
Pierre Krieger
67bc3427c8
Publish 0.5.4
2017-07-19 20:02:32 +02:00
Pierre Krieger
f61bde481a
Publish 0.5.3
2017-07-16 12:59:48 +02:00
Pierre Krieger
b63b49d204
Publish 0.5.2
2017-07-08 12:03:49 +02:00
Pierre Krieger
609056d0b0
Publish 0.5.1
2017-07-07 15:38:44 +02:00
Bartłomiej Grzesik
52f57c2e97
Remove fallback value in execution mode
2017-07-07 14:48:10 +02:00
Bartłomiej Grzesik
b909682401
Fix compilation of geometry shaders
2017-07-07 13:21:51 +02:00
Pierre Krieger
9e83984278
Publish 0.5.0
2017-07-04 14:26:41 +02:00
tomaka
d293c6cbcf
Pass the device by value when loading a shader
2017-07-03 16:53:44 +02:00
David AOL
b0faf2db95
dst/dest inconsistency #51
2017-07-02 08:09:50 -05:00
Pierre Krieger
ef466eac85
Run rustfmt on the code
2017-06-27 08:47:16 +02:00
Pierre Krieger
e9fdcba73f
Remove old gitignore files
2017-06-26 10:35:05 +02:00
Pierre Krieger
d504535040
Publish 0.4.4
2017-06-23 17:31:56 +02:00
Pierre Krieger
6e4badeb70
Publish 0.4.3
2017-06-20 20:22:55 +02:00
Pierre Krieger
0695ffd862
Publish 0.4.2
2017-06-20 10:20:08 +02:00
Pierre Krieger
c1324c2029
Publish 0.4.1
2017-06-13 13:27:59 +02:00
tomaka
ff0ca53204
Merge pull request #517 from Ralith/shader-error-fixes
...
Shader error handling fixes
2017-06-11 20:44:27 +02:00
Benjamin Saunders
0058cc4864
Fix unreliable shader recompilation
2017-06-11 11:21:58 -07:00
Pierre Krieger
e0553ea2ab
Fix size of push constants in vulkano-shaders
2017-06-09 21:34:16 +02:00
Pierre Krieger
9b4c6e922b
Publish 0.4.0
2017-06-03 13:40:42 +02:00
Pierre Krieger
4818f365e9
Add prototype support for descriptor arrays of images
2017-04-01 12:11:53 +02:00
Pierre Krieger
4e9a0a6d38
Derive copy on generated structs when possible
2017-03-02 12:53:16 +01:00
Pierre Krieger
dd4ac2219a
Basic push constants reporting in vulkano_shaders
2017-02-23 07:40:37 +01:00
Pierre Krieger
c8abb70104
Use a dummy DescriptorBufferContentDesc
2017-02-22 17:31:54 +01:00
Pierre Krieger
1808356a81
Merge branch 'master' into incoming
2017-02-08 19:46:56 +01:00
Pierre Krieger
9f9965c710
Publish 0.3.2
2017-02-02 21:11:47 +01:00
tomaka
35d02e621f
Merge pull request #370 from tomaka/categories
...
Add categories to all the crates
2017-02-02 10:13:28 +01:00
Pierre Krieger
e67f615ad2
Add categories to all the crates
2017-01-31 09:59:07 +01:00
Pierre Krieger
f039fb9123
Remove the debugging println in vulkano-shader
2017-01-31 09:50:19 +01:00
Pierre Krieger
1216461211
Merge branch 'custom-derives' into incoming
2017-01-21 16:35:58 +01:00
Wouter
9cda522d13
Disabled broken Clone impl for unsized buffers
2016-12-08 16:17:51 +01:00
Paul Houghton
5aa5d671d1
Update dependency versions
2016-12-07 23:29:15 +02:00
Wouter
2528c11e3f
Moved write_structs function back to top of file
2016-12-07 21:03:22 +01:00
Wouter
cedb13a39c
Implemented Copy without using derive for structs in vulkano-shaders, fixes #253
2016-12-07 20:08:38 +01:00
Pierre Krieger
c5c14e5a4d
Fix vulkano_shaders with push constants descs
2016-11-10 11:21:51 +01:00
Pierre Krieger
1ca3ef8231
Merge branch 'master' into incoming
2016-11-09 13:21:15 +01:00
Pierre Krieger
479a60fe8b
Various fixes
2016-10-16 20:37:32 +02:00
Pierre Krieger
b9f4f8f2cf
Remove pipeline layout parameter from pipeline creation
2016-10-16 20:31:49 +02:00
Pierre Krieger
b7eaf06874
Some fixed to generated code
2016-10-16 17:00:00 +02:00
Pierre Krieger
199295afd3
Remove binding from DescriptorDesc
2016-10-16 16:56:51 +02:00
Pierre Krieger
5aec152fb5
Implement PipelineLayoutDescNames for the generated layouts
2016-10-16 16:28:59 +02:00
Pierre Krieger
32ebcaca1e
Update vulkano-shaders and fix triangle example
2016-10-16 15:59:16 +02:00
Alexander Dmitriev
0cb7e3e300
Print formatted GLSL compile error messages
2016-10-04 19:52:16 +02:00
Pierre Krieger
e3eabb6740
Publish 0.3.1
2016-10-04 19:24:57 +02:00
Pierre Krieger
82ec7c9ade
Publish 0.3.0
2016-09-18 15:21:48 +02:00
Pierre Krieger
6d274d4f78
Publish 0.2.2
2016-09-18 14:31:58 +02:00
Pierre Krieger
556f25e256
Publish 0.2.1
...
close #237
2016-09-01 07:22:22 +02:00
tomaka
122ca9d41d
Publish vulkano-shaders 0.2.0
2016-07-28 13:02:10 +02:00
Pierre Krieger
3affecc702
Make ShaderModule modulable over the device pointer
2016-07-26 18:36:43 +02:00
Pierre Krieger
f1ee8c02c7
Add more allow(unsafe) on unsafe code from macros
2016-07-25 16:04:22 +02:00
Pierre Krieger
cf9b4f76b8
Make sampled
parameter of texel buffers less confusing
2016-07-15 13:26:33 +02:00
Pierre Krieger
a023aaa078
Fix warnings
2016-06-16 14:04:18 +02:00
tomaka
d241551d47
Merge pull request #142 from tomaka/ints-floats-width
...
Fix width of integers and floating-points reflected from SPIR-V
2016-06-16 13:38:36 +02:00
Pierre Krieger
fdab501746
Fix unused imports in vulkano-shaders
2016-06-16 09:36:27 +02:00
Pierre Krieger
231ea5c531
Fix width of integers and floating-points reflected from SPIR-V
2016-06-16 09:20:33 +02:00
tomaka
150fe7474f
Merge pull request #129 from tomaka/tess-geom-fix
...
Fix shader interfaces for tessellation and geometry shaders
2016-06-06 16:21:09 +02:00
Pierre Krieger
3a4c1022f5
Improve builtin variable detection
2016-06-06 15:20:02 +02:00
Pierre Krieger
f220519e05
Fix shader interfaces for tessellation and geometry shaders
2016-06-06 15:08:49 +02:00
Pierre Krieger
3d4bd4767a
Add a better diagnostic when attrib locations overlap
2016-06-06 09:25:17 +02:00
Pierre Krieger
c246a92a7e
Pass correct shader stages for the descriptors
2016-05-12 14:37:43 +02:00
Pierre Krieger
c95d456926
Properly generate infos about descriptors in vulkano-shaders
2016-05-12 13:39:31 +02:00
Pierre Krieger
3b04d46dbb
Replace DescriptorType with DescriptorDescTy
2016-05-12 13:11:03 +02:00
Pierre Krieger
fe8706aae8
Put all inputs and outputs in entry point structs
2016-05-04 09:30:16 +02:00
Pierre Krieger
e2fc113711
Generate attributes description struct for all shader stages
2016-05-04 09:06:53 +02:00
Pierre Krieger
ad27205f7b
Extract entry point generation to own module
2016-05-04 08:18:07 +02:00
Pierre Krieger
3cd617fd85
Add glsl-to-spirv version for vulkano-shaders
2016-04-30 12:48:50 +02:00
Pierre Krieger
8f9e3220eb
Publish the crate on crates.io
2016-04-30 12:08:48 +02:00
Pierre Krieger
3f4b9e126b
Rework vertex attributes system
2016-04-30 10:09:00 +02:00
Pierre Krieger
18348cd301
Correctly set the readonly attribute of descriptor layouts descriptions
2016-04-22 15:15:07 +02:00