Commit graph

378 commits

Author SHA1 Message Date
Benjamin Saunders d78afd87dd Flatten vk.rs module structure and use f32 2018-09-29 11:21:56 -07:00
Benjamin Saunders aa171d405a More traits for dispatchable handles 2018-09-16 12:18:10 -07:00
Benjamin Saunders 0446b59873 More consistent names in flags API
Improves consistency with other newtypes and with bitflags.
2018-09-16 12:08:14 -07:00
Maik Klein f679197d0f
Merge pull request #114 from GabrielMajeri/fix-version-macros
Use Rust integral types
2018-08-29 09:36:15 +02:00
Gabriel Majeri fd5d89f2b6 Remove libc usage 2018-08-28 20:01:16 +03:00
Maik Klein 025f353f9a
Merge pull request #111 from GabrielMajeri/fix-getters
Fix instance getters to support extensions
2018-08-28 18:11:23 +02:00
Gabriel Majeri b722b0f3a9 Map all integer types to Rust types 2018-08-25 14:09:44 +03:00
Gabriel Majeri 0c26422215 Separate getters for vectors into two functions
One is safe, used to determine how many structures will be returned.
The other is unsafe, and takes in a mutable reference to an array
of structure chains.
2018-08-25 11:53:15 +03:00
Gabriel Majeri 0786d71b39 Fix Vulkan version macros 2018-08-25 10:51:57 +03:00
Brian Merchant a10935eaf7 bug fixes for VK_EXT_debug_utils wrapper 2018-08-24 15:11:19 +02:00
Gabriel Majeri 53161660ef Fix instance getters to support extensions
This commit allows the user to pass in a chain of structures
to be filled in by the Vulkan driver.
2018-08-23 10:22:06 +03:00
Maik Klein 898e9791b7
Merge pull request #110 from MatusT/generator
Default trait: set pointers to std::ptr::null()/null_mut()
2018-08-23 07:18:21 +02:00
Maik Klein 9edecfd476
Merge pull request #108 from GabrielMajeri/entry-1.1
Make `enumerate_instance_version` an `Entry` function
2018-08-23 07:13:08 +02:00
Maik Klein b84596fb9a
Merge pull request #102 from Ralith/fix-flags-display
More robust Display for flags types
2018-08-23 07:08:32 +02:00
Matus Talcik 7e505347f4 Default trait: set pointers to std::ptr::null()/null_mut() instead of zeroed 2018-08-22 22:53:17 +02:00
Gabriel Majeri c4d92d410b Make enumerate_instance_version safe 2018-08-22 10:51:05 +03:00
Gabriel Majeri ce6820f923 Add traits and FP loading for Entry 1.1 2018-08-22 10:49:41 +03:00
Gabriel Majeri 67ea40b30c Regenerate vk.rs 2018-08-22 10:33:58 +03:00
Gabriel Majeri 15839ddc4e Move enumerate_instance_version to Entry
Also adds `EntryV1_1` trait

# Conflicts:
#	ash/src/version.rs
2018-08-22 10:24:50 +03:00
Maik Klein 3e812896ff
Merge pull request #107 from GabrielMajeri/export-v1_1
Export Vulkan 1.1 traits
2018-08-22 09:16:58 +02:00
Gabriel Majeri 22cce9be30 Export the Vk 1.1 traits 2018-08-22 10:06:03 +03:00
Benjamin Saunders a0424596a5 More robust Display for flags types
Fixes strange behavior if a Vulkan flags constant setting multiple bits
is defined prior to that which sets only one of those bits.
2018-08-21 21:16:08 -07:00
Benjamin Saunders b1451747b5 Expose cmd_copy_query_pool_results 2018-08-21 21:14:10 -07:00
Gabriel Majeri b5651ed351 Export the DebugUtils extension 2018-08-21 16:04:57 +03:00
Benjamin Saunders d5666554fc Expose conversions between enums and raw values 2018-08-20 23:56:33 -07:00
Maik Klein e546fbbb5d [Fix] BitPos can be negative 2018-08-20 09:55:41 +02:00
Maik Klein 8521f01488 Switch to manual_derives 2018-08-20 07:32:30 +02:00
Benjamin Saunders 6738c4c01c impl Display for constants 2018-08-19 20:13:02 -07:00
Maik Klein c4e4ab8fc2 Temporary implement Hash and PartialEq for certain types that only
contain primtive types
2018-08-19 10:10:11 +02:00
Benjamin Saunders e65a24ddcd Wrap VK_EXT_debug_utils 2018-08-04 13:49:16 -07:00
Benjamin Saunders 6e54dd346e Introduce Handle trait 2018-08-04 12:22:09 -07:00
Tim 92d0541170 Change type of TRUE and FALSE to Bool32 2018-08-03 15:39:25 +02:00
Maik Klein 4797c12c89
Merge pull request #90 from Cyres/repr-transparent
Use repr(transparent) where possible and apply rustfmt to those files
2018-08-03 15:14:09 +02:00
Tim cda39148e9 Mark some more functions as unsafe 2018-08-03 12:51:03 +02:00
Tim 59d49b2159 Apply rustfmt 2018-08-03 12:37:28 +02:00
Tim 2256c431be Use repr(transparent) where possible and apply rustfmt to those files 2018-08-03 12:34:14 +02:00
Tim 623c26c9bc Add functions for DeviceV1_1 2018-08-03 12:22:51 +02:00
Tim eeb17a07a1 Merge remote-tracking branch 'origin/generator' into generator 2018-08-03 11:55:27 +02:00
Maik Klein e3526b467c Remove unused enumflags dependencies 2018-08-01 18:46:02 +02:00
Tim e230d6ae81 Add functions for Instance 2018-08-01 16:51:43 +02:00
Maik Klein c0e98cdf78 New signature for enumerate_instance_version 2018-08-01 09:50:24 +02:00
Maik Klein a6d5a124df Rename constants in the example and inside static arrays 2018-08-01 09:22:28 +02:00
Maik Klein 33a0eee190 Remove "VK" from constants 2018-08-01 09:12:39 +02:00
Maik Klein 666e5628ac Remove vendor ext from vendor constant variants 2018-08-01 08:51:50 +02:00
Maik Klein 197b06b0d8 Fix: Some *const pointers should have been *mut pointers 2018-07-31 14:17:24 +02:00
Maik Klein 2921a03638 Fix repeating name in constants 2018-07-31 13:44:22 +02:00
Maik Klein 56bf57acf5 Fix *const *const ptr 2018-07-31 13:30:35 +02:00
Maik Klein 60915eacb2 Add initial support for 1.1 2018-07-31 08:04:07 +02:00
Maik Klein 6563754e32 Add new changes to vk.rs 2018-07-30 20:25:54 +02:00
Maik Klein 773c64cde1 Implement automatic derive for Debug 2018-07-30 12:50:51 +02:00
Maik Klein 3cacb4a00a Add support for extension constants 2018-07-29 22:39:45 +02:00
Hal Gentz 9dad1ca64e
Adds support for using custom ways to load the vulkan dynamic libraries.
Signed-off-by: Hal Gentz <zegentzy@protonmail.com>
2018-07-20 01:44:19 -06:00
Maik Klein f65c62dbaa Implement Error for the new Result 2018-07-09 09:24:18 +02:00
Maik Klein 325246c026 Rename Result::Success to Result::SUCCESS 2018-07-09 09:23:21 +02:00
Maik Klein fb13cc402e Add extension structure type constants to StructureType 2018-07-07 14:49:17 +02:00
Maik Klein e6e8bbd91b Successfully replace the old vk.rs file 2018-07-07 12:54:31 +02:00
Maik Klein ad24467c95 Rename the extension functionm pointers 2018-07-07 12:13:23 +02:00
Gray Olson 606a0dce8c use libmoltenvk on ios 2018-07-06 21:48:54 -07:00
Gray Olson 594a476fdb use libvulkan instead of moltenvk and make examples work on macos 2018-07-06 21:45:52 -07:00
Maik Klein 9f14e404d7 Impl cexpr 2018-06-24 12:09:37 +02:00
Maik Klein 886d0f0c96 Use constants for bitflags 2018-06-05 17:46:57 +02:00
Maik Klein dc378d7b9f Move from vkxml to vk-parse 2018-06-05 17:46:57 +02:00
Maik Klein bfed51f8d3 Save 2018-06-05 17:46:32 +02:00
Maik Klein eb70d0e899 cargo fmt 2018-06-05 17:46:32 +02:00
Joshua Groves c38dc07e4d Add more dynamic states 2018-05-24 12:46:08 -06:00
Dzmitry Malyshau 678ccc99c3 Expose get_image_subresource_layout 2018-05-23 19:08:51 -04:00
Joshua Groves 389ddd94f5 Bump version to 0.24.1 2018-05-18 12:56:50 -06:00
Joshua Groves a118b58020 Expose cmd_set_line_width 2018-05-18 12:56:43 -06:00
Maik Klein af0142dce9 Bump version to "0.24.0" 2018-05-09 15:41:08 +02:00
Jo Bates ea0a54b993 Expose cmd_set_depth_bounds 2018-05-05 14:40:12 -05:00
Audrey Baxter 2ce101acbc Fixed incorrect bitshifts in vk_version_major and vk_version_minor 2018-04-17 01:31:47 -04:00
Maik Klein be763d2518 Bump version to 0.23.0 2018-04-12 11:09:51 +02:00
Eidolon 26394b1d3c Add first_scissor to cmd_set_scissor 2018-04-11 21:30:30 -05:00
Maik Klein c7fecbf25e Bump version to 0.22.2 2018-04-03 23:46:24 +02:00
Maik Klein 8b68fed8dc Use VkResult 2018-04-03 23:45:59 +02:00
Dzmitry Malyshau 806fe2b1af Expose get_physical_device_image_format_properties 2018-04-03 08:59:13 -04:00
Maik Klein be8e11efc0 Bump version to 0.22.1 2018-04-01 10:56:43 +02:00
Kim Christensen 901a45449b Implement destroy buffer view 2018-03-30 23:28:09 +02:00
Maik Klein 30e77503af Add get_query_pool_results 2018-03-08 21:13:47 +01:00
Maik Klein 3300057d75 Add query results 2018-03-07 22:39:54 +01:00
Maik Klein 86052f581c Fix incorrect version bump 2018-03-06 10:39:58 +01:00
Dzmitry Malyshau 522445d079 Entry LIB_PATH 2018-02-16 11:33:45 -05:00
Maik Klein 485ba8b9d5 Bump major version 2018-02-15 19:49:18 +01:00
Maik Klein 1b612cb1bf Use union for ClearValue 2018-02-15 19:48:49 +01:00
Maik Klein 40ead80681 Bump minor version 2018-02-15 19:45:59 +01:00
Maik Klein 54512d2026 Reformat device.rs 2018-02-15 19:43:29 +01:00
Maik Klein c9f0236ad9 Add cmd_blit_image 2018-02-15 19:43:29 +01:00
Benjamin Saunders 39b41a4a47 Fix typo in util::Align documentation 2018-02-09 19:04:11 -08:00
Maik Klein a9dd6df8fe
Merge pull request #43 from kvark/entry
Nicer Entry implementation
2018-01-31 19:48:49 +01:00
Maik Klein 6165375ccc Fix incorrect version 2018-01-31 15:30:27 +01:00
Maik Klein 537a0f6e81 Bump version 2018-01-31 11:04:40 +01:00
Dzmitry Malyshau c81039a0c9 Nicer Entry implementation 2018-01-30 13:39:40 -05:00
Maik Klein 688112ccd7
Merge pull request #42 from farnoy/master
Add DebugMarker extension
2018-01-20 19:16:04 +01:00
Maik Klein c975a73cc0 Add first_viewport fo cmd_set_viewport 2017-12-22 14:29:05 +01:00
Maik Klein b62faef166
Merge pull request #40 from msiglreith/push_const
Fix push constant size (length of bytes instead of DWORDs)
2017-12-18 18:15:09 +01:00
msiglreith 1df7d5149a Switch to u8 slices for push constant (fixes passed length) 2017-12-18 18:02:24 +01:00
Jakub Okoński e77fdf574c Add DebugMarker Markers functionality 2017-12-17 16:52:43 +01:00
Jakub Okoński cd2ae99707 Add DebugMarker extension 2017-12-17 09:09:37 +01:00
Maik Klein 65e1a7689d Update docs for Align 2017-12-12 12:09:47 +01:00
Maik Klein f07af40a6c Bump version 2017-11-23 14:10:34 +01:00
msiglreith 244b7f1cdd Add query related functions 2017-11-23 14:04:56 +01:00
Maik Klein 2c7ba0df28 Bump version 2017-11-04 07:59:55 +01:00
AlphaModder b9b57a24df Add cmd_push_constants to Device. 2017-11-03 23:13:06 -07:00
Maik Klein 37a1cab53c Bump version 2017-10-14 12:19:22 +02:00
Maik Klein fe16c135f3 Merge pull request #36 from davll/moltenvk
Add MoltenVK support on macOS/iOS
2017-10-14 12:13:47 +02:00
David Lin 63c859a462 remove moltenvk feature 2017-10-14 13:43:02 +08:00
David Lin 85c3054fbb add extension wrapper 2017-10-14 12:12:05 +08:00
David Lin a38820fe67 add native types 2017-10-14 12:06:01 +08:00
David Lin 5371c96108 initial work 2017-10-14 11:44:15 +08:00
David Lin 67bf825aad initial work 2017-10-14 11:31:57 +08:00
Dzmitry Malyshau b84a7f58e2 Added CreateBufferView 2017-10-11 21:07:16 -04:00
Maik Klein b61f5df599 reformat 2017-10-02 14:28:29 +02:00
Maik Klein a73b52012b Make create_instance unsafe 2017-10-02 14:28:09 +02:00
Maik Klein d7c9c1489b Bump version 2017-09-30 03:01:15 +02:00
msiglreith 6a34e8d55b Add Copy derives for a few more structs 2017-09-29 20:41:09 +02:00
msiglreith 6afe7ed1b1 Add cmd_clear_attachments wrapper for device 2017-09-29 20:35:08 +02:00
Thomas Koehler 544870ab24 Added (invalidate|flush)_mapped_memory_ranges 2017-09-14 17:23:00 +02:00
Dzmitry Malyshau 991a114018 Added cmd_fill_buffer and cmd_update_buffer 2017-09-06 10:06:25 -04:00
Maik Klein e208c247af Bump version 2017-09-05 23:37:07 +02:00
Maik Klein 5b146d8085 add copy_image_to_buffer 2017-09-05 23:35:08 +02:00
Maik Klein 54bdc204d2 bump version 2017-08-19 18:48:22 +02:00
msiglreith 5b43266338 Add image resolve command 2017-08-11 15:57:55 +02:00
msiglreith a8081bc21d Add depth stencil image clearing command 2017-08-11 14:12:25 +02:00
msiglreith 6d6267693e Add commands for indirect draw/dispatch, next subpass and setting ref values 2017-08-06 18:57:59 +02:00
Maik Klein 090ee89e1d Bump version 2017-07-09 09:15:29 +02:00
Maik Klein 18fe1f7916 Remove AlignByteSlice 2017-07-08 10:25:47 +02:00
Maik Klein c559e4d731 Use c_void instead of () 2017-07-08 10:24:42 +02:00
Maik Klein 5875de85ce Switch to libc 2017-07-08 09:40:38 +02:00
Maik Klein b100cc55a7 Bump version 2017-07-06 18:10:43 +02:00
Maik Klein e8b726a483 Reformat project with the new rustfmt 2017-07-06 18:00:05 +02:00
Maik Klein f32988a0c6 Add reset_descriptor_pool + reformat file 2017-07-06 17:58:05 +02:00
Maik Klein 9c1698e2f1 [Fix] Incorrect copying from slice 2017-06-18 13:52:21 +02:00
Maik Klein d22e1b1fe3 Align now uses "copy_from_slice" for C aligned slices 2017-06-16 13:18:18 +02:00
Maik Klein cdc2fa94d9 Add asset to check for aligned size 2017-06-11 20:38:03 +02:00
Maik Klein 1d4e2946c9 bump version 2017-06-11 17:52:12 +02:00
Maik Klein 90d67c29c9 Switch util::* to DeviceSize 2017-06-11 17:49:38 +02:00
Maik Klein 0f8ac7ecff bump version 2017-06-11 15:07:26 +02:00
Maik Klein 0b8f554dd9 use correct padding 2017-06-11 14:59:12 +02:00
Maik Klein f56d72bda6 Mark alignment structs as unsafe 2017-06-05 10:56:42 +02:00
Maik Klein 9c6e236d6a Add Error trait for DeviceError 2017-06-05 10:56:03 +02:00
Maik Klein 39140519da Add error trait for InstanceError 2017-06-05 10:53:54 +02:00
Maik Klein 9939be179c Add Error trait to vk::Result 2017-06-05 10:53:04 +02:00
Maik Klein dc202bb6b6 Add util functions for alignment 2017-06-03 23:36:07 +02:00
Maik Klein a9bb2e2b99 map_memory returns a void ptr 2017-06-03 23:35:36 +02:00
Itai f0b29696cb Add create_pipeline_cache and destroy_pipeline_cache 2017-05-14 13:16:12 +03:00
Maik Klein 9807a782f4 Bump version 2017-04-30 15:43:48 +02:00
Maik Klein 39e79db05a Add cmd_execute 2017-04-30 15:43:14 +02:00
Maik Klein 2ab5495367 0.15.7 2017-04-29 16:07:26 +02:00
Maik Klein e0bd5fd60f bump version 2017-04-29 15:38:06 +02:00
msiglreith 0b7f81205c Add create_compute_pipelines to device 2017-04-28 16:10:13 +02:00
Christian Howe bfc39d5c80 Expose InstanceError 2017-04-25 01:00:26 -04:00
Maik Klein 655870d04a Add get fence status 2017-04-23 10:04:24 +02:00
Maik Klein 534e0c70fd readme path 2017-04-22 17:15:48 +02:00
Maik Klein d267b52e45 inc version 2017-04-22 15:24:59 +02:00
Maik Klein 35785d3539 Add cargo realse to .toml 2017-04-22 15:09:44 +02:00
Maik Klein f5b04a888d Add reset command pool 2017-04-22 15:07:07 +02:00
Maik Klein c4e5812668 Switching to a cargo workspace 2017-04-16 12:44:34 +02:00
maik klein 6f89804efd Restructure of the entire project 2016-12-09 20:15:59 +01:00
maik klein 4edadcdf4a Read me update 2016-12-09 19:25:48 +01:00
maik klein 3f116eabe8 Added index buffer to the triangle example 2016-12-09 16:51:47 +01:00
maik klein 4d7b1b7b8d Rm unsued files 2016-12-09 16:34:31 +01:00
maik klein 488d2392ce Beauty cleanup 2016-12-09 01:58:24 +01:00
maik klein f10e00eea2 Remove all Into wrapper 2016-12-09 01:55:29 +01:00
maik klein 5ed62ba2a4 Cleanup unused things 2016-12-09 01:28:47 +01:00
maik klein 757bb70fad Fruther prorgress to fix triangle perf issue 2016-12-08 23:09:24 +01:00
maik klein 6879f42957 type safe flags + default 2016-12-08 00:01:16 +01:00
maik klein 0a31776136 working triangle 2016-12-05 19:31:46 +01:00
maik klein efca2c004f more triangle stuff 2016-12-05 18:44:01 +01:00
maik klein bcf36b1e77 more triangle stuff 2016-12-05 17:39:04 +01:00
maik klein 1bd464ea4c triangle .. 2016-12-05 15:38:23 +01:00
maik klein e806a380df more progress torwards triangle 2016-12-05 02:18:13 +01:00
maik klein 6717668b5b further triangle progress 2016-12-04 22:51:34 +01:00
maik klein 395c744601 extended loader + lib 2016-12-04 00:56:58 +01:00
maik klein 170aa92a03 vk loader rework 2016-11-28 21:16:35 +01:00
maik klein f7e53f97f5 Major changes to loading 2016-11-27 19:32:34 +01:00
maik klein 498afbc3df Add format 2016-08-14 17:24:47 +02:00
maik klein 7c0b1a4046 seperate device functions 2016-08-14 10:23:42 +02:00
maik klein 606abdd86f init 2016-08-14 01:13:39 +02:00