| 596 | fn create_logical_device( |
| 597 | instance: &Instance, |
| 598 | physical_device: PhysicalDevice, |
| 599 | queue_family_index: u32, |
| 600 | ) -> (Device, Queue) { |
| 601 | let queue_priorities = [1.0f32]; |
| 602 | let queue_create_info = DeviceQueueCreateInfo::default() |
| 603 | .queue_family_index(queue_family_index) |
| 604 | .queue_priorities(&queue_priorities); |
| 605 | |
| 606 | let features = PhysicalDeviceFeatures::default().sample_rate_shading(true); |
| 607 | |
| 608 | let extensions = [KHR_SWAPCHAIN_NAME.as_ptr()]; |
| 609 | |
| 610 | let create_info = DeviceCreateInfo::default() |
| 611 | .queue_create_infos(std::slice::from_ref(&queue_create_info)) |
| 612 | .enabled_extension_names(&extensions) |
| 613 | .enabled_features(&features); |
| 614 | |
| 615 | let device = unsafe { |
| 616 | instance |