lava/vulkan/ext/
vk_physical_device_blend_operation_advanced_properties.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 VkPhysicalDeviceBlendOperationAdvancedProperties {
19 pub advanced_blend_max_color_attachments: usize,
20 pub advanced_blend_independent_blend: bool,
21 pub advanced_blend_non_premultiplied_src_color: bool,
22 pub advanced_blend_non_premultiplied_dst_color: bool,
23 pub advanced_blend_correlated_overlap: bool,
24 pub advanced_blend_all_operations: bool,
25}
26
27#[doc(hidden)]
28#[repr(C)]
29#[derive(Debug, Copy, Clone)]
30pub struct RawVkPhysicalDeviceBlendOperationAdvancedProperties {
31 pub s_type: RawVkStructureType,
32 pub next: *mut c_void,
33 pub advanced_blend_max_color_attachments: u32,
34 pub advanced_blend_independent_blend: u32,
35 pub advanced_blend_non_premultiplied_src_color: u32,
36 pub advanced_blend_non_premultiplied_dst_color: u32,
37 pub advanced_blend_correlated_overlap: u32,
38 pub advanced_blend_all_operations: u32,
39}
40
41impl VkWrappedType<RawVkPhysicalDeviceBlendOperationAdvancedProperties> for VkPhysicalDeviceBlendOperationAdvancedProperties {
42 fn vk_to_raw(src: &VkPhysicalDeviceBlendOperationAdvancedProperties, dst: &mut RawVkPhysicalDeviceBlendOperationAdvancedProperties) {
43 dst.s_type = vk_to_raw_value(&VkStructureType::PhysicalDeviceBlendOperationAdvancedPropertiesExt);
44 dst.next = ptr::null_mut();
45 dst.advanced_blend_max_color_attachments = vk_to_raw_value(&src.advanced_blend_max_color_attachments);
46 dst.advanced_blend_independent_blend = vk_to_raw_value(&src.advanced_blend_independent_blend);
47 dst.advanced_blend_non_premultiplied_src_color = vk_to_raw_value(&src.advanced_blend_non_premultiplied_src_color);
48 dst.advanced_blend_non_premultiplied_dst_color = vk_to_raw_value(&src.advanced_blend_non_premultiplied_dst_color);
49 dst.advanced_blend_correlated_overlap = vk_to_raw_value(&src.advanced_blend_correlated_overlap);
50 dst.advanced_blend_all_operations = vk_to_raw_value(&src.advanced_blend_all_operations);
51 }
52}
53
54impl VkRawType<VkPhysicalDeviceBlendOperationAdvancedProperties> for RawVkPhysicalDeviceBlendOperationAdvancedProperties {
55 fn vk_to_wrapped(src: &RawVkPhysicalDeviceBlendOperationAdvancedProperties) -> VkPhysicalDeviceBlendOperationAdvancedProperties {
56 VkPhysicalDeviceBlendOperationAdvancedProperties {
57 advanced_blend_max_color_attachments: u32::vk_to_wrapped(&src.advanced_blend_max_color_attachments),
58 advanced_blend_independent_blend: u32::vk_to_wrapped(&src.advanced_blend_independent_blend),
59 advanced_blend_non_premultiplied_src_color: u32::vk_to_wrapped(&src.advanced_blend_non_premultiplied_src_color),
60 advanced_blend_non_premultiplied_dst_color: u32::vk_to_wrapped(&src.advanced_blend_non_premultiplied_dst_color),
61 advanced_blend_correlated_overlap: u32::vk_to_wrapped(&src.advanced_blend_correlated_overlap),
62 advanced_blend_all_operations: u32::vk_to_wrapped(&src.advanced_blend_all_operations),
63 }
64 }
65}
66
67impl Default for VkPhysicalDeviceBlendOperationAdvancedProperties {
68 fn default() -> VkPhysicalDeviceBlendOperationAdvancedProperties {
69 VkPhysicalDeviceBlendOperationAdvancedProperties {
70 advanced_blend_max_color_attachments: 0,
71 advanced_blend_independent_blend: false,
72 advanced_blend_non_premultiplied_src_color: false,
73 advanced_blend_non_premultiplied_dst_color: false,
74 advanced_blend_correlated_overlap: false,
75 advanced_blend_all_operations: false,
76 }
77 }
78}
79
80impl VkSetup for VkPhysicalDeviceBlendOperationAdvancedProperties {
81 fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
82
83 }
84}
85
86impl VkFree for RawVkPhysicalDeviceBlendOperationAdvancedProperties {
87 fn vk_free(&self) {
88
89 }
90}