Fix syntax highlighting on crates.io

Co-authored-by: RustyNixieTube <RustyNixieTube@users.noreply.github.com>
This commit is contained in:
RustyNixieTube 2020-08-14 22:40:06 +02:00 committed by GitHub
parent c6d5d66142
commit b9ac0c3892
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -20,7 +20,7 @@ A very lightweight wrapper around Vulkan
## Features ## Features
### Explicit returns with `Result` ### Explicit returns with `Result`
```Rust ```rust
// function signature // function signature
pub fn create_instance(&self, pub fn create_instance(&self,
create_info: &vk::InstanceCreateInfo, create_info: &vk::InstanceCreateInfo,
@ -33,7 +33,7 @@ let instance = entry.create_instance(&create_info, None)
### `Vec<T>` instead of mutable slices ### `Vec<T>` instead of mutable slices
```Rust ```rust
pub fn get_swapchain_images(&self, pub fn get_swapchain_images(&self,
swapchain: vk::SwapchainKHR) swapchain: vk::SwapchainKHR)
-> VkResult<Vec<vk::Image>>; -> VkResult<Vec<vk::Image>>;
@ -42,7 +42,7 @@ let present_images = swapchain_loader.get_swapchain_images_khr(swapchain).unwrap
*Note*: Functions don't return `Vec<T>` if this would limit the functionality. See `p_next`. *Note*: Functions don't return `Vec<T>` if this would limit the functionality. See `p_next`.
### Slices ### Slices
```Rust ```rust
pub fn cmd_pipeline_barrier(&self, pub fn cmd_pipeline_barrier(&self,
command_buffer: vk::CommandBuffer, command_buffer: vk::CommandBuffer,
src_stage_mask: vk::PipelineStageFlags, src_stage_mask: vk::PipelineStageFlags,
@ -60,7 +60,7 @@ Each Vulkan handle type is exposed as a newtyped struct for improved type safety
interop with non-Ash Vulkan code. interop with non-Ash Vulkan code.
### Default implementation for all types ### Default implementation for all types
```Rust ```rust
// No need to manually set the structure type // No need to manually set the structure type
let desc_alloc_info = vk::DescriptorSetAllocateInfo { let desc_alloc_info = vk::DescriptorSetAllocateInfo {
descriptor_pool: self.pool, descriptor_pool: self.pool,
@ -71,7 +71,7 @@ let desc_alloc_info = vk::DescriptorSetAllocateInfo {
``` ```
### Builder pattern ### Builder pattern
```Rust ```rust
// We lose all lifetime information when we call `.build()`. Be carefull! // We lose all lifetime information when we call `.build()`. Be carefull!
let queue_info = [vk::DeviceQueueCreateInfo::builder() let queue_info = [vk::DeviceQueueCreateInfo::builder()
.queue_family_index(queue_family_index) .queue_family_index(queue_family_index)
@ -90,7 +90,7 @@ let device: Device = instance
``` ```
Builders have an explicit lifetime, and are marked as `#[repr(transparent)]`. Builders have an explicit lifetime, and are marked as `#[repr(transparent)]`.
```Rust ```rust
#[repr(transparent)] #[repr(transparent)]
pub struct DeviceCreateInfoBuilder<'a> { pub struct DeviceCreateInfoBuilder<'a> {
inner: DeviceCreateInfo, inner: DeviceCreateInfo,
@ -113,7 +113,7 @@ Calling `.build()` will **discard** that lifetime because Vulkan structs use raw
### Pointer chains ### Pointer chains
```Rust ```rust
let mut variable_pointers = vk::PhysicalDeviceVariablePointerFeatures::builder(); let mut variable_pointers = vk::PhysicalDeviceVariablePointerFeatures::builder();
let mut corner = let mut corner =
vk::PhysicalDeviceCornerSampledImageFeaturesNV::builder(); vk::PhysicalDeviceCornerSampledImageFeaturesNV::builder();
@ -130,18 +130,18 @@ Pointer chains in builders differ from raw Vulkan. Instead of chaining every str
### Flags and constants as associated constants ### Flags and constants as associated constants
```Rust ```rust
// Bitflag // Bitflag
vk::AccessFlags::COLOR_ATTACHMENT_READ | vk::AccessFlags::COLOR_ATTACHMENT_WRITE vk::AccessFlags::COLOR_ATTACHMENT_READ | vk::AccessFlags::COLOR_ATTACHMENT_WRITE
``` ```
```Rust ```rust
// Constant // Constant
vk::PipelineBindPoint::GRAPHICS, vk::PipelineBindPoint::GRAPHICS,
``` ```
### Debug/Display for Flags ### Debug/Display for Flags
```Rust ```rust
let flag = vk::AccessFlags::COLOR_ATTACHMENT_READ let flag = vk::AccessFlags::COLOR_ATTACHMENT_READ
| vk::AccessFlags::COLOR_ATTACHMENT_WRITE; | vk::AccessFlags::COLOR_ATTACHMENT_WRITE;
println!("Debug: {:?}", flag); println!("Debug: {:?}", flag);
@ -168,7 +168,7 @@ Custom loaders can be implemented.
### Extension loading ### Extension loading
Additionally, every Vulkan extension has to be loaded explicitly. You can find all extensions under [ash::extensions](https://github.com/MaikKlein/ash/tree/master/ash/src/extensions). Additionally, every Vulkan extension has to be loaded explicitly. You can find all extensions under [ash::extensions](https://github.com/MaikKlein/ash/tree/master/ash/src/extensions).
```Rust ```rust
use ash::extensions::khr::Swapchain; use ash::extensions::khr::Swapchain;
let swapchain_loader = Swapchain::new(&instance, &device); let swapchain_loader = Swapchain::new(&instance, &device);
let swapchain = swapchain_loader.create_swapchain(&swapchain_create_info).unwrap(); let swapchain = swapchain_loader.create_swapchain(&swapchain_create_info).unwrap();
@ -178,12 +178,12 @@ let swapchain = swapchain_loader.create_swapchain(&swapchain_create_info).unwrap
Raw function pointers are available, if something hasn't been exposed yet in the higher level API. Please open an issue if anything is missing. Raw function pointers are available, if something hasn't been exposed yet in the higher level API. Please open an issue if anything is missing.
```Rust ```rust
device.fp_v1_0().destroy_device(...); device.fp_v1_0().destroy_device(...);
``` ```
### Support for extension names ### Support for extension names
```Rust ```rust
use ash::extensions::{Swapchain, XlibSurface, Surface, DebugReport}; use ash::extensions::{Swapchain, XlibSurface, Surface, DebugReport};
#[cfg(all(unix, not(target_os = "android")))] #[cfg(all(unix, not(target_os = "android")))]
fn extension_names() -> Vec<*const i8> { fn extension_names() -> Vec<*const i8> {
@ -197,7 +197,7 @@ fn extension_names() -> Vec<*const i8> {
### Implicit handles ### Implicit handles
Handles from Instance or Device are passed implicitly. Handles from Instance or Device are passed implicitly.
```Rust ```rust
pub fn create_command_pool(&self, pub fn create_command_pool(&self,
create_info: &vk::CommandPoolCreateInfo) create_info: &vk::CommandPoolCreateInfo)
-> VkResult<vk::CommandPool>; -> VkResult<vk::CommandPool>;