1use crate::vk;
4
5impl crate::ext::extended_dynamic_state3::Device {
6 #[inline]
8 pub unsafe fn cmd_set_tessellation_domain_origin(
9 &self,
10 command_buffer: vk::CommandBuffer,
11 domain_origin: vk::TessellationDomainOrigin,
12 ) {
13 unsafe { (self.fp.cmd_set_tessellation_domain_origin_ext)(command_buffer, domain_origin) }
14 }
15
16 #[inline]
18 pub unsafe fn cmd_set_depth_clamp_enable(
19 &self,
20 command_buffer: vk::CommandBuffer,
21 depth_clamp_enable: bool,
22 ) {
23 unsafe {
24 (self.fp.cmd_set_depth_clamp_enable_ext)(command_buffer, depth_clamp_enable.into())
25 }
26 }
27
28 #[inline]
30 pub unsafe fn cmd_set_polygon_mode(
31 &self,
32 command_buffer: vk::CommandBuffer,
33 polygon_mode: vk::PolygonMode,
34 ) {
35 unsafe { (self.fp.cmd_set_polygon_mode_ext)(command_buffer, polygon_mode) }
36 }
37
38 #[inline]
40 pub unsafe fn cmd_set_rasterization_samples(
41 &self,
42 command_buffer: vk::CommandBuffer,
43 rasterization_samples: vk::SampleCountFlags,
44 ) {
45 unsafe {
46 (self.fp.cmd_set_rasterization_samples_ext)(command_buffer, rasterization_samples)
47 }
48 }
49
50 #[inline]
52 pub unsafe fn cmd_set_sample_mask(
53 &self,
54 command_buffer: vk::CommandBuffer,
55 samples: vk::SampleCountFlags,
56 sample_mask: &[vk::SampleMask],
57 ) {
58 unsafe {
59 assert!(
60 samples.as_raw().is_power_of_two(),
61 "Only one SampleCount bit must be set"
62 );
63 assert_eq!((samples.as_raw() as usize).div_ceil(32), sample_mask.len());
64 (self.fp.cmd_set_sample_mask_ext)(command_buffer, samples, sample_mask.as_ptr())
65 }
66 }
67
68 #[inline]
70 pub unsafe fn cmd_set_alpha_to_coverage_enable(
71 &self,
72 command_buffer: vk::CommandBuffer,
73 alpha_to_coverage_enable: bool,
74 ) {
75 unsafe {
76 (self.fp.cmd_set_alpha_to_coverage_enable_ext)(
77 command_buffer,
78 alpha_to_coverage_enable.into(),
79 )
80 }
81 }
82
83 #[inline]
85 pub unsafe fn cmd_set_alpha_to_one_enable(
86 &self,
87 command_buffer: vk::CommandBuffer,
88 alpha_to_one_enable: bool,
89 ) {
90 unsafe {
91 (self.fp.cmd_set_alpha_to_one_enable_ext)(command_buffer, alpha_to_one_enable.into())
92 }
93 }
94
95 #[inline]
97 pub unsafe fn cmd_set_logic_op_enable(
98 &self,
99 command_buffer: vk::CommandBuffer,
100 logic_op_enable: bool,
101 ) {
102 unsafe { (self.fp.cmd_set_logic_op_enable_ext)(command_buffer, logic_op_enable.into()) }
103 }
104
105 #[inline]
107 pub unsafe fn cmd_set_color_blend_enable(
108 &self,
109 command_buffer: vk::CommandBuffer,
110 first_attachment: u32,
111 color_blend_enables: &[vk::Bool32],
112 ) {
113 unsafe {
114 (self.fp.cmd_set_color_blend_enable_ext)(
115 command_buffer,
116 first_attachment,
117 color_blend_enables.len() as u32,
118 color_blend_enables.as_ptr(),
119 )
120 }
121 }
122
123 #[inline]
125 pub unsafe fn cmd_set_color_blend_equation(
126 &self,
127 command_buffer: vk::CommandBuffer,
128 first_attachment: u32,
129 color_blend_equations: &[vk::ColorBlendEquationEXT],
130 ) {
131 unsafe {
132 (self.fp.cmd_set_color_blend_equation_ext)(
133 command_buffer,
134 first_attachment,
135 color_blend_equations.len() as u32,
136 color_blend_equations.as_ptr(),
137 )
138 }
139 }
140
141 #[inline]
143 pub unsafe fn cmd_set_color_write_mask(
144 &self,
145 command_buffer: vk::CommandBuffer,
146 first_attachment: u32,
147 color_write_masks: &[vk::ColorComponentFlags],
148 ) {
149 unsafe {
150 (self.fp.cmd_set_color_write_mask_ext)(
151 command_buffer,
152 first_attachment,
153 color_write_masks.len() as u32,
154 color_write_masks.as_ptr(),
155 )
156 }
157 }
158
159 #[inline]
161 pub unsafe fn cmd_set_rasterization_stream(
162 &self,
163 command_buffer: vk::CommandBuffer,
164 rasterization_stream: u32,
165 ) {
166 unsafe { (self.fp.cmd_set_rasterization_stream_ext)(command_buffer, rasterization_stream) }
167 }
168
169 #[inline]
171 pub unsafe fn cmd_set_conservative_rasterization_mode(
172 &self,
173 command_buffer: vk::CommandBuffer,
174 conservative_rasterization_mode: vk::ConservativeRasterizationModeEXT,
175 ) {
176 unsafe {
177 (self.fp.cmd_set_conservative_rasterization_mode_ext)(
178 command_buffer,
179 conservative_rasterization_mode,
180 )
181 }
182 }
183
184 #[inline]
186 pub unsafe fn cmd_set_extra_primitive_overestimation_size(
187 &self,
188 command_buffer: vk::CommandBuffer,
189 extra_primitive_overestimation_size: f32,
190 ) {
191 unsafe {
192 (self.fp.cmd_set_extra_primitive_overestimation_size_ext)(
193 command_buffer,
194 extra_primitive_overestimation_size,
195 )
196 }
197 }
198
199 #[inline]
201 pub unsafe fn cmd_set_depth_clip_enable(
202 &self,
203 command_buffer: vk::CommandBuffer,
204 depth_clip_enable: bool,
205 ) {
206 unsafe { (self.fp.cmd_set_depth_clip_enable_ext)(command_buffer, depth_clip_enable.into()) }
207 }
208
209 #[inline]
211 pub unsafe fn cmd_set_sample_locations_enable(
212 &self,
213 command_buffer: vk::CommandBuffer,
214 sample_locations_enable: bool,
215 ) {
216 unsafe {
217 (self.fp.cmd_set_sample_locations_enable_ext)(
218 command_buffer,
219 sample_locations_enable.into(),
220 )
221 }
222 }
223
224 #[inline]
226 pub unsafe fn cmd_set_color_blend_advanced(
227 &self,
228 command_buffer: vk::CommandBuffer,
229 first_attachment: u32,
230 color_blend_advanced: &[vk::ColorBlendAdvancedEXT],
231 ) {
232 unsafe {
233 (self.fp.cmd_set_color_blend_advanced_ext)(
234 command_buffer,
235 first_attachment,
236 color_blend_advanced.len() as u32,
237 color_blend_advanced.as_ptr(),
238 )
239 }
240 }
241
242 #[inline]
244 pub unsafe fn cmd_set_provoking_vertex_mode(
245 &self,
246 command_buffer: vk::CommandBuffer,
247 provoking_vertex_mode: vk::ProvokingVertexModeEXT,
248 ) {
249 unsafe {
250 (self.fp.cmd_set_provoking_vertex_mode_ext)(command_buffer, provoking_vertex_mode)
251 }
252 }
253
254 #[inline]
256 pub unsafe fn cmd_set_line_rasterization_mode(
257 &self,
258 command_buffer: vk::CommandBuffer,
259 line_rasterization_mode: vk::LineRasterizationModeEXT,
260 ) {
261 unsafe {
262 (self.fp.cmd_set_line_rasterization_mode_ext)(command_buffer, line_rasterization_mode)
263 }
264 }
265
266 #[inline]
268 pub unsafe fn cmd_set_line_stipple_enable(
269 &self,
270 command_buffer: vk::CommandBuffer,
271 stippled_line_enable: bool,
272 ) {
273 unsafe {
274 (self.fp.cmd_set_line_stipple_enable_ext)(command_buffer, stippled_line_enable.into())
275 }
276 }
277
278 #[inline]
280 pub unsafe fn cmd_set_depth_clip_negative_one_to_one(
281 &self,
282 command_buffer: vk::CommandBuffer,
283 negative_one_to_one: bool,
284 ) {
285 unsafe {
286 (self.fp.cmd_set_depth_clip_negative_one_to_one_ext)(
287 command_buffer,
288 negative_one_to_one.into(),
289 )
290 }
291 }
292
293 #[inline]
295 pub unsafe fn cmd_set_viewport_w_scaling_enable_nv(
296 &self,
297 command_buffer: vk::CommandBuffer,
298 viewport_w_scaling_enable: bool,
299 ) {
300 unsafe {
301 (self.fp.cmd_set_viewport_w_scaling_enable_nv)(
302 command_buffer,
303 viewport_w_scaling_enable.into(),
304 )
305 }
306 }
307
308 #[inline]
310 pub unsafe fn cmd_set_viewport_swizzle_nv(
311 &self,
312 command_buffer: vk::CommandBuffer,
313 first_attachment: u32,
314 viewport_swizzles: &[vk::ViewportSwizzleNV],
315 ) {
316 unsafe {
317 (self.fp.cmd_set_viewport_swizzle_nv)(
318 command_buffer,
319 first_attachment,
320 viewport_swizzles.len() as u32,
321 viewport_swizzles.as_ptr(),
322 )
323 }
324 }
325
326 #[inline]
328 pub unsafe fn cmd_set_coverage_to_color_enable_nv(
329 &self,
330 command_buffer: vk::CommandBuffer,
331 coverage_to_color_enable: bool,
332 ) {
333 unsafe {
334 (self.fp.cmd_set_coverage_to_color_enable_nv)(
335 command_buffer,
336 coverage_to_color_enable.into(),
337 )
338 }
339 }
340
341 #[inline]
343 pub unsafe fn cmd_set_coverage_to_color_location_nv(
344 &self,
345 command_buffer: vk::CommandBuffer,
346 coverage_to_color_location: u32,
347 ) {
348 unsafe {
349 (self.fp.cmd_set_coverage_to_color_location_nv)(
350 command_buffer,
351 coverage_to_color_location,
352 )
353 }
354 }
355
356 #[inline]
358 pub unsafe fn cmd_set_coverage_modulation_mode_nv(
359 &self,
360 command_buffer: vk::CommandBuffer,
361 coverage_modulation_mode: vk::CoverageModulationModeNV,
362 ) {
363 unsafe {
364 (self.fp.cmd_set_coverage_modulation_mode_nv)(command_buffer, coverage_modulation_mode)
365 }
366 }
367
368 #[inline]
370 pub unsafe fn cmd_set_coverage_modulation_table_enable_nv(
371 &self,
372 command_buffer: vk::CommandBuffer,
373 coverage_modulation_table_enable: bool,
374 ) {
375 unsafe {
376 (self.fp.cmd_set_coverage_modulation_table_enable_nv)(
377 command_buffer,
378 coverage_modulation_table_enable.into(),
379 )
380 }
381 }
382
383 #[inline]
385 pub unsafe fn cmd_set_coverage_modulation_table_nv(
386 &self,
387 command_buffer: vk::CommandBuffer,
388 coverage_modulation_table: &[f32],
389 ) {
390 unsafe {
391 (self.fp.cmd_set_coverage_modulation_table_nv)(
392 command_buffer,
393 coverage_modulation_table.len() as u32,
394 coverage_modulation_table.as_ptr(),
395 )
396 }
397 }
398
399 #[inline]
401 pub unsafe fn cmd_set_shading_rate_image_enable_nv(
402 &self,
403 command_buffer: vk::CommandBuffer,
404 shading_rate_image_enable: bool,
405 ) {
406 unsafe {
407 (self.fp.cmd_set_shading_rate_image_enable_nv)(
408 command_buffer,
409 shading_rate_image_enable.into(),
410 )
411 }
412 }
413
414 #[inline]
416 pub unsafe fn cmd_set_representative_fragment_test_enable_nv(
417 &self,
418 command_buffer: vk::CommandBuffer,
419 representative_fragment_test_enable: bool,
420 ) {
421 unsafe {
422 (self.fp.cmd_set_representative_fragment_test_enable_nv)(
423 command_buffer,
424 representative_fragment_test_enable.into(),
425 )
426 }
427 }
428
429 #[inline]
431 pub unsafe fn cmd_set_coverage_reduction_mode_nv(
432 &self,
433 command_buffer: vk::CommandBuffer,
434 coverage_reduction_mode: vk::CoverageReductionModeNV,
435 ) {
436 unsafe {
437 (self.fp.cmd_set_coverage_reduction_mode_nv)(command_buffer, coverage_reduction_mode)
438 }
439 }
440}