Trait InstanceHooks
Source pub trait InstanceHooks: Send + Sync {
Show 85 methods
// Provided methods
fn get_physical_device_features(
&self,
_physical_device: PhysicalDevice,
_p_features: &mut MaybeUninit<PhysicalDeviceFeatures>,
) -> LayerResult<()> { ... }
fn get_physical_device_format_properties(
&self,
_physical_device: PhysicalDevice,
_format: Format,
_p_format_properties: &mut MaybeUninit<FormatProperties>,
) -> LayerResult<()> { ... }
fn get_physical_device_image_format_properties(
&self,
_physical_device: PhysicalDevice,
_format: Format,
_type: ImageType,
_tiling: ImageTiling,
_usage: ImageUsageFlags,
_flags: ImageCreateFlags,
_p_image_format_properties: &mut MaybeUninit<ImageFormatProperties>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_properties(
&self,
_physical_device: PhysicalDevice,
_p_properties: &mut MaybeUninit<PhysicalDeviceProperties>,
) -> LayerResult<()> { ... }
fn get_physical_device_queue_family_properties(
&self,
_physical_device: PhysicalDevice,
_p_queue_family_property_count: &mut MaybeUninit<u32>,
_p_queue_family_properties: Option<&mut [MaybeUninit<QueueFamilyProperties>]>,
) -> LayerResult<()> { ... }
fn get_physical_device_memory_properties(
&self,
_physical_device: PhysicalDevice,
_p_memory_properties: &mut MaybeUninit<PhysicalDeviceMemoryProperties>,
) -> LayerResult<()> { ... }
fn get_instance_proc_addr(
&self,
_p_name: &str,
) -> LayerResult<PFN_vkVoidFunction> { ... }
fn create_device(
&self,
_physical_device: PhysicalDevice,
_p_create_info: &DeviceCreateInfo,
_layer_device_link: &VkLayerDeviceLink,
_p_allocator: Option<&AllocationCallbacks>,
_p_device: &mut MaybeUninit<Device>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_sparse_image_format_properties(
&self,
_physical_device: PhysicalDevice,
_format: Format,
_type: ImageType,
_samples: SampleCountFlags,
_usage: ImageUsageFlags,
_tiling: ImageTiling,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<SparseImageFormatProperties>]>,
) -> LayerResult<()> { ... }
fn get_physical_device_features2(
&self,
_physical_device: PhysicalDevice,
_p_features: &mut MaybeUninit<PhysicalDeviceFeatures2>,
) -> LayerResult<()> { ... }
fn get_physical_device_properties2(
&self,
_physical_device: PhysicalDevice,
_p_properties: &mut MaybeUninit<PhysicalDeviceProperties2>,
) -> LayerResult<()> { ... }
fn get_physical_device_format_properties2(
&self,
_physical_device: PhysicalDevice,
_format: Format,
_p_format_properties: &mut MaybeUninit<FormatProperties2>,
) -> LayerResult<()> { ... }
fn get_physical_device_image_format_properties2(
&self,
_physical_device: PhysicalDevice,
_p_image_format_info: &PhysicalDeviceImageFormatInfo2,
_p_image_format_properties: &mut MaybeUninit<ImageFormatProperties2>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_queue_family_properties2(
&self,
_physical_device: PhysicalDevice,
_p_queue_family_property_count: &mut MaybeUninit<u32>,
_p_queue_family_properties: Option<&mut [MaybeUninit<QueueFamilyProperties2>]>,
) -> LayerResult<()> { ... }
fn get_physical_device_memory_properties2(
&self,
_physical_device: PhysicalDevice,
_p_memory_properties: &mut MaybeUninit<PhysicalDeviceMemoryProperties2>,
) -> LayerResult<()> { ... }
fn get_physical_device_sparse_image_format_properties2(
&self,
_physical_device: PhysicalDevice,
_p_format_info: &PhysicalDeviceSparseImageFormatInfo2,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<SparseImageFormatProperties2>]>,
) -> LayerResult<()> { ... }
fn get_physical_device_external_buffer_properties(
&self,
_physical_device: PhysicalDevice,
_p_external_buffer_info: &PhysicalDeviceExternalBufferInfo,
_p_external_buffer_properties: &mut MaybeUninit<ExternalBufferProperties>,
) -> LayerResult<()> { ... }
fn get_physical_device_external_fence_properties(
&self,
_physical_device: PhysicalDevice,
_p_external_fence_info: &PhysicalDeviceExternalFenceInfo,
_p_external_fence_properties: &mut MaybeUninit<ExternalFenceProperties>,
) -> LayerResult<()> { ... }
fn get_physical_device_external_semaphore_properties(
&self,
_physical_device: PhysicalDevice,
_p_external_semaphore_info: &PhysicalDeviceExternalSemaphoreInfo,
_p_external_semaphore_properties: &mut MaybeUninit<ExternalSemaphoreProperties>,
) -> LayerResult<()> { ... }
fn get_physical_device_tool_properties(
&self,
_physical_device: PhysicalDevice,
_p_tool_count: &mut MaybeUninit<u32>,
_p_tool_properties: Option<&mut [MaybeUninit<PhysicalDeviceToolProperties>]>,
) -> LayerResult<VkResult<()>> { ... }
fn destroy_surface_khr(
&self,
_surface: SurfaceKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<()> { ... }
fn get_physical_device_surface_support_khr(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
_surface: SurfaceKHR,
) -> LayerResult<VkResult<bool>> { ... }
fn get_physical_device_surface_capabilities_khr(
&self,
_physical_device: PhysicalDevice,
_surface: SurfaceKHR,
_p_surface_capabilities: &mut MaybeUninit<SurfaceCapabilitiesKHR>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_surface_formats_khr(
&self,
_physical_device: PhysicalDevice,
_surface: SurfaceKHR,
_p_surface_format_count: &mut MaybeUninit<u32>,
_p_surface_formats: Option<&mut [MaybeUninit<SurfaceFormatKHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_surface_present_modes_khr(
&self,
_physical_device: PhysicalDevice,
_surface: SurfaceKHR,
) -> LayerResult<VkResult<Vec<PresentModeKHR>>> { ... }
fn get_physical_device_present_rectangles_khr(
&self,
_physical_device: PhysicalDevice,
_surface: SurfaceKHR,
_p_rect_count: &mut MaybeUninit<u32>,
_p_rects: Option<&mut [MaybeUninit<Rect2D>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_display_properties_khr(
&self,
_physical_device: PhysicalDevice,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<DisplayPropertiesKHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_display_plane_properties_khr(
&self,
_physical_device: PhysicalDevice,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<DisplayPlanePropertiesKHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_display_plane_supported_displays_khr(
&self,
_physical_device: PhysicalDevice,
_plane_index: u32,
) -> LayerResult<VkResult<Vec<DisplayKHR>>> { ... }
fn get_display_mode_properties_khr(
&self,
_physical_device: PhysicalDevice,
_display: DisplayKHR,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<DisplayModePropertiesKHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn create_display_mode_khr(
&self,
_physical_device: PhysicalDevice,
_display: DisplayKHR,
_p_create_info: &DisplayModeCreateInfoKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<DisplayModeKHR>> { ... }
fn get_display_plane_capabilities_khr(
&self,
_physical_device: PhysicalDevice,
_mode: DisplayModeKHR,
_plane_index: u32,
_p_capabilities: &mut MaybeUninit<DisplayPlaneCapabilitiesKHR>,
) -> LayerResult<VkResult<()>> { ... }
fn create_display_plane_surface_khr(
&self,
_p_create_info: &DisplaySurfaceCreateInfoKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn create_xlib_surface_khr(
&self,
_p_create_info: &XlibSurfaceCreateInfoKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_xlib_presentation_support_khr(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
_dpy: &mut MaybeUninit<Display>,
_visual_id: VisualID,
) -> LayerResult<bool> { ... }
fn create_xcb_surface_khr(
&self,
_p_create_info: &XcbSurfaceCreateInfoKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_xcb_presentation_support_khr(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
_connection: *mut xcb_connection_t,
_visual_id: xcb_visualid_t,
) -> LayerResult<bool> { ... }
fn create_wayland_surface_khr(
&self,
_p_create_info: &WaylandSurfaceCreateInfoKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_wayland_presentation_support_khr(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
_display: *mut wl_display,
) -> LayerResult<bool> { ... }
fn create_android_surface_khr(
&self,
_p_create_info: &AndroidSurfaceCreateInfoKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn create_win32_surface_khr(
&self,
_p_create_info: &Win32SurfaceCreateInfoKHR,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_win32_presentation_support_khr(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
) -> LayerResult<bool> { ... }
fn get_physical_device_video_capabilities_khr(
&self,
_physical_device: PhysicalDevice,
_p_video_profile: &VideoProfileInfoKHR,
_p_capabilities: &mut MaybeUninit<VideoCapabilitiesKHR>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_video_format_properties_khr(
&self,
_physical_device: PhysicalDevice,
_p_video_format_info: &PhysicalDeviceVideoFormatInfoKHR,
_p_video_format_property_count: &mut MaybeUninit<u32>,
_p_video_format_properties: Option<&mut [MaybeUninit<VideoFormatPropertiesKHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn enumerate_physical_device_queue_family_performance_query_counters_khr(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
_p_counter_count: &mut MaybeUninit<u32>,
_p_counters: Option<&mut [MaybeUninit<PerformanceCounterKHR>]>,
_p_counter_descriptions: Option<&mut [MaybeUninit<PerformanceCounterDescriptionKHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_queue_family_performance_query_passes_khr(
&self,
_physical_device: PhysicalDevice,
_p_performance_query_create_info: &QueryPoolPerformanceCreateInfoKHR,
) -> LayerResult<u32> { ... }
fn get_physical_device_surface_capabilities2_khr(
&self,
_physical_device: PhysicalDevice,
_p_surface_info: &PhysicalDeviceSurfaceInfo2KHR,
_p_surface_capabilities: &mut MaybeUninit<SurfaceCapabilities2KHR>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_surface_formats2_khr(
&self,
_physical_device: PhysicalDevice,
_p_surface_info: &PhysicalDeviceSurfaceInfo2KHR,
_p_surface_format_count: &mut MaybeUninit<u32>,
_p_surface_formats: Option<&mut [MaybeUninit<SurfaceFormat2KHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_display_properties2_khr(
&self,
_physical_device: PhysicalDevice,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<DisplayProperties2KHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_display_plane_properties2_khr(
&self,
_physical_device: PhysicalDevice,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<DisplayPlaneProperties2KHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_display_mode_properties2_khr(
&self,
_physical_device: PhysicalDevice,
_display: DisplayKHR,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<DisplayModeProperties2KHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_display_plane_capabilities2_khr(
&self,
_physical_device: PhysicalDevice,
_p_display_plane_info: &DisplayPlaneInfo2KHR,
_p_capabilities: &mut MaybeUninit<DisplayPlaneCapabilities2KHR>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_fragment_shading_rates_khr(
&self,
_physical_device: PhysicalDevice,
_p_fragment_shading_rate_count: &mut MaybeUninit<u32>,
_p_fragment_shading_rates: Option<&mut [MaybeUninit<PhysicalDeviceFragmentShadingRateKHR>]>,
) -> LayerResult<VkResult<()>> { ... }
fn create_debug_report_callback_ext(
&self,
_p_create_info: &DebugReportCallbackCreateInfoEXT,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<DebugReportCallbackEXT>> { ... }
fn destroy_debug_report_callback_ext(
&self,
_callback: DebugReportCallbackEXT,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<()> { ... }
fn debug_report_message_ext(
&self,
_flags: DebugReportFlagsEXT,
_object_type: DebugReportObjectTypeEXT,
_object: u64,
_location: usize,
_message_code: i32,
_p_layer_prefix: &str,
_p_message: &str,
) -> LayerResult<()> { ... }
fn create_stream_descriptor_surface_ggp(
&self,
_p_create_info: &StreamDescriptorSurfaceCreateInfoGGP,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_external_image_format_properties_nv(
&self,
_physical_device: PhysicalDevice,
_format: Format,
_type: ImageType,
_tiling: ImageTiling,
_usage: ImageUsageFlags,
_flags: ImageCreateFlags,
_external_handle_type: ExternalMemoryHandleTypeFlagsNV,
_p_external_image_format_properties: &mut MaybeUninit<ExternalImageFormatPropertiesNV>,
) -> LayerResult<VkResult<()>> { ... }
fn create_vi_surface_nn(
&self,
_p_create_info: &ViSurfaceCreateInfoNN,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn release_display_ext(
&self,
_physical_device: PhysicalDevice,
_display: DisplayKHR,
) -> LayerResult<VkResult<()>> { ... }
fn acquire_xlib_display_ext(
&self,
_physical_device: PhysicalDevice,
_dpy: &mut MaybeUninit<Display>,
_display: DisplayKHR,
) -> LayerResult<VkResult<()>> { ... }
fn get_rand_r_output_display_ext(
&self,
_physical_device: PhysicalDevice,
_dpy: &mut MaybeUninit<Display>,
_rr_output: RROutput,
) -> LayerResult<VkResult<DisplayKHR>> { ... }
fn get_physical_device_surface_capabilities2_ext(
&self,
_physical_device: PhysicalDevice,
_surface: SurfaceKHR,
_p_surface_capabilities: &mut MaybeUninit<SurfaceCapabilities2EXT>,
) -> LayerResult<VkResult<()>> { ... }
fn create_ios_surface_mvk(
&self,
_p_create_info: &IOSSurfaceCreateInfoMVK,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn create_mac_os_surface_mvk(
&self,
_p_create_info: &MacOSSurfaceCreateInfoMVK,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn create_debug_utils_messenger_ext(
&self,
_p_create_info: &DebugUtilsMessengerCreateInfoEXT,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<DebugUtilsMessengerEXT>> { ... }
fn destroy_debug_utils_messenger_ext(
&self,
_messenger: DebugUtilsMessengerEXT,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<()> { ... }
fn submit_debug_utils_message_ext(
&self,
_message_severity: DebugUtilsMessageSeverityFlagsEXT,
_message_types: DebugUtilsMessageTypeFlagsEXT,
_p_callback_data: &DebugUtilsMessengerCallbackDataEXT,
) -> LayerResult<()> { ... }
fn get_physical_device_multisample_properties_ext(
&self,
_physical_device: PhysicalDevice,
_samples: SampleCountFlags,
_p_multisample_properties: &mut MaybeUninit<MultisamplePropertiesEXT>,
) -> LayerResult<()> { ... }
fn get_physical_device_calibrateable_time_domains_ext(
&self,
_physical_device: PhysicalDevice,
) -> LayerResult<VkResult<Vec<TimeDomainEXT>>> { ... }
fn create_image_pipe_surface_fuchsia(
&self,
_p_create_info: &ImagePipeSurfaceCreateInfoFUCHSIA,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn create_metal_surface_ext(
&self,
_p_create_info: &MetalSurfaceCreateInfoEXT,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_cooperative_matrix_properties_nv(
&self,
_physical_device: PhysicalDevice,
_p_property_count: &mut MaybeUninit<u32>,
_p_properties: Option<&mut [MaybeUninit<CooperativeMatrixPropertiesNV>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_supported_framebuffer_mixed_samples_combinations_nv(
&self,
_physical_device: PhysicalDevice,
_p_combination_count: &mut MaybeUninit<u32>,
_p_combinations: Option<&mut [MaybeUninit<FramebufferMixedSamplesCombinationNV>]>,
) -> LayerResult<VkResult<()>> { ... }
fn get_physical_device_surface_present_modes2_ext(
&self,
_physical_device: PhysicalDevice,
_p_surface_info: &PhysicalDeviceSurfaceInfo2KHR,
) -> LayerResult<VkResult<Vec<PresentModeKHR>>> { ... }
fn create_headless_surface_ext(
&self,
_p_create_info: &HeadlessSurfaceCreateInfoEXT,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn acquire_drm_display_ext(
&self,
_physical_device: PhysicalDevice,
_drm_fd: i32,
_display: DisplayKHR,
) -> LayerResult<VkResult<()>> { ... }
fn get_drm_display_ext(
&self,
_physical_device: PhysicalDevice,
_drm_fd: i32,
_connector_id: u32,
) -> LayerResult<VkResult<DisplayKHR>> { ... }
fn acquire_winrt_display_nv(
&self,
_physical_device: PhysicalDevice,
_display: DisplayKHR,
) -> LayerResult<VkResult<()>> { ... }
fn get_winrt_display_nv(
&self,
_physical_device: PhysicalDevice,
_device_relative_id: u32,
) -> LayerResult<VkResult<DisplayKHR>> { ... }
fn create_direct_fb_surface_ext(
&self,
_p_create_info: &DirectFBSurfaceCreateInfoEXT,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_direct_fb_presentation_support_ext(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
_dfb: &mut MaybeUninit<IDirectFB>,
) -> LayerResult<bool> { ... }
fn create_screen_surface_qnx(
&self,
_p_create_info: &ScreenSurfaceCreateInfoQNX,
_p_allocator: Option<&AllocationCallbacks>,
) -> LayerResult<VkResult<SurfaceKHR>> { ... }
fn get_physical_device_screen_presentation_support_qnx(
&self,
_physical_device: PhysicalDevice,
_queue_family_index: u32,
_window: *mut _screen_window,
) -> LayerResult<bool> { ... }
fn get_physical_device_optical_flow_image_formats_nv(
&self,
_physical_device: PhysicalDevice,
_p_optical_flow_image_format_info: &OpticalFlowImageFormatInfoNV,
_p_format_count: &mut MaybeUninit<u32>,
_p_image_format_properties: Option<&mut [MaybeUninit<OpticalFlowImageFormatPropertiesNV>]>,
) -> LayerResult<VkResult<()>> { ... }
}