11use super :: conv;
22
33use arrayvec:: ArrayVec ;
4- use ash:: { extensions :: ext , vk } ;
4+ use ash:: vk ;
55
66use std:: { mem, ops:: Range , slice} ;
77
@@ -39,12 +39,6 @@ impl super::Texture {
3939 }
4040}
4141
42- impl super :: DeviceShared {
43- fn debug_messenger ( & self ) -> Option < & ext:: DebugUtils > {
44- Some ( & self . instance . debug_utils . as_ref ( ) ?. extension )
45- }
46- }
47-
4842impl super :: CommandEncoder {
4943 fn write_pass_end_timestamp_if_requested ( & mut self ) {
5044 if let Some ( ( query_set, index) ) = self . end_of_pass_timer_query . take ( ) {
@@ -65,31 +59,23 @@ impl crate::CommandEncoder for super::CommandEncoder {
6559
6660 unsafe fn begin_encoding ( & mut self , label : crate :: Label ) -> Result < ( ) , crate :: DeviceError > {
6761 if self . free . is_empty ( ) {
68- let vk_info = vk:: CommandBufferAllocateInfo :: builder ( )
62+ let vk_info = vk:: CommandBufferAllocateInfo :: default ( )
6963 . command_pool ( self . raw )
70- . command_buffer_count ( ALLOCATION_GRANULARITY )
71- . build ( ) ;
64+ . command_buffer_count ( ALLOCATION_GRANULARITY ) ;
7265 let cmd_buf_vec = unsafe { self . device . raw . allocate_command_buffers ( & vk_info) ? } ;
7366 self . free . extend ( cmd_buf_vec) ;
7467 }
7568 let raw = self . free . pop ( ) . unwrap ( ) ;
7669
7770 // Set the name unconditionally, since there might be a
7871 // previous name assigned to this.
79- unsafe {
80- self . device . set_object_name (
81- vk:: ObjectType :: COMMAND_BUFFER ,
82- raw,
83- label. unwrap_or_default ( ) ,
84- )
85- } ;
72+ unsafe { self . device . set_object_name ( raw, label. unwrap_or_default ( ) ) } ;
8673
8774 // Reset this in case the last renderpass was never ended.
8875 self . rpass_debug_marker_active = false ;
8976
90- let vk_info = vk:: CommandBufferBeginInfo :: builder ( )
91- . flags ( vk:: CommandBufferUsageFlags :: ONE_TIME_SUBMIT )
92- . build ( ) ;
77+ let vk_info = vk:: CommandBufferBeginInfo :: default ( )
78+ . flags ( vk:: CommandBufferUsageFlags :: ONE_TIME_SUBMIT ) ;
9379 unsafe { self . device . raw . begin_command_buffer ( raw, & vk_info) } ?;
9480 self . active = raw;
9581
@@ -140,12 +126,11 @@ impl crate::CommandEncoder for super::CommandEncoder {
140126 dst_stages |= dst_stage;
141127
142128 vk_barriers. push (
143- vk:: BufferMemoryBarrier :: builder ( )
129+ vk:: BufferMemoryBarrier :: default ( )
144130 . buffer ( bar. buffer . raw )
145131 . size ( vk:: WHOLE_SIZE )
146132 . src_access_mask ( src_access)
147- . dst_access_mask ( dst_access)
148- . build ( ) ,
133+ . dst_access_mask ( dst_access) ,
149134 )
150135 }
151136
@@ -187,14 +172,13 @@ impl crate::CommandEncoder for super::CommandEncoder {
187172 dst_stages |= dst_stage;
188173
189174 vk_barriers. push (
190- vk:: ImageMemoryBarrier :: builder ( )
175+ vk:: ImageMemoryBarrier :: default ( )
191176 . image ( bar. texture . raw )
192177 . subresource_range ( range)
193178 . src_access_mask ( src_access)
194179 . dst_access_mask ( dst_access)
195180 . old_layout ( src_layout)
196- . new_layout ( dst_layout)
197- . build ( ) ,
181+ . new_layout ( dst_layout) ,
198182 ) ;
199183 }
200184
@@ -437,7 +421,7 @@ impl crate::CommandEncoder for super::CommandEncoder {
437421 Some ( buffer) => ray_tracing_functions
438422 . buffer_device_address
439423 . get_buffer_device_address (
440- & vk:: BufferDeviceAddressInfo :: builder ( ) . buffer ( buffer. raw ) ,
424+ & vk:: BufferDeviceAddressInfo :: default ( ) . buffer ( buffer. raw ) ,
441425 ) ,
442426 None => panic ! ( "Buffers are required to build acceleration structures" ) ,
443427 }
@@ -464,23 +448,24 @@ impl crate::CommandEncoder for super::CommandEncoder {
464448 for desc in descriptors {
465449 let ( geometries, ranges) = match * desc. entries {
466450 crate :: AccelerationStructureEntries :: Instances ( ref instances) => {
467- let instance_data = vk:: AccelerationStructureGeometryInstancesDataKHR :: builder (
451+ let instance_data = vk:: AccelerationStructureGeometryInstancesDataKHR :: default (
452+ // TODO: Code is so large that rustfmt refuses to treat this... :(
468453 )
469454 . data ( vk:: DeviceOrHostAddressConstKHR {
470455 device_address : get_device_address ( instances. buffer ) ,
471456 } ) ;
472457
473- let geometry = vk:: AccelerationStructureGeometryKHR :: builder ( )
458+ let geometry = vk:: AccelerationStructureGeometryKHR :: default ( )
474459 . geometry_type ( vk:: GeometryTypeKHR :: INSTANCES )
475460 . geometry ( vk:: AccelerationStructureGeometryDataKHR {
476- instances : * instance_data,
461+ instances : instance_data,
477462 } ) ;
478463
479- let range = vk:: AccelerationStructureBuildRangeInfoKHR :: builder ( )
464+ let range = vk:: AccelerationStructureBuildRangeInfoKHR :: default ( )
480465 . primitive_count ( instances. count )
481466 . primitive_offset ( instances. offset ) ;
482467
483- ( smallvec:: smallvec![ * geometry] , smallvec:: smallvec![ * range] )
468+ ( smallvec:: smallvec![ geometry] , smallvec:: smallvec![ range] )
484469 }
485470 crate :: AccelerationStructureEntries :: Triangles ( ref in_geometries) => {
486471 let mut ranges = smallvec:: SmallVec :: <
@@ -491,15 +476,15 @@ impl crate::CommandEncoder for super::CommandEncoder {
491476 > :: with_capacity ( in_geometries. len ( ) ) ;
492477 for triangles in in_geometries {
493478 let mut triangle_data =
494- vk:: AccelerationStructureGeometryTrianglesDataKHR :: builder ( )
479+ vk:: AccelerationStructureGeometryTrianglesDataKHR :: default ( )
495480 . vertex_data ( vk:: DeviceOrHostAddressConstKHR {
496481 device_address : get_device_address ( triangles. vertex_buffer ) ,
497482 } )
498483 . vertex_format ( conv:: map_vertex_format ( triangles. vertex_format ) )
499484 . max_vertex ( triangles. vertex_count )
500485 . vertex_stride ( triangles. vertex_stride ) ;
501486
502- let mut range = vk:: AccelerationStructureBuildRangeInfoKHR :: builder ( ) ;
487+ let mut range = vk:: AccelerationStructureBuildRangeInfoKHR :: default ( ) ;
503488
504489 if let Some ( ref indices) = triangles. indices {
505490 triangle_data = triangle_data
@@ -523,7 +508,7 @@ impl crate::CommandEncoder for super::CommandEncoder {
523508 ray_tracing_functions
524509 . buffer_device_address
525510 . get_buffer_device_address (
526- & vk:: BufferDeviceAddressInfo :: builder ( )
511+ & vk:: BufferDeviceAddressInfo :: default ( )
527512 . buffer ( transform. buffer . raw ) ,
528513 )
529514 } ;
@@ -535,17 +520,17 @@ impl crate::CommandEncoder for super::CommandEncoder {
535520 range = range. transform_offset ( transform. offset ) ;
536521 }
537522
538- let geometry = vk:: AccelerationStructureGeometryKHR :: builder ( )
523+ let geometry = vk:: AccelerationStructureGeometryKHR :: default ( )
539524 . geometry_type ( vk:: GeometryTypeKHR :: TRIANGLES )
540525 . geometry ( vk:: AccelerationStructureGeometryDataKHR {
541- triangles : * triangle_data,
526+ triangles : triangle_data,
542527 } )
543528 . flags ( conv:: map_acceleration_structure_geometry_flags (
544529 triangles. flags ,
545530 ) ) ;
546531
547- geometries. push ( * geometry) ;
548- ranges. push ( * range) ;
532+ geometries. push ( geometry) ;
533+ ranges. push ( range) ;
549534 }
550535 ( geometries, ranges)
551536 }
@@ -557,25 +542,25 @@ impl crate::CommandEncoder for super::CommandEncoder {
557542 [ vk:: AccelerationStructureGeometryKHR ; CAPACITY_INNER ] ,
558543 > :: with_capacity ( in_geometries. len ( ) ) ;
559544 for aabb in in_geometries {
560- let aabbs_data = vk:: AccelerationStructureGeometryAabbsDataKHR :: builder ( )
545+ let aabbs_data = vk:: AccelerationStructureGeometryAabbsDataKHR :: default ( )
561546 . data ( vk:: DeviceOrHostAddressConstKHR {
562547 device_address : get_device_address ( aabb. buffer ) ,
563548 } )
564549 . stride ( aabb. stride ) ;
565550
566- let range = vk:: AccelerationStructureBuildRangeInfoKHR :: builder ( )
551+ let range = vk:: AccelerationStructureBuildRangeInfoKHR :: default ( )
567552 . primitive_count ( aabb. count )
568553 . primitive_offset ( aabb. offset ) ;
569554
570- let geometry = vk:: AccelerationStructureGeometryKHR :: builder ( )
555+ let geometry = vk:: AccelerationStructureGeometryKHR :: default ( )
571556 . geometry_type ( vk:: GeometryTypeKHR :: AABBS )
572557 . geometry ( vk:: AccelerationStructureGeometryDataKHR {
573- aabbs : * aabbs_data,
558+ aabbs : aabbs_data,
574559 } )
575560 . flags ( conv:: map_acceleration_structure_geometry_flags ( aabb. flags ) ) ;
576561
577- geometries. push ( * geometry) ;
578- ranges. push ( * range) ;
562+ geometries. push ( geometry) ;
563+ ranges. push ( range) ;
579564 }
580565 ( geometries, ranges)
581566 }
@@ -588,7 +573,7 @@ impl crate::CommandEncoder for super::CommandEncoder {
588573 ray_tracing_functions
589574 . buffer_device_address
590575 . get_buffer_device_address (
591- & vk:: BufferDeviceAddressInfo :: builder ( ) . buffer ( desc. scratch_buffer . raw ) ,
576+ & vk:: BufferDeviceAddressInfo :: default ( ) . buffer ( desc. scratch_buffer . raw ) ,
592577 )
593578 } ;
594579 let ty = match * desc. entries {
@@ -597,7 +582,7 @@ impl crate::CommandEncoder for super::CommandEncoder {
597582 }
598583 _ => vk:: AccelerationStructureTypeKHR :: BOTTOM_LEVEL ,
599584 } ;
600- let mut geometry_info = vk:: AccelerationStructureBuildGeometryInfoKHR :: builder ( )
585+ let mut geometry_info = vk:: AccelerationStructureBuildGeometryInfoKHR :: default ( )
601586 . ty ( ty)
602587 . mode ( conv:: map_acceleration_structure_build_mode ( desc. mode ) )
603588 . flags ( conv:: map_acceleration_structure_flags ( desc. flags ) )
@@ -613,7 +598,7 @@ impl crate::CommandEncoder for super::CommandEncoder {
613598 . raw ;
614599 }
615600
616- geometry_infos. push ( * geometry_info) ;
601+ geometry_infos. push ( geometry_info) ;
617602 }
618603
619604 for ( i, geometry_info) in geometry_infos. iter_mut ( ) . enumerate ( ) {
@@ -644,10 +629,9 @@ impl crate::CommandEncoder for super::CommandEncoder {
644629 src_stage | vk:: PipelineStageFlags :: TOP_OF_PIPE ,
645630 dst_stage | vk:: PipelineStageFlags :: BOTTOM_OF_PIPE ,
646631 vk:: DependencyFlags :: empty ( ) ,
647- & [ vk:: MemoryBarrier :: builder ( )
632+ & [ vk:: MemoryBarrier :: default ( )
648633 . src_access_mask ( src_access)
649- . dst_access_mask ( dst_access)
650- . build ( ) ] ,
634+ . dst_access_mask ( dst_access) ] ,
651635 & [ ] ,
652636 & [ ] ,
653637 )
@@ -749,17 +733,13 @@ impl crate::CommandEncoder for super::CommandEncoder {
749733 . make_framebuffer ( fb_key, raw_pass, desc. label )
750734 . unwrap ( ) ;
751735
752- let mut vk_info = vk:: RenderPassBeginInfo :: builder ( )
736+ let mut vk_info = vk:: RenderPassBeginInfo :: default ( )
753737 . render_pass ( raw_pass)
754738 . render_area ( render_area)
755739 . clear_values ( & vk_clear_values)
756740 . framebuffer ( raw_framebuffer) ;
757741 let mut vk_attachment_info = if caps. imageless_framebuffers {
758- Some (
759- vk:: RenderPassAttachmentBeginInfo :: builder ( )
760- . attachments ( & vk_image_views)
761- . build ( ) ,
762- )
742+ Some ( vk:: RenderPassAttachmentBeginInfo :: default ( ) . attachments ( & vk_image_views) )
763743 } else {
764744 None
765745 } ;
@@ -854,21 +834,21 @@ impl crate::CommandEncoder for super::CommandEncoder {
854834 }
855835
856836 unsafe fn insert_debug_marker ( & mut self , label : & str ) {
857- if let Some ( ext) = self . device . debug_messenger ( ) {
837+ if let Some ( ext) = self . device . extension_fns . debug_utils . as_ref ( ) {
858838 let cstr = self . temp . make_c_str ( label) ;
859- let vk_label = vk:: DebugUtilsLabelEXT :: builder ( ) . label_name ( cstr) . build ( ) ;
839+ let vk_label = vk:: DebugUtilsLabelEXT :: default ( ) . label_name ( cstr) ;
860840 unsafe { ext. cmd_insert_debug_utils_label ( self . active , & vk_label) } ;
861841 }
862842 }
863843 unsafe fn begin_debug_marker ( & mut self , group_label : & str ) {
864- if let Some ( ext) = self . device . debug_messenger ( ) {
844+ if let Some ( ext) = self . device . extension_fns . debug_utils . as_ref ( ) {
865845 let cstr = self . temp . make_c_str ( group_label) ;
866- let vk_label = vk:: DebugUtilsLabelEXT :: builder ( ) . label_name ( cstr) . build ( ) ;
846+ let vk_label = vk:: DebugUtilsLabelEXT :: default ( ) . label_name ( cstr) ;
867847 unsafe { ext. cmd_begin_debug_utils_label ( self . active , & vk_label) } ;
868848 }
869849 }
870850 unsafe fn end_debug_marker ( & mut self ) {
871- if let Some ( ext) = self . device . debug_messenger ( ) {
851+ if let Some ( ext) = self . device . extension_fns . debug_utils . as_ref ( ) {
872852 unsafe { ext. cmd_end_debug_utils_label ( self . active ) } ;
873853 }
874854 }
0 commit comments