lava/vulkan/ext/
vk_physical_device_line_rasterization_features.rs1use std::os::raw::c_char;
4use std::ops::Deref;
5use std::ptr;
6use std::cmp;
7use std::mem;
8use utils::c_bindings::*;
9use utils::vk_convert::*;
10use utils::vk_null::*;
11use utils::vk_ptr::*;
12use utils::vk_traits::*;
13use vulkan::vk::*;
14use vulkan::vk::{VkStructureType,RawVkStructureType};
15
16#[derive(Debug, Clone)]
18pub struct VkPhysicalDeviceLineRasterizationFeatures {
19 pub rectangular_lines: bool,
20 pub bresenham_lines: bool,
21 pub smooth_lines: bool,
22 pub stippled_rectangular_lines: bool,
23 pub stippled_bresenham_lines: bool,
24 pub stippled_smooth_lines: bool,
25}
26
27#[doc(hidden)]
28#[repr(C)]
29#[derive(Debug, Copy, Clone)]
30pub struct RawVkPhysicalDeviceLineRasterizationFeatures {
31 pub s_type: RawVkStructureType,
32 pub next: *mut c_void,
33 pub rectangular_lines: u32,
34 pub bresenham_lines: u32,
35 pub smooth_lines: u32,
36 pub stippled_rectangular_lines: u32,
37 pub stippled_bresenham_lines: u32,
38 pub stippled_smooth_lines: u32,
39}
40
41impl VkWrappedType<RawVkPhysicalDeviceLineRasterizationFeatures> for VkPhysicalDeviceLineRasterizationFeatures {
42 fn vk_to_raw(src: &VkPhysicalDeviceLineRasterizationFeatures, dst: &mut RawVkPhysicalDeviceLineRasterizationFeatures) {
43 dst.s_type = vk_to_raw_value(&VkStructureType::PhysicalDeviceLineRasterizationFeaturesExt);
44 dst.next = ptr::null_mut();
45 dst.rectangular_lines = vk_to_raw_value(&src.rectangular_lines);
46 dst.bresenham_lines = vk_to_raw_value(&src.bresenham_lines);
47 dst.smooth_lines = vk_to_raw_value(&src.smooth_lines);
48 dst.stippled_rectangular_lines = vk_to_raw_value(&src.stippled_rectangular_lines);
49 dst.stippled_bresenham_lines = vk_to_raw_value(&src.stippled_bresenham_lines);
50 dst.stippled_smooth_lines = vk_to_raw_value(&src.stippled_smooth_lines);
51 }
52}
53
54impl VkRawType<VkPhysicalDeviceLineRasterizationFeatures> for RawVkPhysicalDeviceLineRasterizationFeatures {
55 fn vk_to_wrapped(src: &RawVkPhysicalDeviceLineRasterizationFeatures) -> VkPhysicalDeviceLineRasterizationFeatures {
56 VkPhysicalDeviceLineRasterizationFeatures {
57 rectangular_lines: u32::vk_to_wrapped(&src.rectangular_lines),
58 bresenham_lines: u32::vk_to_wrapped(&src.bresenham_lines),
59 smooth_lines: u32::vk_to_wrapped(&src.smooth_lines),
60 stippled_rectangular_lines: u32::vk_to_wrapped(&src.stippled_rectangular_lines),
61 stippled_bresenham_lines: u32::vk_to_wrapped(&src.stippled_bresenham_lines),
62 stippled_smooth_lines: u32::vk_to_wrapped(&src.stippled_smooth_lines),
63 }
64 }
65}
66
67impl Default for VkPhysicalDeviceLineRasterizationFeatures {
68 fn default() -> VkPhysicalDeviceLineRasterizationFeatures {
69 VkPhysicalDeviceLineRasterizationFeatures {
70 rectangular_lines: false,
71 bresenham_lines: false,
72 smooth_lines: false,
73 stippled_rectangular_lines: false,
74 stippled_bresenham_lines: false,
75 stippled_smooth_lines: false,
76 }
77 }
78}
79
80impl VkSetup for VkPhysicalDeviceLineRasterizationFeatures {
81 fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
82
83 }
84}
85
86impl VkFree for RawVkPhysicalDeviceLineRasterizationFeatures {
87 fn vk_free(&self) {
88
89 }
90}