erupt/generated/extensions/
amd_rasterization_order.rs1#[doc(alias = "VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION")]
4pub const AMD_RASTERIZATION_ORDER_SPEC_VERSION: u32 = 1;
5#[doc(alias = "VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME")]
7pub const AMD_RASTERIZATION_ORDER_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8 "VK_AMD_rasterization_order"
9);
10impl crate::vk1_0::StructureType {
12 pub const PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: Self = Self(
13 1000018000,
14 );
15}
16#[doc(alias = "VkRasterizationOrderAMD")]
18#[derive(Copy, Clone, PartialEq, Eq, Hash, Default, Ord, PartialOrd)]
19#[repr(transparent)]
20pub struct RasterizationOrderAMD(pub i32);
21impl std::fmt::Debug for RasterizationOrderAMD {
22 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
23 f.write_str(
24 match self {
25 &Self::STRICT_AMD => "STRICT_AMD",
26 &Self::RELAXED_AMD => "RELAXED_AMD",
27 _ => "(unknown variant)",
28 },
29 )
30 }
31}
32impl crate::extensions::amd_rasterization_order::RasterizationOrderAMD {
34 pub const STRICT_AMD: Self = Self(0);
35 pub const RELAXED_AMD: Self = Self(1);
36}
37impl<'a> crate::ExtendableFrom<'a, PipelineRasterizationStateRasterizationOrderAMD>
38for crate::vk1_0::PipelineRasterizationStateCreateInfoBuilder<'a> {}
39impl<
40 'a,
41> crate::ExtendableFrom<'a, PipelineRasterizationStateRasterizationOrderAMDBuilder<'_>>
42for crate::vk1_0::PipelineRasterizationStateCreateInfoBuilder<'a> {}
43#[doc(alias = "VkPipelineRasterizationStateRasterizationOrderAMD")]
45#[derive(Copy, Clone)]
46#[repr(C)]
47pub struct PipelineRasterizationStateRasterizationOrderAMD {
48 pub s_type: crate::vk1_0::StructureType,
49 pub p_next: *const std::ffi::c_void,
50 pub rasterization_order: crate::extensions::amd_rasterization_order::RasterizationOrderAMD,
51}
52impl PipelineRasterizationStateRasterizationOrderAMD {
53 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
54}
55impl Default for PipelineRasterizationStateRasterizationOrderAMD {
56 fn default() -> Self {
57 Self {
58 s_type: Self::STRUCTURE_TYPE,
59 p_next: std::ptr::null(),
60 rasterization_order: Default::default(),
61 }
62 }
63}
64impl std::fmt::Debug for PipelineRasterizationStateRasterizationOrderAMD {
65 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
66 f.debug_struct("PipelineRasterizationStateRasterizationOrderAMD")
67 .field("s_type", &self.s_type)
68 .field("p_next", &self.p_next)
69 .field("rasterization_order", &self.rasterization_order)
70 .finish()
71 }
72}
73impl PipelineRasterizationStateRasterizationOrderAMD {
74 #[inline]
75 pub fn into_builder<'a>(
76 self,
77 ) -> PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
78 PipelineRasterizationStateRasterizationOrderAMDBuilder(
79 self,
80 std::marker::PhantomData,
81 )
82 }
83}
84#[derive(Copy, Clone)]
85#[repr(transparent)]
87pub struct PipelineRasterizationStateRasterizationOrderAMDBuilder<'a>(
88 PipelineRasterizationStateRasterizationOrderAMD,
89 std::marker::PhantomData<&'a ()>,
90);
91impl<'a> PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
92 #[inline]
93 pub fn new() -> PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
94 PipelineRasterizationStateRasterizationOrderAMDBuilder(
95 Default::default(),
96 std::marker::PhantomData,
97 )
98 }
99 #[inline]
100 #[must_use]
101 pub fn rasterization_order(
102 mut self,
103 rasterization_order: crate::extensions::amd_rasterization_order::RasterizationOrderAMD,
104 ) -> Self {
105 self.0.rasterization_order = rasterization_order as _;
106 self
107 }
108 #[inline]
109 pub fn build_dangling(self) -> PipelineRasterizationStateRasterizationOrderAMD {
112 self.0
113 }
114}
115impl<'a> std::default::Default
116for PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
117 fn default() -> PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
118 Self::new()
119 }
120}
121impl<'a> std::fmt::Debug for PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
122 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
123 std::fmt::Debug::fmt(&self.0, f)
124 }
125}
126impl<'a> std::ops::Deref for PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
127 type Target = PipelineRasterizationStateRasterizationOrderAMD;
128 fn deref(&self) -> &Self::Target {
129 &self.0
130 }
131}
132impl<'a> std::ops::DerefMut
133for PipelineRasterizationStateRasterizationOrderAMDBuilder<'a> {
134 fn deref_mut(&mut self) -> &mut Self::Target {
135 &mut self.0
136 }
137}