vulkan_layer\layer_trait/
generated.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#![allow(missing_docs)]
16// This file is generated from the Vulkan XML API registry.
17#![allow(clippy::too_many_arguments)]
18use std::{
19    ffi::{c_int, c_void},
20    mem::MaybeUninit,
21};
22
23use ash::{prelude::VkResult, vk};
24
25use super::{LayerResult, TryFromVulkanCommandError};
26use crate::VkLayerDeviceLink;
27
28// Unhandled commands:
29// * vkMapMemory2KHR: The ash Rust binding doesn't have proper bindings yet.
30// * vkUnmapMemory2KHR: The ash Rust binding doesn't have proper bindings yet.
31// * vkCmdSetDiscardRectangleEnableEXT: The ash Rust binding doesn't have proper bindings yet.
32// * vkCmdSetDiscardRectangleModeEXT: The ash Rust binding doesn't have proper bindings yet.
33// * vkCmdSetExclusiveScissorEnableNV: The ash Rust binding doesn't have proper bindings yet.
34// * vkGetDeviceFaultInfoEXT: The length info and the data pointer are nested in structs.
35// * vkCmdDrawClusterHUAWEI: The ash Rust binding doesn't have proper bindings yet.
36// * vkCmdDrawClusterIndirectHUAWEI: The ash Rust binding doesn't have proper bindings yet.
37// * vkCreateShadersEXT: The ash Rust binding doesn't have proper bindings yet.
38// * vkDestroyShaderEXT: The ash Rust binding doesn't have proper bindings yet.
39// * vkGetShaderBinaryDataEXT: The ash Rust binding doesn't have proper bindings yet.
40// * vkCmdBindShadersEXT: The ash Rust binding doesn't have proper bindings yet.
41// * vkCmdSetAttachmentFeedbackLoopEnableEXT: The ash Rust binding doesn't have proper bindings yet.
42// * vkCmdBuildAccelerationStructuresKHR: Dynamic multi-dimensional array bindings are not supported
43//   yet.
44// * vkCmdBuildAccelerationStructuresIndirectKHR: Dynamic multi-dimensional array bindings are not
45//   supported yet.
46// * vkBuildAccelerationStructuresKHR: Dynamic multi-dimensional array bindings are not supported
47//   yet.
48#[derive(Debug, PartialOrd, Ord, PartialEq, Eq, Hash, Clone)]
49pub enum VulkanCommand {
50    CreateInstance,
51    GetPhysicalDeviceFeatures,
52    GetPhysicalDeviceFormatProperties,
53    GetPhysicalDeviceImageFormatProperties,
54    GetPhysicalDeviceProperties,
55    GetPhysicalDeviceQueueFamilyProperties,
56    GetPhysicalDeviceMemoryProperties,
57    GetInstanceProcAddr,
58    CreateDevice,
59    GetPhysicalDeviceSparseImageFormatProperties,
60    GetPhysicalDeviceFeatures2,
61    GetPhysicalDeviceProperties2,
62    GetPhysicalDeviceFormatProperties2,
63    GetPhysicalDeviceImageFormatProperties2,
64    GetPhysicalDeviceQueueFamilyProperties2,
65    GetPhysicalDeviceMemoryProperties2,
66    GetPhysicalDeviceSparseImageFormatProperties2,
67    GetPhysicalDeviceExternalBufferProperties,
68    GetPhysicalDeviceExternalFenceProperties,
69    GetPhysicalDeviceExternalSemaphoreProperties,
70    GetPhysicalDeviceToolProperties,
71    DestroySurfaceKhr,
72    GetPhysicalDeviceSurfaceSupportKhr,
73    GetPhysicalDeviceSurfaceCapabilitiesKhr,
74    GetPhysicalDeviceSurfaceFormatsKhr,
75    GetPhysicalDeviceSurfacePresentModesKhr,
76    GetPhysicalDevicePresentRectanglesKhr,
77    GetPhysicalDeviceDisplayPropertiesKhr,
78    GetPhysicalDeviceDisplayPlanePropertiesKhr,
79    GetDisplayPlaneSupportedDisplaysKhr,
80    GetDisplayModePropertiesKhr,
81    CreateDisplayModeKhr,
82    GetDisplayPlaneCapabilitiesKhr,
83    CreateDisplayPlaneSurfaceKhr,
84    CreateXlibSurfaceKhr,
85    GetPhysicalDeviceXlibPresentationSupportKhr,
86    CreateXcbSurfaceKhr,
87    GetPhysicalDeviceXcbPresentationSupportKhr,
88    CreateWaylandSurfaceKhr,
89    GetPhysicalDeviceWaylandPresentationSupportKhr,
90    CreateAndroidSurfaceKhr,
91    CreateWin32SurfaceKhr,
92    GetPhysicalDeviceWin32PresentationSupportKhr,
93    GetPhysicalDeviceVideoCapabilitiesKhr,
94    GetPhysicalDeviceVideoFormatPropertiesKhr,
95    EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKhr,
96    GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKhr,
97    GetPhysicalDeviceSurfaceCapabilities2Khr,
98    GetPhysicalDeviceSurfaceFormats2Khr,
99    GetPhysicalDeviceDisplayProperties2Khr,
100    GetPhysicalDeviceDisplayPlaneProperties2Khr,
101    GetDisplayModeProperties2Khr,
102    GetDisplayPlaneCapabilities2Khr,
103    GetPhysicalDeviceFragmentShadingRatesKhr,
104    CreateDebugReportCallbackExt,
105    DestroyDebugReportCallbackExt,
106    DebugReportMessageExt,
107    CreateStreamDescriptorSurfaceGgp,
108    GetPhysicalDeviceExternalImageFormatPropertiesNv,
109    CreateViSurfaceNn,
110    ReleaseDisplayExt,
111    AcquireXlibDisplayExt,
112    GetRandROutputDisplayExt,
113    GetPhysicalDeviceSurfaceCapabilities2Ext,
114    CreateIosSurfaceMvk,
115    CreateMacOsSurfaceMvk,
116    CreateDebugUtilsMessengerExt,
117    DestroyDebugUtilsMessengerExt,
118    SubmitDebugUtilsMessageExt,
119    GetPhysicalDeviceMultisamplePropertiesExt,
120    GetPhysicalDeviceCalibrateableTimeDomainsExt,
121    CreateImagePipeSurfaceFuchsia,
122    CreateMetalSurfaceExt,
123    GetPhysicalDeviceCooperativeMatrixPropertiesNv,
124    GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNv,
125    GetPhysicalDeviceSurfacePresentModes2Ext,
126    CreateHeadlessSurfaceExt,
127    AcquireDrmDisplayExt,
128    GetDrmDisplayExt,
129    AcquireWinrtDisplayNv,
130    GetWinrtDisplayNv,
131    CreateDirectFbSurfaceExt,
132    GetPhysicalDeviceDirectFbPresentationSupportExt,
133    CreateScreenSurfaceQnx,
134    GetPhysicalDeviceScreenPresentationSupportQnx,
135    GetPhysicalDeviceOpticalFlowImageFormatsNv,
136    GetDeviceProcAddr,
137    GetDeviceQueue,
138    QueueSubmit,
139    QueueWaitIdle,
140    DeviceWaitIdle,
141    AllocateMemory,
142    FreeMemory,
143    MapMemory,
144    UnmapMemory,
145    FlushMappedMemoryRanges,
146    InvalidateMappedMemoryRanges,
147    GetDeviceMemoryCommitment,
148    BindBufferMemory,
149    BindImageMemory,
150    GetBufferMemoryRequirements,
151    GetImageMemoryRequirements,
152    GetImageSparseMemoryRequirements,
153    QueueBindSparse,
154    CreateFence,
155    DestroyFence,
156    ResetFences,
157    GetFenceStatus,
158    WaitForFences,
159    CreateSemaphore,
160    DestroySemaphore,
161    CreateEvent,
162    DestroyEvent,
163    GetEventStatus,
164    SetEvent,
165    ResetEvent,
166    CreateQueryPool,
167    DestroyQueryPool,
168    GetQueryPoolResults,
169    CreateBuffer,
170    DestroyBuffer,
171    CreateBufferView,
172    DestroyBufferView,
173    CreateImage,
174    DestroyImage,
175    GetImageSubresourceLayout,
176    CreateImageView,
177    DestroyImageView,
178    CreateShaderModule,
179    DestroyShaderModule,
180    CreatePipelineCache,
181    DestroyPipelineCache,
182    GetPipelineCacheData,
183    MergePipelineCaches,
184    CreateGraphicsPipelines,
185    CreateComputePipelines,
186    DestroyPipeline,
187    CreatePipelineLayout,
188    DestroyPipelineLayout,
189    CreateSampler,
190    DestroySampler,
191    CreateDescriptorSetLayout,
192    DestroyDescriptorSetLayout,
193    CreateDescriptorPool,
194    DestroyDescriptorPool,
195    ResetDescriptorPool,
196    AllocateDescriptorSets,
197    FreeDescriptorSets,
198    UpdateDescriptorSets,
199    CreateFramebuffer,
200    DestroyFramebuffer,
201    CreateRenderPass,
202    DestroyRenderPass,
203    GetRenderAreaGranularity,
204    CreateCommandPool,
205    DestroyCommandPool,
206    ResetCommandPool,
207    AllocateCommandBuffers,
208    FreeCommandBuffers,
209    BeginCommandBuffer,
210    EndCommandBuffer,
211    ResetCommandBuffer,
212    CmdBindPipeline,
213    CmdSetViewport,
214    CmdSetScissor,
215    CmdSetLineWidth,
216    CmdSetDepthBias,
217    CmdSetBlendConstants,
218    CmdSetDepthBounds,
219    CmdSetStencilCompareMask,
220    CmdSetStencilWriteMask,
221    CmdSetStencilReference,
222    CmdBindDescriptorSets,
223    CmdBindIndexBuffer,
224    CmdBindVertexBuffers,
225    CmdDraw,
226    CmdDrawIndexed,
227    CmdDrawIndirect,
228    CmdDrawIndexedIndirect,
229    CmdDispatch,
230    CmdDispatchIndirect,
231    CmdCopyBuffer,
232    CmdCopyImage,
233    CmdBlitImage,
234    CmdCopyBufferToImage,
235    CmdCopyImageToBuffer,
236    CmdUpdateBuffer,
237    CmdFillBuffer,
238    CmdClearColorImage,
239    CmdClearDepthStencilImage,
240    CmdClearAttachments,
241    CmdResolveImage,
242    CmdSetEvent,
243    CmdResetEvent,
244    CmdWaitEvents,
245    CmdPipelineBarrier,
246    CmdBeginQuery,
247    CmdEndQuery,
248    CmdResetQueryPool,
249    CmdWriteTimestamp,
250    CmdCopyQueryPoolResults,
251    CmdPushConstants,
252    CmdBeginRenderPass,
253    CmdNextSubpass,
254    CmdEndRenderPass,
255    CmdExecuteCommands,
256    BindBufferMemory2,
257    BindImageMemory2,
258    GetDeviceGroupPeerMemoryFeatures,
259    CmdSetDeviceMask,
260    CmdDispatchBase,
261    GetImageMemoryRequirements2,
262    GetBufferMemoryRequirements2,
263    GetImageSparseMemoryRequirements2,
264    TrimCommandPool,
265    GetDeviceQueue2,
266    CreateSamplerYcbcrConversion,
267    DestroySamplerYcbcrConversion,
268    CreateDescriptorUpdateTemplate,
269    DestroyDescriptorUpdateTemplate,
270    UpdateDescriptorSetWithTemplate,
271    GetDescriptorSetLayoutSupport,
272    CmdDrawIndirectCount,
273    CmdDrawIndexedIndirectCount,
274    CreateRenderPass2,
275    CmdBeginRenderPass2,
276    CmdNextSubpass2,
277    CmdEndRenderPass2,
278    ResetQueryPool,
279    GetSemaphoreCounterValue,
280    WaitSemaphores,
281    SignalSemaphore,
282    GetBufferDeviceAddress,
283    GetBufferOpaqueCaptureAddress,
284    GetDeviceMemoryOpaqueCaptureAddress,
285    CreatePrivateDataSlot,
286    DestroyPrivateDataSlot,
287    SetPrivateData,
288    GetPrivateData,
289    CmdSetEvent2,
290    CmdResetEvent2,
291    CmdWaitEvents2,
292    CmdPipelineBarrier2,
293    CmdWriteTimestamp2,
294    QueueSubmit2,
295    CmdCopyBuffer2,
296    CmdCopyImage2,
297    CmdCopyBufferToImage2,
298    CmdCopyImageToBuffer2,
299    CmdBlitImage2,
300    CmdResolveImage2,
301    CmdBeginRendering,
302    CmdEndRendering,
303    CmdSetCullMode,
304    CmdSetFrontFace,
305    CmdSetPrimitiveTopology,
306    CmdSetViewportWithCount,
307    CmdSetScissorWithCount,
308    CmdBindVertexBuffers2,
309    CmdSetDepthTestEnable,
310    CmdSetDepthWriteEnable,
311    CmdSetDepthCompareOp,
312    CmdSetDepthBoundsTestEnable,
313    CmdSetStencilTestEnable,
314    CmdSetStencilOp,
315    CmdSetRasterizerDiscardEnable,
316    CmdSetDepthBiasEnable,
317    CmdSetPrimitiveRestartEnable,
318    GetDeviceBufferMemoryRequirements,
319    GetDeviceImageMemoryRequirements,
320    GetDeviceImageSparseMemoryRequirements,
321    CreateSwapchainKhr,
322    DestroySwapchainKhr,
323    GetSwapchainImagesKhr,
324    AcquireNextImageKhr,
325    QueuePresentKhr,
326    GetDeviceGroupPresentCapabilitiesKhr,
327    GetDeviceGroupSurfacePresentModesKhr,
328    AcquireNextImage2Khr,
329    CreateSharedSwapchainsKhr,
330    CreateVideoSessionKhr,
331    DestroyVideoSessionKhr,
332    GetVideoSessionMemoryRequirementsKhr,
333    BindVideoSessionMemoryKhr,
334    CreateVideoSessionParametersKhr,
335    UpdateVideoSessionParametersKhr,
336    DestroyVideoSessionParametersKhr,
337    CmdBeginVideoCodingKhr,
338    CmdEndVideoCodingKhr,
339    CmdControlVideoCodingKhr,
340    CmdDecodeVideoKhr,
341    GetMemoryWin32HandleKhr,
342    GetMemoryWin32HandlePropertiesKhr,
343    GetMemoryFdKhr,
344    GetMemoryFdPropertiesKhr,
345    ImportSemaphoreWin32HandleKhr,
346    GetSemaphoreWin32HandleKhr,
347    ImportSemaphoreFdKhr,
348    GetSemaphoreFdKhr,
349    CmdPushDescriptorSetKhr,
350    CmdPushDescriptorSetWithTemplateKhr,
351    GetSwapchainStatusKhr,
352    ImportFenceWin32HandleKhr,
353    GetFenceWin32HandleKhr,
354    ImportFenceFdKhr,
355    GetFenceFdKhr,
356    AcquireProfilingLockKhr,
357    ReleaseProfilingLockKhr,
358    CmdSetFragmentShadingRateKhr,
359    WaitForPresentKhr,
360    CreateDeferredOperationKhr,
361    DestroyDeferredOperationKhr,
362    GetDeferredOperationMaxConcurrencyKhr,
363    GetDeferredOperationResultKhr,
364    DeferredOperationJoinKhr,
365    GetPipelineExecutablePropertiesKhr,
366    GetPipelineExecutableStatisticsKhr,
367    GetPipelineExecutableInternalRepresentationsKhr,
368    CmdEncodeVideoKhr,
369    CmdWriteBufferMarker2Amd,
370    GetQueueCheckpointData2Nv,
371    CmdTraceRaysIndirect2Khr,
372    GetSwapchainGrallocUsageAndroid,
373    AcquireImageAndroid,
374    QueueSignalReleaseImageAndroid,
375    GetSwapchainGrallocUsage2Android,
376    DebugMarkerSetObjectTagExt,
377    DebugMarkerSetObjectNameExt,
378    CmdDebugMarkerBeginExt,
379    CmdDebugMarkerEndExt,
380    CmdDebugMarkerInsertExt,
381    CmdBindTransformFeedbackBuffersExt,
382    CmdBeginTransformFeedbackExt,
383    CmdEndTransformFeedbackExt,
384    CmdBeginQueryIndexedExt,
385    CmdEndQueryIndexedExt,
386    CmdDrawIndirectByteCountExt,
387    CreateCuModuleNvx,
388    CreateCuFunctionNvx,
389    DestroyCuModuleNvx,
390    DestroyCuFunctionNvx,
391    CmdCuLaunchKernelNvx,
392    GetImageViewHandleNvx,
393    GetImageViewAddressNvx,
394    GetShaderInfoAmd,
395    GetMemoryWin32HandleNv,
396    CmdBeginConditionalRenderingExt,
397    CmdEndConditionalRenderingExt,
398    CmdSetViewportWScalingNv,
399    DisplayPowerControlExt,
400    RegisterDeviceEventExt,
401    RegisterDisplayEventExt,
402    GetSwapchainCounterExt,
403    GetRefreshCycleDurationGoogle,
404    GetPastPresentationTimingGoogle,
405    CmdSetDiscardRectangleExt,
406    SetHdrMetadataExt,
407    SetDebugUtilsObjectNameExt,
408    SetDebugUtilsObjectTagExt,
409    QueueBeginDebugUtilsLabelExt,
410    QueueEndDebugUtilsLabelExt,
411    QueueInsertDebugUtilsLabelExt,
412    CmdBeginDebugUtilsLabelExt,
413    CmdEndDebugUtilsLabelExt,
414    CmdInsertDebugUtilsLabelExt,
415    GetAndroidHardwareBufferPropertiesAndroid,
416    GetMemoryAndroidHardwareBufferAndroid,
417    CmdSetSampleLocationsExt,
418    GetImageDrmFormatModifierPropertiesExt,
419    CreateValidationCacheExt,
420    DestroyValidationCacheExt,
421    MergeValidationCachesExt,
422    GetValidationCacheDataExt,
423    CmdBindShadingRateImageNv,
424    CmdSetViewportShadingRatePaletteNv,
425    CmdSetCoarseSampleOrderNv,
426    CreateAccelerationStructureNv,
427    DestroyAccelerationStructureNv,
428    GetAccelerationStructureMemoryRequirementsNv,
429    BindAccelerationStructureMemoryNv,
430    CmdBuildAccelerationStructureNv,
431    CmdCopyAccelerationStructureNv,
432    CmdTraceRaysNv,
433    CreateRayTracingPipelinesNv,
434    GetRayTracingShaderGroupHandlesKhr,
435    GetAccelerationStructureHandleNv,
436    CmdWriteAccelerationStructuresPropertiesNv,
437    CompileDeferredNv,
438    GetMemoryHostPointerPropertiesExt,
439    CmdWriteBufferMarkerAmd,
440    GetCalibratedTimestampsExt,
441    CmdDrawMeshTasksNv,
442    CmdDrawMeshTasksIndirectNv,
443    CmdDrawMeshTasksIndirectCountNv,
444    CmdSetExclusiveScissorNv,
445    CmdSetCheckpointNv,
446    GetQueueCheckpointDataNv,
447    InitializePerformanceApiIntel,
448    UninitializePerformanceApiIntel,
449    CmdSetPerformanceMarkerIntel,
450    CmdSetPerformanceStreamMarkerIntel,
451    CmdSetPerformanceOverrideIntel,
452    AcquirePerformanceConfigurationIntel,
453    ReleasePerformanceConfigurationIntel,
454    QueueSetPerformanceConfigurationIntel,
455    GetPerformanceParameterIntel,
456    SetLocalDimmingAmd,
457    AcquireFullScreenExclusiveModeExt,
458    ReleaseFullScreenExclusiveModeExt,
459    GetDeviceGroupSurfacePresentModes2Ext,
460    CmdSetLineStippleExt,
461    ReleaseSwapchainImagesExt,
462    GetGeneratedCommandsMemoryRequirementsNv,
463    CmdPreprocessGeneratedCommandsNv,
464    CmdExecuteGeneratedCommandsNv,
465    CmdBindPipelineShaderGroupNv,
466    CreateIndirectCommandsLayoutNv,
467    DestroyIndirectCommandsLayoutNv,
468    ExportMetalObjectsExt,
469    GetDescriptorSetLayoutSizeExt,
470    GetDescriptorSetLayoutBindingOffsetExt,
471    GetDescriptorExt,
472    CmdBindDescriptorBuffersExt,
473    CmdSetDescriptorBufferOffsetsExt,
474    CmdBindDescriptorBufferEmbeddedSamplersExt,
475    GetBufferOpaqueCaptureDescriptorDataExt,
476    GetImageOpaqueCaptureDescriptorDataExt,
477    GetImageViewOpaqueCaptureDescriptorDataExt,
478    GetSamplerOpaqueCaptureDescriptorDataExt,
479    GetAccelerationStructureOpaqueCaptureDescriptorDataExt,
480    CmdSetFragmentShadingRateEnumNv,
481    GetImageSubresourceLayout2Ext,
482    CmdSetVertexInputExt,
483    GetMemoryZirconHandleFuchsia,
484    GetMemoryZirconHandlePropertiesFuchsia,
485    ImportSemaphoreZirconHandleFuchsia,
486    GetSemaphoreZirconHandleFuchsia,
487    CreateBufferCollectionFuchsia,
488    SetBufferCollectionImageConstraintsFuchsia,
489    SetBufferCollectionBufferConstraintsFuchsia,
490    DestroyBufferCollectionFuchsia,
491    GetBufferCollectionPropertiesFuchsia,
492    GetDeviceSubpassShadingMaxWorkgroupSizeHuawei,
493    CmdSubpassShadingHuawei,
494    CmdBindInvocationMaskHuawei,
495    GetMemoryRemoteAddressNv,
496    GetPipelinePropertiesExt,
497    CmdSetPatchControlPointsExt,
498    CmdSetLogicOpExt,
499    CmdSetColorWriteEnableExt,
500    CmdDrawMultiExt,
501    CmdDrawMultiIndexedExt,
502    CreateMicromapExt,
503    DestroyMicromapExt,
504    CmdBuildMicromapsExt,
505    BuildMicromapsExt,
506    CopyMicromapExt,
507    CopyMicromapToMemoryExt,
508    CopyMemoryToMicromapExt,
509    WriteMicromapsPropertiesExt,
510    CmdCopyMicromapExt,
511    CmdCopyMicromapToMemoryExt,
512    CmdCopyMemoryToMicromapExt,
513    CmdWriteMicromapsPropertiesExt,
514    GetDeviceMicromapCompatibilityExt,
515    GetMicromapBuildSizesExt,
516    SetDeviceMemoryPriorityExt,
517    GetDescriptorSetLayoutHostMappingInfoValve,
518    GetDescriptorSetHostMappingValve,
519    CmdCopyMemoryIndirectNv,
520    CmdCopyMemoryToImageIndirectNv,
521    CmdDecompressMemoryNv,
522    CmdDecompressMemoryIndirectCountNv,
523    CmdSetTessellationDomainOriginExt,
524    CmdSetDepthClampEnableExt,
525    CmdSetPolygonModeExt,
526    CmdSetRasterizationSamplesExt,
527    CmdSetSampleMaskExt,
528    CmdSetAlphaToCoverageEnableExt,
529    CmdSetAlphaToOneEnableExt,
530    CmdSetLogicOpEnableExt,
531    CmdSetColorBlendEnableExt,
532    CmdSetColorBlendEquationExt,
533    CmdSetColorWriteMaskExt,
534    CmdSetRasterizationStreamExt,
535    CmdSetConservativeRasterizationModeExt,
536    CmdSetExtraPrimitiveOverestimationSizeExt,
537    CmdSetDepthClipEnableExt,
538    CmdSetSampleLocationsEnableExt,
539    CmdSetColorBlendAdvancedExt,
540    CmdSetProvokingVertexModeExt,
541    CmdSetLineRasterizationModeExt,
542    CmdSetLineStippleEnableExt,
543    CmdSetDepthClipNegativeOneToOneExt,
544    CmdSetViewportWScalingEnableNv,
545    CmdSetViewportSwizzleNv,
546    CmdSetCoverageToColorEnableNv,
547    CmdSetCoverageToColorLocationNv,
548    CmdSetCoverageModulationModeNv,
549    CmdSetCoverageModulationTableEnableNv,
550    CmdSetCoverageModulationTableNv,
551    CmdSetShadingRateImageEnableNv,
552    CmdSetRepresentativeFragmentTestEnableNv,
553    CmdSetCoverageReductionModeNv,
554    GetShaderModuleIdentifierExt,
555    GetShaderModuleCreateInfoIdentifierExt,
556    CreateOpticalFlowSessionNv,
557    DestroyOpticalFlowSessionNv,
558    BindOpticalFlowSessionImageNv,
559    CmdOpticalFlowExecuteNv,
560    GetFramebufferTilePropertiesQcom,
561    GetDynamicRenderingTilePropertiesQcom,
562    CreateAccelerationStructureKhr,
563    DestroyAccelerationStructureKhr,
564    CopyAccelerationStructureKhr,
565    CopyAccelerationStructureToMemoryKhr,
566    CopyMemoryToAccelerationStructureKhr,
567    WriteAccelerationStructuresPropertiesKhr,
568    CmdCopyAccelerationStructureKhr,
569    CmdCopyAccelerationStructureToMemoryKhr,
570    CmdCopyMemoryToAccelerationStructureKhr,
571    GetAccelerationStructureDeviceAddressKhr,
572    CmdWriteAccelerationStructuresPropertiesKhr,
573    GetDeviceAccelerationStructureCompatibilityKhr,
574    GetAccelerationStructureBuildSizesKhr,
575    CmdTraceRaysKhr,
576    CreateRayTracingPipelinesKhr,
577    GetRayTracingCaptureReplayShaderGroupHandlesKhr,
578    CmdTraceRaysIndirectKhr,
579    GetRayTracingShaderGroupStackSizeKhr,
580    CmdSetRayTracingPipelineStackSizeKhr,
581    CmdDrawMeshTasksExt,
582    CmdDrawMeshTasksIndirectExt,
583    CmdDrawMeshTasksIndirectCountExt,
584}
585
586impl TryFrom<&str> for VulkanCommand {
587    type Error = TryFromVulkanCommandError;
588
589    fn try_from(value: &str) -> Result<Self, Self::Error> {
590        match value {
591            "vkCreateInstance" => Ok(VulkanCommand::CreateInstance),
592            "vkGetPhysicalDeviceFeatures" => Ok(VulkanCommand::GetPhysicalDeviceFeatures),
593            "vkGetPhysicalDeviceFormatProperties" => {
594                Ok(VulkanCommand::GetPhysicalDeviceFormatProperties)
595            }
596            "vkGetPhysicalDeviceImageFormatProperties" => {
597                Ok(VulkanCommand::GetPhysicalDeviceImageFormatProperties)
598            }
599            "vkGetPhysicalDeviceProperties" => Ok(VulkanCommand::GetPhysicalDeviceProperties),
600            "vkGetPhysicalDeviceQueueFamilyProperties" => {
601                Ok(VulkanCommand::GetPhysicalDeviceQueueFamilyProperties)
602            }
603            "vkGetPhysicalDeviceMemoryProperties" => {
604                Ok(VulkanCommand::GetPhysicalDeviceMemoryProperties)
605            }
606            "vkGetInstanceProcAddr" => Ok(VulkanCommand::GetInstanceProcAddr),
607            "vkCreateDevice" => Ok(VulkanCommand::CreateDevice),
608            "vkGetPhysicalDeviceSparseImageFormatProperties" => {
609                Ok(VulkanCommand::GetPhysicalDeviceSparseImageFormatProperties)
610            }
611            "vkGetPhysicalDeviceFeatures2" => Ok(VulkanCommand::GetPhysicalDeviceFeatures2),
612            "vkGetPhysicalDeviceProperties2" => Ok(VulkanCommand::GetPhysicalDeviceProperties2),
613            "vkGetPhysicalDeviceFormatProperties2" => {
614                Ok(VulkanCommand::GetPhysicalDeviceFormatProperties2)
615            }
616            "vkGetPhysicalDeviceImageFormatProperties2" => {
617                Ok(VulkanCommand::GetPhysicalDeviceImageFormatProperties2)
618            }
619            "vkGetPhysicalDeviceQueueFamilyProperties2" => {
620                Ok(VulkanCommand::GetPhysicalDeviceQueueFamilyProperties2)
621            }
622            "vkGetPhysicalDeviceMemoryProperties2" => {
623                Ok(VulkanCommand::GetPhysicalDeviceMemoryProperties2)
624            }
625            "vkGetPhysicalDeviceSparseImageFormatProperties2" => {
626                Ok(VulkanCommand::GetPhysicalDeviceSparseImageFormatProperties2)
627            }
628            "vkGetPhysicalDeviceExternalBufferProperties" => {
629                Ok(VulkanCommand::GetPhysicalDeviceExternalBufferProperties)
630            }
631            "vkGetPhysicalDeviceExternalFenceProperties" => {
632                Ok(VulkanCommand::GetPhysicalDeviceExternalFenceProperties)
633            }
634            "vkGetPhysicalDeviceExternalSemaphoreProperties" => {
635                Ok(VulkanCommand::GetPhysicalDeviceExternalSemaphoreProperties)
636            }
637            "vkGetPhysicalDeviceToolProperties" => {
638                Ok(VulkanCommand::GetPhysicalDeviceToolProperties)
639            }
640            "vkDestroySurfaceKHR" => Ok(VulkanCommand::DestroySurfaceKhr),
641            "vkGetPhysicalDeviceSurfaceSupportKHR" => {
642                Ok(VulkanCommand::GetPhysicalDeviceSurfaceSupportKhr)
643            }
644            "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" => {
645                Ok(VulkanCommand::GetPhysicalDeviceSurfaceCapabilitiesKhr)
646            }
647            "vkGetPhysicalDeviceSurfaceFormatsKHR" => {
648                Ok(VulkanCommand::GetPhysicalDeviceSurfaceFormatsKhr)
649            }
650            "vkGetPhysicalDeviceSurfacePresentModesKHR" => {
651                Ok(VulkanCommand::GetPhysicalDeviceSurfacePresentModesKhr)
652            }
653            "vkGetPhysicalDevicePresentRectanglesKHR" => {
654                Ok(VulkanCommand::GetPhysicalDevicePresentRectanglesKhr)
655            }
656            "vkGetPhysicalDeviceDisplayPropertiesKHR" => {
657                Ok(VulkanCommand::GetPhysicalDeviceDisplayPropertiesKhr)
658            }
659            "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" => {
660                Ok(VulkanCommand::GetPhysicalDeviceDisplayPlanePropertiesKhr)
661            }
662            "vkGetDisplayPlaneSupportedDisplaysKHR" => {
663                Ok(VulkanCommand::GetDisplayPlaneSupportedDisplaysKhr)
664            }
665            "vkGetDisplayModePropertiesKHR" => Ok(VulkanCommand::GetDisplayModePropertiesKhr),
666            "vkCreateDisplayModeKHR" => Ok(VulkanCommand::CreateDisplayModeKhr),
667            "vkGetDisplayPlaneCapabilitiesKHR" => Ok(VulkanCommand::GetDisplayPlaneCapabilitiesKhr),
668            "vkCreateDisplayPlaneSurfaceKHR" => Ok(VulkanCommand::CreateDisplayPlaneSurfaceKhr),
669            "vkCreateXlibSurfaceKHR" => Ok(VulkanCommand::CreateXlibSurfaceKhr),
670            "vkGetPhysicalDeviceXlibPresentationSupportKHR" => {
671                Ok(VulkanCommand::GetPhysicalDeviceXlibPresentationSupportKhr)
672            }
673            "vkCreateXcbSurfaceKHR" => Ok(VulkanCommand::CreateXcbSurfaceKhr),
674            "vkGetPhysicalDeviceXcbPresentationSupportKHR" => {
675                Ok(VulkanCommand::GetPhysicalDeviceXcbPresentationSupportKhr)
676            }
677            "vkCreateWaylandSurfaceKHR" => Ok(VulkanCommand::CreateWaylandSurfaceKhr),
678            "vkGetPhysicalDeviceWaylandPresentationSupportKHR" => {
679                Ok(VulkanCommand::GetPhysicalDeviceWaylandPresentationSupportKhr)
680            }
681            "vkCreateAndroidSurfaceKHR" => Ok(VulkanCommand::CreateAndroidSurfaceKhr),
682            "vkCreateWin32SurfaceKHR" => Ok(VulkanCommand::CreateWin32SurfaceKhr),
683            "vkGetPhysicalDeviceWin32PresentationSupportKHR" => {
684                Ok(VulkanCommand::GetPhysicalDeviceWin32PresentationSupportKhr)
685            }
686            "vkGetPhysicalDeviceVideoCapabilitiesKHR" => {
687                Ok(VulkanCommand::GetPhysicalDeviceVideoCapabilitiesKhr)
688            }
689            "vkGetPhysicalDeviceVideoFormatPropertiesKHR" => {
690                Ok(VulkanCommand::GetPhysicalDeviceVideoFormatPropertiesKhr)
691            }
692            "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" => {
693                Ok(VulkanCommand::EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKhr)
694            }
695            "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" => {
696                Ok(VulkanCommand::GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKhr)
697            }
698            "vkGetPhysicalDeviceSurfaceCapabilities2KHR" => {
699                Ok(VulkanCommand::GetPhysicalDeviceSurfaceCapabilities2Khr)
700            }
701            "vkGetPhysicalDeviceSurfaceFormats2KHR" => {
702                Ok(VulkanCommand::GetPhysicalDeviceSurfaceFormats2Khr)
703            }
704            "vkGetPhysicalDeviceDisplayProperties2KHR" => {
705                Ok(VulkanCommand::GetPhysicalDeviceDisplayProperties2Khr)
706            }
707            "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" => {
708                Ok(VulkanCommand::GetPhysicalDeviceDisplayPlaneProperties2Khr)
709            }
710            "vkGetDisplayModeProperties2KHR" => Ok(VulkanCommand::GetDisplayModeProperties2Khr),
711            "vkGetDisplayPlaneCapabilities2KHR" => {
712                Ok(VulkanCommand::GetDisplayPlaneCapabilities2Khr)
713            }
714            "vkGetPhysicalDeviceFragmentShadingRatesKHR" => {
715                Ok(VulkanCommand::GetPhysicalDeviceFragmentShadingRatesKhr)
716            }
717            "vkCreateDebugReportCallbackEXT" => Ok(VulkanCommand::CreateDebugReportCallbackExt),
718            "vkDestroyDebugReportCallbackEXT" => Ok(VulkanCommand::DestroyDebugReportCallbackExt),
719            "vkDebugReportMessageEXT" => Ok(VulkanCommand::DebugReportMessageExt),
720            "vkCreateStreamDescriptorSurfaceGGP" => {
721                Ok(VulkanCommand::CreateStreamDescriptorSurfaceGgp)
722            }
723            "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" => {
724                Ok(VulkanCommand::GetPhysicalDeviceExternalImageFormatPropertiesNv)
725            }
726            "vkCreateViSurfaceNN" => Ok(VulkanCommand::CreateViSurfaceNn),
727            "vkReleaseDisplayEXT" => Ok(VulkanCommand::ReleaseDisplayExt),
728            "vkAcquireXlibDisplayEXT" => Ok(VulkanCommand::AcquireXlibDisplayExt),
729            "vkGetRandROutputDisplayEXT" => Ok(VulkanCommand::GetRandROutputDisplayExt),
730            "vkGetPhysicalDeviceSurfaceCapabilities2EXT" => {
731                Ok(VulkanCommand::GetPhysicalDeviceSurfaceCapabilities2Ext)
732            }
733            "vkCreateIOSSurfaceMVK" => Ok(VulkanCommand::CreateIosSurfaceMvk),
734            "vkCreateMacOSSurfaceMVK" => Ok(VulkanCommand::CreateMacOsSurfaceMvk),
735            "vkCreateDebugUtilsMessengerEXT" => Ok(VulkanCommand::CreateDebugUtilsMessengerExt),
736            "vkDestroyDebugUtilsMessengerEXT" => Ok(VulkanCommand::DestroyDebugUtilsMessengerExt),
737            "vkSubmitDebugUtilsMessageEXT" => Ok(VulkanCommand::SubmitDebugUtilsMessageExt),
738            "vkGetPhysicalDeviceMultisamplePropertiesEXT" => {
739                Ok(VulkanCommand::GetPhysicalDeviceMultisamplePropertiesExt)
740            }
741            "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" => {
742                Ok(VulkanCommand::GetPhysicalDeviceCalibrateableTimeDomainsExt)
743            }
744            "vkCreateImagePipeSurfaceFUCHSIA" => Ok(VulkanCommand::CreateImagePipeSurfaceFuchsia),
745            "vkCreateMetalSurfaceEXT" => Ok(VulkanCommand::CreateMetalSurfaceExt),
746            "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" => {
747                Ok(VulkanCommand::GetPhysicalDeviceCooperativeMatrixPropertiesNv)
748            }
749            "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" => {
750                Ok(VulkanCommand::GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNv)
751            }
752            "vkGetPhysicalDeviceSurfacePresentModes2EXT" => {
753                Ok(VulkanCommand::GetPhysicalDeviceSurfacePresentModes2Ext)
754            }
755            "vkCreateHeadlessSurfaceEXT" => Ok(VulkanCommand::CreateHeadlessSurfaceExt),
756            "vkAcquireDrmDisplayEXT" => Ok(VulkanCommand::AcquireDrmDisplayExt),
757            "vkGetDrmDisplayEXT" => Ok(VulkanCommand::GetDrmDisplayExt),
758            "vkAcquireWinrtDisplayNV" => Ok(VulkanCommand::AcquireWinrtDisplayNv),
759            "vkGetWinrtDisplayNV" => Ok(VulkanCommand::GetWinrtDisplayNv),
760            "vkCreateDirectFBSurfaceEXT" => Ok(VulkanCommand::CreateDirectFbSurfaceExt),
761            "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" => {
762                Ok(VulkanCommand::GetPhysicalDeviceDirectFbPresentationSupportExt)
763            }
764            "vkCreateScreenSurfaceQNX" => Ok(VulkanCommand::CreateScreenSurfaceQnx),
765            "vkGetPhysicalDeviceScreenPresentationSupportQNX" => {
766                Ok(VulkanCommand::GetPhysicalDeviceScreenPresentationSupportQnx)
767            }
768            "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" => {
769                Ok(VulkanCommand::GetPhysicalDeviceOpticalFlowImageFormatsNv)
770            }
771            "vkGetDeviceProcAddr" => Ok(VulkanCommand::GetDeviceProcAddr),
772            "vkGetDeviceQueue" => Ok(VulkanCommand::GetDeviceQueue),
773            "vkQueueSubmit" => Ok(VulkanCommand::QueueSubmit),
774            "vkQueueWaitIdle" => Ok(VulkanCommand::QueueWaitIdle),
775            "vkDeviceWaitIdle" => Ok(VulkanCommand::DeviceWaitIdle),
776            "vkAllocateMemory" => Ok(VulkanCommand::AllocateMemory),
777            "vkFreeMemory" => Ok(VulkanCommand::FreeMemory),
778            "vkMapMemory" => Ok(VulkanCommand::MapMemory),
779            "vkUnmapMemory" => Ok(VulkanCommand::UnmapMemory),
780            "vkFlushMappedMemoryRanges" => Ok(VulkanCommand::FlushMappedMemoryRanges),
781            "vkInvalidateMappedMemoryRanges" => Ok(VulkanCommand::InvalidateMappedMemoryRanges),
782            "vkGetDeviceMemoryCommitment" => Ok(VulkanCommand::GetDeviceMemoryCommitment),
783            "vkBindBufferMemory" => Ok(VulkanCommand::BindBufferMemory),
784            "vkBindImageMemory" => Ok(VulkanCommand::BindImageMemory),
785            "vkGetBufferMemoryRequirements" => Ok(VulkanCommand::GetBufferMemoryRequirements),
786            "vkGetImageMemoryRequirements" => Ok(VulkanCommand::GetImageMemoryRequirements),
787            "vkGetImageSparseMemoryRequirements" => {
788                Ok(VulkanCommand::GetImageSparseMemoryRequirements)
789            }
790            "vkQueueBindSparse" => Ok(VulkanCommand::QueueBindSparse),
791            "vkCreateFence" => Ok(VulkanCommand::CreateFence),
792            "vkDestroyFence" => Ok(VulkanCommand::DestroyFence),
793            "vkResetFences" => Ok(VulkanCommand::ResetFences),
794            "vkGetFenceStatus" => Ok(VulkanCommand::GetFenceStatus),
795            "vkWaitForFences" => Ok(VulkanCommand::WaitForFences),
796            "vkCreateSemaphore" => Ok(VulkanCommand::CreateSemaphore),
797            "vkDestroySemaphore" => Ok(VulkanCommand::DestroySemaphore),
798            "vkCreateEvent" => Ok(VulkanCommand::CreateEvent),
799            "vkDestroyEvent" => Ok(VulkanCommand::DestroyEvent),
800            "vkGetEventStatus" => Ok(VulkanCommand::GetEventStatus),
801            "vkSetEvent" => Ok(VulkanCommand::SetEvent),
802            "vkResetEvent" => Ok(VulkanCommand::ResetEvent),
803            "vkCreateQueryPool" => Ok(VulkanCommand::CreateQueryPool),
804            "vkDestroyQueryPool" => Ok(VulkanCommand::DestroyQueryPool),
805            "vkGetQueryPoolResults" => Ok(VulkanCommand::GetQueryPoolResults),
806            "vkCreateBuffer" => Ok(VulkanCommand::CreateBuffer),
807            "vkDestroyBuffer" => Ok(VulkanCommand::DestroyBuffer),
808            "vkCreateBufferView" => Ok(VulkanCommand::CreateBufferView),
809            "vkDestroyBufferView" => Ok(VulkanCommand::DestroyBufferView),
810            "vkCreateImage" => Ok(VulkanCommand::CreateImage),
811            "vkDestroyImage" => Ok(VulkanCommand::DestroyImage),
812            "vkGetImageSubresourceLayout" => Ok(VulkanCommand::GetImageSubresourceLayout),
813            "vkCreateImageView" => Ok(VulkanCommand::CreateImageView),
814            "vkDestroyImageView" => Ok(VulkanCommand::DestroyImageView),
815            "vkCreateShaderModule" => Ok(VulkanCommand::CreateShaderModule),
816            "vkDestroyShaderModule" => Ok(VulkanCommand::DestroyShaderModule),
817            "vkCreatePipelineCache" => Ok(VulkanCommand::CreatePipelineCache),
818            "vkDestroyPipelineCache" => Ok(VulkanCommand::DestroyPipelineCache),
819            "vkGetPipelineCacheData" => Ok(VulkanCommand::GetPipelineCacheData),
820            "vkMergePipelineCaches" => Ok(VulkanCommand::MergePipelineCaches),
821            "vkCreateGraphicsPipelines" => Ok(VulkanCommand::CreateGraphicsPipelines),
822            "vkCreateComputePipelines" => Ok(VulkanCommand::CreateComputePipelines),
823            "vkDestroyPipeline" => Ok(VulkanCommand::DestroyPipeline),
824            "vkCreatePipelineLayout" => Ok(VulkanCommand::CreatePipelineLayout),
825            "vkDestroyPipelineLayout" => Ok(VulkanCommand::DestroyPipelineLayout),
826            "vkCreateSampler" => Ok(VulkanCommand::CreateSampler),
827            "vkDestroySampler" => Ok(VulkanCommand::DestroySampler),
828            "vkCreateDescriptorSetLayout" => Ok(VulkanCommand::CreateDescriptorSetLayout),
829            "vkDestroyDescriptorSetLayout" => Ok(VulkanCommand::DestroyDescriptorSetLayout),
830            "vkCreateDescriptorPool" => Ok(VulkanCommand::CreateDescriptorPool),
831            "vkDestroyDescriptorPool" => Ok(VulkanCommand::DestroyDescriptorPool),
832            "vkResetDescriptorPool" => Ok(VulkanCommand::ResetDescriptorPool),
833            "vkAllocateDescriptorSets" => Ok(VulkanCommand::AllocateDescriptorSets),
834            "vkFreeDescriptorSets" => Ok(VulkanCommand::FreeDescriptorSets),
835            "vkUpdateDescriptorSets" => Ok(VulkanCommand::UpdateDescriptorSets),
836            "vkCreateFramebuffer" => Ok(VulkanCommand::CreateFramebuffer),
837            "vkDestroyFramebuffer" => Ok(VulkanCommand::DestroyFramebuffer),
838            "vkCreateRenderPass" => Ok(VulkanCommand::CreateRenderPass),
839            "vkDestroyRenderPass" => Ok(VulkanCommand::DestroyRenderPass),
840            "vkGetRenderAreaGranularity" => Ok(VulkanCommand::GetRenderAreaGranularity),
841            "vkCreateCommandPool" => Ok(VulkanCommand::CreateCommandPool),
842            "vkDestroyCommandPool" => Ok(VulkanCommand::DestroyCommandPool),
843            "vkResetCommandPool" => Ok(VulkanCommand::ResetCommandPool),
844            "vkAllocateCommandBuffers" => Ok(VulkanCommand::AllocateCommandBuffers),
845            "vkFreeCommandBuffers" => Ok(VulkanCommand::FreeCommandBuffers),
846            "vkBeginCommandBuffer" => Ok(VulkanCommand::BeginCommandBuffer),
847            "vkEndCommandBuffer" => Ok(VulkanCommand::EndCommandBuffer),
848            "vkResetCommandBuffer" => Ok(VulkanCommand::ResetCommandBuffer),
849            "vkCmdBindPipeline" => Ok(VulkanCommand::CmdBindPipeline),
850            "vkCmdSetViewport" => Ok(VulkanCommand::CmdSetViewport),
851            "vkCmdSetScissor" => Ok(VulkanCommand::CmdSetScissor),
852            "vkCmdSetLineWidth" => Ok(VulkanCommand::CmdSetLineWidth),
853            "vkCmdSetDepthBias" => Ok(VulkanCommand::CmdSetDepthBias),
854            "vkCmdSetBlendConstants" => Ok(VulkanCommand::CmdSetBlendConstants),
855            "vkCmdSetDepthBounds" => Ok(VulkanCommand::CmdSetDepthBounds),
856            "vkCmdSetStencilCompareMask" => Ok(VulkanCommand::CmdSetStencilCompareMask),
857            "vkCmdSetStencilWriteMask" => Ok(VulkanCommand::CmdSetStencilWriteMask),
858            "vkCmdSetStencilReference" => Ok(VulkanCommand::CmdSetStencilReference),
859            "vkCmdBindDescriptorSets" => Ok(VulkanCommand::CmdBindDescriptorSets),
860            "vkCmdBindIndexBuffer" => Ok(VulkanCommand::CmdBindIndexBuffer),
861            "vkCmdBindVertexBuffers" => Ok(VulkanCommand::CmdBindVertexBuffers),
862            "vkCmdDraw" => Ok(VulkanCommand::CmdDraw),
863            "vkCmdDrawIndexed" => Ok(VulkanCommand::CmdDrawIndexed),
864            "vkCmdDrawIndirect" => Ok(VulkanCommand::CmdDrawIndirect),
865            "vkCmdDrawIndexedIndirect" => Ok(VulkanCommand::CmdDrawIndexedIndirect),
866            "vkCmdDispatch" => Ok(VulkanCommand::CmdDispatch),
867            "vkCmdDispatchIndirect" => Ok(VulkanCommand::CmdDispatchIndirect),
868            "vkCmdCopyBuffer" => Ok(VulkanCommand::CmdCopyBuffer),
869            "vkCmdCopyImage" => Ok(VulkanCommand::CmdCopyImage),
870            "vkCmdBlitImage" => Ok(VulkanCommand::CmdBlitImage),
871            "vkCmdCopyBufferToImage" => Ok(VulkanCommand::CmdCopyBufferToImage),
872            "vkCmdCopyImageToBuffer" => Ok(VulkanCommand::CmdCopyImageToBuffer),
873            "vkCmdUpdateBuffer" => Ok(VulkanCommand::CmdUpdateBuffer),
874            "vkCmdFillBuffer" => Ok(VulkanCommand::CmdFillBuffer),
875            "vkCmdClearColorImage" => Ok(VulkanCommand::CmdClearColorImage),
876            "vkCmdClearDepthStencilImage" => Ok(VulkanCommand::CmdClearDepthStencilImage),
877            "vkCmdClearAttachments" => Ok(VulkanCommand::CmdClearAttachments),
878            "vkCmdResolveImage" => Ok(VulkanCommand::CmdResolveImage),
879            "vkCmdSetEvent" => Ok(VulkanCommand::CmdSetEvent),
880            "vkCmdResetEvent" => Ok(VulkanCommand::CmdResetEvent),
881            "vkCmdWaitEvents" => Ok(VulkanCommand::CmdWaitEvents),
882            "vkCmdPipelineBarrier" => Ok(VulkanCommand::CmdPipelineBarrier),
883            "vkCmdBeginQuery" => Ok(VulkanCommand::CmdBeginQuery),
884            "vkCmdEndQuery" => Ok(VulkanCommand::CmdEndQuery),
885            "vkCmdResetQueryPool" => Ok(VulkanCommand::CmdResetQueryPool),
886            "vkCmdWriteTimestamp" => Ok(VulkanCommand::CmdWriteTimestamp),
887            "vkCmdCopyQueryPoolResults" => Ok(VulkanCommand::CmdCopyQueryPoolResults),
888            "vkCmdPushConstants" => Ok(VulkanCommand::CmdPushConstants),
889            "vkCmdBeginRenderPass" => Ok(VulkanCommand::CmdBeginRenderPass),
890            "vkCmdNextSubpass" => Ok(VulkanCommand::CmdNextSubpass),
891            "vkCmdEndRenderPass" => Ok(VulkanCommand::CmdEndRenderPass),
892            "vkCmdExecuteCommands" => Ok(VulkanCommand::CmdExecuteCommands),
893            "vkBindBufferMemory2" => Ok(VulkanCommand::BindBufferMemory2),
894            "vkBindImageMemory2" => Ok(VulkanCommand::BindImageMemory2),
895            "vkGetDeviceGroupPeerMemoryFeatures" => {
896                Ok(VulkanCommand::GetDeviceGroupPeerMemoryFeatures)
897            }
898            "vkCmdSetDeviceMask" => Ok(VulkanCommand::CmdSetDeviceMask),
899            "vkCmdDispatchBase" => Ok(VulkanCommand::CmdDispatchBase),
900            "vkGetImageMemoryRequirements2" => Ok(VulkanCommand::GetImageMemoryRequirements2),
901            "vkGetBufferMemoryRequirements2" => Ok(VulkanCommand::GetBufferMemoryRequirements2),
902            "vkGetImageSparseMemoryRequirements2" => {
903                Ok(VulkanCommand::GetImageSparseMemoryRequirements2)
904            }
905            "vkTrimCommandPool" => Ok(VulkanCommand::TrimCommandPool),
906            "vkGetDeviceQueue2" => Ok(VulkanCommand::GetDeviceQueue2),
907            "vkCreateSamplerYcbcrConversion" => Ok(VulkanCommand::CreateSamplerYcbcrConversion),
908            "vkDestroySamplerYcbcrConversion" => Ok(VulkanCommand::DestroySamplerYcbcrConversion),
909            "vkCreateDescriptorUpdateTemplate" => Ok(VulkanCommand::CreateDescriptorUpdateTemplate),
910            "vkDestroyDescriptorUpdateTemplate" => {
911                Ok(VulkanCommand::DestroyDescriptorUpdateTemplate)
912            }
913            "vkUpdateDescriptorSetWithTemplate" => {
914                Ok(VulkanCommand::UpdateDescriptorSetWithTemplate)
915            }
916            "vkGetDescriptorSetLayoutSupport" => Ok(VulkanCommand::GetDescriptorSetLayoutSupport),
917            "vkCmdDrawIndirectCount" => Ok(VulkanCommand::CmdDrawIndirectCount),
918            "vkCmdDrawIndexedIndirectCount" => Ok(VulkanCommand::CmdDrawIndexedIndirectCount),
919            "vkCreateRenderPass2" => Ok(VulkanCommand::CreateRenderPass2),
920            "vkCmdBeginRenderPass2" => Ok(VulkanCommand::CmdBeginRenderPass2),
921            "vkCmdNextSubpass2" => Ok(VulkanCommand::CmdNextSubpass2),
922            "vkCmdEndRenderPass2" => Ok(VulkanCommand::CmdEndRenderPass2),
923            "vkResetQueryPool" => Ok(VulkanCommand::ResetQueryPool),
924            "vkGetSemaphoreCounterValue" => Ok(VulkanCommand::GetSemaphoreCounterValue),
925            "vkWaitSemaphores" => Ok(VulkanCommand::WaitSemaphores),
926            "vkSignalSemaphore" => Ok(VulkanCommand::SignalSemaphore),
927            "vkGetBufferDeviceAddress" => Ok(VulkanCommand::GetBufferDeviceAddress),
928            "vkGetBufferOpaqueCaptureAddress" => Ok(VulkanCommand::GetBufferOpaqueCaptureAddress),
929            "vkGetDeviceMemoryOpaqueCaptureAddress" => {
930                Ok(VulkanCommand::GetDeviceMemoryOpaqueCaptureAddress)
931            }
932            "vkCreatePrivateDataSlot" => Ok(VulkanCommand::CreatePrivateDataSlot),
933            "vkDestroyPrivateDataSlot" => Ok(VulkanCommand::DestroyPrivateDataSlot),
934            "vkSetPrivateData" => Ok(VulkanCommand::SetPrivateData),
935            "vkGetPrivateData" => Ok(VulkanCommand::GetPrivateData),
936            "vkCmdSetEvent2" => Ok(VulkanCommand::CmdSetEvent2),
937            "vkCmdResetEvent2" => Ok(VulkanCommand::CmdResetEvent2),
938            "vkCmdWaitEvents2" => Ok(VulkanCommand::CmdWaitEvents2),
939            "vkCmdPipelineBarrier2" => Ok(VulkanCommand::CmdPipelineBarrier2),
940            "vkCmdWriteTimestamp2" => Ok(VulkanCommand::CmdWriteTimestamp2),
941            "vkQueueSubmit2" => Ok(VulkanCommand::QueueSubmit2),
942            "vkCmdCopyBuffer2" => Ok(VulkanCommand::CmdCopyBuffer2),
943            "vkCmdCopyImage2" => Ok(VulkanCommand::CmdCopyImage2),
944            "vkCmdCopyBufferToImage2" => Ok(VulkanCommand::CmdCopyBufferToImage2),
945            "vkCmdCopyImageToBuffer2" => Ok(VulkanCommand::CmdCopyImageToBuffer2),
946            "vkCmdBlitImage2" => Ok(VulkanCommand::CmdBlitImage2),
947            "vkCmdResolveImage2" => Ok(VulkanCommand::CmdResolveImage2),
948            "vkCmdBeginRendering" => Ok(VulkanCommand::CmdBeginRendering),
949            "vkCmdEndRendering" => Ok(VulkanCommand::CmdEndRendering),
950            "vkCmdSetCullMode" => Ok(VulkanCommand::CmdSetCullMode),
951            "vkCmdSetFrontFace" => Ok(VulkanCommand::CmdSetFrontFace),
952            "vkCmdSetPrimitiveTopology" => Ok(VulkanCommand::CmdSetPrimitiveTopology),
953            "vkCmdSetViewportWithCount" => Ok(VulkanCommand::CmdSetViewportWithCount),
954            "vkCmdSetScissorWithCount" => Ok(VulkanCommand::CmdSetScissorWithCount),
955            "vkCmdBindVertexBuffers2" => Ok(VulkanCommand::CmdBindVertexBuffers2),
956            "vkCmdSetDepthTestEnable" => Ok(VulkanCommand::CmdSetDepthTestEnable),
957            "vkCmdSetDepthWriteEnable" => Ok(VulkanCommand::CmdSetDepthWriteEnable),
958            "vkCmdSetDepthCompareOp" => Ok(VulkanCommand::CmdSetDepthCompareOp),
959            "vkCmdSetDepthBoundsTestEnable" => Ok(VulkanCommand::CmdSetDepthBoundsTestEnable),
960            "vkCmdSetStencilTestEnable" => Ok(VulkanCommand::CmdSetStencilTestEnable),
961            "vkCmdSetStencilOp" => Ok(VulkanCommand::CmdSetStencilOp),
962            "vkCmdSetRasterizerDiscardEnable" => Ok(VulkanCommand::CmdSetRasterizerDiscardEnable),
963            "vkCmdSetDepthBiasEnable" => Ok(VulkanCommand::CmdSetDepthBiasEnable),
964            "vkCmdSetPrimitiveRestartEnable" => Ok(VulkanCommand::CmdSetPrimitiveRestartEnable),
965            "vkGetDeviceBufferMemoryRequirements" => {
966                Ok(VulkanCommand::GetDeviceBufferMemoryRequirements)
967            }
968            "vkGetDeviceImageMemoryRequirements" => {
969                Ok(VulkanCommand::GetDeviceImageMemoryRequirements)
970            }
971            "vkGetDeviceImageSparseMemoryRequirements" => {
972                Ok(VulkanCommand::GetDeviceImageSparseMemoryRequirements)
973            }
974            "vkCreateSwapchainKHR" => Ok(VulkanCommand::CreateSwapchainKhr),
975            "vkDestroySwapchainKHR" => Ok(VulkanCommand::DestroySwapchainKhr),
976            "vkGetSwapchainImagesKHR" => Ok(VulkanCommand::GetSwapchainImagesKhr),
977            "vkAcquireNextImageKHR" => Ok(VulkanCommand::AcquireNextImageKhr),
978            "vkQueuePresentKHR" => Ok(VulkanCommand::QueuePresentKhr),
979            "vkGetDeviceGroupPresentCapabilitiesKHR" => {
980                Ok(VulkanCommand::GetDeviceGroupPresentCapabilitiesKhr)
981            }
982            "vkGetDeviceGroupSurfacePresentModesKHR" => {
983                Ok(VulkanCommand::GetDeviceGroupSurfacePresentModesKhr)
984            }
985            "vkAcquireNextImage2KHR" => Ok(VulkanCommand::AcquireNextImage2Khr),
986            "vkCreateSharedSwapchainsKHR" => Ok(VulkanCommand::CreateSharedSwapchainsKhr),
987            "vkCreateVideoSessionKHR" => Ok(VulkanCommand::CreateVideoSessionKhr),
988            "vkDestroyVideoSessionKHR" => Ok(VulkanCommand::DestroyVideoSessionKhr),
989            "vkGetVideoSessionMemoryRequirementsKHR" => {
990                Ok(VulkanCommand::GetVideoSessionMemoryRequirementsKhr)
991            }
992            "vkBindVideoSessionMemoryKHR" => Ok(VulkanCommand::BindVideoSessionMemoryKhr),
993            "vkCreateVideoSessionParametersKHR" => {
994                Ok(VulkanCommand::CreateVideoSessionParametersKhr)
995            }
996            "vkUpdateVideoSessionParametersKHR" => {
997                Ok(VulkanCommand::UpdateVideoSessionParametersKhr)
998            }
999            "vkDestroyVideoSessionParametersKHR" => {
1000                Ok(VulkanCommand::DestroyVideoSessionParametersKhr)
1001            }
1002            "vkCmdBeginVideoCodingKHR" => Ok(VulkanCommand::CmdBeginVideoCodingKhr),
1003            "vkCmdEndVideoCodingKHR" => Ok(VulkanCommand::CmdEndVideoCodingKhr),
1004            "vkCmdControlVideoCodingKHR" => Ok(VulkanCommand::CmdControlVideoCodingKhr),
1005            "vkCmdDecodeVideoKHR" => Ok(VulkanCommand::CmdDecodeVideoKhr),
1006            "vkGetMemoryWin32HandleKHR" => Ok(VulkanCommand::GetMemoryWin32HandleKhr),
1007            "vkGetMemoryWin32HandlePropertiesKHR" => {
1008                Ok(VulkanCommand::GetMemoryWin32HandlePropertiesKhr)
1009            }
1010            "vkGetMemoryFdKHR" => Ok(VulkanCommand::GetMemoryFdKhr),
1011            "vkGetMemoryFdPropertiesKHR" => Ok(VulkanCommand::GetMemoryFdPropertiesKhr),
1012            "vkImportSemaphoreWin32HandleKHR" => Ok(VulkanCommand::ImportSemaphoreWin32HandleKhr),
1013            "vkGetSemaphoreWin32HandleKHR" => Ok(VulkanCommand::GetSemaphoreWin32HandleKhr),
1014            "vkImportSemaphoreFdKHR" => Ok(VulkanCommand::ImportSemaphoreFdKhr),
1015            "vkGetSemaphoreFdKHR" => Ok(VulkanCommand::GetSemaphoreFdKhr),
1016            "vkCmdPushDescriptorSetKHR" => Ok(VulkanCommand::CmdPushDescriptorSetKhr),
1017            "vkCmdPushDescriptorSetWithTemplateKHR" => {
1018                Ok(VulkanCommand::CmdPushDescriptorSetWithTemplateKhr)
1019            }
1020            "vkGetSwapchainStatusKHR" => Ok(VulkanCommand::GetSwapchainStatusKhr),
1021            "vkImportFenceWin32HandleKHR" => Ok(VulkanCommand::ImportFenceWin32HandleKhr),
1022            "vkGetFenceWin32HandleKHR" => Ok(VulkanCommand::GetFenceWin32HandleKhr),
1023            "vkImportFenceFdKHR" => Ok(VulkanCommand::ImportFenceFdKhr),
1024            "vkGetFenceFdKHR" => Ok(VulkanCommand::GetFenceFdKhr),
1025            "vkAcquireProfilingLockKHR" => Ok(VulkanCommand::AcquireProfilingLockKhr),
1026            "vkReleaseProfilingLockKHR" => Ok(VulkanCommand::ReleaseProfilingLockKhr),
1027            "vkCmdSetFragmentShadingRateKHR" => Ok(VulkanCommand::CmdSetFragmentShadingRateKhr),
1028            "vkWaitForPresentKHR" => Ok(VulkanCommand::WaitForPresentKhr),
1029            "vkCreateDeferredOperationKHR" => Ok(VulkanCommand::CreateDeferredOperationKhr),
1030            "vkDestroyDeferredOperationKHR" => Ok(VulkanCommand::DestroyDeferredOperationKhr),
1031            "vkGetDeferredOperationMaxConcurrencyKHR" => {
1032                Ok(VulkanCommand::GetDeferredOperationMaxConcurrencyKhr)
1033            }
1034            "vkGetDeferredOperationResultKHR" => Ok(VulkanCommand::GetDeferredOperationResultKhr),
1035            "vkDeferredOperationJoinKHR" => Ok(VulkanCommand::DeferredOperationJoinKhr),
1036            "vkGetPipelineExecutablePropertiesKHR" => {
1037                Ok(VulkanCommand::GetPipelineExecutablePropertiesKhr)
1038            }
1039            "vkGetPipelineExecutableStatisticsKHR" => {
1040                Ok(VulkanCommand::GetPipelineExecutableStatisticsKhr)
1041            }
1042            "vkGetPipelineExecutableInternalRepresentationsKHR" => {
1043                Ok(VulkanCommand::GetPipelineExecutableInternalRepresentationsKhr)
1044            }
1045            "vkCmdEncodeVideoKHR" => Ok(VulkanCommand::CmdEncodeVideoKhr),
1046            "vkCmdWriteBufferMarker2AMD" => Ok(VulkanCommand::CmdWriteBufferMarker2Amd),
1047            "vkGetQueueCheckpointData2NV" => Ok(VulkanCommand::GetQueueCheckpointData2Nv),
1048            "vkCmdTraceRaysIndirect2KHR" => Ok(VulkanCommand::CmdTraceRaysIndirect2Khr),
1049            "vkGetSwapchainGrallocUsageANDROID" => {
1050                Ok(VulkanCommand::GetSwapchainGrallocUsageAndroid)
1051            }
1052            "vkAcquireImageANDROID" => Ok(VulkanCommand::AcquireImageAndroid),
1053            "vkQueueSignalReleaseImageANDROID" => Ok(VulkanCommand::QueueSignalReleaseImageAndroid),
1054            "vkGetSwapchainGrallocUsage2ANDROID" => {
1055                Ok(VulkanCommand::GetSwapchainGrallocUsage2Android)
1056            }
1057            "vkDebugMarkerSetObjectTagEXT" => Ok(VulkanCommand::DebugMarkerSetObjectTagExt),
1058            "vkDebugMarkerSetObjectNameEXT" => Ok(VulkanCommand::DebugMarkerSetObjectNameExt),
1059            "vkCmdDebugMarkerBeginEXT" => Ok(VulkanCommand::CmdDebugMarkerBeginExt),
1060            "vkCmdDebugMarkerEndEXT" => Ok(VulkanCommand::CmdDebugMarkerEndExt),
1061            "vkCmdDebugMarkerInsertEXT" => Ok(VulkanCommand::CmdDebugMarkerInsertExt),
1062            "vkCmdBindTransformFeedbackBuffersEXT" => {
1063                Ok(VulkanCommand::CmdBindTransformFeedbackBuffersExt)
1064            }
1065            "vkCmdBeginTransformFeedbackEXT" => Ok(VulkanCommand::CmdBeginTransformFeedbackExt),
1066            "vkCmdEndTransformFeedbackEXT" => Ok(VulkanCommand::CmdEndTransformFeedbackExt),
1067            "vkCmdBeginQueryIndexedEXT" => Ok(VulkanCommand::CmdBeginQueryIndexedExt),
1068            "vkCmdEndQueryIndexedEXT" => Ok(VulkanCommand::CmdEndQueryIndexedExt),
1069            "vkCmdDrawIndirectByteCountEXT" => Ok(VulkanCommand::CmdDrawIndirectByteCountExt),
1070            "vkCreateCuModuleNVX" => Ok(VulkanCommand::CreateCuModuleNvx),
1071            "vkCreateCuFunctionNVX" => Ok(VulkanCommand::CreateCuFunctionNvx),
1072            "vkDestroyCuModuleNVX" => Ok(VulkanCommand::DestroyCuModuleNvx),
1073            "vkDestroyCuFunctionNVX" => Ok(VulkanCommand::DestroyCuFunctionNvx),
1074            "vkCmdCuLaunchKernelNVX" => Ok(VulkanCommand::CmdCuLaunchKernelNvx),
1075            "vkGetImageViewHandleNVX" => Ok(VulkanCommand::GetImageViewHandleNvx),
1076            "vkGetImageViewAddressNVX" => Ok(VulkanCommand::GetImageViewAddressNvx),
1077            "vkGetShaderInfoAMD" => Ok(VulkanCommand::GetShaderInfoAmd),
1078            "vkGetMemoryWin32HandleNV" => Ok(VulkanCommand::GetMemoryWin32HandleNv),
1079            "vkCmdBeginConditionalRenderingEXT" => {
1080                Ok(VulkanCommand::CmdBeginConditionalRenderingExt)
1081            }
1082            "vkCmdEndConditionalRenderingEXT" => Ok(VulkanCommand::CmdEndConditionalRenderingExt),
1083            "vkCmdSetViewportWScalingNV" => Ok(VulkanCommand::CmdSetViewportWScalingNv),
1084            "vkDisplayPowerControlEXT" => Ok(VulkanCommand::DisplayPowerControlExt),
1085            "vkRegisterDeviceEventEXT" => Ok(VulkanCommand::RegisterDeviceEventExt),
1086            "vkRegisterDisplayEventEXT" => Ok(VulkanCommand::RegisterDisplayEventExt),
1087            "vkGetSwapchainCounterEXT" => Ok(VulkanCommand::GetSwapchainCounterExt),
1088            "vkGetRefreshCycleDurationGOOGLE" => Ok(VulkanCommand::GetRefreshCycleDurationGoogle),
1089            "vkGetPastPresentationTimingGOOGLE" => {
1090                Ok(VulkanCommand::GetPastPresentationTimingGoogle)
1091            }
1092            "vkCmdSetDiscardRectangleEXT" => Ok(VulkanCommand::CmdSetDiscardRectangleExt),
1093            "vkSetHdrMetadataEXT" => Ok(VulkanCommand::SetHdrMetadataExt),
1094            "vkSetDebugUtilsObjectNameEXT" => Ok(VulkanCommand::SetDebugUtilsObjectNameExt),
1095            "vkSetDebugUtilsObjectTagEXT" => Ok(VulkanCommand::SetDebugUtilsObjectTagExt),
1096            "vkQueueBeginDebugUtilsLabelEXT" => Ok(VulkanCommand::QueueBeginDebugUtilsLabelExt),
1097            "vkQueueEndDebugUtilsLabelEXT" => Ok(VulkanCommand::QueueEndDebugUtilsLabelExt),
1098            "vkQueueInsertDebugUtilsLabelEXT" => Ok(VulkanCommand::QueueInsertDebugUtilsLabelExt),
1099            "vkCmdBeginDebugUtilsLabelEXT" => Ok(VulkanCommand::CmdBeginDebugUtilsLabelExt),
1100            "vkCmdEndDebugUtilsLabelEXT" => Ok(VulkanCommand::CmdEndDebugUtilsLabelExt),
1101            "vkCmdInsertDebugUtilsLabelEXT" => Ok(VulkanCommand::CmdInsertDebugUtilsLabelExt),
1102            "vkGetAndroidHardwareBufferPropertiesANDROID" => {
1103                Ok(VulkanCommand::GetAndroidHardwareBufferPropertiesAndroid)
1104            }
1105            "vkGetMemoryAndroidHardwareBufferANDROID" => {
1106                Ok(VulkanCommand::GetMemoryAndroidHardwareBufferAndroid)
1107            }
1108            "vkCmdSetSampleLocationsEXT" => Ok(VulkanCommand::CmdSetSampleLocationsExt),
1109            "vkGetImageDrmFormatModifierPropertiesEXT" => {
1110                Ok(VulkanCommand::GetImageDrmFormatModifierPropertiesExt)
1111            }
1112            "vkCreateValidationCacheEXT" => Ok(VulkanCommand::CreateValidationCacheExt),
1113            "vkDestroyValidationCacheEXT" => Ok(VulkanCommand::DestroyValidationCacheExt),
1114            "vkMergeValidationCachesEXT" => Ok(VulkanCommand::MergeValidationCachesExt),
1115            "vkGetValidationCacheDataEXT" => Ok(VulkanCommand::GetValidationCacheDataExt),
1116            "vkCmdBindShadingRateImageNV" => Ok(VulkanCommand::CmdBindShadingRateImageNv),
1117            "vkCmdSetViewportShadingRatePaletteNV" => {
1118                Ok(VulkanCommand::CmdSetViewportShadingRatePaletteNv)
1119            }
1120            "vkCmdSetCoarseSampleOrderNV" => Ok(VulkanCommand::CmdSetCoarseSampleOrderNv),
1121            "vkCreateAccelerationStructureNV" => Ok(VulkanCommand::CreateAccelerationStructureNv),
1122            "vkDestroyAccelerationStructureNV" => Ok(VulkanCommand::DestroyAccelerationStructureNv),
1123            "vkGetAccelerationStructureMemoryRequirementsNV" => {
1124                Ok(VulkanCommand::GetAccelerationStructureMemoryRequirementsNv)
1125            }
1126            "vkBindAccelerationStructureMemoryNV" => {
1127                Ok(VulkanCommand::BindAccelerationStructureMemoryNv)
1128            }
1129            "vkCmdBuildAccelerationStructureNV" => {
1130                Ok(VulkanCommand::CmdBuildAccelerationStructureNv)
1131            }
1132            "vkCmdCopyAccelerationStructureNV" => Ok(VulkanCommand::CmdCopyAccelerationStructureNv),
1133            "vkCmdTraceRaysNV" => Ok(VulkanCommand::CmdTraceRaysNv),
1134            "vkCreateRayTracingPipelinesNV" => Ok(VulkanCommand::CreateRayTracingPipelinesNv),
1135            "vkGetRayTracingShaderGroupHandlesKHR" => {
1136                Ok(VulkanCommand::GetRayTracingShaderGroupHandlesKhr)
1137            }
1138            "vkGetAccelerationStructureHandleNV" => {
1139                Ok(VulkanCommand::GetAccelerationStructureHandleNv)
1140            }
1141            "vkCmdWriteAccelerationStructuresPropertiesNV" => {
1142                Ok(VulkanCommand::CmdWriteAccelerationStructuresPropertiesNv)
1143            }
1144            "vkCompileDeferredNV" => Ok(VulkanCommand::CompileDeferredNv),
1145            "vkGetMemoryHostPointerPropertiesEXT" => {
1146                Ok(VulkanCommand::GetMemoryHostPointerPropertiesExt)
1147            }
1148            "vkCmdWriteBufferMarkerAMD" => Ok(VulkanCommand::CmdWriteBufferMarkerAmd),
1149            "vkGetCalibratedTimestampsEXT" => Ok(VulkanCommand::GetCalibratedTimestampsExt),
1150            "vkCmdDrawMeshTasksNV" => Ok(VulkanCommand::CmdDrawMeshTasksNv),
1151            "vkCmdDrawMeshTasksIndirectNV" => Ok(VulkanCommand::CmdDrawMeshTasksIndirectNv),
1152            "vkCmdDrawMeshTasksIndirectCountNV" => {
1153                Ok(VulkanCommand::CmdDrawMeshTasksIndirectCountNv)
1154            }
1155            "vkCmdSetExclusiveScissorNV" => Ok(VulkanCommand::CmdSetExclusiveScissorNv),
1156            "vkCmdSetCheckpointNV" => Ok(VulkanCommand::CmdSetCheckpointNv),
1157            "vkGetQueueCheckpointDataNV" => Ok(VulkanCommand::GetQueueCheckpointDataNv),
1158            "vkInitializePerformanceApiINTEL" => Ok(VulkanCommand::InitializePerformanceApiIntel),
1159            "vkUninitializePerformanceApiINTEL" => {
1160                Ok(VulkanCommand::UninitializePerformanceApiIntel)
1161            }
1162            "vkCmdSetPerformanceMarkerINTEL" => Ok(VulkanCommand::CmdSetPerformanceMarkerIntel),
1163            "vkCmdSetPerformanceStreamMarkerINTEL" => {
1164                Ok(VulkanCommand::CmdSetPerformanceStreamMarkerIntel)
1165            }
1166            "vkCmdSetPerformanceOverrideINTEL" => Ok(VulkanCommand::CmdSetPerformanceOverrideIntel),
1167            "vkAcquirePerformanceConfigurationINTEL" => {
1168                Ok(VulkanCommand::AcquirePerformanceConfigurationIntel)
1169            }
1170            "vkReleasePerformanceConfigurationINTEL" => {
1171                Ok(VulkanCommand::ReleasePerformanceConfigurationIntel)
1172            }
1173            "vkQueueSetPerformanceConfigurationINTEL" => {
1174                Ok(VulkanCommand::QueueSetPerformanceConfigurationIntel)
1175            }
1176            "vkGetPerformanceParameterINTEL" => Ok(VulkanCommand::GetPerformanceParameterIntel),
1177            "vkSetLocalDimmingAMD" => Ok(VulkanCommand::SetLocalDimmingAmd),
1178            "vkAcquireFullScreenExclusiveModeEXT" => {
1179                Ok(VulkanCommand::AcquireFullScreenExclusiveModeExt)
1180            }
1181            "vkReleaseFullScreenExclusiveModeEXT" => {
1182                Ok(VulkanCommand::ReleaseFullScreenExclusiveModeExt)
1183            }
1184            "vkGetDeviceGroupSurfacePresentModes2EXT" => {
1185                Ok(VulkanCommand::GetDeviceGroupSurfacePresentModes2Ext)
1186            }
1187            "vkCmdSetLineStippleEXT" => Ok(VulkanCommand::CmdSetLineStippleExt),
1188            "vkReleaseSwapchainImagesEXT" => Ok(VulkanCommand::ReleaseSwapchainImagesExt),
1189            "vkGetGeneratedCommandsMemoryRequirementsNV" => {
1190                Ok(VulkanCommand::GetGeneratedCommandsMemoryRequirementsNv)
1191            }
1192            "vkCmdPreprocessGeneratedCommandsNV" => {
1193                Ok(VulkanCommand::CmdPreprocessGeneratedCommandsNv)
1194            }
1195            "vkCmdExecuteGeneratedCommandsNV" => Ok(VulkanCommand::CmdExecuteGeneratedCommandsNv),
1196            "vkCmdBindPipelineShaderGroupNV" => Ok(VulkanCommand::CmdBindPipelineShaderGroupNv),
1197            "vkCreateIndirectCommandsLayoutNV" => Ok(VulkanCommand::CreateIndirectCommandsLayoutNv),
1198            "vkDestroyIndirectCommandsLayoutNV" => {
1199                Ok(VulkanCommand::DestroyIndirectCommandsLayoutNv)
1200            }
1201            "vkExportMetalObjectsEXT" => Ok(VulkanCommand::ExportMetalObjectsExt),
1202            "vkGetDescriptorSetLayoutSizeEXT" => Ok(VulkanCommand::GetDescriptorSetLayoutSizeExt),
1203            "vkGetDescriptorSetLayoutBindingOffsetEXT" => {
1204                Ok(VulkanCommand::GetDescriptorSetLayoutBindingOffsetExt)
1205            }
1206            "vkGetDescriptorEXT" => Ok(VulkanCommand::GetDescriptorExt),
1207            "vkCmdBindDescriptorBuffersEXT" => Ok(VulkanCommand::CmdBindDescriptorBuffersExt),
1208            "vkCmdSetDescriptorBufferOffsetsEXT" => {
1209                Ok(VulkanCommand::CmdSetDescriptorBufferOffsetsExt)
1210            }
1211            "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" => {
1212                Ok(VulkanCommand::CmdBindDescriptorBufferEmbeddedSamplersExt)
1213            }
1214            "vkGetBufferOpaqueCaptureDescriptorDataEXT" => {
1215                Ok(VulkanCommand::GetBufferOpaqueCaptureDescriptorDataExt)
1216            }
1217            "vkGetImageOpaqueCaptureDescriptorDataEXT" => {
1218                Ok(VulkanCommand::GetImageOpaqueCaptureDescriptorDataExt)
1219            }
1220            "vkGetImageViewOpaqueCaptureDescriptorDataEXT" => {
1221                Ok(VulkanCommand::GetImageViewOpaqueCaptureDescriptorDataExt)
1222            }
1223            "vkGetSamplerOpaqueCaptureDescriptorDataEXT" => {
1224                Ok(VulkanCommand::GetSamplerOpaqueCaptureDescriptorDataExt)
1225            }
1226            "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" => {
1227                Ok(VulkanCommand::GetAccelerationStructureOpaqueCaptureDescriptorDataExt)
1228            }
1229            "vkCmdSetFragmentShadingRateEnumNV" => {
1230                Ok(VulkanCommand::CmdSetFragmentShadingRateEnumNv)
1231            }
1232            "vkGetImageSubresourceLayout2EXT" => Ok(VulkanCommand::GetImageSubresourceLayout2Ext),
1233            "vkCmdSetVertexInputEXT" => Ok(VulkanCommand::CmdSetVertexInputExt),
1234            "vkGetMemoryZirconHandleFUCHSIA" => Ok(VulkanCommand::GetMemoryZirconHandleFuchsia),
1235            "vkGetMemoryZirconHandlePropertiesFUCHSIA" => {
1236                Ok(VulkanCommand::GetMemoryZirconHandlePropertiesFuchsia)
1237            }
1238            "vkImportSemaphoreZirconHandleFUCHSIA" => {
1239                Ok(VulkanCommand::ImportSemaphoreZirconHandleFuchsia)
1240            }
1241            "vkGetSemaphoreZirconHandleFUCHSIA" => {
1242                Ok(VulkanCommand::GetSemaphoreZirconHandleFuchsia)
1243            }
1244            "vkCreateBufferCollectionFUCHSIA" => Ok(VulkanCommand::CreateBufferCollectionFuchsia),
1245            "vkSetBufferCollectionImageConstraintsFUCHSIA" => {
1246                Ok(VulkanCommand::SetBufferCollectionImageConstraintsFuchsia)
1247            }
1248            "vkSetBufferCollectionBufferConstraintsFUCHSIA" => {
1249                Ok(VulkanCommand::SetBufferCollectionBufferConstraintsFuchsia)
1250            }
1251            "vkDestroyBufferCollectionFUCHSIA" => Ok(VulkanCommand::DestroyBufferCollectionFuchsia),
1252            "vkGetBufferCollectionPropertiesFUCHSIA" => {
1253                Ok(VulkanCommand::GetBufferCollectionPropertiesFuchsia)
1254            }
1255            "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" => {
1256                Ok(VulkanCommand::GetDeviceSubpassShadingMaxWorkgroupSizeHuawei)
1257            }
1258            "vkCmdSubpassShadingHUAWEI" => Ok(VulkanCommand::CmdSubpassShadingHuawei),
1259            "vkCmdBindInvocationMaskHUAWEI" => Ok(VulkanCommand::CmdBindInvocationMaskHuawei),
1260            "vkGetMemoryRemoteAddressNV" => Ok(VulkanCommand::GetMemoryRemoteAddressNv),
1261            "vkGetPipelinePropertiesEXT" => Ok(VulkanCommand::GetPipelinePropertiesExt),
1262            "vkCmdSetPatchControlPointsEXT" => Ok(VulkanCommand::CmdSetPatchControlPointsExt),
1263            "vkCmdSetLogicOpEXT" => Ok(VulkanCommand::CmdSetLogicOpExt),
1264            "vkCmdSetColorWriteEnableEXT" => Ok(VulkanCommand::CmdSetColorWriteEnableExt),
1265            "vkCmdDrawMultiEXT" => Ok(VulkanCommand::CmdDrawMultiExt),
1266            "vkCmdDrawMultiIndexedEXT" => Ok(VulkanCommand::CmdDrawMultiIndexedExt),
1267            "vkCreateMicromapEXT" => Ok(VulkanCommand::CreateMicromapExt),
1268            "vkDestroyMicromapEXT" => Ok(VulkanCommand::DestroyMicromapExt),
1269            "vkCmdBuildMicromapsEXT" => Ok(VulkanCommand::CmdBuildMicromapsExt),
1270            "vkBuildMicromapsEXT" => Ok(VulkanCommand::BuildMicromapsExt),
1271            "vkCopyMicromapEXT" => Ok(VulkanCommand::CopyMicromapExt),
1272            "vkCopyMicromapToMemoryEXT" => Ok(VulkanCommand::CopyMicromapToMemoryExt),
1273            "vkCopyMemoryToMicromapEXT" => Ok(VulkanCommand::CopyMemoryToMicromapExt),
1274            "vkWriteMicromapsPropertiesEXT" => Ok(VulkanCommand::WriteMicromapsPropertiesExt),
1275            "vkCmdCopyMicromapEXT" => Ok(VulkanCommand::CmdCopyMicromapExt),
1276            "vkCmdCopyMicromapToMemoryEXT" => Ok(VulkanCommand::CmdCopyMicromapToMemoryExt),
1277            "vkCmdCopyMemoryToMicromapEXT" => Ok(VulkanCommand::CmdCopyMemoryToMicromapExt),
1278            "vkCmdWriteMicromapsPropertiesEXT" => Ok(VulkanCommand::CmdWriteMicromapsPropertiesExt),
1279            "vkGetDeviceMicromapCompatibilityEXT" => {
1280                Ok(VulkanCommand::GetDeviceMicromapCompatibilityExt)
1281            }
1282            "vkGetMicromapBuildSizesEXT" => Ok(VulkanCommand::GetMicromapBuildSizesExt),
1283            "vkSetDeviceMemoryPriorityEXT" => Ok(VulkanCommand::SetDeviceMemoryPriorityExt),
1284            "vkGetDescriptorSetLayoutHostMappingInfoVALVE" => {
1285                Ok(VulkanCommand::GetDescriptorSetLayoutHostMappingInfoValve)
1286            }
1287            "vkGetDescriptorSetHostMappingVALVE" => {
1288                Ok(VulkanCommand::GetDescriptorSetHostMappingValve)
1289            }
1290            "vkCmdCopyMemoryIndirectNV" => Ok(VulkanCommand::CmdCopyMemoryIndirectNv),
1291            "vkCmdCopyMemoryToImageIndirectNV" => Ok(VulkanCommand::CmdCopyMemoryToImageIndirectNv),
1292            "vkCmdDecompressMemoryNV" => Ok(VulkanCommand::CmdDecompressMemoryNv),
1293            "vkCmdDecompressMemoryIndirectCountNV" => {
1294                Ok(VulkanCommand::CmdDecompressMemoryIndirectCountNv)
1295            }
1296            "vkCmdSetTessellationDomainOriginEXT" => {
1297                Ok(VulkanCommand::CmdSetTessellationDomainOriginExt)
1298            }
1299            "vkCmdSetDepthClampEnableEXT" => Ok(VulkanCommand::CmdSetDepthClampEnableExt),
1300            "vkCmdSetPolygonModeEXT" => Ok(VulkanCommand::CmdSetPolygonModeExt),
1301            "vkCmdSetRasterizationSamplesEXT" => Ok(VulkanCommand::CmdSetRasterizationSamplesExt),
1302            "vkCmdSetSampleMaskEXT" => Ok(VulkanCommand::CmdSetSampleMaskExt),
1303            "vkCmdSetAlphaToCoverageEnableEXT" => Ok(VulkanCommand::CmdSetAlphaToCoverageEnableExt),
1304            "vkCmdSetAlphaToOneEnableEXT" => Ok(VulkanCommand::CmdSetAlphaToOneEnableExt),
1305            "vkCmdSetLogicOpEnableEXT" => Ok(VulkanCommand::CmdSetLogicOpEnableExt),
1306            "vkCmdSetColorBlendEnableEXT" => Ok(VulkanCommand::CmdSetColorBlendEnableExt),
1307            "vkCmdSetColorBlendEquationEXT" => Ok(VulkanCommand::CmdSetColorBlendEquationExt),
1308            "vkCmdSetColorWriteMaskEXT" => Ok(VulkanCommand::CmdSetColorWriteMaskExt),
1309            "vkCmdSetRasterizationStreamEXT" => Ok(VulkanCommand::CmdSetRasterizationStreamExt),
1310            "vkCmdSetConservativeRasterizationModeEXT" => {
1311                Ok(VulkanCommand::CmdSetConservativeRasterizationModeExt)
1312            }
1313            "vkCmdSetExtraPrimitiveOverestimationSizeEXT" => {
1314                Ok(VulkanCommand::CmdSetExtraPrimitiveOverestimationSizeExt)
1315            }
1316            "vkCmdSetDepthClipEnableEXT" => Ok(VulkanCommand::CmdSetDepthClipEnableExt),
1317            "vkCmdSetSampleLocationsEnableEXT" => Ok(VulkanCommand::CmdSetSampleLocationsEnableExt),
1318            "vkCmdSetColorBlendAdvancedEXT" => Ok(VulkanCommand::CmdSetColorBlendAdvancedExt),
1319            "vkCmdSetProvokingVertexModeEXT" => Ok(VulkanCommand::CmdSetProvokingVertexModeExt),
1320            "vkCmdSetLineRasterizationModeEXT" => Ok(VulkanCommand::CmdSetLineRasterizationModeExt),
1321            "vkCmdSetLineStippleEnableEXT" => Ok(VulkanCommand::CmdSetLineStippleEnableExt),
1322            "vkCmdSetDepthClipNegativeOneToOneEXT" => {
1323                Ok(VulkanCommand::CmdSetDepthClipNegativeOneToOneExt)
1324            }
1325            "vkCmdSetViewportWScalingEnableNV" => Ok(VulkanCommand::CmdSetViewportWScalingEnableNv),
1326            "vkCmdSetViewportSwizzleNV" => Ok(VulkanCommand::CmdSetViewportSwizzleNv),
1327            "vkCmdSetCoverageToColorEnableNV" => Ok(VulkanCommand::CmdSetCoverageToColorEnableNv),
1328            "vkCmdSetCoverageToColorLocationNV" => {
1329                Ok(VulkanCommand::CmdSetCoverageToColorLocationNv)
1330            }
1331            "vkCmdSetCoverageModulationModeNV" => Ok(VulkanCommand::CmdSetCoverageModulationModeNv),
1332            "vkCmdSetCoverageModulationTableEnableNV" => {
1333                Ok(VulkanCommand::CmdSetCoverageModulationTableEnableNv)
1334            }
1335            "vkCmdSetCoverageModulationTableNV" => {
1336                Ok(VulkanCommand::CmdSetCoverageModulationTableNv)
1337            }
1338            "vkCmdSetShadingRateImageEnableNV" => Ok(VulkanCommand::CmdSetShadingRateImageEnableNv),
1339            "vkCmdSetRepresentativeFragmentTestEnableNV" => {
1340                Ok(VulkanCommand::CmdSetRepresentativeFragmentTestEnableNv)
1341            }
1342            "vkCmdSetCoverageReductionModeNV" => Ok(VulkanCommand::CmdSetCoverageReductionModeNv),
1343            "vkGetShaderModuleIdentifierEXT" => Ok(VulkanCommand::GetShaderModuleIdentifierExt),
1344            "vkGetShaderModuleCreateInfoIdentifierEXT" => {
1345                Ok(VulkanCommand::GetShaderModuleCreateInfoIdentifierExt)
1346            }
1347            "vkCreateOpticalFlowSessionNV" => Ok(VulkanCommand::CreateOpticalFlowSessionNv),
1348            "vkDestroyOpticalFlowSessionNV" => Ok(VulkanCommand::DestroyOpticalFlowSessionNv),
1349            "vkBindOpticalFlowSessionImageNV" => Ok(VulkanCommand::BindOpticalFlowSessionImageNv),
1350            "vkCmdOpticalFlowExecuteNV" => Ok(VulkanCommand::CmdOpticalFlowExecuteNv),
1351            "vkGetFramebufferTilePropertiesQCOM" => {
1352                Ok(VulkanCommand::GetFramebufferTilePropertiesQcom)
1353            }
1354            "vkGetDynamicRenderingTilePropertiesQCOM" => {
1355                Ok(VulkanCommand::GetDynamicRenderingTilePropertiesQcom)
1356            }
1357            "vkCreateAccelerationStructureKHR" => Ok(VulkanCommand::CreateAccelerationStructureKhr),
1358            "vkDestroyAccelerationStructureKHR" => {
1359                Ok(VulkanCommand::DestroyAccelerationStructureKhr)
1360            }
1361            "vkCopyAccelerationStructureKHR" => Ok(VulkanCommand::CopyAccelerationStructureKhr),
1362            "vkCopyAccelerationStructureToMemoryKHR" => {
1363                Ok(VulkanCommand::CopyAccelerationStructureToMemoryKhr)
1364            }
1365            "vkCopyMemoryToAccelerationStructureKHR" => {
1366                Ok(VulkanCommand::CopyMemoryToAccelerationStructureKhr)
1367            }
1368            "vkWriteAccelerationStructuresPropertiesKHR" => {
1369                Ok(VulkanCommand::WriteAccelerationStructuresPropertiesKhr)
1370            }
1371            "vkCmdCopyAccelerationStructureKHR" => {
1372                Ok(VulkanCommand::CmdCopyAccelerationStructureKhr)
1373            }
1374            "vkCmdCopyAccelerationStructureToMemoryKHR" => {
1375                Ok(VulkanCommand::CmdCopyAccelerationStructureToMemoryKhr)
1376            }
1377            "vkCmdCopyMemoryToAccelerationStructureKHR" => {
1378                Ok(VulkanCommand::CmdCopyMemoryToAccelerationStructureKhr)
1379            }
1380            "vkGetAccelerationStructureDeviceAddressKHR" => {
1381                Ok(VulkanCommand::GetAccelerationStructureDeviceAddressKhr)
1382            }
1383            "vkCmdWriteAccelerationStructuresPropertiesKHR" => {
1384                Ok(VulkanCommand::CmdWriteAccelerationStructuresPropertiesKhr)
1385            }
1386            "vkGetDeviceAccelerationStructureCompatibilityKHR" => {
1387                Ok(VulkanCommand::GetDeviceAccelerationStructureCompatibilityKhr)
1388            }
1389            "vkGetAccelerationStructureBuildSizesKHR" => {
1390                Ok(VulkanCommand::GetAccelerationStructureBuildSizesKhr)
1391            }
1392            "vkCmdTraceRaysKHR" => Ok(VulkanCommand::CmdTraceRaysKhr),
1393            "vkCreateRayTracingPipelinesKHR" => Ok(VulkanCommand::CreateRayTracingPipelinesKhr),
1394            "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" => {
1395                Ok(VulkanCommand::GetRayTracingCaptureReplayShaderGroupHandlesKhr)
1396            }
1397            "vkCmdTraceRaysIndirectKHR" => Ok(VulkanCommand::CmdTraceRaysIndirectKhr),
1398            "vkGetRayTracingShaderGroupStackSizeKHR" => {
1399                Ok(VulkanCommand::GetRayTracingShaderGroupStackSizeKhr)
1400            }
1401            "vkCmdSetRayTracingPipelineStackSizeKHR" => {
1402                Ok(VulkanCommand::CmdSetRayTracingPipelineStackSizeKhr)
1403            }
1404            "vkCmdDrawMeshTasksEXT" => Ok(VulkanCommand::CmdDrawMeshTasksExt),
1405            "vkCmdDrawMeshTasksIndirectEXT" => Ok(VulkanCommand::CmdDrawMeshTasksIndirectExt),
1406            "vkCmdDrawMeshTasksIndirectCountEXT" => {
1407                Ok(VulkanCommand::CmdDrawMeshTasksIndirectCountExt)
1408            }
1409            _ => Err(TryFromVulkanCommandError::UnknownCommand(value.to_owned())),
1410        }
1411    }
1412}
1413
1414pub trait DeviceHooks: Send + Sync {
1415    fn get_device_proc_addr(&self, _p_name: &str) -> LayerResult<vk::PFN_vkVoidFunction> {
1416        LayerResult::Unhandled
1417    }
1418    fn get_device_queue(
1419        &self,
1420        _queue_family_index: u32,
1421        _queue_index: u32,
1422    ) -> LayerResult<vk::Queue> {
1423        LayerResult::Unhandled
1424    }
1425    fn queue_submit(
1426        &self,
1427        _queue: vk::Queue,
1428        _p_submits: &[vk::SubmitInfo],
1429        _fence: vk::Fence,
1430    ) -> LayerResult<VkResult<()>> {
1431        LayerResult::Unhandled
1432    }
1433    fn queue_wait_idle(&self, _queue: vk::Queue) -> LayerResult<VkResult<()>> {
1434        LayerResult::Unhandled
1435    }
1436    fn device_wait_idle(&self) -> LayerResult<VkResult<()>> {
1437        LayerResult::Unhandled
1438    }
1439    fn allocate_memory(
1440        &self,
1441        _p_allocate_info: &vk::MemoryAllocateInfo,
1442        _p_allocator: Option<&vk::AllocationCallbacks>,
1443    ) -> LayerResult<VkResult<vk::DeviceMemory>> {
1444        LayerResult::Unhandled
1445    }
1446    fn free_memory(
1447        &self,
1448        _memory: vk::DeviceMemory,
1449        _p_allocator: Option<&vk::AllocationCallbacks>,
1450    ) -> LayerResult<()> {
1451        LayerResult::Unhandled
1452    }
1453    fn map_memory(
1454        &self,
1455        _memory: vk::DeviceMemory,
1456        _offset: vk::DeviceSize,
1457        _size: vk::DeviceSize,
1458        _flags: vk::MemoryMapFlags,
1459    ) -> LayerResult<VkResult<Option<*mut c_void>>> {
1460        LayerResult::Unhandled
1461    }
1462    fn unmap_memory(&self, _memory: vk::DeviceMemory) -> LayerResult<()> {
1463        LayerResult::Unhandled
1464    }
1465    fn flush_mapped_memory_ranges(
1466        &self,
1467        _p_memory_ranges: &[vk::MappedMemoryRange],
1468    ) -> LayerResult<VkResult<()>> {
1469        LayerResult::Unhandled
1470    }
1471    fn invalidate_mapped_memory_ranges(
1472        &self,
1473        _p_memory_ranges: &[vk::MappedMemoryRange],
1474    ) -> LayerResult<VkResult<()>> {
1475        LayerResult::Unhandled
1476    }
1477    fn get_device_memory_commitment(
1478        &self,
1479        _memory: vk::DeviceMemory,
1480    ) -> LayerResult<vk::DeviceSize> {
1481        LayerResult::Unhandled
1482    }
1483    fn bind_buffer_memory(
1484        &self,
1485        _buffer: vk::Buffer,
1486        _memory: vk::DeviceMemory,
1487        _memory_offset: vk::DeviceSize,
1488    ) -> LayerResult<VkResult<()>> {
1489        LayerResult::Unhandled
1490    }
1491    fn bind_image_memory(
1492        &self,
1493        _image: vk::Image,
1494        _memory: vk::DeviceMemory,
1495        _memory_offset: vk::DeviceSize,
1496    ) -> LayerResult<VkResult<()>> {
1497        LayerResult::Unhandled
1498    }
1499    fn get_buffer_memory_requirements(
1500        &self,
1501        _buffer: vk::Buffer,
1502        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements>,
1503    ) -> LayerResult<()> {
1504        LayerResult::Unhandled
1505    }
1506    fn get_image_memory_requirements(
1507        &self,
1508        _image: vk::Image,
1509        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements>,
1510    ) -> LayerResult<()> {
1511        LayerResult::Unhandled
1512    }
1513    fn get_image_sparse_memory_requirements(
1514        &self,
1515        _image: vk::Image,
1516        _p_sparse_memory_requirement_count: &mut MaybeUninit<u32>,
1517        _p_sparse_memory_requirements: Option<
1518            &mut [MaybeUninit<vk::SparseImageMemoryRequirements>],
1519        >,
1520    ) -> LayerResult<()> {
1521        LayerResult::Unhandled
1522    }
1523    fn queue_bind_sparse(
1524        &self,
1525        _queue: vk::Queue,
1526        _p_bind_info: &[vk::BindSparseInfo],
1527        _fence: vk::Fence,
1528    ) -> LayerResult<VkResult<()>> {
1529        LayerResult::Unhandled
1530    }
1531    fn create_fence(
1532        &self,
1533        _p_create_info: &vk::FenceCreateInfo,
1534        _p_allocator: Option<&vk::AllocationCallbacks>,
1535    ) -> LayerResult<VkResult<vk::Fence>> {
1536        LayerResult::Unhandled
1537    }
1538    fn destroy_fence(
1539        &self,
1540        _fence: vk::Fence,
1541        _p_allocator: Option<&vk::AllocationCallbacks>,
1542    ) -> LayerResult<()> {
1543        LayerResult::Unhandled
1544    }
1545    fn reset_fences(&self, _p_fences: &[vk::Fence]) -> LayerResult<VkResult<()>> {
1546        LayerResult::Unhandled
1547    }
1548    fn get_fence_status(&self, _fence: vk::Fence) -> LayerResult<VkResult<()>> {
1549        LayerResult::Unhandled
1550    }
1551    fn wait_for_fences(
1552        &self,
1553        _p_fences: &[vk::Fence],
1554        _wait_all: bool,
1555        _timeout: u64,
1556    ) -> LayerResult<VkResult<()>> {
1557        LayerResult::Unhandled
1558    }
1559    fn create_semaphore(
1560        &self,
1561        _p_create_info: &vk::SemaphoreCreateInfo,
1562        _p_allocator: Option<&vk::AllocationCallbacks>,
1563    ) -> LayerResult<VkResult<vk::Semaphore>> {
1564        LayerResult::Unhandled
1565    }
1566    fn destroy_semaphore(
1567        &self,
1568        _semaphore: vk::Semaphore,
1569        _p_allocator: Option<&vk::AllocationCallbacks>,
1570    ) -> LayerResult<()> {
1571        LayerResult::Unhandled
1572    }
1573    fn create_event(
1574        &self,
1575        _p_create_info: &vk::EventCreateInfo,
1576        _p_allocator: Option<&vk::AllocationCallbacks>,
1577    ) -> LayerResult<VkResult<vk::Event>> {
1578        LayerResult::Unhandled
1579    }
1580    fn destroy_event(
1581        &self,
1582        _event: vk::Event,
1583        _p_allocator: Option<&vk::AllocationCallbacks>,
1584    ) -> LayerResult<()> {
1585        LayerResult::Unhandled
1586    }
1587    fn get_event_status(&self, _event: vk::Event) -> LayerResult<VkResult<()>> {
1588        LayerResult::Unhandled
1589    }
1590    fn set_event(&self, _event: vk::Event) -> LayerResult<VkResult<()>> {
1591        LayerResult::Unhandled
1592    }
1593    fn reset_event(&self, _event: vk::Event) -> LayerResult<VkResult<()>> {
1594        LayerResult::Unhandled
1595    }
1596    fn create_query_pool(
1597        &self,
1598        _p_create_info: &vk::QueryPoolCreateInfo,
1599        _p_allocator: Option<&vk::AllocationCallbacks>,
1600    ) -> LayerResult<VkResult<vk::QueryPool>> {
1601        LayerResult::Unhandled
1602    }
1603    fn destroy_query_pool(
1604        &self,
1605        _query_pool: vk::QueryPool,
1606        _p_allocator: Option<&vk::AllocationCallbacks>,
1607    ) -> LayerResult<()> {
1608        LayerResult::Unhandled
1609    }
1610    fn get_query_pool_results(
1611        &self,
1612        _query_pool: vk::QueryPool,
1613        _first_query: u32,
1614        _query_count: u32,
1615        _p_data: &mut [MaybeUninit<u8>],
1616        _stride: vk::DeviceSize,
1617        _flags: vk::QueryResultFlags,
1618    ) -> LayerResult<VkResult<()>> {
1619        LayerResult::Unhandled
1620    }
1621    fn create_buffer(
1622        &self,
1623        _p_create_info: &vk::BufferCreateInfo,
1624        _p_allocator: Option<&vk::AllocationCallbacks>,
1625    ) -> LayerResult<VkResult<vk::Buffer>> {
1626        LayerResult::Unhandled
1627    }
1628    fn destroy_buffer(
1629        &self,
1630        _buffer: vk::Buffer,
1631        _p_allocator: Option<&vk::AllocationCallbacks>,
1632    ) -> LayerResult<()> {
1633        LayerResult::Unhandled
1634    }
1635    fn create_buffer_view(
1636        &self,
1637        _p_create_info: &vk::BufferViewCreateInfo,
1638        _p_allocator: Option<&vk::AllocationCallbacks>,
1639    ) -> LayerResult<VkResult<vk::BufferView>> {
1640        LayerResult::Unhandled
1641    }
1642    fn destroy_buffer_view(
1643        &self,
1644        _buffer_view: vk::BufferView,
1645        _p_allocator: Option<&vk::AllocationCallbacks>,
1646    ) -> LayerResult<()> {
1647        LayerResult::Unhandled
1648    }
1649    fn create_image(
1650        &self,
1651        _p_create_info: &vk::ImageCreateInfo,
1652        _p_allocator: Option<&vk::AllocationCallbacks>,
1653    ) -> LayerResult<VkResult<vk::Image>> {
1654        LayerResult::Unhandled
1655    }
1656    fn destroy_image(
1657        &self,
1658        _image: vk::Image,
1659        _p_allocator: Option<&vk::AllocationCallbacks>,
1660    ) -> LayerResult<()> {
1661        LayerResult::Unhandled
1662    }
1663    fn get_image_subresource_layout(
1664        &self,
1665        _image: vk::Image,
1666        _p_subresource: &vk::ImageSubresource,
1667        _p_layout: &mut MaybeUninit<vk::SubresourceLayout>,
1668    ) -> LayerResult<()> {
1669        LayerResult::Unhandled
1670    }
1671    fn create_image_view(
1672        &self,
1673        _p_create_info: &vk::ImageViewCreateInfo,
1674        _p_allocator: Option<&vk::AllocationCallbacks>,
1675    ) -> LayerResult<VkResult<vk::ImageView>> {
1676        LayerResult::Unhandled
1677    }
1678    fn destroy_image_view(
1679        &self,
1680        _image_view: vk::ImageView,
1681        _p_allocator: Option<&vk::AllocationCallbacks>,
1682    ) -> LayerResult<()> {
1683        LayerResult::Unhandled
1684    }
1685    fn create_shader_module(
1686        &self,
1687        _p_create_info: &vk::ShaderModuleCreateInfo,
1688        _p_allocator: Option<&vk::AllocationCallbacks>,
1689    ) -> LayerResult<VkResult<vk::ShaderModule>> {
1690        LayerResult::Unhandled
1691    }
1692    fn destroy_shader_module(
1693        &self,
1694        _shader_module: vk::ShaderModule,
1695        _p_allocator: Option<&vk::AllocationCallbacks>,
1696    ) -> LayerResult<()> {
1697        LayerResult::Unhandled
1698    }
1699    fn create_pipeline_cache(
1700        &self,
1701        _p_create_info: &vk::PipelineCacheCreateInfo,
1702        _p_allocator: Option<&vk::AllocationCallbacks>,
1703    ) -> LayerResult<VkResult<vk::PipelineCache>> {
1704        LayerResult::Unhandled
1705    }
1706    fn destroy_pipeline_cache(
1707        &self,
1708        _pipeline_cache: vk::PipelineCache,
1709        _p_allocator: Option<&vk::AllocationCallbacks>,
1710    ) -> LayerResult<()> {
1711        LayerResult::Unhandled
1712    }
1713    fn get_pipeline_cache_data(
1714        &self,
1715        _pipeline_cache: vk::PipelineCache,
1716        _p_data_size: &mut MaybeUninit<usize>,
1717        _p_data: Option<&mut [MaybeUninit<u8>]>,
1718    ) -> LayerResult<VkResult<()>> {
1719        LayerResult::Unhandled
1720    }
1721    fn merge_pipeline_caches(
1722        &self,
1723        _dst_cache: vk::PipelineCache,
1724        _p_src_caches: &[vk::PipelineCache],
1725    ) -> LayerResult<VkResult<()>> {
1726        LayerResult::Unhandled
1727    }
1728    fn create_graphics_pipelines(
1729        &self,
1730        _pipeline_cache: vk::PipelineCache,
1731        _p_create_infos: &[vk::GraphicsPipelineCreateInfo],
1732        _p_allocator: Option<&vk::AllocationCallbacks>,
1733    ) -> LayerResult<VkResult<Vec<vk::Pipeline>>> {
1734        LayerResult::Unhandled
1735    }
1736    fn create_compute_pipelines(
1737        &self,
1738        _pipeline_cache: vk::PipelineCache,
1739        _p_create_infos: &[vk::ComputePipelineCreateInfo],
1740        _p_allocator: Option<&vk::AllocationCallbacks>,
1741    ) -> LayerResult<VkResult<Vec<vk::Pipeline>>> {
1742        LayerResult::Unhandled
1743    }
1744    fn destroy_pipeline(
1745        &self,
1746        _pipeline: vk::Pipeline,
1747        _p_allocator: Option<&vk::AllocationCallbacks>,
1748    ) -> LayerResult<()> {
1749        LayerResult::Unhandled
1750    }
1751    fn create_pipeline_layout(
1752        &self,
1753        _p_create_info: &vk::PipelineLayoutCreateInfo,
1754        _p_allocator: Option<&vk::AllocationCallbacks>,
1755    ) -> LayerResult<VkResult<vk::PipelineLayout>> {
1756        LayerResult::Unhandled
1757    }
1758    fn destroy_pipeline_layout(
1759        &self,
1760        _pipeline_layout: vk::PipelineLayout,
1761        _p_allocator: Option<&vk::AllocationCallbacks>,
1762    ) -> LayerResult<()> {
1763        LayerResult::Unhandled
1764    }
1765    fn create_sampler(
1766        &self,
1767        _p_create_info: &vk::SamplerCreateInfo,
1768        _p_allocator: Option<&vk::AllocationCallbacks>,
1769    ) -> LayerResult<VkResult<vk::Sampler>> {
1770        LayerResult::Unhandled
1771    }
1772    fn destroy_sampler(
1773        &self,
1774        _sampler: vk::Sampler,
1775        _p_allocator: Option<&vk::AllocationCallbacks>,
1776    ) -> LayerResult<()> {
1777        LayerResult::Unhandled
1778    }
1779    fn create_descriptor_set_layout(
1780        &self,
1781        _p_create_info: &vk::DescriptorSetLayoutCreateInfo,
1782        _p_allocator: Option<&vk::AllocationCallbacks>,
1783    ) -> LayerResult<VkResult<vk::DescriptorSetLayout>> {
1784        LayerResult::Unhandled
1785    }
1786    fn destroy_descriptor_set_layout(
1787        &self,
1788        _descriptor_set_layout: vk::DescriptorSetLayout,
1789        _p_allocator: Option<&vk::AllocationCallbacks>,
1790    ) -> LayerResult<()> {
1791        LayerResult::Unhandled
1792    }
1793    fn create_descriptor_pool(
1794        &self,
1795        _p_create_info: &vk::DescriptorPoolCreateInfo,
1796        _p_allocator: Option<&vk::AllocationCallbacks>,
1797    ) -> LayerResult<VkResult<vk::DescriptorPool>> {
1798        LayerResult::Unhandled
1799    }
1800    fn destroy_descriptor_pool(
1801        &self,
1802        _descriptor_pool: vk::DescriptorPool,
1803        _p_allocator: Option<&vk::AllocationCallbacks>,
1804    ) -> LayerResult<()> {
1805        LayerResult::Unhandled
1806    }
1807    fn reset_descriptor_pool(
1808        &self,
1809        _descriptor_pool: vk::DescriptorPool,
1810        _flags: vk::DescriptorPoolResetFlags,
1811    ) -> LayerResult<VkResult<()>> {
1812        LayerResult::Unhandled
1813    }
1814    fn allocate_descriptor_sets(
1815        &self,
1816        _p_allocate_info: &vk::DescriptorSetAllocateInfo,
1817    ) -> LayerResult<VkResult<Vec<vk::DescriptorSet>>> {
1818        LayerResult::Unhandled
1819    }
1820    fn free_descriptor_sets(
1821        &self,
1822        _descriptor_pool: vk::DescriptorPool,
1823        _p_descriptor_sets: &[vk::DescriptorSet],
1824    ) -> LayerResult<VkResult<()>> {
1825        LayerResult::Unhandled
1826    }
1827    fn update_descriptor_sets(
1828        &self,
1829        _p_descriptor_writes: &[vk::WriteDescriptorSet],
1830        _p_descriptor_copies: &[vk::CopyDescriptorSet],
1831    ) -> LayerResult<()> {
1832        LayerResult::Unhandled
1833    }
1834    fn create_framebuffer(
1835        &self,
1836        _p_create_info: &vk::FramebufferCreateInfo,
1837        _p_allocator: Option<&vk::AllocationCallbacks>,
1838    ) -> LayerResult<VkResult<vk::Framebuffer>> {
1839        LayerResult::Unhandled
1840    }
1841    fn destroy_framebuffer(
1842        &self,
1843        _framebuffer: vk::Framebuffer,
1844        _p_allocator: Option<&vk::AllocationCallbacks>,
1845    ) -> LayerResult<()> {
1846        LayerResult::Unhandled
1847    }
1848    fn create_render_pass(
1849        &self,
1850        _p_create_info: &vk::RenderPassCreateInfo,
1851        _p_allocator: Option<&vk::AllocationCallbacks>,
1852    ) -> LayerResult<VkResult<vk::RenderPass>> {
1853        LayerResult::Unhandled
1854    }
1855    fn destroy_render_pass(
1856        &self,
1857        _render_pass: vk::RenderPass,
1858        _p_allocator: Option<&vk::AllocationCallbacks>,
1859    ) -> LayerResult<()> {
1860        LayerResult::Unhandled
1861    }
1862    fn get_render_area_granularity(
1863        &self,
1864        _render_pass: vk::RenderPass,
1865        _p_granularity: &mut MaybeUninit<vk::Extent2D>,
1866    ) -> LayerResult<()> {
1867        LayerResult::Unhandled
1868    }
1869    fn create_command_pool(
1870        &self,
1871        _p_create_info: &vk::CommandPoolCreateInfo,
1872        _p_allocator: Option<&vk::AllocationCallbacks>,
1873    ) -> LayerResult<VkResult<vk::CommandPool>> {
1874        LayerResult::Unhandled
1875    }
1876    fn destroy_command_pool(
1877        &self,
1878        _command_pool: vk::CommandPool,
1879        _p_allocator: Option<&vk::AllocationCallbacks>,
1880    ) -> LayerResult<()> {
1881        LayerResult::Unhandled
1882    }
1883    fn reset_command_pool(
1884        &self,
1885        _command_pool: vk::CommandPool,
1886        _flags: vk::CommandPoolResetFlags,
1887    ) -> LayerResult<VkResult<()>> {
1888        LayerResult::Unhandled
1889    }
1890    fn allocate_command_buffers(
1891        &self,
1892        _p_allocate_info: &vk::CommandBufferAllocateInfo,
1893    ) -> LayerResult<VkResult<Vec<vk::CommandBuffer>>> {
1894        LayerResult::Unhandled
1895    }
1896    fn free_command_buffers(
1897        &self,
1898        _command_pool: vk::CommandPool,
1899        _p_command_buffers: &[vk::CommandBuffer],
1900    ) -> LayerResult<()> {
1901        LayerResult::Unhandled
1902    }
1903    fn begin_command_buffer(
1904        &self,
1905        _command_buffer: vk::CommandBuffer,
1906        _p_begin_info: &vk::CommandBufferBeginInfo,
1907    ) -> LayerResult<VkResult<()>> {
1908        LayerResult::Unhandled
1909    }
1910    fn end_command_buffer(&self, _command_buffer: vk::CommandBuffer) -> LayerResult<VkResult<()>> {
1911        LayerResult::Unhandled
1912    }
1913    fn reset_command_buffer(
1914        &self,
1915        _command_buffer: vk::CommandBuffer,
1916        _flags: vk::CommandBufferResetFlags,
1917    ) -> LayerResult<VkResult<()>> {
1918        LayerResult::Unhandled
1919    }
1920    fn cmd_bind_pipeline(
1921        &self,
1922        _command_buffer: vk::CommandBuffer,
1923        _pipeline_bind_point: vk::PipelineBindPoint,
1924        _pipeline: vk::Pipeline,
1925    ) -> LayerResult<()> {
1926        LayerResult::Unhandled
1927    }
1928    fn cmd_set_viewport(
1929        &self,
1930        _command_buffer: vk::CommandBuffer,
1931        _first_viewport: u32,
1932        _p_viewports: &[vk::Viewport],
1933    ) -> LayerResult<()> {
1934        LayerResult::Unhandled
1935    }
1936    fn cmd_set_scissor(
1937        &self,
1938        _command_buffer: vk::CommandBuffer,
1939        _first_scissor: u32,
1940        _p_scissors: &[vk::Rect2D],
1941    ) -> LayerResult<()> {
1942        LayerResult::Unhandled
1943    }
1944    fn cmd_set_line_width(
1945        &self,
1946        _command_buffer: vk::CommandBuffer,
1947        _line_width: f32,
1948    ) -> LayerResult<()> {
1949        LayerResult::Unhandled
1950    }
1951    fn cmd_set_depth_bias(
1952        &self,
1953        _command_buffer: vk::CommandBuffer,
1954        _depth_bias_constant_factor: f32,
1955        _depth_bias_clamp: f32,
1956        _depth_bias_slope_factor: f32,
1957    ) -> LayerResult<()> {
1958        LayerResult::Unhandled
1959    }
1960    fn cmd_set_blend_constants(
1961        &self,
1962        _command_buffer: vk::CommandBuffer,
1963        _blend_constants: &[f32; 4],
1964    ) -> LayerResult<()> {
1965        LayerResult::Unhandled
1966    }
1967    fn cmd_set_depth_bounds(
1968        &self,
1969        _command_buffer: vk::CommandBuffer,
1970        _min_depth_bounds: f32,
1971        _max_depth_bounds: f32,
1972    ) -> LayerResult<()> {
1973        LayerResult::Unhandled
1974    }
1975    fn cmd_set_stencil_compare_mask(
1976        &self,
1977        _command_buffer: vk::CommandBuffer,
1978        _face_mask: vk::StencilFaceFlags,
1979        _compare_mask: u32,
1980    ) -> LayerResult<()> {
1981        LayerResult::Unhandled
1982    }
1983    fn cmd_set_stencil_write_mask(
1984        &self,
1985        _command_buffer: vk::CommandBuffer,
1986        _face_mask: vk::StencilFaceFlags,
1987        _write_mask: u32,
1988    ) -> LayerResult<()> {
1989        LayerResult::Unhandled
1990    }
1991    fn cmd_set_stencil_reference(
1992        &self,
1993        _command_buffer: vk::CommandBuffer,
1994        _face_mask: vk::StencilFaceFlags,
1995        _reference: u32,
1996    ) -> LayerResult<()> {
1997        LayerResult::Unhandled
1998    }
1999    fn cmd_bind_descriptor_sets(
2000        &self,
2001        _command_buffer: vk::CommandBuffer,
2002        _pipeline_bind_point: vk::PipelineBindPoint,
2003        _layout: vk::PipelineLayout,
2004        _first_set: u32,
2005        _p_descriptor_sets: &[vk::DescriptorSet],
2006        _p_dynamic_offsets: &[u32],
2007    ) -> LayerResult<()> {
2008        LayerResult::Unhandled
2009    }
2010    fn cmd_bind_index_buffer(
2011        &self,
2012        _command_buffer: vk::CommandBuffer,
2013        _buffer: vk::Buffer,
2014        _offset: vk::DeviceSize,
2015        _index_type: vk::IndexType,
2016    ) -> LayerResult<()> {
2017        LayerResult::Unhandled
2018    }
2019    fn cmd_bind_vertex_buffers(
2020        &self,
2021        _command_buffer: vk::CommandBuffer,
2022        _first_binding: u32,
2023        _p_buffers: &[vk::Buffer],
2024        _p_offsets: &[vk::DeviceSize],
2025    ) -> LayerResult<()> {
2026        LayerResult::Unhandled
2027    }
2028    fn cmd_draw(
2029        &self,
2030        _command_buffer: vk::CommandBuffer,
2031        _vertex_count: u32,
2032        _instance_count: u32,
2033        _first_vertex: u32,
2034        _first_instance: u32,
2035    ) -> LayerResult<()> {
2036        LayerResult::Unhandled
2037    }
2038    fn cmd_draw_indexed(
2039        &self,
2040        _command_buffer: vk::CommandBuffer,
2041        _index_count: u32,
2042        _instance_count: u32,
2043        _first_index: u32,
2044        _vertex_offset: i32,
2045        _first_instance: u32,
2046    ) -> LayerResult<()> {
2047        LayerResult::Unhandled
2048    }
2049    fn cmd_draw_indirect(
2050        &self,
2051        _command_buffer: vk::CommandBuffer,
2052        _buffer: vk::Buffer,
2053        _offset: vk::DeviceSize,
2054        _draw_count: u32,
2055        _stride: u32,
2056    ) -> LayerResult<()> {
2057        LayerResult::Unhandled
2058    }
2059    fn cmd_draw_indexed_indirect(
2060        &self,
2061        _command_buffer: vk::CommandBuffer,
2062        _buffer: vk::Buffer,
2063        _offset: vk::DeviceSize,
2064        _draw_count: u32,
2065        _stride: u32,
2066    ) -> LayerResult<()> {
2067        LayerResult::Unhandled
2068    }
2069    fn cmd_dispatch(
2070        &self,
2071        _command_buffer: vk::CommandBuffer,
2072        _group_countx: u32,
2073        _group_county: u32,
2074        _group_countz: u32,
2075    ) -> LayerResult<()> {
2076        LayerResult::Unhandled
2077    }
2078    fn cmd_dispatch_indirect(
2079        &self,
2080        _command_buffer: vk::CommandBuffer,
2081        _buffer: vk::Buffer,
2082        _offset: vk::DeviceSize,
2083    ) -> LayerResult<()> {
2084        LayerResult::Unhandled
2085    }
2086    fn cmd_copy_buffer(
2087        &self,
2088        _command_buffer: vk::CommandBuffer,
2089        _src_buffer: vk::Buffer,
2090        _dst_buffer: vk::Buffer,
2091        _p_regions: &[vk::BufferCopy],
2092    ) -> LayerResult<()> {
2093        LayerResult::Unhandled
2094    }
2095    fn cmd_copy_image(
2096        &self,
2097        _command_buffer: vk::CommandBuffer,
2098        _src_image: vk::Image,
2099        _src_image_layout: vk::ImageLayout,
2100        _dst_image: vk::Image,
2101        _dst_image_layout: vk::ImageLayout,
2102        _p_regions: &[vk::ImageCopy],
2103    ) -> LayerResult<()> {
2104        LayerResult::Unhandled
2105    }
2106    fn cmd_blit_image(
2107        &self,
2108        _command_buffer: vk::CommandBuffer,
2109        _src_image: vk::Image,
2110        _src_image_layout: vk::ImageLayout,
2111        _dst_image: vk::Image,
2112        _dst_image_layout: vk::ImageLayout,
2113        _p_regions: &[vk::ImageBlit],
2114        _filter: vk::Filter,
2115    ) -> LayerResult<()> {
2116        LayerResult::Unhandled
2117    }
2118    fn cmd_copy_buffer_to_image(
2119        &self,
2120        _command_buffer: vk::CommandBuffer,
2121        _src_buffer: vk::Buffer,
2122        _dst_image: vk::Image,
2123        _dst_image_layout: vk::ImageLayout,
2124        _p_regions: &[vk::BufferImageCopy],
2125    ) -> LayerResult<()> {
2126        LayerResult::Unhandled
2127    }
2128    fn cmd_copy_image_to_buffer(
2129        &self,
2130        _command_buffer: vk::CommandBuffer,
2131        _src_image: vk::Image,
2132        _src_image_layout: vk::ImageLayout,
2133        _dst_buffer: vk::Buffer,
2134        _p_regions: &[vk::BufferImageCopy],
2135    ) -> LayerResult<()> {
2136        LayerResult::Unhandled
2137    }
2138    fn cmd_update_buffer(
2139        &self,
2140        _command_buffer: vk::CommandBuffer,
2141        _dst_buffer: vk::Buffer,
2142        _dst_offset: vk::DeviceSize,
2143        _p_data: &[u8],
2144    ) -> LayerResult<()> {
2145        LayerResult::Unhandled
2146    }
2147    fn cmd_fill_buffer(
2148        &self,
2149        _command_buffer: vk::CommandBuffer,
2150        _dst_buffer: vk::Buffer,
2151        _dst_offset: vk::DeviceSize,
2152        _size: vk::DeviceSize,
2153        _data: u32,
2154    ) -> LayerResult<()> {
2155        LayerResult::Unhandled
2156    }
2157    fn cmd_clear_color_image(
2158        &self,
2159        _command_buffer: vk::CommandBuffer,
2160        _image: vk::Image,
2161        _image_layout: vk::ImageLayout,
2162        _p_color: &vk::ClearColorValue,
2163        _p_ranges: &[vk::ImageSubresourceRange],
2164    ) -> LayerResult<()> {
2165        LayerResult::Unhandled
2166    }
2167    fn cmd_clear_depth_stencil_image(
2168        &self,
2169        _command_buffer: vk::CommandBuffer,
2170        _image: vk::Image,
2171        _image_layout: vk::ImageLayout,
2172        _p_depth_stencil: &vk::ClearDepthStencilValue,
2173        _p_ranges: &[vk::ImageSubresourceRange],
2174    ) -> LayerResult<()> {
2175        LayerResult::Unhandled
2176    }
2177    fn cmd_clear_attachments(
2178        &self,
2179        _command_buffer: vk::CommandBuffer,
2180        _p_attachments: &[vk::ClearAttachment],
2181        _p_rects: &[vk::ClearRect],
2182    ) -> LayerResult<()> {
2183        LayerResult::Unhandled
2184    }
2185    fn cmd_resolve_image(
2186        &self,
2187        _command_buffer: vk::CommandBuffer,
2188        _src_image: vk::Image,
2189        _src_image_layout: vk::ImageLayout,
2190        _dst_image: vk::Image,
2191        _dst_image_layout: vk::ImageLayout,
2192        _p_regions: &[vk::ImageResolve],
2193    ) -> LayerResult<()> {
2194        LayerResult::Unhandled
2195    }
2196    fn cmd_set_event(
2197        &self,
2198        _command_buffer: vk::CommandBuffer,
2199        _event: vk::Event,
2200        _stage_mask: vk::PipelineStageFlags,
2201    ) -> LayerResult<()> {
2202        LayerResult::Unhandled
2203    }
2204    fn cmd_reset_event(
2205        &self,
2206        _command_buffer: vk::CommandBuffer,
2207        _event: vk::Event,
2208        _stage_mask: vk::PipelineStageFlags,
2209    ) -> LayerResult<()> {
2210        LayerResult::Unhandled
2211    }
2212    fn cmd_wait_events(
2213        &self,
2214        _command_buffer: vk::CommandBuffer,
2215        _p_events: &[vk::Event],
2216        _src_stage_mask: vk::PipelineStageFlags,
2217        _dst_stage_mask: vk::PipelineStageFlags,
2218        _p_memory_barriers: &[vk::MemoryBarrier],
2219        _p_buffer_memory_barriers: &[vk::BufferMemoryBarrier],
2220        _p_image_memory_barriers: &[vk::ImageMemoryBarrier],
2221    ) -> LayerResult<()> {
2222        LayerResult::Unhandled
2223    }
2224    fn cmd_pipeline_barrier(
2225        &self,
2226        _command_buffer: vk::CommandBuffer,
2227        _src_stage_mask: vk::PipelineStageFlags,
2228        _dst_stage_mask: vk::PipelineStageFlags,
2229        _dependency_flags: vk::DependencyFlags,
2230        _p_memory_barriers: &[vk::MemoryBarrier],
2231        _p_buffer_memory_barriers: &[vk::BufferMemoryBarrier],
2232        _p_image_memory_barriers: &[vk::ImageMemoryBarrier],
2233    ) -> LayerResult<()> {
2234        LayerResult::Unhandled
2235    }
2236    fn cmd_begin_query(
2237        &self,
2238        _command_buffer: vk::CommandBuffer,
2239        _query_pool: vk::QueryPool,
2240        _query: u32,
2241        _flags: vk::QueryControlFlags,
2242    ) -> LayerResult<()> {
2243        LayerResult::Unhandled
2244    }
2245    fn cmd_end_query(
2246        &self,
2247        _command_buffer: vk::CommandBuffer,
2248        _query_pool: vk::QueryPool,
2249        _query: u32,
2250    ) -> LayerResult<()> {
2251        LayerResult::Unhandled
2252    }
2253    fn cmd_reset_query_pool(
2254        &self,
2255        _command_buffer: vk::CommandBuffer,
2256        _query_pool: vk::QueryPool,
2257        _first_query: u32,
2258        _query_count: u32,
2259    ) -> LayerResult<()> {
2260        LayerResult::Unhandled
2261    }
2262    fn cmd_write_timestamp(
2263        &self,
2264        _command_buffer: vk::CommandBuffer,
2265        _pipeline_stage: vk::PipelineStageFlags,
2266        _query_pool: vk::QueryPool,
2267        _query: u32,
2268    ) -> LayerResult<()> {
2269        LayerResult::Unhandled
2270    }
2271    fn cmd_copy_query_pool_results(
2272        &self,
2273        _command_buffer: vk::CommandBuffer,
2274        _query_pool: vk::QueryPool,
2275        _first_query: u32,
2276        _query_count: u32,
2277        _dst_buffer: vk::Buffer,
2278        _dst_offset: vk::DeviceSize,
2279        _stride: vk::DeviceSize,
2280        _flags: vk::QueryResultFlags,
2281    ) -> LayerResult<()> {
2282        LayerResult::Unhandled
2283    }
2284    fn cmd_push_constants(
2285        &self,
2286        _command_buffer: vk::CommandBuffer,
2287        _layout: vk::PipelineLayout,
2288        _stage_flags: vk::ShaderStageFlags,
2289        _offset: u32,
2290        _p_values: &[u8],
2291    ) -> LayerResult<()> {
2292        LayerResult::Unhandled
2293    }
2294    fn cmd_begin_render_pass(
2295        &self,
2296        _command_buffer: vk::CommandBuffer,
2297        _p_render_pass_begin: &vk::RenderPassBeginInfo,
2298        _contents: vk::SubpassContents,
2299    ) -> LayerResult<()> {
2300        LayerResult::Unhandled
2301    }
2302    fn cmd_next_subpass(
2303        &self,
2304        _command_buffer: vk::CommandBuffer,
2305        _contents: vk::SubpassContents,
2306    ) -> LayerResult<()> {
2307        LayerResult::Unhandled
2308    }
2309    fn cmd_end_render_pass(&self, _command_buffer: vk::CommandBuffer) -> LayerResult<()> {
2310        LayerResult::Unhandled
2311    }
2312    fn cmd_execute_commands(
2313        &self,
2314        _command_buffer: vk::CommandBuffer,
2315        _p_command_buffers: &[vk::CommandBuffer],
2316    ) -> LayerResult<()> {
2317        LayerResult::Unhandled
2318    }
2319    fn bind_buffer_memory2(
2320        &self,
2321        _p_bind_infos: &[vk::BindBufferMemoryInfo],
2322    ) -> LayerResult<VkResult<()>> {
2323        LayerResult::Unhandled
2324    }
2325    fn bind_image_memory2(
2326        &self,
2327        _p_bind_infos: &[vk::BindImageMemoryInfo],
2328    ) -> LayerResult<VkResult<()>> {
2329        LayerResult::Unhandled
2330    }
2331    fn get_device_group_peer_memory_features(
2332        &self,
2333        _heap_index: u32,
2334        _local_device_index: u32,
2335        _remote_device_index: u32,
2336    ) -> LayerResult<vk::PeerMemoryFeatureFlags> {
2337        LayerResult::Unhandled
2338    }
2339    fn cmd_set_device_mask(
2340        &self,
2341        _command_buffer: vk::CommandBuffer,
2342        _device_mask: u32,
2343    ) -> LayerResult<()> {
2344        LayerResult::Unhandled
2345    }
2346    fn cmd_dispatch_base(
2347        &self,
2348        _command_buffer: vk::CommandBuffer,
2349        _base_groupx: u32,
2350        _base_groupy: u32,
2351        _base_groupz: u32,
2352        _group_countx: u32,
2353        _group_county: u32,
2354        _group_countz: u32,
2355    ) -> LayerResult<()> {
2356        LayerResult::Unhandled
2357    }
2358    fn get_image_memory_requirements2(
2359        &self,
2360        _p_info: &vk::ImageMemoryRequirementsInfo2,
2361        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements2>,
2362    ) -> LayerResult<()> {
2363        LayerResult::Unhandled
2364    }
2365    fn get_buffer_memory_requirements2(
2366        &self,
2367        _p_info: &vk::BufferMemoryRequirementsInfo2,
2368        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements2>,
2369    ) -> LayerResult<()> {
2370        LayerResult::Unhandled
2371    }
2372    fn get_image_sparse_memory_requirements2(
2373        &self,
2374        _p_info: &vk::ImageSparseMemoryRequirementsInfo2,
2375        _p_sparse_memory_requirement_count: &mut MaybeUninit<u32>,
2376        _p_sparse_memory_requirements: Option<
2377            &mut [MaybeUninit<vk::SparseImageMemoryRequirements2>],
2378        >,
2379    ) -> LayerResult<()> {
2380        LayerResult::Unhandled
2381    }
2382    fn trim_command_pool(
2383        &self,
2384        _command_pool: vk::CommandPool,
2385        _flags: vk::CommandPoolTrimFlags,
2386    ) -> LayerResult<()> {
2387        LayerResult::Unhandled
2388    }
2389    fn get_device_queue2(&self, _p_queue_info: &vk::DeviceQueueInfo2) -> LayerResult<vk::Queue> {
2390        LayerResult::Unhandled
2391    }
2392    fn create_sampler_ycbcr_conversion(
2393        &self,
2394        _p_create_info: &vk::SamplerYcbcrConversionCreateInfo,
2395        _p_allocator: Option<&vk::AllocationCallbacks>,
2396    ) -> LayerResult<VkResult<vk::SamplerYcbcrConversion>> {
2397        LayerResult::Unhandled
2398    }
2399    fn destroy_sampler_ycbcr_conversion(
2400        &self,
2401        _ycbcr_conversion: vk::SamplerYcbcrConversion,
2402        _p_allocator: Option<&vk::AllocationCallbacks>,
2403    ) -> LayerResult<()> {
2404        LayerResult::Unhandled
2405    }
2406    fn create_descriptor_update_template(
2407        &self,
2408        _p_create_info: &vk::DescriptorUpdateTemplateCreateInfo,
2409        _p_allocator: Option<&vk::AllocationCallbacks>,
2410    ) -> LayerResult<VkResult<vk::DescriptorUpdateTemplate>> {
2411        LayerResult::Unhandled
2412    }
2413    fn destroy_descriptor_update_template(
2414        &self,
2415        _descriptor_update_template: vk::DescriptorUpdateTemplate,
2416        _p_allocator: Option<&vk::AllocationCallbacks>,
2417    ) -> LayerResult<()> {
2418        LayerResult::Unhandled
2419    }
2420    fn update_descriptor_set_with_template(
2421        &self,
2422        _descriptor_set: vk::DescriptorSet,
2423        _descriptor_update_template: vk::DescriptorUpdateTemplate,
2424        _p_data: *const c_void,
2425    ) -> LayerResult<()> {
2426        LayerResult::Unhandled
2427    }
2428    fn get_descriptor_set_layout_support(
2429        &self,
2430        _p_create_info: &vk::DescriptorSetLayoutCreateInfo,
2431        _p_support: &mut MaybeUninit<vk::DescriptorSetLayoutSupport>,
2432    ) -> LayerResult<()> {
2433        LayerResult::Unhandled
2434    }
2435    fn cmd_draw_indirect_count(
2436        &self,
2437        _command_buffer: vk::CommandBuffer,
2438        _buffer: vk::Buffer,
2439        _offset: vk::DeviceSize,
2440        _count_buffer: vk::Buffer,
2441        _count_buffer_offset: vk::DeviceSize,
2442        _max_draw_count: u32,
2443        _stride: u32,
2444    ) -> LayerResult<()> {
2445        LayerResult::Unhandled
2446    }
2447    fn cmd_draw_indexed_indirect_count(
2448        &self,
2449        _command_buffer: vk::CommandBuffer,
2450        _buffer: vk::Buffer,
2451        _offset: vk::DeviceSize,
2452        _count_buffer: vk::Buffer,
2453        _count_buffer_offset: vk::DeviceSize,
2454        _max_draw_count: u32,
2455        _stride: u32,
2456    ) -> LayerResult<()> {
2457        LayerResult::Unhandled
2458    }
2459    fn create_render_pass2(
2460        &self,
2461        _p_create_info: &vk::RenderPassCreateInfo2,
2462        _p_allocator: Option<&vk::AllocationCallbacks>,
2463    ) -> LayerResult<VkResult<vk::RenderPass>> {
2464        LayerResult::Unhandled
2465    }
2466    fn cmd_begin_render_pass2(
2467        &self,
2468        _command_buffer: vk::CommandBuffer,
2469        _p_render_pass_begin: &vk::RenderPassBeginInfo,
2470        _p_subpass_begin_info: &vk::SubpassBeginInfo,
2471    ) -> LayerResult<()> {
2472        LayerResult::Unhandled
2473    }
2474    fn cmd_next_subpass2(
2475        &self,
2476        _command_buffer: vk::CommandBuffer,
2477        _p_subpass_begin_info: &vk::SubpassBeginInfo,
2478        _p_subpass_end_info: &vk::SubpassEndInfo,
2479    ) -> LayerResult<()> {
2480        LayerResult::Unhandled
2481    }
2482    fn cmd_end_render_pass2(
2483        &self,
2484        _command_buffer: vk::CommandBuffer,
2485        _p_subpass_end_info: &vk::SubpassEndInfo,
2486    ) -> LayerResult<()> {
2487        LayerResult::Unhandled
2488    }
2489    fn reset_query_pool(
2490        &self,
2491        _query_pool: vk::QueryPool,
2492        _first_query: u32,
2493        _query_count: u32,
2494    ) -> LayerResult<()> {
2495        LayerResult::Unhandled
2496    }
2497    fn get_semaphore_counter_value(&self, _semaphore: vk::Semaphore) -> LayerResult<VkResult<u64>> {
2498        LayerResult::Unhandled
2499    }
2500    fn wait_semaphores(
2501        &self,
2502        _p_wait_info: &vk::SemaphoreWaitInfo,
2503        _timeout: u64,
2504    ) -> LayerResult<VkResult<()>> {
2505        LayerResult::Unhandled
2506    }
2507    fn signal_semaphore(
2508        &self,
2509        _p_signal_info: &vk::SemaphoreSignalInfo,
2510    ) -> LayerResult<VkResult<()>> {
2511        LayerResult::Unhandled
2512    }
2513    fn get_buffer_device_address(
2514        &self,
2515        _p_info: &vk::BufferDeviceAddressInfo,
2516    ) -> LayerResult<vk::DeviceAddress> {
2517        LayerResult::Unhandled
2518    }
2519    fn get_buffer_opaque_capture_address(
2520        &self,
2521        _p_info: &vk::BufferDeviceAddressInfo,
2522    ) -> LayerResult<u64> {
2523        LayerResult::Unhandled
2524    }
2525    fn get_device_memory_opaque_capture_address(
2526        &self,
2527        _p_info: &vk::DeviceMemoryOpaqueCaptureAddressInfo,
2528    ) -> LayerResult<u64> {
2529        LayerResult::Unhandled
2530    }
2531    fn create_private_data_slot(
2532        &self,
2533        _p_create_info: &vk::PrivateDataSlotCreateInfo,
2534        _p_allocator: Option<&vk::AllocationCallbacks>,
2535    ) -> LayerResult<VkResult<vk::PrivateDataSlot>> {
2536        LayerResult::Unhandled
2537    }
2538    fn destroy_private_data_slot(
2539        &self,
2540        _private_data_slot: vk::PrivateDataSlot,
2541        _p_allocator: Option<&vk::AllocationCallbacks>,
2542    ) -> LayerResult<()> {
2543        LayerResult::Unhandled
2544    }
2545    fn set_private_data(
2546        &self,
2547        _object_type: vk::ObjectType,
2548        _object_handle: u64,
2549        _private_data_slot: vk::PrivateDataSlot,
2550        _data: u64,
2551    ) -> LayerResult<VkResult<()>> {
2552        LayerResult::Unhandled
2553    }
2554    fn get_private_data(
2555        &self,
2556        _object_type: vk::ObjectType,
2557        _object_handle: u64,
2558        _private_data_slot: vk::PrivateDataSlot,
2559    ) -> LayerResult<u64> {
2560        LayerResult::Unhandled
2561    }
2562    fn cmd_set_event2(
2563        &self,
2564        _command_buffer: vk::CommandBuffer,
2565        _event: vk::Event,
2566        _p_dependency_info: &vk::DependencyInfo,
2567    ) -> LayerResult<()> {
2568        LayerResult::Unhandled
2569    }
2570    fn cmd_reset_event2(
2571        &self,
2572        _command_buffer: vk::CommandBuffer,
2573        _event: vk::Event,
2574        _stage_mask: vk::PipelineStageFlags2,
2575    ) -> LayerResult<()> {
2576        LayerResult::Unhandled
2577    }
2578    fn cmd_wait_events2(
2579        &self,
2580        _command_buffer: vk::CommandBuffer,
2581        _p_events: &[vk::Event],
2582        _p_dependency_infos: &[vk::DependencyInfo],
2583    ) -> LayerResult<()> {
2584        LayerResult::Unhandled
2585    }
2586    fn cmd_pipeline_barrier2(
2587        &self,
2588        _command_buffer: vk::CommandBuffer,
2589        _p_dependency_info: &vk::DependencyInfo,
2590    ) -> LayerResult<()> {
2591        LayerResult::Unhandled
2592    }
2593    fn cmd_write_timestamp2(
2594        &self,
2595        _command_buffer: vk::CommandBuffer,
2596        _stage: vk::PipelineStageFlags2,
2597        _query_pool: vk::QueryPool,
2598        _query: u32,
2599    ) -> LayerResult<()> {
2600        LayerResult::Unhandled
2601    }
2602    fn queue_submit2(
2603        &self,
2604        _queue: vk::Queue,
2605        _p_submits: &[vk::SubmitInfo2],
2606        _fence: vk::Fence,
2607    ) -> LayerResult<VkResult<()>> {
2608        LayerResult::Unhandled
2609    }
2610    fn cmd_copy_buffer2(
2611        &self,
2612        _command_buffer: vk::CommandBuffer,
2613        _p_copy_buffer_info: &vk::CopyBufferInfo2,
2614    ) -> LayerResult<()> {
2615        LayerResult::Unhandled
2616    }
2617    fn cmd_copy_image2(
2618        &self,
2619        _command_buffer: vk::CommandBuffer,
2620        _p_copy_image_info: &vk::CopyImageInfo2,
2621    ) -> LayerResult<()> {
2622        LayerResult::Unhandled
2623    }
2624    fn cmd_copy_buffer_to_image2(
2625        &self,
2626        _command_buffer: vk::CommandBuffer,
2627        _p_copy_buffer_to_image_info: &vk::CopyBufferToImageInfo2,
2628    ) -> LayerResult<()> {
2629        LayerResult::Unhandled
2630    }
2631    fn cmd_copy_image_to_buffer2(
2632        &self,
2633        _command_buffer: vk::CommandBuffer,
2634        _p_copy_image_to_buffer_info: &vk::CopyImageToBufferInfo2,
2635    ) -> LayerResult<()> {
2636        LayerResult::Unhandled
2637    }
2638    fn cmd_blit_image2(
2639        &self,
2640        _command_buffer: vk::CommandBuffer,
2641        _p_blit_image_info: &vk::BlitImageInfo2,
2642    ) -> LayerResult<()> {
2643        LayerResult::Unhandled
2644    }
2645    fn cmd_resolve_image2(
2646        &self,
2647        _command_buffer: vk::CommandBuffer,
2648        _p_resolve_image_info: &vk::ResolveImageInfo2,
2649    ) -> LayerResult<()> {
2650        LayerResult::Unhandled
2651    }
2652    fn cmd_begin_rendering(
2653        &self,
2654        _command_buffer: vk::CommandBuffer,
2655        _p_rendering_info: &vk::RenderingInfo,
2656    ) -> LayerResult<()> {
2657        LayerResult::Unhandled
2658    }
2659    fn cmd_end_rendering(&self, _command_buffer: vk::CommandBuffer) -> LayerResult<()> {
2660        LayerResult::Unhandled
2661    }
2662    fn cmd_set_cull_mode(
2663        &self,
2664        _command_buffer: vk::CommandBuffer,
2665        _cull_mode: vk::CullModeFlags,
2666    ) -> LayerResult<()> {
2667        LayerResult::Unhandled
2668    }
2669    fn cmd_set_front_face(
2670        &self,
2671        _command_buffer: vk::CommandBuffer,
2672        _front_face: vk::FrontFace,
2673    ) -> LayerResult<()> {
2674        LayerResult::Unhandled
2675    }
2676    fn cmd_set_primitive_topology(
2677        &self,
2678        _command_buffer: vk::CommandBuffer,
2679        _primitive_topology: vk::PrimitiveTopology,
2680    ) -> LayerResult<()> {
2681        LayerResult::Unhandled
2682    }
2683    fn cmd_set_viewport_with_count(
2684        &self,
2685        _command_buffer: vk::CommandBuffer,
2686        _p_viewports: &[vk::Viewport],
2687    ) -> LayerResult<()> {
2688        LayerResult::Unhandled
2689    }
2690    fn cmd_set_scissor_with_count(
2691        &self,
2692        _command_buffer: vk::CommandBuffer,
2693        _p_scissors: &[vk::Rect2D],
2694    ) -> LayerResult<()> {
2695        LayerResult::Unhandled
2696    }
2697    fn cmd_bind_vertex_buffers2(
2698        &self,
2699        _command_buffer: vk::CommandBuffer,
2700        _first_binding: u32,
2701        _p_buffers: &[vk::Buffer],
2702        _p_offsets: &[vk::DeviceSize],
2703        _p_sizes: Option<&[vk::DeviceSize]>,
2704        _p_strides: Option<&[vk::DeviceSize]>,
2705    ) -> LayerResult<()> {
2706        LayerResult::Unhandled
2707    }
2708    fn cmd_set_depth_test_enable(
2709        &self,
2710        _command_buffer: vk::CommandBuffer,
2711        _depth_test_enable: bool,
2712    ) -> LayerResult<()> {
2713        LayerResult::Unhandled
2714    }
2715    fn cmd_set_depth_write_enable(
2716        &self,
2717        _command_buffer: vk::CommandBuffer,
2718        _depth_write_enable: bool,
2719    ) -> LayerResult<()> {
2720        LayerResult::Unhandled
2721    }
2722    fn cmd_set_depth_compare_op(
2723        &self,
2724        _command_buffer: vk::CommandBuffer,
2725        _depth_compare_op: vk::CompareOp,
2726    ) -> LayerResult<()> {
2727        LayerResult::Unhandled
2728    }
2729    fn cmd_set_depth_bounds_test_enable(
2730        &self,
2731        _command_buffer: vk::CommandBuffer,
2732        _depth_bounds_test_enable: bool,
2733    ) -> LayerResult<()> {
2734        LayerResult::Unhandled
2735    }
2736    fn cmd_set_stencil_test_enable(
2737        &self,
2738        _command_buffer: vk::CommandBuffer,
2739        _stencil_test_enable: bool,
2740    ) -> LayerResult<()> {
2741        LayerResult::Unhandled
2742    }
2743    fn cmd_set_stencil_op(
2744        &self,
2745        _command_buffer: vk::CommandBuffer,
2746        _face_mask: vk::StencilFaceFlags,
2747        _fail_op: vk::StencilOp,
2748        _pass_op: vk::StencilOp,
2749        _depth_fail_op: vk::StencilOp,
2750        _compare_op: vk::CompareOp,
2751    ) -> LayerResult<()> {
2752        LayerResult::Unhandled
2753    }
2754    fn cmd_set_rasterizer_discard_enable(
2755        &self,
2756        _command_buffer: vk::CommandBuffer,
2757        _rasterizer_discard_enable: bool,
2758    ) -> LayerResult<()> {
2759        LayerResult::Unhandled
2760    }
2761    fn cmd_set_depth_bias_enable(
2762        &self,
2763        _command_buffer: vk::CommandBuffer,
2764        _depth_bias_enable: bool,
2765    ) -> LayerResult<()> {
2766        LayerResult::Unhandled
2767    }
2768    fn cmd_set_primitive_restart_enable(
2769        &self,
2770        _command_buffer: vk::CommandBuffer,
2771        _primitive_restart_enable: bool,
2772    ) -> LayerResult<()> {
2773        LayerResult::Unhandled
2774    }
2775    fn get_device_buffer_memory_requirements(
2776        &self,
2777        _p_info: &vk::DeviceBufferMemoryRequirements,
2778        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements2>,
2779    ) -> LayerResult<()> {
2780        LayerResult::Unhandled
2781    }
2782    fn get_device_image_memory_requirements(
2783        &self,
2784        _p_info: &vk::DeviceImageMemoryRequirements,
2785        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements2>,
2786    ) -> LayerResult<()> {
2787        LayerResult::Unhandled
2788    }
2789    fn get_device_image_sparse_memory_requirements(
2790        &self,
2791        _p_info: &vk::DeviceImageMemoryRequirements,
2792        _p_sparse_memory_requirement_count: &mut MaybeUninit<u32>,
2793        _p_sparse_memory_requirements: Option<
2794            &mut [MaybeUninit<vk::SparseImageMemoryRequirements2>],
2795        >,
2796    ) -> LayerResult<()> {
2797        LayerResult::Unhandled
2798    }
2799    fn create_swapchain_khr(
2800        &self,
2801        _p_create_info: &vk::SwapchainCreateInfoKHR,
2802        _p_allocator: Option<&vk::AllocationCallbacks>,
2803    ) -> LayerResult<VkResult<vk::SwapchainKHR>> {
2804        LayerResult::Unhandled
2805    }
2806    fn destroy_swapchain_khr(
2807        &self,
2808        _swapchain: vk::SwapchainKHR,
2809        _p_allocator: Option<&vk::AllocationCallbacks>,
2810    ) -> LayerResult<()> {
2811        LayerResult::Unhandled
2812    }
2813    fn get_swapchain_images_khr(
2814        &self,
2815        _swapchain: vk::SwapchainKHR,
2816    ) -> LayerResult<VkResult<Vec<vk::Image>>> {
2817        LayerResult::Unhandled
2818    }
2819    fn acquire_next_image_khr(
2820        &self,
2821        _swapchain: vk::SwapchainKHR,
2822        _timeout: u64,
2823        _semaphore: vk::Semaphore,
2824        _fence: vk::Fence,
2825    ) -> LayerResult<VkResult<u32>> {
2826        LayerResult::Unhandled
2827    }
2828    fn queue_present_khr(
2829        &self,
2830        _queue: vk::Queue,
2831        _p_present_info: &vk::PresentInfoKHR,
2832    ) -> LayerResult<VkResult<()>> {
2833        LayerResult::Unhandled
2834    }
2835    fn get_device_group_present_capabilities_khr(
2836        &self,
2837        _p_device_group_present_capabilities: &mut MaybeUninit<
2838            vk::DeviceGroupPresentCapabilitiesKHR,
2839        >,
2840    ) -> LayerResult<VkResult<()>> {
2841        LayerResult::Unhandled
2842    }
2843    fn get_device_group_surface_present_modes_khr(
2844        &self,
2845        _surface: vk::SurfaceKHR,
2846    ) -> LayerResult<VkResult<vk::DeviceGroupPresentModeFlagsKHR>> {
2847        LayerResult::Unhandled
2848    }
2849    fn acquire_next_image2_khr(
2850        &self,
2851        _p_acquire_info: &vk::AcquireNextImageInfoKHR,
2852    ) -> LayerResult<VkResult<u32>> {
2853        LayerResult::Unhandled
2854    }
2855    fn create_shared_swapchains_khr(
2856        &self,
2857        _p_create_infos: &[vk::SwapchainCreateInfoKHR],
2858        _p_allocator: Option<&vk::AllocationCallbacks>,
2859    ) -> LayerResult<VkResult<Vec<vk::SwapchainKHR>>> {
2860        LayerResult::Unhandled
2861    }
2862    fn create_video_session_khr(
2863        &self,
2864        _p_create_info: &vk::VideoSessionCreateInfoKHR,
2865        _p_allocator: Option<&vk::AllocationCallbacks>,
2866    ) -> LayerResult<VkResult<vk::VideoSessionKHR>> {
2867        LayerResult::Unhandled
2868    }
2869    fn destroy_video_session_khr(
2870        &self,
2871        _video_session: vk::VideoSessionKHR,
2872        _p_allocator: Option<&vk::AllocationCallbacks>,
2873    ) -> LayerResult<()> {
2874        LayerResult::Unhandled
2875    }
2876    fn get_video_session_memory_requirements_khr(
2877        &self,
2878        _video_session: vk::VideoSessionKHR,
2879        _p_memory_requirements_count: &mut MaybeUninit<u32>,
2880        _p_memory_requirements: Option<&mut [MaybeUninit<vk::VideoSessionMemoryRequirementsKHR>]>,
2881    ) -> LayerResult<VkResult<()>> {
2882        LayerResult::Unhandled
2883    }
2884    fn bind_video_session_memory_khr(
2885        &self,
2886        _video_session: vk::VideoSessionKHR,
2887        _p_bind_session_memory_infos: &[vk::BindVideoSessionMemoryInfoKHR],
2888    ) -> LayerResult<VkResult<()>> {
2889        LayerResult::Unhandled
2890    }
2891    fn create_video_session_parameters_khr(
2892        &self,
2893        _p_create_info: &vk::VideoSessionParametersCreateInfoKHR,
2894        _p_allocator: Option<&vk::AllocationCallbacks>,
2895    ) -> LayerResult<VkResult<vk::VideoSessionParametersKHR>> {
2896        LayerResult::Unhandled
2897    }
2898    fn update_video_session_parameters_khr(
2899        &self,
2900        _video_session_parameters: vk::VideoSessionParametersKHR,
2901        _p_update_info: &vk::VideoSessionParametersUpdateInfoKHR,
2902    ) -> LayerResult<VkResult<()>> {
2903        LayerResult::Unhandled
2904    }
2905    fn destroy_video_session_parameters_khr(
2906        &self,
2907        _video_session_parameters: vk::VideoSessionParametersKHR,
2908        _p_allocator: Option<&vk::AllocationCallbacks>,
2909    ) -> LayerResult<()> {
2910        LayerResult::Unhandled
2911    }
2912    fn cmd_begin_video_coding_khr(
2913        &self,
2914        _command_buffer: vk::CommandBuffer,
2915        _p_begin_info: &vk::VideoBeginCodingInfoKHR,
2916    ) -> LayerResult<()> {
2917        LayerResult::Unhandled
2918    }
2919    fn cmd_end_video_coding_khr(
2920        &self,
2921        _command_buffer: vk::CommandBuffer,
2922        _p_end_coding_info: &vk::VideoEndCodingInfoKHR,
2923    ) -> LayerResult<()> {
2924        LayerResult::Unhandled
2925    }
2926    fn cmd_control_video_coding_khr(
2927        &self,
2928        _command_buffer: vk::CommandBuffer,
2929        _p_coding_control_info: &vk::VideoCodingControlInfoKHR,
2930    ) -> LayerResult<()> {
2931        LayerResult::Unhandled
2932    }
2933    fn cmd_decode_video_khr(
2934        &self,
2935        _command_buffer: vk::CommandBuffer,
2936        _p_decode_info: &vk::VideoDecodeInfoKHR,
2937    ) -> LayerResult<()> {
2938        LayerResult::Unhandled
2939    }
2940    fn get_memory_win32_handle_khr(
2941        &self,
2942        _p_get_win32_handle_info: &vk::MemoryGetWin32HandleInfoKHR,
2943    ) -> LayerResult<VkResult<vk::HANDLE>> {
2944        LayerResult::Unhandled
2945    }
2946    fn get_memory_win32_handle_properties_khr(
2947        &self,
2948        _handle_type: vk::ExternalMemoryHandleTypeFlags,
2949        _handle: vk::HANDLE,
2950        _p_memory_win32_handle_properties: &mut MaybeUninit<vk::MemoryWin32HandlePropertiesKHR>,
2951    ) -> LayerResult<VkResult<()>> {
2952        LayerResult::Unhandled
2953    }
2954    fn get_memory_fd_khr(
2955        &self,
2956        _p_get_fd_info: &vk::MemoryGetFdInfoKHR,
2957    ) -> LayerResult<VkResult<c_int>> {
2958        LayerResult::Unhandled
2959    }
2960    fn get_memory_fd_properties_khr(
2961        &self,
2962        _handle_type: vk::ExternalMemoryHandleTypeFlags,
2963        _fd: c_int,
2964        _p_memory_fd_properties: &mut MaybeUninit<vk::MemoryFdPropertiesKHR>,
2965    ) -> LayerResult<VkResult<()>> {
2966        LayerResult::Unhandled
2967    }
2968    fn import_semaphore_win32_handle_khr(
2969        &self,
2970        _p_import_semaphore_win32_handle_info: &vk::ImportSemaphoreWin32HandleInfoKHR,
2971    ) -> LayerResult<VkResult<()>> {
2972        LayerResult::Unhandled
2973    }
2974    fn get_semaphore_win32_handle_khr(
2975        &self,
2976        _p_get_win32_handle_info: &vk::SemaphoreGetWin32HandleInfoKHR,
2977    ) -> LayerResult<VkResult<vk::HANDLE>> {
2978        LayerResult::Unhandled
2979    }
2980    fn import_semaphore_fd_khr(
2981        &self,
2982        _p_import_semaphore_fd_info: &vk::ImportSemaphoreFdInfoKHR,
2983    ) -> LayerResult<VkResult<()>> {
2984        LayerResult::Unhandled
2985    }
2986    fn get_semaphore_fd_khr(
2987        &self,
2988        _p_get_fd_info: &vk::SemaphoreGetFdInfoKHR,
2989    ) -> LayerResult<VkResult<c_int>> {
2990        LayerResult::Unhandled
2991    }
2992    fn cmd_push_descriptor_set_khr(
2993        &self,
2994        _command_buffer: vk::CommandBuffer,
2995        _pipeline_bind_point: vk::PipelineBindPoint,
2996        _layout: vk::PipelineLayout,
2997        _set: u32,
2998        _p_descriptor_writes: &[vk::WriteDescriptorSet],
2999    ) -> LayerResult<()> {
3000        LayerResult::Unhandled
3001    }
3002    fn cmd_push_descriptor_set_with_template_khr(
3003        &self,
3004        _command_buffer: vk::CommandBuffer,
3005        _descriptor_update_template: vk::DescriptorUpdateTemplate,
3006        _layout: vk::PipelineLayout,
3007        _set: u32,
3008        _p_data: *const c_void,
3009    ) -> LayerResult<()> {
3010        LayerResult::Unhandled
3011    }
3012    fn get_swapchain_status_khr(&self, _swapchain: vk::SwapchainKHR) -> LayerResult<VkResult<()>> {
3013        LayerResult::Unhandled
3014    }
3015    fn import_fence_win32_handle_khr(
3016        &self,
3017        _p_import_fence_win32_handle_info: &vk::ImportFenceWin32HandleInfoKHR,
3018    ) -> LayerResult<VkResult<()>> {
3019        LayerResult::Unhandled
3020    }
3021    fn get_fence_win32_handle_khr(
3022        &self,
3023        _p_get_win32_handle_info: &vk::FenceGetWin32HandleInfoKHR,
3024    ) -> LayerResult<VkResult<vk::HANDLE>> {
3025        LayerResult::Unhandled
3026    }
3027    fn import_fence_fd_khr(
3028        &self,
3029        _p_import_fence_fd_info: &vk::ImportFenceFdInfoKHR,
3030    ) -> LayerResult<VkResult<()>> {
3031        LayerResult::Unhandled
3032    }
3033    fn get_fence_fd_khr(
3034        &self,
3035        _p_get_fd_info: &vk::FenceGetFdInfoKHR,
3036    ) -> LayerResult<VkResult<c_int>> {
3037        LayerResult::Unhandled
3038    }
3039    fn acquire_profiling_lock_khr(
3040        &self,
3041        _p_info: &vk::AcquireProfilingLockInfoKHR,
3042    ) -> LayerResult<VkResult<()>> {
3043        LayerResult::Unhandled
3044    }
3045    fn release_profiling_lock_khr(&self) -> LayerResult<()> {
3046        LayerResult::Unhandled
3047    }
3048    fn cmd_set_fragment_shading_rate_khr(
3049        &self,
3050        _command_buffer: vk::CommandBuffer,
3051        _p_fragment_size: &vk::Extent2D,
3052        _combiner_ops: &[vk::FragmentShadingRateCombinerOpKHR; 2],
3053    ) -> LayerResult<()> {
3054        LayerResult::Unhandled
3055    }
3056    fn wait_for_present_khr(
3057        &self,
3058        _swapchain: vk::SwapchainKHR,
3059        _present_id: u64,
3060        _timeout: u64,
3061    ) -> LayerResult<VkResult<()>> {
3062        LayerResult::Unhandled
3063    }
3064    fn create_deferred_operation_khr(
3065        &self,
3066        _p_allocator: Option<&vk::AllocationCallbacks>,
3067    ) -> LayerResult<VkResult<vk::DeferredOperationKHR>> {
3068        LayerResult::Unhandled
3069    }
3070    fn destroy_deferred_operation_khr(
3071        &self,
3072        _operation: vk::DeferredOperationKHR,
3073        _p_allocator: Option<&vk::AllocationCallbacks>,
3074    ) -> LayerResult<()> {
3075        LayerResult::Unhandled
3076    }
3077    fn get_deferred_operation_max_concurrency_khr(
3078        &self,
3079        _operation: vk::DeferredOperationKHR,
3080    ) -> LayerResult<u32> {
3081        LayerResult::Unhandled
3082    }
3083    fn get_deferred_operation_result_khr(
3084        &self,
3085        _operation: vk::DeferredOperationKHR,
3086    ) -> LayerResult<VkResult<()>> {
3087        LayerResult::Unhandled
3088    }
3089    fn deferred_operation_join_khr(
3090        &self,
3091        _operation: vk::DeferredOperationKHR,
3092    ) -> LayerResult<VkResult<()>> {
3093        LayerResult::Unhandled
3094    }
3095    fn get_pipeline_executable_properties_khr(
3096        &self,
3097        _p_pipeline_info: &vk::PipelineInfoKHR,
3098        _p_executable_count: &mut MaybeUninit<u32>,
3099        _p_properties: Option<&mut [MaybeUninit<vk::PipelineExecutablePropertiesKHR>]>,
3100    ) -> LayerResult<VkResult<()>> {
3101        LayerResult::Unhandled
3102    }
3103    fn get_pipeline_executable_statistics_khr(
3104        &self,
3105        _p_executable_info: &vk::PipelineExecutableInfoKHR,
3106        _p_statistic_count: &mut MaybeUninit<u32>,
3107        _p_statistics: Option<&mut [MaybeUninit<vk::PipelineExecutableStatisticKHR>]>,
3108    ) -> LayerResult<VkResult<()>> {
3109        LayerResult::Unhandled
3110    }
3111    fn get_pipeline_executable_internal_representations_khr(
3112        &self,
3113        _p_executable_info: &vk::PipelineExecutableInfoKHR,
3114        _p_internal_representation_count: &mut MaybeUninit<u32>,
3115        _p_internal_representations: Option<
3116            &mut [MaybeUninit<vk::PipelineExecutableInternalRepresentationKHR>],
3117        >,
3118    ) -> LayerResult<VkResult<()>> {
3119        LayerResult::Unhandled
3120    }
3121    fn cmd_encode_video_khr(
3122        &self,
3123        _command_buffer: vk::CommandBuffer,
3124        _p_encode_info: &vk::VideoEncodeInfoKHR,
3125    ) -> LayerResult<()> {
3126        LayerResult::Unhandled
3127    }
3128    fn cmd_write_buffer_marker2_amd(
3129        &self,
3130        _command_buffer: vk::CommandBuffer,
3131        _stage: vk::PipelineStageFlags2,
3132        _dst_buffer: vk::Buffer,
3133        _dst_offset: vk::DeviceSize,
3134        _marker: u32,
3135    ) -> LayerResult<()> {
3136        LayerResult::Unhandled
3137    }
3138    fn get_queue_checkpoint_data2_nv(
3139        &self,
3140        _queue: vk::Queue,
3141        _p_checkpoint_data_count: &mut MaybeUninit<u32>,
3142        _p_checkpoint_data: Option<&mut [MaybeUninit<vk::CheckpointData2NV>]>,
3143    ) -> LayerResult<()> {
3144        LayerResult::Unhandled
3145    }
3146    fn cmd_trace_rays_indirect2_khr(
3147        &self,
3148        _command_buffer: vk::CommandBuffer,
3149        _indirect_device_address: vk::DeviceAddress,
3150    ) -> LayerResult<()> {
3151        LayerResult::Unhandled
3152    }
3153    fn get_swapchain_gralloc_usage_android(
3154        &self,
3155        _format: vk::Format,
3156        _image_usage: vk::ImageUsageFlags,
3157    ) -> LayerResult<VkResult<c_int>> {
3158        LayerResult::Unhandled
3159    }
3160    fn acquire_image_android(
3161        &self,
3162        _image: vk::Image,
3163        _native_fence_fd: c_int,
3164        _semaphore: vk::Semaphore,
3165        _fence: vk::Fence,
3166    ) -> LayerResult<VkResult<()>> {
3167        LayerResult::Unhandled
3168    }
3169    fn queue_signal_release_image_android(
3170        &self,
3171        _queue: vk::Queue,
3172        _p_wait_semaphores: &[vk::Semaphore],
3173        _image: vk::Image,
3174    ) -> LayerResult<VkResult<c_int>> {
3175        LayerResult::Unhandled
3176    }
3177    fn get_swapchain_gralloc_usage2_android(
3178        &self,
3179        _format: vk::Format,
3180        _image_usage: vk::ImageUsageFlags,
3181        _swapchain_image_usage: vk::SwapchainImageUsageFlagsANDROID,
3182        _gralloc_consumer_usage: &mut MaybeUninit<u64>,
3183    ) -> LayerResult<VkResult<u64>> {
3184        LayerResult::Unhandled
3185    }
3186    fn debug_marker_set_object_tag_ext(
3187        &self,
3188        _p_tag_info: &vk::DebugMarkerObjectTagInfoEXT,
3189    ) -> LayerResult<VkResult<()>> {
3190        LayerResult::Unhandled
3191    }
3192    fn debug_marker_set_object_name_ext(
3193        &self,
3194        _p_name_info: &vk::DebugMarkerObjectNameInfoEXT,
3195    ) -> LayerResult<VkResult<()>> {
3196        LayerResult::Unhandled
3197    }
3198    fn cmd_debug_marker_begin_ext(
3199        &self,
3200        _command_buffer: vk::CommandBuffer,
3201        _p_marker_info: &vk::DebugMarkerMarkerInfoEXT,
3202    ) -> LayerResult<()> {
3203        LayerResult::Unhandled
3204    }
3205    fn cmd_debug_marker_end_ext(&self, _command_buffer: vk::CommandBuffer) -> LayerResult<()> {
3206        LayerResult::Unhandled
3207    }
3208    fn cmd_debug_marker_insert_ext(
3209        &self,
3210        _command_buffer: vk::CommandBuffer,
3211        _p_marker_info: &vk::DebugMarkerMarkerInfoEXT,
3212    ) -> LayerResult<()> {
3213        LayerResult::Unhandled
3214    }
3215    fn cmd_bind_transform_feedback_buffers_ext(
3216        &self,
3217        _command_buffer: vk::CommandBuffer,
3218        _first_binding: u32,
3219        _p_buffers: &[vk::Buffer],
3220        _p_offsets: &[vk::DeviceSize],
3221        _p_sizes: Option<&[vk::DeviceSize]>,
3222    ) -> LayerResult<()> {
3223        LayerResult::Unhandled
3224    }
3225    fn cmd_begin_transform_feedback_ext(
3226        &self,
3227        _command_buffer: vk::CommandBuffer,
3228        _first_counter_buffer: u32,
3229        _p_counter_buffers: &[vk::Buffer],
3230        _p_counter_buffer_offsets: Option<&[vk::DeviceSize]>,
3231    ) -> LayerResult<()> {
3232        LayerResult::Unhandled
3233    }
3234    fn cmd_end_transform_feedback_ext(
3235        &self,
3236        _command_buffer: vk::CommandBuffer,
3237        _first_counter_buffer: u32,
3238        _p_counter_buffers: &[vk::Buffer],
3239        _p_counter_buffer_offsets: Option<&[vk::DeviceSize]>,
3240    ) -> LayerResult<()> {
3241        LayerResult::Unhandled
3242    }
3243    fn cmd_begin_query_indexed_ext(
3244        &self,
3245        _command_buffer: vk::CommandBuffer,
3246        _query_pool: vk::QueryPool,
3247        _query: u32,
3248        _flags: vk::QueryControlFlags,
3249        _index: u32,
3250    ) -> LayerResult<()> {
3251        LayerResult::Unhandled
3252    }
3253    fn cmd_end_query_indexed_ext(
3254        &self,
3255        _command_buffer: vk::CommandBuffer,
3256        _query_pool: vk::QueryPool,
3257        _query: u32,
3258        _index: u32,
3259    ) -> LayerResult<()> {
3260        LayerResult::Unhandled
3261    }
3262    fn cmd_draw_indirect_byte_count_ext(
3263        &self,
3264        _command_buffer: vk::CommandBuffer,
3265        _instance_count: u32,
3266        _first_instance: u32,
3267        _counter_buffer: vk::Buffer,
3268        _counter_buffer_offset: vk::DeviceSize,
3269        _counter_offset: u32,
3270        _vertex_stride: u32,
3271    ) -> LayerResult<()> {
3272        LayerResult::Unhandled
3273    }
3274    fn create_cu_module_nvx(
3275        &self,
3276        _p_create_info: &vk::CuModuleCreateInfoNVX,
3277        _p_allocator: Option<&vk::AllocationCallbacks>,
3278    ) -> LayerResult<VkResult<vk::CuModuleNVX>> {
3279        LayerResult::Unhandled
3280    }
3281    fn create_cu_function_nvx(
3282        &self,
3283        _p_create_info: &vk::CuFunctionCreateInfoNVX,
3284        _p_allocator: Option<&vk::AllocationCallbacks>,
3285    ) -> LayerResult<VkResult<vk::CuFunctionNVX>> {
3286        LayerResult::Unhandled
3287    }
3288    fn destroy_cu_module_nvx(
3289        &self,
3290        _module: vk::CuModuleNVX,
3291        _p_allocator: Option<&vk::AllocationCallbacks>,
3292    ) -> LayerResult<()> {
3293        LayerResult::Unhandled
3294    }
3295    fn destroy_cu_function_nvx(
3296        &self,
3297        _function: vk::CuFunctionNVX,
3298        _p_allocator: Option<&vk::AllocationCallbacks>,
3299    ) -> LayerResult<()> {
3300        LayerResult::Unhandled
3301    }
3302    fn cmd_cu_launch_kernel_nvx(
3303        &self,
3304        _command_buffer: vk::CommandBuffer,
3305        _p_launch_info: &vk::CuLaunchInfoNVX,
3306    ) -> LayerResult<()> {
3307        LayerResult::Unhandled
3308    }
3309    fn get_image_view_handle_nvx(&self, _p_info: &vk::ImageViewHandleInfoNVX) -> LayerResult<u32> {
3310        LayerResult::Unhandled
3311    }
3312    fn get_image_view_address_nvx(
3313        &self,
3314        _image_view: vk::ImageView,
3315        _p_properties: &mut MaybeUninit<vk::ImageViewAddressPropertiesNVX>,
3316    ) -> LayerResult<VkResult<()>> {
3317        LayerResult::Unhandled
3318    }
3319    fn get_shader_info_amd(
3320        &self,
3321        _pipeline: vk::Pipeline,
3322        _shader_stage: vk::ShaderStageFlags,
3323        _info_type: vk::ShaderInfoTypeAMD,
3324        _p_info_size: &mut MaybeUninit<usize>,
3325        _p_info: Option<&mut [MaybeUninit<u8>]>,
3326    ) -> LayerResult<VkResult<()>> {
3327        LayerResult::Unhandled
3328    }
3329    fn get_memory_win32_handle_nv(
3330        &self,
3331        _memory: vk::DeviceMemory,
3332        _handle_type: vk::ExternalMemoryHandleTypeFlagsNV,
3333    ) -> LayerResult<VkResult<vk::HANDLE>> {
3334        LayerResult::Unhandled
3335    }
3336    fn cmd_begin_conditional_rendering_ext(
3337        &self,
3338        _command_buffer: vk::CommandBuffer,
3339        _p_conditional_rendering_begin: &vk::ConditionalRenderingBeginInfoEXT,
3340    ) -> LayerResult<()> {
3341        LayerResult::Unhandled
3342    }
3343    fn cmd_end_conditional_rendering_ext(
3344        &self,
3345        _command_buffer: vk::CommandBuffer,
3346    ) -> LayerResult<()> {
3347        LayerResult::Unhandled
3348    }
3349    fn cmd_set_viewport_w_scaling_nv(
3350        &self,
3351        _command_buffer: vk::CommandBuffer,
3352        _first_viewport: u32,
3353        _p_viewport_w_scalings: &[vk::ViewportWScalingNV],
3354    ) -> LayerResult<()> {
3355        LayerResult::Unhandled
3356    }
3357    fn display_power_control_ext(
3358        &self,
3359        _display: vk::DisplayKHR,
3360        _p_display_power_info: &vk::DisplayPowerInfoEXT,
3361    ) -> LayerResult<VkResult<()>> {
3362        LayerResult::Unhandled
3363    }
3364    fn register_device_event_ext(
3365        &self,
3366        _p_device_event_info: &vk::DeviceEventInfoEXT,
3367        _p_allocator: Option<&vk::AllocationCallbacks>,
3368    ) -> LayerResult<VkResult<vk::Fence>> {
3369        LayerResult::Unhandled
3370    }
3371    fn register_display_event_ext(
3372        &self,
3373        _display: vk::DisplayKHR,
3374        _p_display_event_info: &vk::DisplayEventInfoEXT,
3375        _p_allocator: Option<&vk::AllocationCallbacks>,
3376    ) -> LayerResult<VkResult<vk::Fence>> {
3377        LayerResult::Unhandled
3378    }
3379    fn get_swapchain_counter_ext(
3380        &self,
3381        _swapchain: vk::SwapchainKHR,
3382        _counter: vk::SurfaceCounterFlagsEXT,
3383    ) -> LayerResult<VkResult<u64>> {
3384        LayerResult::Unhandled
3385    }
3386    fn get_refresh_cycle_duration_google(
3387        &self,
3388        _swapchain: vk::SwapchainKHR,
3389        _p_display_timing_properties: &mut MaybeUninit<vk::RefreshCycleDurationGOOGLE>,
3390    ) -> LayerResult<VkResult<()>> {
3391        LayerResult::Unhandled
3392    }
3393    fn get_past_presentation_timing_google(
3394        &self,
3395        _swapchain: vk::SwapchainKHR,
3396        _p_presentation_timing_count: &mut MaybeUninit<u32>,
3397        _p_presentation_timings: Option<&mut [MaybeUninit<vk::PastPresentationTimingGOOGLE>]>,
3398    ) -> LayerResult<VkResult<()>> {
3399        LayerResult::Unhandled
3400    }
3401    fn cmd_set_discard_rectangle_ext(
3402        &self,
3403        _command_buffer: vk::CommandBuffer,
3404        _first_discard_rectangle: u32,
3405        _p_discard_rectangles: &[vk::Rect2D],
3406    ) -> LayerResult<()> {
3407        LayerResult::Unhandled
3408    }
3409    fn set_hdr_metadata_ext(
3410        &self,
3411        _p_swapchains: &[vk::SwapchainKHR],
3412        _p_metadata: &[vk::HdrMetadataEXT],
3413    ) -> LayerResult<()> {
3414        LayerResult::Unhandled
3415    }
3416    fn set_debug_utils_object_name_ext(
3417        &self,
3418        _p_name_info: &vk::DebugUtilsObjectNameInfoEXT,
3419    ) -> LayerResult<VkResult<()>> {
3420        LayerResult::Unhandled
3421    }
3422    fn set_debug_utils_object_tag_ext(
3423        &self,
3424        _p_tag_info: &vk::DebugUtilsObjectTagInfoEXT,
3425    ) -> LayerResult<VkResult<()>> {
3426        LayerResult::Unhandled
3427    }
3428    fn queue_begin_debug_utils_label_ext(
3429        &self,
3430        _queue: vk::Queue,
3431        _p_label_info: &vk::DebugUtilsLabelEXT,
3432    ) -> LayerResult<()> {
3433        LayerResult::Unhandled
3434    }
3435    fn queue_end_debug_utils_label_ext(&self, _queue: vk::Queue) -> LayerResult<()> {
3436        LayerResult::Unhandled
3437    }
3438    fn queue_insert_debug_utils_label_ext(
3439        &self,
3440        _queue: vk::Queue,
3441        _p_label_info: &vk::DebugUtilsLabelEXT,
3442    ) -> LayerResult<()> {
3443        LayerResult::Unhandled
3444    }
3445    fn cmd_begin_debug_utils_label_ext(
3446        &self,
3447        _command_buffer: vk::CommandBuffer,
3448        _p_label_info: &vk::DebugUtilsLabelEXT,
3449    ) -> LayerResult<()> {
3450        LayerResult::Unhandled
3451    }
3452    fn cmd_end_debug_utils_label_ext(&self, _command_buffer: vk::CommandBuffer) -> LayerResult<()> {
3453        LayerResult::Unhandled
3454    }
3455    fn cmd_insert_debug_utils_label_ext(
3456        &self,
3457        _command_buffer: vk::CommandBuffer,
3458        _p_label_info: &vk::DebugUtilsLabelEXT,
3459    ) -> LayerResult<()> {
3460        LayerResult::Unhandled
3461    }
3462    fn get_android_hardware_buffer_properties_android(
3463        &self,
3464        _buffer: *const vk::AHardwareBuffer,
3465        _p_properties: &mut MaybeUninit<vk::AndroidHardwareBufferPropertiesANDROID>,
3466    ) -> LayerResult<VkResult<()>> {
3467        LayerResult::Unhandled
3468    }
3469    fn get_memory_android_hardware_buffer_android(
3470        &self,
3471        _p_info: &vk::MemoryGetAndroidHardwareBufferInfoANDROID,
3472    ) -> LayerResult<VkResult<*mut vk::AHardwareBuffer>> {
3473        LayerResult::Unhandled
3474    }
3475    fn cmd_set_sample_locations_ext(
3476        &self,
3477        _command_buffer: vk::CommandBuffer,
3478        _p_sample_locations_info: &vk::SampleLocationsInfoEXT,
3479    ) -> LayerResult<()> {
3480        LayerResult::Unhandled
3481    }
3482    fn get_image_drm_format_modifier_properties_ext(
3483        &self,
3484        _image: vk::Image,
3485        _p_properties: &mut MaybeUninit<vk::ImageDrmFormatModifierPropertiesEXT>,
3486    ) -> LayerResult<VkResult<()>> {
3487        LayerResult::Unhandled
3488    }
3489    fn create_validation_cache_ext(
3490        &self,
3491        _p_create_info: &vk::ValidationCacheCreateInfoEXT,
3492        _p_allocator: Option<&vk::AllocationCallbacks>,
3493    ) -> LayerResult<VkResult<vk::ValidationCacheEXT>> {
3494        LayerResult::Unhandled
3495    }
3496    fn destroy_validation_cache_ext(
3497        &self,
3498        _validation_cache: vk::ValidationCacheEXT,
3499        _p_allocator: Option<&vk::AllocationCallbacks>,
3500    ) -> LayerResult<()> {
3501        LayerResult::Unhandled
3502    }
3503    fn merge_validation_caches_ext(
3504        &self,
3505        _dst_cache: vk::ValidationCacheEXT,
3506        _p_src_caches: &[vk::ValidationCacheEXT],
3507    ) -> LayerResult<VkResult<()>> {
3508        LayerResult::Unhandled
3509    }
3510    fn get_validation_cache_data_ext(
3511        &self,
3512        _validation_cache: vk::ValidationCacheEXT,
3513        _p_data_size: &mut MaybeUninit<usize>,
3514        _p_data: Option<&mut [MaybeUninit<u8>]>,
3515    ) -> LayerResult<VkResult<()>> {
3516        LayerResult::Unhandled
3517    }
3518    fn cmd_bind_shading_rate_image_nv(
3519        &self,
3520        _command_buffer: vk::CommandBuffer,
3521        _image_view: vk::ImageView,
3522        _image_layout: vk::ImageLayout,
3523    ) -> LayerResult<()> {
3524        LayerResult::Unhandled
3525    }
3526    fn cmd_set_viewport_shading_rate_palette_nv(
3527        &self,
3528        _command_buffer: vk::CommandBuffer,
3529        _first_viewport: u32,
3530        _p_shading_rate_palettes: &[vk::ShadingRatePaletteNV],
3531    ) -> LayerResult<()> {
3532        LayerResult::Unhandled
3533    }
3534    fn cmd_set_coarse_sample_order_nv(
3535        &self,
3536        _command_buffer: vk::CommandBuffer,
3537        _sample_order_type: vk::CoarseSampleOrderTypeNV,
3538        _p_custom_sample_orders: &[vk::CoarseSampleOrderCustomNV],
3539    ) -> LayerResult<()> {
3540        LayerResult::Unhandled
3541    }
3542    fn create_acceleration_structure_nv(
3543        &self,
3544        _p_create_info: &vk::AccelerationStructureCreateInfoNV,
3545        _p_allocator: Option<&vk::AllocationCallbacks>,
3546    ) -> LayerResult<VkResult<vk::AccelerationStructureNV>> {
3547        LayerResult::Unhandled
3548    }
3549    fn destroy_acceleration_structure_nv(
3550        &self,
3551        _acceleration_structure: vk::AccelerationStructureNV,
3552        _p_allocator: Option<&vk::AllocationCallbacks>,
3553    ) -> LayerResult<()> {
3554        LayerResult::Unhandled
3555    }
3556    fn get_acceleration_structure_memory_requirements_nv(
3557        &self,
3558        _p_info: &vk::AccelerationStructureMemoryRequirementsInfoNV,
3559        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements2KHR>,
3560    ) -> LayerResult<()> {
3561        LayerResult::Unhandled
3562    }
3563    fn bind_acceleration_structure_memory_nv(
3564        &self,
3565        _p_bind_infos: &[vk::BindAccelerationStructureMemoryInfoNV],
3566    ) -> LayerResult<VkResult<()>> {
3567        LayerResult::Unhandled
3568    }
3569    fn cmd_build_acceleration_structure_nv(
3570        &self,
3571        _command_buffer: vk::CommandBuffer,
3572        _p_info: &vk::AccelerationStructureInfoNV,
3573        _instance_data: vk::Buffer,
3574        _instance_offset: vk::DeviceSize,
3575        _update: bool,
3576        _dst: vk::AccelerationStructureNV,
3577        _src: vk::AccelerationStructureNV,
3578        _scratch: vk::Buffer,
3579        _scratch_offset: vk::DeviceSize,
3580    ) -> LayerResult<()> {
3581        LayerResult::Unhandled
3582    }
3583    fn cmd_copy_acceleration_structure_nv(
3584        &self,
3585        _command_buffer: vk::CommandBuffer,
3586        _dst: vk::AccelerationStructureNV,
3587        _src: vk::AccelerationStructureNV,
3588        _mode: vk::CopyAccelerationStructureModeKHR,
3589    ) -> LayerResult<()> {
3590        LayerResult::Unhandled
3591    }
3592    fn cmd_trace_rays_nv(
3593        &self,
3594        _command_buffer: vk::CommandBuffer,
3595        _raygen_shader_binding_table_buffer: vk::Buffer,
3596        _raygen_shader_binding_offset: vk::DeviceSize,
3597        _miss_shader_binding_table_buffer: vk::Buffer,
3598        _miss_shader_binding_offset: vk::DeviceSize,
3599        _miss_shader_binding_stride: vk::DeviceSize,
3600        _hit_shader_binding_table_buffer: vk::Buffer,
3601        _hit_shader_binding_offset: vk::DeviceSize,
3602        _hit_shader_binding_stride: vk::DeviceSize,
3603        _callable_shader_binding_table_buffer: vk::Buffer,
3604        _callable_shader_binding_offset: vk::DeviceSize,
3605        _callable_shader_binding_stride: vk::DeviceSize,
3606        _width: u32,
3607        _height: u32,
3608        _depth: u32,
3609    ) -> LayerResult<()> {
3610        LayerResult::Unhandled
3611    }
3612    fn create_ray_tracing_pipelines_nv(
3613        &self,
3614        _pipeline_cache: vk::PipelineCache,
3615        _p_create_infos: &[vk::RayTracingPipelineCreateInfoNV],
3616        _p_allocator: Option<&vk::AllocationCallbacks>,
3617    ) -> LayerResult<VkResult<Vec<vk::Pipeline>>> {
3618        LayerResult::Unhandled
3619    }
3620    fn get_ray_tracing_shader_group_handles_khr(
3621        &self,
3622        _pipeline: vk::Pipeline,
3623        _first_group: u32,
3624        _group_count: u32,
3625        _p_data: &mut [MaybeUninit<u8>],
3626    ) -> LayerResult<VkResult<()>> {
3627        LayerResult::Unhandled
3628    }
3629    fn get_acceleration_structure_handle_nv(
3630        &self,
3631        _acceleration_structure: vk::AccelerationStructureNV,
3632        _p_data: &mut [MaybeUninit<u8>],
3633    ) -> LayerResult<VkResult<()>> {
3634        LayerResult::Unhandled
3635    }
3636    fn cmd_write_acceleration_structures_properties_nv(
3637        &self,
3638        _command_buffer: vk::CommandBuffer,
3639        _p_acceleration_structures: &[vk::AccelerationStructureNV],
3640        _query_type: vk::QueryType,
3641        _query_pool: vk::QueryPool,
3642        _first_query: u32,
3643    ) -> LayerResult<()> {
3644        LayerResult::Unhandled
3645    }
3646    fn compile_deferred_nv(
3647        &self,
3648        _pipeline: vk::Pipeline,
3649        _shader: u32,
3650    ) -> LayerResult<VkResult<()>> {
3651        LayerResult::Unhandled
3652    }
3653    fn get_memory_host_pointer_properties_ext(
3654        &self,
3655        _handle_type: vk::ExternalMemoryHandleTypeFlags,
3656        _p_host_pointer: *const c_void,
3657        _p_memory_host_pointer_properties: &mut MaybeUninit<vk::MemoryHostPointerPropertiesEXT>,
3658    ) -> LayerResult<VkResult<()>> {
3659        LayerResult::Unhandled
3660    }
3661    fn cmd_write_buffer_marker_amd(
3662        &self,
3663        _command_buffer: vk::CommandBuffer,
3664        _pipeline_stage: vk::PipelineStageFlags,
3665        _dst_buffer: vk::Buffer,
3666        _dst_offset: vk::DeviceSize,
3667        _marker: u32,
3668    ) -> LayerResult<()> {
3669        LayerResult::Unhandled
3670    }
3671    fn get_calibrated_timestamps_ext(
3672        &self,
3673        _p_timestamp_infos: &[vk::CalibratedTimestampInfoEXT],
3674        _p_timestamps: &mut [MaybeUninit<u64>],
3675    ) -> LayerResult<VkResult<u64>> {
3676        LayerResult::Unhandled
3677    }
3678    fn cmd_draw_mesh_tasks_nv(
3679        &self,
3680        _command_buffer: vk::CommandBuffer,
3681        _task_count: u32,
3682        _first_task: u32,
3683    ) -> LayerResult<()> {
3684        LayerResult::Unhandled
3685    }
3686    fn cmd_draw_mesh_tasks_indirect_nv(
3687        &self,
3688        _command_buffer: vk::CommandBuffer,
3689        _buffer: vk::Buffer,
3690        _offset: vk::DeviceSize,
3691        _draw_count: u32,
3692        _stride: u32,
3693    ) -> LayerResult<()> {
3694        LayerResult::Unhandled
3695    }
3696    fn cmd_draw_mesh_tasks_indirect_count_nv(
3697        &self,
3698        _command_buffer: vk::CommandBuffer,
3699        _buffer: vk::Buffer,
3700        _offset: vk::DeviceSize,
3701        _count_buffer: vk::Buffer,
3702        _count_buffer_offset: vk::DeviceSize,
3703        _max_draw_count: u32,
3704        _stride: u32,
3705    ) -> LayerResult<()> {
3706        LayerResult::Unhandled
3707    }
3708    fn cmd_set_exclusive_scissor_nv(
3709        &self,
3710        _command_buffer: vk::CommandBuffer,
3711        _first_exclusive_scissor: u32,
3712        _p_exclusive_scissors: &[vk::Rect2D],
3713    ) -> LayerResult<()> {
3714        LayerResult::Unhandled
3715    }
3716    fn cmd_set_checkpoint_nv(
3717        &self,
3718        _command_buffer: vk::CommandBuffer,
3719        _p_checkpoint_marker: *const c_void,
3720    ) -> LayerResult<()> {
3721        LayerResult::Unhandled
3722    }
3723    fn get_queue_checkpoint_data_nv(
3724        &self,
3725        _queue: vk::Queue,
3726        _p_checkpoint_data_count: &mut MaybeUninit<u32>,
3727        _p_checkpoint_data: Option<&mut [MaybeUninit<vk::CheckpointDataNV>]>,
3728    ) -> LayerResult<()> {
3729        LayerResult::Unhandled
3730    }
3731    fn initialize_performance_api_intel(
3732        &self,
3733        _p_initialize_info: &vk::InitializePerformanceApiInfoINTEL,
3734    ) -> LayerResult<VkResult<()>> {
3735        LayerResult::Unhandled
3736    }
3737    fn uninitialize_performance_api_intel(&self) -> LayerResult<()> {
3738        LayerResult::Unhandled
3739    }
3740    fn cmd_set_performance_marker_intel(
3741        &self,
3742        _command_buffer: vk::CommandBuffer,
3743        _p_marker_info: &vk::PerformanceMarkerInfoINTEL,
3744    ) -> LayerResult<VkResult<()>> {
3745        LayerResult::Unhandled
3746    }
3747    fn cmd_set_performance_stream_marker_intel(
3748        &self,
3749        _command_buffer: vk::CommandBuffer,
3750        _p_marker_info: &vk::PerformanceStreamMarkerInfoINTEL,
3751    ) -> LayerResult<VkResult<()>> {
3752        LayerResult::Unhandled
3753    }
3754    fn cmd_set_performance_override_intel(
3755        &self,
3756        _command_buffer: vk::CommandBuffer,
3757        _p_override_info: &vk::PerformanceOverrideInfoINTEL,
3758    ) -> LayerResult<VkResult<()>> {
3759        LayerResult::Unhandled
3760    }
3761    fn acquire_performance_configuration_intel(
3762        &self,
3763        _p_acquire_info: &vk::PerformanceConfigurationAcquireInfoINTEL,
3764    ) -> LayerResult<VkResult<vk::PerformanceConfigurationINTEL>> {
3765        LayerResult::Unhandled
3766    }
3767    fn release_performance_configuration_intel(
3768        &self,
3769        _configuration: vk::PerformanceConfigurationINTEL,
3770    ) -> LayerResult<VkResult<()>> {
3771        LayerResult::Unhandled
3772    }
3773    fn queue_set_performance_configuration_intel(
3774        &self,
3775        _queue: vk::Queue,
3776        _configuration: vk::PerformanceConfigurationINTEL,
3777    ) -> LayerResult<VkResult<()>> {
3778        LayerResult::Unhandled
3779    }
3780    fn get_performance_parameter_intel(
3781        &self,
3782        _parameter: vk::PerformanceParameterTypeINTEL,
3783        _p_value: &mut MaybeUninit<vk::PerformanceValueINTEL>,
3784    ) -> LayerResult<VkResult<()>> {
3785        LayerResult::Unhandled
3786    }
3787    fn set_local_dimming_amd(
3788        &self,
3789        _swap_chain: vk::SwapchainKHR,
3790        _local_dimming_enable: bool,
3791    ) -> LayerResult<()> {
3792        LayerResult::Unhandled
3793    }
3794    fn acquire_full_screen_exclusive_mode_ext(
3795        &self,
3796        _swapchain: vk::SwapchainKHR,
3797    ) -> LayerResult<VkResult<()>> {
3798        LayerResult::Unhandled
3799    }
3800    fn release_full_screen_exclusive_mode_ext(
3801        &self,
3802        _swapchain: vk::SwapchainKHR,
3803    ) -> LayerResult<VkResult<()>> {
3804        LayerResult::Unhandled
3805    }
3806    fn get_device_group_surface_present_modes2_ext(
3807        &self,
3808        _p_surface_info: &vk::PhysicalDeviceSurfaceInfo2KHR,
3809    ) -> LayerResult<VkResult<vk::DeviceGroupPresentModeFlagsKHR>> {
3810        LayerResult::Unhandled
3811    }
3812    fn cmd_set_line_stipple_ext(
3813        &self,
3814        _command_buffer: vk::CommandBuffer,
3815        _line_stipple_factor: u32,
3816        _line_stipple_pattern: u16,
3817    ) -> LayerResult<()> {
3818        LayerResult::Unhandled
3819    }
3820    fn release_swapchain_images_ext(
3821        &self,
3822        _p_release_info: &vk::ReleaseSwapchainImagesInfoEXT,
3823    ) -> LayerResult<VkResult<()>> {
3824        LayerResult::Unhandled
3825    }
3826    fn get_generated_commands_memory_requirements_nv(
3827        &self,
3828        _p_info: &vk::GeneratedCommandsMemoryRequirementsInfoNV,
3829        _p_memory_requirements: &mut MaybeUninit<vk::MemoryRequirements2>,
3830    ) -> LayerResult<()> {
3831        LayerResult::Unhandled
3832    }
3833    fn cmd_preprocess_generated_commands_nv(
3834        &self,
3835        _command_buffer: vk::CommandBuffer,
3836        _p_generated_commands_info: &vk::GeneratedCommandsInfoNV,
3837    ) -> LayerResult<()> {
3838        LayerResult::Unhandled
3839    }
3840    fn cmd_execute_generated_commands_nv(
3841        &self,
3842        _command_buffer: vk::CommandBuffer,
3843        _is_preprocessed: bool,
3844        _p_generated_commands_info: &vk::GeneratedCommandsInfoNV,
3845    ) -> LayerResult<()> {
3846        LayerResult::Unhandled
3847    }
3848    fn cmd_bind_pipeline_shader_group_nv(
3849        &self,
3850        _command_buffer: vk::CommandBuffer,
3851        _pipeline_bind_point: vk::PipelineBindPoint,
3852        _pipeline: vk::Pipeline,
3853        _group_index: u32,
3854    ) -> LayerResult<()> {
3855        LayerResult::Unhandled
3856    }
3857    fn create_indirect_commands_layout_nv(
3858        &self,
3859        _p_create_info: &vk::IndirectCommandsLayoutCreateInfoNV,
3860        _p_allocator: Option<&vk::AllocationCallbacks>,
3861    ) -> LayerResult<VkResult<vk::IndirectCommandsLayoutNV>> {
3862        LayerResult::Unhandled
3863    }
3864    fn destroy_indirect_commands_layout_nv(
3865        &self,
3866        _indirect_commands_layout: vk::IndirectCommandsLayoutNV,
3867        _p_allocator: Option<&vk::AllocationCallbacks>,
3868    ) -> LayerResult<()> {
3869        LayerResult::Unhandled
3870    }
3871    fn export_metal_objects_ext(
3872        &self,
3873        _p_metal_objects_info: &mut MaybeUninit<vk::ExportMetalObjectsInfoEXT>,
3874    ) -> LayerResult<()> {
3875        LayerResult::Unhandled
3876    }
3877    fn get_descriptor_set_layout_size_ext(
3878        &self,
3879        _layout: vk::DescriptorSetLayout,
3880    ) -> LayerResult<vk::DeviceSize> {
3881        LayerResult::Unhandled
3882    }
3883    fn get_descriptor_set_layout_binding_offset_ext(
3884        &self,
3885        _layout: vk::DescriptorSetLayout,
3886        _binding: u32,
3887    ) -> LayerResult<vk::DeviceSize> {
3888        LayerResult::Unhandled
3889    }
3890    fn get_descriptor_ext(
3891        &self,
3892        _p_descriptor_info: &vk::DescriptorGetInfoEXT,
3893        _p_descriptor: &mut [MaybeUninit<u8>],
3894    ) -> LayerResult<()> {
3895        LayerResult::Unhandled
3896    }
3897    fn cmd_bind_descriptor_buffers_ext(
3898        &self,
3899        _command_buffer: vk::CommandBuffer,
3900        _p_binding_infos: &[vk::DescriptorBufferBindingInfoEXT],
3901    ) -> LayerResult<()> {
3902        LayerResult::Unhandled
3903    }
3904    fn cmd_set_descriptor_buffer_offsets_ext(
3905        &self,
3906        _command_buffer: vk::CommandBuffer,
3907        _pipeline_bind_point: vk::PipelineBindPoint,
3908        _layout: vk::PipelineLayout,
3909        _first_set: u32,
3910        _p_buffer_indices: &[u32],
3911        _p_offsets: &[vk::DeviceSize],
3912    ) -> LayerResult<()> {
3913        LayerResult::Unhandled
3914    }
3915    fn cmd_bind_descriptor_buffer_embedded_samplers_ext(
3916        &self,
3917        _command_buffer: vk::CommandBuffer,
3918        _pipeline_bind_point: vk::PipelineBindPoint,
3919        _layout: vk::PipelineLayout,
3920        _set: u32,
3921    ) -> LayerResult<()> {
3922        LayerResult::Unhandled
3923    }
3924    fn get_buffer_opaque_capture_descriptor_data_ext(
3925        &self,
3926        _p_info: &vk::BufferCaptureDescriptorDataInfoEXT,
3927        _p_data: *mut c_void,
3928    ) -> LayerResult<VkResult<()>> {
3929        LayerResult::Unhandled
3930    }
3931    fn get_image_opaque_capture_descriptor_data_ext(
3932        &self,
3933        _p_info: &vk::ImageCaptureDescriptorDataInfoEXT,
3934        _p_data: *mut c_void,
3935    ) -> LayerResult<VkResult<()>> {
3936        LayerResult::Unhandled
3937    }
3938    fn get_image_view_opaque_capture_descriptor_data_ext(
3939        &self,
3940        _p_info: &vk::ImageViewCaptureDescriptorDataInfoEXT,
3941        _p_data: *mut c_void,
3942    ) -> LayerResult<VkResult<()>> {
3943        LayerResult::Unhandled
3944    }
3945    fn get_sampler_opaque_capture_descriptor_data_ext(
3946        &self,
3947        _p_info: &vk::SamplerCaptureDescriptorDataInfoEXT,
3948        _p_data: *mut c_void,
3949    ) -> LayerResult<VkResult<()>> {
3950        LayerResult::Unhandled
3951    }
3952    fn get_acceleration_structure_opaque_capture_descriptor_data_ext(
3953        &self,
3954        _p_info: &vk::AccelerationStructureCaptureDescriptorDataInfoEXT,
3955        _p_data: *mut c_void,
3956    ) -> LayerResult<VkResult<()>> {
3957        LayerResult::Unhandled
3958    }
3959    fn cmd_set_fragment_shading_rate_enum_nv(
3960        &self,
3961        _command_buffer: vk::CommandBuffer,
3962        _shading_rate: vk::FragmentShadingRateNV,
3963        _combiner_ops: &[vk::FragmentShadingRateCombinerOpKHR; 2],
3964    ) -> LayerResult<()> {
3965        LayerResult::Unhandled
3966    }
3967    fn get_image_subresource_layout2_ext(
3968        &self,
3969        _image: vk::Image,
3970        _p_subresource: &vk::ImageSubresource2EXT,
3971        _p_layout: &mut MaybeUninit<vk::SubresourceLayout2EXT>,
3972    ) -> LayerResult<()> {
3973        LayerResult::Unhandled
3974    }
3975    fn cmd_set_vertex_input_ext(
3976        &self,
3977        _command_buffer: vk::CommandBuffer,
3978        _p_vertex_binding_descriptions: &[vk::VertexInputBindingDescription2EXT],
3979        _p_vertex_attribute_descriptions: &[vk::VertexInputAttributeDescription2EXT],
3980    ) -> LayerResult<()> {
3981        LayerResult::Unhandled
3982    }
3983    fn get_memory_zircon_handle_fuchsia(
3984        &self,
3985        _p_get_zircon_handle_info: &vk::MemoryGetZirconHandleInfoFUCHSIA,
3986    ) -> LayerResult<VkResult<vk::zx_handle_t>> {
3987        LayerResult::Unhandled
3988    }
3989    fn get_memory_zircon_handle_properties_fuchsia(
3990        &self,
3991        _handle_type: vk::ExternalMemoryHandleTypeFlags,
3992        _zircon_handle: vk::zx_handle_t,
3993        _p_memory_zircon_handle_properties: &mut MaybeUninit<
3994            vk::MemoryZirconHandlePropertiesFUCHSIA,
3995        >,
3996    ) -> LayerResult<VkResult<()>> {
3997        LayerResult::Unhandled
3998    }
3999    fn import_semaphore_zircon_handle_fuchsia(
4000        &self,
4001        _p_import_semaphore_zircon_handle_info: &vk::ImportSemaphoreZirconHandleInfoFUCHSIA,
4002    ) -> LayerResult<VkResult<()>> {
4003        LayerResult::Unhandled
4004    }
4005    fn get_semaphore_zircon_handle_fuchsia(
4006        &self,
4007        _p_get_zircon_handle_info: &vk::SemaphoreGetZirconHandleInfoFUCHSIA,
4008    ) -> LayerResult<VkResult<vk::zx_handle_t>> {
4009        LayerResult::Unhandled
4010    }
4011    fn create_buffer_collection_fuchsia(
4012        &self,
4013        _p_create_info: &vk::BufferCollectionCreateInfoFUCHSIA,
4014        _p_allocator: Option<&vk::AllocationCallbacks>,
4015    ) -> LayerResult<VkResult<vk::BufferCollectionFUCHSIA>> {
4016        LayerResult::Unhandled
4017    }
4018    fn set_buffer_collection_image_constraints_fuchsia(
4019        &self,
4020        _collection: vk::BufferCollectionFUCHSIA,
4021        _p_image_constraints_info: &vk::ImageConstraintsInfoFUCHSIA,
4022    ) -> LayerResult<VkResult<()>> {
4023        LayerResult::Unhandled
4024    }
4025    fn set_buffer_collection_buffer_constraints_fuchsia(
4026        &self,
4027        _collection: vk::BufferCollectionFUCHSIA,
4028        _p_buffer_constraints_info: &vk::BufferConstraintsInfoFUCHSIA,
4029    ) -> LayerResult<VkResult<()>> {
4030        LayerResult::Unhandled
4031    }
4032    fn destroy_buffer_collection_fuchsia(
4033        &self,
4034        _collection: vk::BufferCollectionFUCHSIA,
4035        _p_allocator: Option<&vk::AllocationCallbacks>,
4036    ) -> LayerResult<()> {
4037        LayerResult::Unhandled
4038    }
4039    fn get_buffer_collection_properties_fuchsia(
4040        &self,
4041        _collection: vk::BufferCollectionFUCHSIA,
4042        _p_properties: &mut MaybeUninit<vk::BufferCollectionPropertiesFUCHSIA>,
4043    ) -> LayerResult<VkResult<()>> {
4044        LayerResult::Unhandled
4045    }
4046    fn get_device_subpass_shading_max_workgroup_size_huawei(
4047        &self,
4048        _renderpass: vk::RenderPass,
4049        _p_max_workgroup_size: &mut MaybeUninit<vk::Extent2D>,
4050    ) -> LayerResult<VkResult<()>> {
4051        LayerResult::Unhandled
4052    }
4053    fn cmd_subpass_shading_huawei(&self, _command_buffer: vk::CommandBuffer) -> LayerResult<()> {
4054        LayerResult::Unhandled
4055    }
4056    fn cmd_bind_invocation_mask_huawei(
4057        &self,
4058        _command_buffer: vk::CommandBuffer,
4059        _image_view: vk::ImageView,
4060        _image_layout: vk::ImageLayout,
4061    ) -> LayerResult<()> {
4062        LayerResult::Unhandled
4063    }
4064    fn get_memory_remote_address_nv(
4065        &self,
4066        _p_memory_get_remote_address_info: &vk::MemoryGetRemoteAddressInfoNV,
4067    ) -> LayerResult<VkResult<vk::RemoteAddressNV>> {
4068        LayerResult::Unhandled
4069    }
4070    fn get_pipeline_properties_ext(
4071        &self,
4072        _p_pipeline_info: &vk::PipelineInfoEXT,
4073        _p_pipeline_properties: &mut MaybeUninit<vk::BaseOutStructure>,
4074    ) -> LayerResult<VkResult<()>> {
4075        LayerResult::Unhandled
4076    }
4077    fn cmd_set_patch_control_points_ext(
4078        &self,
4079        _command_buffer: vk::CommandBuffer,
4080        _patch_control_points: u32,
4081    ) -> LayerResult<()> {
4082        LayerResult::Unhandled
4083    }
4084    fn cmd_set_logic_op_ext(
4085        &self,
4086        _command_buffer: vk::CommandBuffer,
4087        _logic_op: vk::LogicOp,
4088    ) -> LayerResult<()> {
4089        LayerResult::Unhandled
4090    }
4091    fn cmd_set_color_write_enable_ext<T: Iterator<Item = bool> + 'static>(
4092        &self,
4093        _command_buffer: vk::CommandBuffer,
4094        _p_color_write_enables: T,
4095    ) -> LayerResult<()> {
4096        LayerResult::Unhandled
4097    }
4098    fn cmd_draw_multi_ext(
4099        &self,
4100        _command_buffer: vk::CommandBuffer,
4101        _p_vertex_info: &[vk::MultiDrawInfoEXT],
4102        _instance_count: u32,
4103        _first_instance: u32,
4104        _stride: u32,
4105    ) -> LayerResult<()> {
4106        LayerResult::Unhandled
4107    }
4108    fn cmd_draw_multi_indexed_ext(
4109        &self,
4110        _command_buffer: vk::CommandBuffer,
4111        _p_index_info: &[vk::MultiDrawIndexedInfoEXT],
4112        _instance_count: u32,
4113        _first_instance: u32,
4114        _stride: u32,
4115        _p_vertex_offset: Option<&i32>,
4116    ) -> LayerResult<()> {
4117        LayerResult::Unhandled
4118    }
4119    fn create_micromap_ext(
4120        &self,
4121        _p_create_info: &vk::MicromapCreateInfoEXT,
4122        _p_allocator: Option<&vk::AllocationCallbacks>,
4123    ) -> LayerResult<VkResult<vk::MicromapEXT>> {
4124        LayerResult::Unhandled
4125    }
4126    fn destroy_micromap_ext(
4127        &self,
4128        _micromap: vk::MicromapEXT,
4129        _p_allocator: Option<&vk::AllocationCallbacks>,
4130    ) -> LayerResult<()> {
4131        LayerResult::Unhandled
4132    }
4133    fn cmd_build_micromaps_ext(
4134        &self,
4135        _command_buffer: vk::CommandBuffer,
4136        _p_infos: &[vk::MicromapBuildInfoEXT],
4137    ) -> LayerResult<()> {
4138        LayerResult::Unhandled
4139    }
4140    fn build_micromaps_ext(
4141        &self,
4142        _deferred_operation: vk::DeferredOperationKHR,
4143        _p_infos: &[vk::MicromapBuildInfoEXT],
4144    ) -> LayerResult<VkResult<()>> {
4145        LayerResult::Unhandled
4146    }
4147    fn copy_micromap_ext(
4148        &self,
4149        _deferred_operation: vk::DeferredOperationKHR,
4150        _p_info: &vk::CopyMicromapInfoEXT,
4151    ) -> LayerResult<VkResult<()>> {
4152        LayerResult::Unhandled
4153    }
4154    fn copy_micromap_to_memory_ext(
4155        &self,
4156        _deferred_operation: vk::DeferredOperationKHR,
4157        _p_info: &vk::CopyMicromapToMemoryInfoEXT,
4158    ) -> LayerResult<VkResult<()>> {
4159        LayerResult::Unhandled
4160    }
4161    fn copy_memory_to_micromap_ext(
4162        &self,
4163        _deferred_operation: vk::DeferredOperationKHR,
4164        _p_info: &vk::CopyMemoryToMicromapInfoEXT,
4165    ) -> LayerResult<VkResult<()>> {
4166        LayerResult::Unhandled
4167    }
4168    fn write_micromaps_properties_ext(
4169        &self,
4170        _p_micromaps: &[vk::MicromapEXT],
4171        _query_type: vk::QueryType,
4172        _p_data: &mut [MaybeUninit<u8>],
4173        _stride: usize,
4174    ) -> LayerResult<VkResult<()>> {
4175        LayerResult::Unhandled
4176    }
4177    fn cmd_copy_micromap_ext(
4178        &self,
4179        _command_buffer: vk::CommandBuffer,
4180        _p_info: &vk::CopyMicromapInfoEXT,
4181    ) -> LayerResult<()> {
4182        LayerResult::Unhandled
4183    }
4184    fn cmd_copy_micromap_to_memory_ext(
4185        &self,
4186        _command_buffer: vk::CommandBuffer,
4187        _p_info: &vk::CopyMicromapToMemoryInfoEXT,
4188    ) -> LayerResult<()> {
4189        LayerResult::Unhandled
4190    }
4191    fn cmd_copy_memory_to_micromap_ext(
4192        &self,
4193        _command_buffer: vk::CommandBuffer,
4194        _p_info: &vk::CopyMemoryToMicromapInfoEXT,
4195    ) -> LayerResult<()> {
4196        LayerResult::Unhandled
4197    }
4198    fn cmd_write_micromaps_properties_ext(
4199        &self,
4200        _command_buffer: vk::CommandBuffer,
4201        _p_micromaps: &[vk::MicromapEXT],
4202        _query_type: vk::QueryType,
4203        _query_pool: vk::QueryPool,
4204        _first_query: u32,
4205    ) -> LayerResult<()> {
4206        LayerResult::Unhandled
4207    }
4208    fn get_device_micromap_compatibility_ext(
4209        &self,
4210        _p_version_info: &vk::MicromapVersionInfoEXT,
4211    ) -> LayerResult<vk::AccelerationStructureCompatibilityKHR> {
4212        LayerResult::Unhandled
4213    }
4214    fn get_micromap_build_sizes_ext(
4215        &self,
4216        _build_type: vk::AccelerationStructureBuildTypeKHR,
4217        _p_build_info: &vk::MicromapBuildInfoEXT,
4218        _p_size_info: &mut MaybeUninit<vk::MicromapBuildSizesInfoEXT>,
4219    ) -> LayerResult<()> {
4220        LayerResult::Unhandled
4221    }
4222    fn set_device_memory_priority_ext(
4223        &self,
4224        _memory: vk::DeviceMemory,
4225        _priority: f32,
4226    ) -> LayerResult<()> {
4227        LayerResult::Unhandled
4228    }
4229    fn get_descriptor_set_layout_host_mapping_info_valve(
4230        &self,
4231        _p_binding_reference: &vk::DescriptorSetBindingReferenceVALVE,
4232        _p_host_mapping: &mut MaybeUninit<vk::DescriptorSetLayoutHostMappingInfoVALVE>,
4233    ) -> LayerResult<()> {
4234        LayerResult::Unhandled
4235    }
4236    fn get_descriptor_set_host_mapping_valve(
4237        &self,
4238        _descriptor_set: vk::DescriptorSet,
4239    ) -> LayerResult<*mut c_void> {
4240        LayerResult::Unhandled
4241    }
4242    fn cmd_copy_memory_indirect_nv(
4243        &self,
4244        _command_buffer: vk::CommandBuffer,
4245        _copy_buffer_address: vk::DeviceAddress,
4246        _copy_count: u32,
4247        _stride: u32,
4248    ) -> LayerResult<()> {
4249        LayerResult::Unhandled
4250    }
4251    fn cmd_copy_memory_to_image_indirect_nv(
4252        &self,
4253        _command_buffer: vk::CommandBuffer,
4254        _copy_buffer_address: vk::DeviceAddress,
4255        _stride: u32,
4256        _dst_image: vk::Image,
4257        _dst_image_layout: vk::ImageLayout,
4258        _p_image_subresources: &[vk::ImageSubresourceLayers],
4259    ) -> LayerResult<()> {
4260        LayerResult::Unhandled
4261    }
4262    fn cmd_decompress_memory_nv(
4263        &self,
4264        _command_buffer: vk::CommandBuffer,
4265        _p_decompress_memory_regions: &[vk::DecompressMemoryRegionNV],
4266    ) -> LayerResult<()> {
4267        LayerResult::Unhandled
4268    }
4269    fn cmd_decompress_memory_indirect_count_nv(
4270        &self,
4271        _command_buffer: vk::CommandBuffer,
4272        _indirect_commands_address: vk::DeviceAddress,
4273        _indirect_commands_count_address: vk::DeviceAddress,
4274        _stride: u32,
4275    ) -> LayerResult<()> {
4276        LayerResult::Unhandled
4277    }
4278    fn cmd_set_tessellation_domain_origin_ext(
4279        &self,
4280        _command_buffer: vk::CommandBuffer,
4281        _domain_origin: vk::TessellationDomainOrigin,
4282    ) -> LayerResult<()> {
4283        LayerResult::Unhandled
4284    }
4285    fn cmd_set_depth_clamp_enable_ext(
4286        &self,
4287        _command_buffer: vk::CommandBuffer,
4288        _depth_clamp_enable: bool,
4289    ) -> LayerResult<()> {
4290        LayerResult::Unhandled
4291    }
4292    fn cmd_set_polygon_mode_ext(
4293        &self,
4294        _command_buffer: vk::CommandBuffer,
4295        _polygon_mode: vk::PolygonMode,
4296    ) -> LayerResult<()> {
4297        LayerResult::Unhandled
4298    }
4299    fn cmd_set_rasterization_samples_ext(
4300        &self,
4301        _command_buffer: vk::CommandBuffer,
4302        _rasterization_samples: vk::SampleCountFlags,
4303    ) -> LayerResult<()> {
4304        LayerResult::Unhandled
4305    }
4306    fn cmd_set_sample_mask_ext(
4307        &self,
4308        _command_buffer: vk::CommandBuffer,
4309        _samples: vk::SampleCountFlags,
4310        _p_sample_mask: &[vk::SampleMask],
4311    ) -> LayerResult<()> {
4312        LayerResult::Unhandled
4313    }
4314    fn cmd_set_alpha_to_coverage_enable_ext(
4315        &self,
4316        _command_buffer: vk::CommandBuffer,
4317        _alpha_to_coverage_enable: bool,
4318    ) -> LayerResult<()> {
4319        LayerResult::Unhandled
4320    }
4321    fn cmd_set_alpha_to_one_enable_ext(
4322        &self,
4323        _command_buffer: vk::CommandBuffer,
4324        _alpha_to_one_enable: bool,
4325    ) -> LayerResult<()> {
4326        LayerResult::Unhandled
4327    }
4328    fn cmd_set_logic_op_enable_ext(
4329        &self,
4330        _command_buffer: vk::CommandBuffer,
4331        _logic_op_enable: bool,
4332    ) -> LayerResult<()> {
4333        LayerResult::Unhandled
4334    }
4335    fn cmd_set_color_blend_enable_ext<T: Iterator<Item = bool> + 'static>(
4336        &self,
4337        _command_buffer: vk::CommandBuffer,
4338        _first_attachment: u32,
4339        _p_color_blend_enables: T,
4340    ) -> LayerResult<()> {
4341        LayerResult::Unhandled
4342    }
4343    fn cmd_set_color_blend_equation_ext(
4344        &self,
4345        _command_buffer: vk::CommandBuffer,
4346        _first_attachment: u32,
4347        _p_color_blend_equations: &[vk::ColorBlendEquationEXT],
4348    ) -> LayerResult<()> {
4349        LayerResult::Unhandled
4350    }
4351    fn cmd_set_color_write_mask_ext(
4352        &self,
4353        _command_buffer: vk::CommandBuffer,
4354        _first_attachment: u32,
4355        _p_color_write_masks: &[vk::ColorComponentFlags],
4356    ) -> LayerResult<()> {
4357        LayerResult::Unhandled
4358    }
4359    fn cmd_set_rasterization_stream_ext(
4360        &self,
4361        _command_buffer: vk::CommandBuffer,
4362        _rasterization_stream: u32,
4363    ) -> LayerResult<()> {
4364        LayerResult::Unhandled
4365    }
4366    fn cmd_set_conservative_rasterization_mode_ext(
4367        &self,
4368        _command_buffer: vk::CommandBuffer,
4369        _conservative_rasterization_mode: vk::ConservativeRasterizationModeEXT,
4370    ) -> LayerResult<()> {
4371        LayerResult::Unhandled
4372    }
4373    fn cmd_set_extra_primitive_overestimation_size_ext(
4374        &self,
4375        _command_buffer: vk::CommandBuffer,
4376        _extra_primitive_overestimation_size: f32,
4377    ) -> LayerResult<()> {
4378        LayerResult::Unhandled
4379    }
4380    fn cmd_set_depth_clip_enable_ext(
4381        &self,
4382        _command_buffer: vk::CommandBuffer,
4383        _depth_clip_enable: bool,
4384    ) -> LayerResult<()> {
4385        LayerResult::Unhandled
4386    }
4387    fn cmd_set_sample_locations_enable_ext(
4388        &self,
4389        _command_buffer: vk::CommandBuffer,
4390        _sample_locations_enable: bool,
4391    ) -> LayerResult<()> {
4392        LayerResult::Unhandled
4393    }
4394    fn cmd_set_color_blend_advanced_ext(
4395        &self,
4396        _command_buffer: vk::CommandBuffer,
4397        _first_attachment: u32,
4398        _p_color_blend_advanced: &[vk::ColorBlendAdvancedEXT],
4399    ) -> LayerResult<()> {
4400        LayerResult::Unhandled
4401    }
4402    fn cmd_set_provoking_vertex_mode_ext(
4403        &self,
4404        _command_buffer: vk::CommandBuffer,
4405        _provoking_vertex_mode: vk::ProvokingVertexModeEXT,
4406    ) -> LayerResult<()> {
4407        LayerResult::Unhandled
4408    }
4409    fn cmd_set_line_rasterization_mode_ext(
4410        &self,
4411        _command_buffer: vk::CommandBuffer,
4412        _line_rasterization_mode: vk::LineRasterizationModeEXT,
4413    ) -> LayerResult<()> {
4414        LayerResult::Unhandled
4415    }
4416    fn cmd_set_line_stipple_enable_ext(
4417        &self,
4418        _command_buffer: vk::CommandBuffer,
4419        _stippled_line_enable: bool,
4420    ) -> LayerResult<()> {
4421        LayerResult::Unhandled
4422    }
4423    fn cmd_set_depth_clip_negative_one_to_one_ext(
4424        &self,
4425        _command_buffer: vk::CommandBuffer,
4426        _negative_one_to_one: bool,
4427    ) -> LayerResult<()> {
4428        LayerResult::Unhandled
4429    }
4430    fn cmd_set_viewport_w_scaling_enable_nv(
4431        &self,
4432        _command_buffer: vk::CommandBuffer,
4433        _viewport_w_scaling_enable: bool,
4434    ) -> LayerResult<()> {
4435        LayerResult::Unhandled
4436    }
4437    fn cmd_set_viewport_swizzle_nv(
4438        &self,
4439        _command_buffer: vk::CommandBuffer,
4440        _first_viewport: u32,
4441        _p_viewport_swizzles: &[vk::ViewportSwizzleNV],
4442    ) -> LayerResult<()> {
4443        LayerResult::Unhandled
4444    }
4445    fn cmd_set_coverage_to_color_enable_nv(
4446        &self,
4447        _command_buffer: vk::CommandBuffer,
4448        _coverage_to_color_enable: bool,
4449    ) -> LayerResult<()> {
4450        LayerResult::Unhandled
4451    }
4452    fn cmd_set_coverage_to_color_location_nv(
4453        &self,
4454        _command_buffer: vk::CommandBuffer,
4455        _coverage_to_color_location: u32,
4456    ) -> LayerResult<()> {
4457        LayerResult::Unhandled
4458    }
4459    fn cmd_set_coverage_modulation_mode_nv(
4460        &self,
4461        _command_buffer: vk::CommandBuffer,
4462        _coverage_modulation_mode: vk::CoverageModulationModeNV,
4463    ) -> LayerResult<()> {
4464        LayerResult::Unhandled
4465    }
4466    fn cmd_set_coverage_modulation_table_enable_nv(
4467        &self,
4468        _command_buffer: vk::CommandBuffer,
4469        _coverage_modulation_table_enable: bool,
4470    ) -> LayerResult<()> {
4471        LayerResult::Unhandled
4472    }
4473    fn cmd_set_coverage_modulation_table_nv(
4474        &self,
4475        _command_buffer: vk::CommandBuffer,
4476        _p_coverage_modulation_table: &[f32],
4477    ) -> LayerResult<()> {
4478        LayerResult::Unhandled
4479    }
4480    fn cmd_set_shading_rate_image_enable_nv(
4481        &self,
4482        _command_buffer: vk::CommandBuffer,
4483        _shading_rate_image_enable: bool,
4484    ) -> LayerResult<()> {
4485        LayerResult::Unhandled
4486    }
4487    fn cmd_set_representative_fragment_test_enable_nv(
4488        &self,
4489        _command_buffer: vk::CommandBuffer,
4490        _representative_fragment_test_enable: bool,
4491    ) -> LayerResult<()> {
4492        LayerResult::Unhandled
4493    }
4494    fn cmd_set_coverage_reduction_mode_nv(
4495        &self,
4496        _command_buffer: vk::CommandBuffer,
4497        _coverage_reduction_mode: vk::CoverageReductionModeNV,
4498    ) -> LayerResult<()> {
4499        LayerResult::Unhandled
4500    }
4501    fn get_shader_module_identifier_ext(
4502        &self,
4503        _shader_module: vk::ShaderModule,
4504        _p_identifier: &mut MaybeUninit<vk::ShaderModuleIdentifierEXT>,
4505    ) -> LayerResult<()> {
4506        LayerResult::Unhandled
4507    }
4508    fn get_shader_module_create_info_identifier_ext(
4509        &self,
4510        _p_create_info: &vk::ShaderModuleCreateInfo,
4511        _p_identifier: &mut MaybeUninit<vk::ShaderModuleIdentifierEXT>,
4512    ) -> LayerResult<()> {
4513        LayerResult::Unhandled
4514    }
4515    fn create_optical_flow_session_nv(
4516        &self,
4517        _p_create_info: &vk::OpticalFlowSessionCreateInfoNV,
4518        _p_allocator: Option<&vk::AllocationCallbacks>,
4519    ) -> LayerResult<VkResult<vk::OpticalFlowSessionNV>> {
4520        LayerResult::Unhandled
4521    }
4522    fn destroy_optical_flow_session_nv(
4523        &self,
4524        _session: vk::OpticalFlowSessionNV,
4525        _p_allocator: Option<&vk::AllocationCallbacks>,
4526    ) -> LayerResult<()> {
4527        LayerResult::Unhandled
4528    }
4529    fn bind_optical_flow_session_image_nv(
4530        &self,
4531        _session: vk::OpticalFlowSessionNV,
4532        _binding_point: vk::OpticalFlowSessionBindingPointNV,
4533        _view: vk::ImageView,
4534        _layout: vk::ImageLayout,
4535    ) -> LayerResult<VkResult<()>> {
4536        LayerResult::Unhandled
4537    }
4538    fn cmd_optical_flow_execute_nv(
4539        &self,
4540        _command_buffer: vk::CommandBuffer,
4541        _session: vk::OpticalFlowSessionNV,
4542        _p_execute_info: &vk::OpticalFlowExecuteInfoNV,
4543    ) -> LayerResult<()> {
4544        LayerResult::Unhandled
4545    }
4546    fn get_framebuffer_tile_properties_qcom(
4547        &self,
4548        _framebuffer: vk::Framebuffer,
4549        _p_properties_count: &mut MaybeUninit<u32>,
4550        _p_properties: Option<&mut [MaybeUninit<vk::TilePropertiesQCOM>]>,
4551    ) -> LayerResult<VkResult<()>> {
4552        LayerResult::Unhandled
4553    }
4554    fn get_dynamic_rendering_tile_properties_qcom(
4555        &self,
4556        _p_rendering_info: &vk::RenderingInfo,
4557        _p_properties: &mut MaybeUninit<vk::TilePropertiesQCOM>,
4558    ) -> LayerResult<VkResult<()>> {
4559        LayerResult::Unhandled
4560    }
4561    fn create_acceleration_structure_khr(
4562        &self,
4563        _p_create_info: &vk::AccelerationStructureCreateInfoKHR,
4564        _p_allocator: Option<&vk::AllocationCallbacks>,
4565    ) -> LayerResult<VkResult<vk::AccelerationStructureKHR>> {
4566        LayerResult::Unhandled
4567    }
4568    fn destroy_acceleration_structure_khr(
4569        &self,
4570        _acceleration_structure: vk::AccelerationStructureKHR,
4571        _p_allocator: Option<&vk::AllocationCallbacks>,
4572    ) -> LayerResult<()> {
4573        LayerResult::Unhandled
4574    }
4575    fn copy_acceleration_structure_khr(
4576        &self,
4577        _deferred_operation: vk::DeferredOperationKHR,
4578        _p_info: &vk::CopyAccelerationStructureInfoKHR,
4579    ) -> LayerResult<VkResult<()>> {
4580        LayerResult::Unhandled
4581    }
4582    fn copy_acceleration_structure_to_memory_khr(
4583        &self,
4584        _deferred_operation: vk::DeferredOperationKHR,
4585        _p_info: &vk::CopyAccelerationStructureToMemoryInfoKHR,
4586    ) -> LayerResult<VkResult<()>> {
4587        LayerResult::Unhandled
4588    }
4589    fn copy_memory_to_acceleration_structure_khr(
4590        &self,
4591        _deferred_operation: vk::DeferredOperationKHR,
4592        _p_info: &vk::CopyMemoryToAccelerationStructureInfoKHR,
4593    ) -> LayerResult<VkResult<()>> {
4594        LayerResult::Unhandled
4595    }
4596    fn write_acceleration_structures_properties_khr(
4597        &self,
4598        _p_acceleration_structures: &[vk::AccelerationStructureKHR],
4599        _query_type: vk::QueryType,
4600        _p_data: &mut [MaybeUninit<u8>],
4601        _stride: usize,
4602    ) -> LayerResult<VkResult<()>> {
4603        LayerResult::Unhandled
4604    }
4605    fn cmd_copy_acceleration_structure_khr(
4606        &self,
4607        _command_buffer: vk::CommandBuffer,
4608        _p_info: &vk::CopyAccelerationStructureInfoKHR,
4609    ) -> LayerResult<()> {
4610        LayerResult::Unhandled
4611    }
4612    fn cmd_copy_acceleration_structure_to_memory_khr(
4613        &self,
4614        _command_buffer: vk::CommandBuffer,
4615        _p_info: &vk::CopyAccelerationStructureToMemoryInfoKHR,
4616    ) -> LayerResult<()> {
4617        LayerResult::Unhandled
4618    }
4619    fn cmd_copy_memory_to_acceleration_structure_khr(
4620        &self,
4621        _command_buffer: vk::CommandBuffer,
4622        _p_info: &vk::CopyMemoryToAccelerationStructureInfoKHR,
4623    ) -> LayerResult<()> {
4624        LayerResult::Unhandled
4625    }
4626    fn get_acceleration_structure_device_address_khr(
4627        &self,
4628        _p_info: &vk::AccelerationStructureDeviceAddressInfoKHR,
4629    ) -> LayerResult<vk::DeviceAddress> {
4630        LayerResult::Unhandled
4631    }
4632    fn cmd_write_acceleration_structures_properties_khr(
4633        &self,
4634        _command_buffer: vk::CommandBuffer,
4635        _p_acceleration_structures: &[vk::AccelerationStructureKHR],
4636        _query_type: vk::QueryType,
4637        _query_pool: vk::QueryPool,
4638        _first_query: u32,
4639    ) -> LayerResult<()> {
4640        LayerResult::Unhandled
4641    }
4642    fn get_device_acceleration_structure_compatibility_khr(
4643        &self,
4644        _p_version_info: &vk::AccelerationStructureVersionInfoKHR,
4645    ) -> LayerResult<vk::AccelerationStructureCompatibilityKHR> {
4646        LayerResult::Unhandled
4647    }
4648    fn get_acceleration_structure_build_sizes_khr(
4649        &self,
4650        _build_type: vk::AccelerationStructureBuildTypeKHR,
4651        _p_build_info: &vk::AccelerationStructureBuildGeometryInfoKHR,
4652        _p_max_primitive_counts: Option<&[u32]>,
4653        _p_size_info: &mut MaybeUninit<vk::AccelerationStructureBuildSizesInfoKHR>,
4654    ) -> LayerResult<()> {
4655        LayerResult::Unhandled
4656    }
4657    fn cmd_trace_rays_khr(
4658        &self,
4659        _command_buffer: vk::CommandBuffer,
4660        _p_raygen_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4661        _p_miss_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4662        _p_hit_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4663        _p_callable_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4664        _width: u32,
4665        _height: u32,
4666        _depth: u32,
4667    ) -> LayerResult<()> {
4668        LayerResult::Unhandled
4669    }
4670    fn create_ray_tracing_pipelines_khr(
4671        &self,
4672        _deferred_operation: vk::DeferredOperationKHR,
4673        _pipeline_cache: vk::PipelineCache,
4674        _p_create_infos: &[vk::RayTracingPipelineCreateInfoKHR],
4675        _p_allocator: Option<&vk::AllocationCallbacks>,
4676    ) -> LayerResult<VkResult<Vec<vk::Pipeline>>> {
4677        LayerResult::Unhandled
4678    }
4679    fn get_ray_tracing_capture_replay_shader_group_handles_khr(
4680        &self,
4681        _pipeline: vk::Pipeline,
4682        _first_group: u32,
4683        _group_count: u32,
4684        _p_data: &mut [MaybeUninit<u8>],
4685    ) -> LayerResult<VkResult<()>> {
4686        LayerResult::Unhandled
4687    }
4688    fn cmd_trace_rays_indirect_khr(
4689        &self,
4690        _command_buffer: vk::CommandBuffer,
4691        _p_raygen_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4692        _p_miss_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4693        _p_hit_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4694        _p_callable_shader_binding_table: &vk::StridedDeviceAddressRegionKHR,
4695        _indirect_device_address: vk::DeviceAddress,
4696    ) -> LayerResult<()> {
4697        LayerResult::Unhandled
4698    }
4699    fn get_ray_tracing_shader_group_stack_size_khr(
4700        &self,
4701        _pipeline: vk::Pipeline,
4702        _group: u32,
4703        _group_shader: vk::ShaderGroupShaderKHR,
4704    ) -> LayerResult<vk::DeviceSize> {
4705        LayerResult::Unhandled
4706    }
4707    fn cmd_set_ray_tracing_pipeline_stack_size_khr(
4708        &self,
4709        _command_buffer: vk::CommandBuffer,
4710        _pipeline_stack_size: u32,
4711    ) -> LayerResult<()> {
4712        LayerResult::Unhandled
4713    }
4714    fn cmd_draw_mesh_tasks_ext(
4715        &self,
4716        _command_buffer: vk::CommandBuffer,
4717        _group_countx: u32,
4718        _group_county: u32,
4719        _group_countz: u32,
4720    ) -> LayerResult<()> {
4721        LayerResult::Unhandled
4722    }
4723    fn cmd_draw_mesh_tasks_indirect_ext(
4724        &self,
4725        _command_buffer: vk::CommandBuffer,
4726        _buffer: vk::Buffer,
4727        _offset: vk::DeviceSize,
4728        _draw_count: u32,
4729        _stride: u32,
4730    ) -> LayerResult<()> {
4731        LayerResult::Unhandled
4732    }
4733    fn cmd_draw_mesh_tasks_indirect_count_ext(
4734        &self,
4735        _command_buffer: vk::CommandBuffer,
4736        _buffer: vk::Buffer,
4737        _offset: vk::DeviceSize,
4738        _count_buffer: vk::Buffer,
4739        _count_buffer_offset: vk::DeviceSize,
4740        _max_draw_count: u32,
4741        _stride: u32,
4742    ) -> LayerResult<()> {
4743        LayerResult::Unhandled
4744    }
4745}
4746
4747pub trait InstanceHooks: Send + Sync {
4748    fn get_physical_device_features(
4749        &self,
4750        _physical_device: vk::PhysicalDevice,
4751        _p_features: &mut MaybeUninit<vk::PhysicalDeviceFeatures>,
4752    ) -> LayerResult<()> {
4753        LayerResult::Unhandled
4754    }
4755    fn get_physical_device_format_properties(
4756        &self,
4757        _physical_device: vk::PhysicalDevice,
4758        _format: vk::Format,
4759        _p_format_properties: &mut MaybeUninit<vk::FormatProperties>,
4760    ) -> LayerResult<()> {
4761        LayerResult::Unhandled
4762    }
4763    fn get_physical_device_image_format_properties(
4764        &self,
4765        _physical_device: vk::PhysicalDevice,
4766        _format: vk::Format,
4767        _type: vk::ImageType,
4768        _tiling: vk::ImageTiling,
4769        _usage: vk::ImageUsageFlags,
4770        _flags: vk::ImageCreateFlags,
4771        _p_image_format_properties: &mut MaybeUninit<vk::ImageFormatProperties>,
4772    ) -> LayerResult<VkResult<()>> {
4773        LayerResult::Unhandled
4774    }
4775    fn get_physical_device_properties(
4776        &self,
4777        _physical_device: vk::PhysicalDevice,
4778        _p_properties: &mut MaybeUninit<vk::PhysicalDeviceProperties>,
4779    ) -> LayerResult<()> {
4780        LayerResult::Unhandled
4781    }
4782    fn get_physical_device_queue_family_properties(
4783        &self,
4784        _physical_device: vk::PhysicalDevice,
4785        _p_queue_family_property_count: &mut MaybeUninit<u32>,
4786        _p_queue_family_properties: Option<&mut [MaybeUninit<vk::QueueFamilyProperties>]>,
4787    ) -> LayerResult<()> {
4788        LayerResult::Unhandled
4789    }
4790    fn get_physical_device_memory_properties(
4791        &self,
4792        _physical_device: vk::PhysicalDevice,
4793        _p_memory_properties: &mut MaybeUninit<vk::PhysicalDeviceMemoryProperties>,
4794    ) -> LayerResult<()> {
4795        LayerResult::Unhandled
4796    }
4797    fn get_instance_proc_addr(&self, _p_name: &str) -> LayerResult<vk::PFN_vkVoidFunction> {
4798        LayerResult::Unhandled
4799    }
4800    fn create_device(
4801        &self,
4802        _physical_device: vk::PhysicalDevice,
4803        _p_create_info: &vk::DeviceCreateInfo,
4804        _layer_device_link: &VkLayerDeviceLink,
4805        _p_allocator: Option<&vk::AllocationCallbacks>,
4806        _p_device: &mut MaybeUninit<vk::Device>,
4807    ) -> LayerResult<VkResult<()>> {
4808        LayerResult::Unhandled
4809    }
4810    fn get_physical_device_sparse_image_format_properties(
4811        &self,
4812        _physical_device: vk::PhysicalDevice,
4813        _format: vk::Format,
4814        _type: vk::ImageType,
4815        _samples: vk::SampleCountFlags,
4816        _usage: vk::ImageUsageFlags,
4817        _tiling: vk::ImageTiling,
4818        _p_property_count: &mut MaybeUninit<u32>,
4819        _p_properties: Option<&mut [MaybeUninit<vk::SparseImageFormatProperties>]>,
4820    ) -> LayerResult<()> {
4821        LayerResult::Unhandled
4822    }
4823    fn get_physical_device_features2(
4824        &self,
4825        _physical_device: vk::PhysicalDevice,
4826        _p_features: &mut MaybeUninit<vk::PhysicalDeviceFeatures2>,
4827    ) -> LayerResult<()> {
4828        LayerResult::Unhandled
4829    }
4830    fn get_physical_device_properties2(
4831        &self,
4832        _physical_device: vk::PhysicalDevice,
4833        _p_properties: &mut MaybeUninit<vk::PhysicalDeviceProperties2>,
4834    ) -> LayerResult<()> {
4835        LayerResult::Unhandled
4836    }
4837    fn get_physical_device_format_properties2(
4838        &self,
4839        _physical_device: vk::PhysicalDevice,
4840        _format: vk::Format,
4841        _p_format_properties: &mut MaybeUninit<vk::FormatProperties2>,
4842    ) -> LayerResult<()> {
4843        LayerResult::Unhandled
4844    }
4845    fn get_physical_device_image_format_properties2(
4846        &self,
4847        _physical_device: vk::PhysicalDevice,
4848        _p_image_format_info: &vk::PhysicalDeviceImageFormatInfo2,
4849        _p_image_format_properties: &mut MaybeUninit<vk::ImageFormatProperties2>,
4850    ) -> LayerResult<VkResult<()>> {
4851        LayerResult::Unhandled
4852    }
4853    fn get_physical_device_queue_family_properties2(
4854        &self,
4855        _physical_device: vk::PhysicalDevice,
4856        _p_queue_family_property_count: &mut MaybeUninit<u32>,
4857        _p_queue_family_properties: Option<&mut [MaybeUninit<vk::QueueFamilyProperties2>]>,
4858    ) -> LayerResult<()> {
4859        LayerResult::Unhandled
4860    }
4861    fn get_physical_device_memory_properties2(
4862        &self,
4863        _physical_device: vk::PhysicalDevice,
4864        _p_memory_properties: &mut MaybeUninit<vk::PhysicalDeviceMemoryProperties2>,
4865    ) -> LayerResult<()> {
4866        LayerResult::Unhandled
4867    }
4868    fn get_physical_device_sparse_image_format_properties2(
4869        &self,
4870        _physical_device: vk::PhysicalDevice,
4871        _p_format_info: &vk::PhysicalDeviceSparseImageFormatInfo2,
4872        _p_property_count: &mut MaybeUninit<u32>,
4873        _p_properties: Option<&mut [MaybeUninit<vk::SparseImageFormatProperties2>]>,
4874    ) -> LayerResult<()> {
4875        LayerResult::Unhandled
4876    }
4877    fn get_physical_device_external_buffer_properties(
4878        &self,
4879        _physical_device: vk::PhysicalDevice,
4880        _p_external_buffer_info: &vk::PhysicalDeviceExternalBufferInfo,
4881        _p_external_buffer_properties: &mut MaybeUninit<vk::ExternalBufferProperties>,
4882    ) -> LayerResult<()> {
4883        LayerResult::Unhandled
4884    }
4885    fn get_physical_device_external_fence_properties(
4886        &self,
4887        _physical_device: vk::PhysicalDevice,
4888        _p_external_fence_info: &vk::PhysicalDeviceExternalFenceInfo,
4889        _p_external_fence_properties: &mut MaybeUninit<vk::ExternalFenceProperties>,
4890    ) -> LayerResult<()> {
4891        LayerResult::Unhandled
4892    }
4893    fn get_physical_device_external_semaphore_properties(
4894        &self,
4895        _physical_device: vk::PhysicalDevice,
4896        _p_external_semaphore_info: &vk::PhysicalDeviceExternalSemaphoreInfo,
4897        _p_external_semaphore_properties: &mut MaybeUninit<vk::ExternalSemaphoreProperties>,
4898    ) -> LayerResult<()> {
4899        LayerResult::Unhandled
4900    }
4901    fn get_physical_device_tool_properties(
4902        &self,
4903        _physical_device: vk::PhysicalDevice,
4904        _p_tool_count: &mut MaybeUninit<u32>,
4905        _p_tool_properties: Option<&mut [MaybeUninit<vk::PhysicalDeviceToolProperties>]>,
4906    ) -> LayerResult<VkResult<()>> {
4907        LayerResult::Unhandled
4908    }
4909    fn destroy_surface_khr(
4910        &self,
4911        _surface: vk::SurfaceKHR,
4912        _p_allocator: Option<&vk::AllocationCallbacks>,
4913    ) -> LayerResult<()> {
4914        LayerResult::Unhandled
4915    }
4916    fn get_physical_device_surface_support_khr(
4917        &self,
4918        _physical_device: vk::PhysicalDevice,
4919        _queue_family_index: u32,
4920        _surface: vk::SurfaceKHR,
4921    ) -> LayerResult<VkResult<bool>> {
4922        LayerResult::Unhandled
4923    }
4924    fn get_physical_device_surface_capabilities_khr(
4925        &self,
4926        _physical_device: vk::PhysicalDevice,
4927        _surface: vk::SurfaceKHR,
4928        _p_surface_capabilities: &mut MaybeUninit<vk::SurfaceCapabilitiesKHR>,
4929    ) -> LayerResult<VkResult<()>> {
4930        LayerResult::Unhandled
4931    }
4932    fn get_physical_device_surface_formats_khr(
4933        &self,
4934        _physical_device: vk::PhysicalDevice,
4935        _surface: vk::SurfaceKHR,
4936        _p_surface_format_count: &mut MaybeUninit<u32>,
4937        _p_surface_formats: Option<&mut [MaybeUninit<vk::SurfaceFormatKHR>]>,
4938    ) -> LayerResult<VkResult<()>> {
4939        LayerResult::Unhandled
4940    }
4941    fn get_physical_device_surface_present_modes_khr(
4942        &self,
4943        _physical_device: vk::PhysicalDevice,
4944        _surface: vk::SurfaceKHR,
4945    ) -> LayerResult<VkResult<Vec<vk::PresentModeKHR>>> {
4946        LayerResult::Unhandled
4947    }
4948    fn get_physical_device_present_rectangles_khr(
4949        &self,
4950        _physical_device: vk::PhysicalDevice,
4951        _surface: vk::SurfaceKHR,
4952        _p_rect_count: &mut MaybeUninit<u32>,
4953        _p_rects: Option<&mut [MaybeUninit<vk::Rect2D>]>,
4954    ) -> LayerResult<VkResult<()>> {
4955        LayerResult::Unhandled
4956    }
4957    fn get_physical_device_display_properties_khr(
4958        &self,
4959        _physical_device: vk::PhysicalDevice,
4960        _p_property_count: &mut MaybeUninit<u32>,
4961        _p_properties: Option<&mut [MaybeUninit<vk::DisplayPropertiesKHR>]>,
4962    ) -> LayerResult<VkResult<()>> {
4963        LayerResult::Unhandled
4964    }
4965    fn get_physical_device_display_plane_properties_khr(
4966        &self,
4967        _physical_device: vk::PhysicalDevice,
4968        _p_property_count: &mut MaybeUninit<u32>,
4969        _p_properties: Option<&mut [MaybeUninit<vk::DisplayPlanePropertiesKHR>]>,
4970    ) -> LayerResult<VkResult<()>> {
4971        LayerResult::Unhandled
4972    }
4973    fn get_display_plane_supported_displays_khr(
4974        &self,
4975        _physical_device: vk::PhysicalDevice,
4976        _plane_index: u32,
4977    ) -> LayerResult<VkResult<Vec<vk::DisplayKHR>>> {
4978        LayerResult::Unhandled
4979    }
4980    fn get_display_mode_properties_khr(
4981        &self,
4982        _physical_device: vk::PhysicalDevice,
4983        _display: vk::DisplayKHR,
4984        _p_property_count: &mut MaybeUninit<u32>,
4985        _p_properties: Option<&mut [MaybeUninit<vk::DisplayModePropertiesKHR>]>,
4986    ) -> LayerResult<VkResult<()>> {
4987        LayerResult::Unhandled
4988    }
4989    fn create_display_mode_khr(
4990        &self,
4991        _physical_device: vk::PhysicalDevice,
4992        _display: vk::DisplayKHR,
4993        _p_create_info: &vk::DisplayModeCreateInfoKHR,
4994        _p_allocator: Option<&vk::AllocationCallbacks>,
4995    ) -> LayerResult<VkResult<vk::DisplayModeKHR>> {
4996        LayerResult::Unhandled
4997    }
4998    fn get_display_plane_capabilities_khr(
4999        &self,
5000        _physical_device: vk::PhysicalDevice,
5001        _mode: vk::DisplayModeKHR,
5002        _plane_index: u32,
5003        _p_capabilities: &mut MaybeUninit<vk::DisplayPlaneCapabilitiesKHR>,
5004    ) -> LayerResult<VkResult<()>> {
5005        LayerResult::Unhandled
5006    }
5007    fn create_display_plane_surface_khr(
5008        &self,
5009        _p_create_info: &vk::DisplaySurfaceCreateInfoKHR,
5010        _p_allocator: Option<&vk::AllocationCallbacks>,
5011    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5012        LayerResult::Unhandled
5013    }
5014    fn create_xlib_surface_khr(
5015        &self,
5016        _p_create_info: &vk::XlibSurfaceCreateInfoKHR,
5017        _p_allocator: Option<&vk::AllocationCallbacks>,
5018    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5019        LayerResult::Unhandled
5020    }
5021    fn get_physical_device_xlib_presentation_support_khr(
5022        &self,
5023        _physical_device: vk::PhysicalDevice,
5024        _queue_family_index: u32,
5025        _dpy: &mut MaybeUninit<vk::Display>,
5026        _visual_id: vk::VisualID,
5027    ) -> LayerResult<bool> {
5028        LayerResult::Unhandled
5029    }
5030    fn create_xcb_surface_khr(
5031        &self,
5032        _p_create_info: &vk::XcbSurfaceCreateInfoKHR,
5033        _p_allocator: Option<&vk::AllocationCallbacks>,
5034    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5035        LayerResult::Unhandled
5036    }
5037    fn get_physical_device_xcb_presentation_support_khr(
5038        &self,
5039        _physical_device: vk::PhysicalDevice,
5040        _queue_family_index: u32,
5041        _connection: *mut vk::xcb_connection_t,
5042        _visual_id: vk::xcb_visualid_t,
5043    ) -> LayerResult<bool> {
5044        LayerResult::Unhandled
5045    }
5046    fn create_wayland_surface_khr(
5047        &self,
5048        _p_create_info: &vk::WaylandSurfaceCreateInfoKHR,
5049        _p_allocator: Option<&vk::AllocationCallbacks>,
5050    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5051        LayerResult::Unhandled
5052    }
5053    fn get_physical_device_wayland_presentation_support_khr(
5054        &self,
5055        _physical_device: vk::PhysicalDevice,
5056        _queue_family_index: u32,
5057        _display: *mut vk::wl_display,
5058    ) -> LayerResult<bool> {
5059        LayerResult::Unhandled
5060    }
5061    fn create_android_surface_khr(
5062        &self,
5063        _p_create_info: &vk::AndroidSurfaceCreateInfoKHR,
5064        _p_allocator: Option<&vk::AllocationCallbacks>,
5065    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5066        LayerResult::Unhandled
5067    }
5068    fn create_win32_surface_khr(
5069        &self,
5070        _p_create_info: &vk::Win32SurfaceCreateInfoKHR,
5071        _p_allocator: Option<&vk::AllocationCallbacks>,
5072    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5073        LayerResult::Unhandled
5074    }
5075    fn get_physical_device_win32_presentation_support_khr(
5076        &self,
5077        _physical_device: vk::PhysicalDevice,
5078        _queue_family_index: u32,
5079    ) -> LayerResult<bool> {
5080        LayerResult::Unhandled
5081    }
5082    fn get_physical_device_video_capabilities_khr(
5083        &self,
5084        _physical_device: vk::PhysicalDevice,
5085        _p_video_profile: &vk::VideoProfileInfoKHR,
5086        _p_capabilities: &mut MaybeUninit<vk::VideoCapabilitiesKHR>,
5087    ) -> LayerResult<VkResult<()>> {
5088        LayerResult::Unhandled
5089    }
5090    fn get_physical_device_video_format_properties_khr(
5091        &self,
5092        _physical_device: vk::PhysicalDevice,
5093        _p_video_format_info: &vk::PhysicalDeviceVideoFormatInfoKHR,
5094        _p_video_format_property_count: &mut MaybeUninit<u32>,
5095        _p_video_format_properties: Option<&mut [MaybeUninit<vk::VideoFormatPropertiesKHR>]>,
5096    ) -> LayerResult<VkResult<()>> {
5097        LayerResult::Unhandled
5098    }
5099    fn enumerate_physical_device_queue_family_performance_query_counters_khr(
5100        &self,
5101        _physical_device: vk::PhysicalDevice,
5102        _queue_family_index: u32,
5103        _p_counter_count: &mut MaybeUninit<u32>,
5104        _p_counters: Option<&mut [MaybeUninit<vk::PerformanceCounterKHR>]>,
5105        _p_counter_descriptions: Option<&mut [MaybeUninit<vk::PerformanceCounterDescriptionKHR>]>,
5106    ) -> LayerResult<VkResult<()>> {
5107        LayerResult::Unhandled
5108    }
5109    fn get_physical_device_queue_family_performance_query_passes_khr(
5110        &self,
5111        _physical_device: vk::PhysicalDevice,
5112        _p_performance_query_create_info: &vk::QueryPoolPerformanceCreateInfoKHR,
5113    ) -> LayerResult<u32> {
5114        LayerResult::Unhandled
5115    }
5116    fn get_physical_device_surface_capabilities2_khr(
5117        &self,
5118        _physical_device: vk::PhysicalDevice,
5119        _p_surface_info: &vk::PhysicalDeviceSurfaceInfo2KHR,
5120        _p_surface_capabilities: &mut MaybeUninit<vk::SurfaceCapabilities2KHR>,
5121    ) -> LayerResult<VkResult<()>> {
5122        LayerResult::Unhandled
5123    }
5124    fn get_physical_device_surface_formats2_khr(
5125        &self,
5126        _physical_device: vk::PhysicalDevice,
5127        _p_surface_info: &vk::PhysicalDeviceSurfaceInfo2KHR,
5128        _p_surface_format_count: &mut MaybeUninit<u32>,
5129        _p_surface_formats: Option<&mut [MaybeUninit<vk::SurfaceFormat2KHR>]>,
5130    ) -> LayerResult<VkResult<()>> {
5131        LayerResult::Unhandled
5132    }
5133    fn get_physical_device_display_properties2_khr(
5134        &self,
5135        _physical_device: vk::PhysicalDevice,
5136        _p_property_count: &mut MaybeUninit<u32>,
5137        _p_properties: Option<&mut [MaybeUninit<vk::DisplayProperties2KHR>]>,
5138    ) -> LayerResult<VkResult<()>> {
5139        LayerResult::Unhandled
5140    }
5141    fn get_physical_device_display_plane_properties2_khr(
5142        &self,
5143        _physical_device: vk::PhysicalDevice,
5144        _p_property_count: &mut MaybeUninit<u32>,
5145        _p_properties: Option<&mut [MaybeUninit<vk::DisplayPlaneProperties2KHR>]>,
5146    ) -> LayerResult<VkResult<()>> {
5147        LayerResult::Unhandled
5148    }
5149    fn get_display_mode_properties2_khr(
5150        &self,
5151        _physical_device: vk::PhysicalDevice,
5152        _display: vk::DisplayKHR,
5153        _p_property_count: &mut MaybeUninit<u32>,
5154        _p_properties: Option<&mut [MaybeUninit<vk::DisplayModeProperties2KHR>]>,
5155    ) -> LayerResult<VkResult<()>> {
5156        LayerResult::Unhandled
5157    }
5158    fn get_display_plane_capabilities2_khr(
5159        &self,
5160        _physical_device: vk::PhysicalDevice,
5161        _p_display_plane_info: &vk::DisplayPlaneInfo2KHR,
5162        _p_capabilities: &mut MaybeUninit<vk::DisplayPlaneCapabilities2KHR>,
5163    ) -> LayerResult<VkResult<()>> {
5164        LayerResult::Unhandled
5165    }
5166    fn get_physical_device_fragment_shading_rates_khr(
5167        &self,
5168        _physical_device: vk::PhysicalDevice,
5169        _p_fragment_shading_rate_count: &mut MaybeUninit<u32>,
5170        _p_fragment_shading_rates: Option<
5171            &mut [MaybeUninit<vk::PhysicalDeviceFragmentShadingRateKHR>],
5172        >,
5173    ) -> LayerResult<VkResult<()>> {
5174        LayerResult::Unhandled
5175    }
5176    fn create_debug_report_callback_ext(
5177        &self,
5178        _p_create_info: &vk::DebugReportCallbackCreateInfoEXT,
5179        _p_allocator: Option<&vk::AllocationCallbacks>,
5180    ) -> LayerResult<VkResult<vk::DebugReportCallbackEXT>> {
5181        LayerResult::Unhandled
5182    }
5183    fn destroy_debug_report_callback_ext(
5184        &self,
5185        _callback: vk::DebugReportCallbackEXT,
5186        _p_allocator: Option<&vk::AllocationCallbacks>,
5187    ) -> LayerResult<()> {
5188        LayerResult::Unhandled
5189    }
5190    fn debug_report_message_ext(
5191        &self,
5192        _flags: vk::DebugReportFlagsEXT,
5193        _object_type: vk::DebugReportObjectTypeEXT,
5194        _object: u64,
5195        _location: usize,
5196        _message_code: i32,
5197        _p_layer_prefix: &str,
5198        _p_message: &str,
5199    ) -> LayerResult<()> {
5200        LayerResult::Unhandled
5201    }
5202    fn create_stream_descriptor_surface_ggp(
5203        &self,
5204        _p_create_info: &vk::StreamDescriptorSurfaceCreateInfoGGP,
5205        _p_allocator: Option<&vk::AllocationCallbacks>,
5206    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5207        LayerResult::Unhandled
5208    }
5209    fn get_physical_device_external_image_format_properties_nv(
5210        &self,
5211        _physical_device: vk::PhysicalDevice,
5212        _format: vk::Format,
5213        _type: vk::ImageType,
5214        _tiling: vk::ImageTiling,
5215        _usage: vk::ImageUsageFlags,
5216        _flags: vk::ImageCreateFlags,
5217        _external_handle_type: vk::ExternalMemoryHandleTypeFlagsNV,
5218        _p_external_image_format_properties: &mut MaybeUninit<vk::ExternalImageFormatPropertiesNV>,
5219    ) -> LayerResult<VkResult<()>> {
5220        LayerResult::Unhandled
5221    }
5222    fn create_vi_surface_nn(
5223        &self,
5224        _p_create_info: &vk::ViSurfaceCreateInfoNN,
5225        _p_allocator: Option<&vk::AllocationCallbacks>,
5226    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5227        LayerResult::Unhandled
5228    }
5229    fn release_display_ext(
5230        &self,
5231        _physical_device: vk::PhysicalDevice,
5232        _display: vk::DisplayKHR,
5233    ) -> LayerResult<VkResult<()>> {
5234        LayerResult::Unhandled
5235    }
5236    fn acquire_xlib_display_ext(
5237        &self,
5238        _physical_device: vk::PhysicalDevice,
5239        _dpy: &mut MaybeUninit<vk::Display>,
5240        _display: vk::DisplayKHR,
5241    ) -> LayerResult<VkResult<()>> {
5242        LayerResult::Unhandled
5243    }
5244    fn get_rand_r_output_display_ext(
5245        &self,
5246        _physical_device: vk::PhysicalDevice,
5247        _dpy: &mut MaybeUninit<vk::Display>,
5248        _rr_output: vk::RROutput,
5249    ) -> LayerResult<VkResult<vk::DisplayKHR>> {
5250        LayerResult::Unhandled
5251    }
5252    fn get_physical_device_surface_capabilities2_ext(
5253        &self,
5254        _physical_device: vk::PhysicalDevice,
5255        _surface: vk::SurfaceKHR,
5256        _p_surface_capabilities: &mut MaybeUninit<vk::SurfaceCapabilities2EXT>,
5257    ) -> LayerResult<VkResult<()>> {
5258        LayerResult::Unhandled
5259    }
5260    fn create_ios_surface_mvk(
5261        &self,
5262        _p_create_info: &vk::IOSSurfaceCreateInfoMVK,
5263        _p_allocator: Option<&vk::AllocationCallbacks>,
5264    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5265        LayerResult::Unhandled
5266    }
5267    fn create_mac_os_surface_mvk(
5268        &self,
5269        _p_create_info: &vk::MacOSSurfaceCreateInfoMVK,
5270        _p_allocator: Option<&vk::AllocationCallbacks>,
5271    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5272        LayerResult::Unhandled
5273    }
5274    fn create_debug_utils_messenger_ext(
5275        &self,
5276        _p_create_info: &vk::DebugUtilsMessengerCreateInfoEXT,
5277        _p_allocator: Option<&vk::AllocationCallbacks>,
5278    ) -> LayerResult<VkResult<vk::DebugUtilsMessengerEXT>> {
5279        LayerResult::Unhandled
5280    }
5281    fn destroy_debug_utils_messenger_ext(
5282        &self,
5283        _messenger: vk::DebugUtilsMessengerEXT,
5284        _p_allocator: Option<&vk::AllocationCallbacks>,
5285    ) -> LayerResult<()> {
5286        LayerResult::Unhandled
5287    }
5288    fn submit_debug_utils_message_ext(
5289        &self,
5290        _message_severity: vk::DebugUtilsMessageSeverityFlagsEXT,
5291        _message_types: vk::DebugUtilsMessageTypeFlagsEXT,
5292        _p_callback_data: &vk::DebugUtilsMessengerCallbackDataEXT,
5293    ) -> LayerResult<()> {
5294        LayerResult::Unhandled
5295    }
5296    fn get_physical_device_multisample_properties_ext(
5297        &self,
5298        _physical_device: vk::PhysicalDevice,
5299        _samples: vk::SampleCountFlags,
5300        _p_multisample_properties: &mut MaybeUninit<vk::MultisamplePropertiesEXT>,
5301    ) -> LayerResult<()> {
5302        LayerResult::Unhandled
5303    }
5304    fn get_physical_device_calibrateable_time_domains_ext(
5305        &self,
5306        _physical_device: vk::PhysicalDevice,
5307    ) -> LayerResult<VkResult<Vec<vk::TimeDomainEXT>>> {
5308        LayerResult::Unhandled
5309    }
5310    fn create_image_pipe_surface_fuchsia(
5311        &self,
5312        _p_create_info: &vk::ImagePipeSurfaceCreateInfoFUCHSIA,
5313        _p_allocator: Option<&vk::AllocationCallbacks>,
5314    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5315        LayerResult::Unhandled
5316    }
5317    fn create_metal_surface_ext(
5318        &self,
5319        _p_create_info: &vk::MetalSurfaceCreateInfoEXT,
5320        _p_allocator: Option<&vk::AllocationCallbacks>,
5321    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5322        LayerResult::Unhandled
5323    }
5324    fn get_physical_device_cooperative_matrix_properties_nv(
5325        &self,
5326        _physical_device: vk::PhysicalDevice,
5327        _p_property_count: &mut MaybeUninit<u32>,
5328        _p_properties: Option<&mut [MaybeUninit<vk::CooperativeMatrixPropertiesNV>]>,
5329    ) -> LayerResult<VkResult<()>> {
5330        LayerResult::Unhandled
5331    }
5332    fn get_physical_device_supported_framebuffer_mixed_samples_combinations_nv(
5333        &self,
5334        _physical_device: vk::PhysicalDevice,
5335        _p_combination_count: &mut MaybeUninit<u32>,
5336        _p_combinations: Option<&mut [MaybeUninit<vk::FramebufferMixedSamplesCombinationNV>]>,
5337    ) -> LayerResult<VkResult<()>> {
5338        LayerResult::Unhandled
5339    }
5340    fn get_physical_device_surface_present_modes2_ext(
5341        &self,
5342        _physical_device: vk::PhysicalDevice,
5343        _p_surface_info: &vk::PhysicalDeviceSurfaceInfo2KHR,
5344    ) -> LayerResult<VkResult<Vec<vk::PresentModeKHR>>> {
5345        LayerResult::Unhandled
5346    }
5347    fn create_headless_surface_ext(
5348        &self,
5349        _p_create_info: &vk::HeadlessSurfaceCreateInfoEXT,
5350        _p_allocator: Option<&vk::AllocationCallbacks>,
5351    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5352        LayerResult::Unhandled
5353    }
5354    fn acquire_drm_display_ext(
5355        &self,
5356        _physical_device: vk::PhysicalDevice,
5357        _drm_fd: i32,
5358        _display: vk::DisplayKHR,
5359    ) -> LayerResult<VkResult<()>> {
5360        LayerResult::Unhandled
5361    }
5362    fn get_drm_display_ext(
5363        &self,
5364        _physical_device: vk::PhysicalDevice,
5365        _drm_fd: i32,
5366        _connector_id: u32,
5367    ) -> LayerResult<VkResult<vk::DisplayKHR>> {
5368        LayerResult::Unhandled
5369    }
5370    fn acquire_winrt_display_nv(
5371        &self,
5372        _physical_device: vk::PhysicalDevice,
5373        _display: vk::DisplayKHR,
5374    ) -> LayerResult<VkResult<()>> {
5375        LayerResult::Unhandled
5376    }
5377    fn get_winrt_display_nv(
5378        &self,
5379        _physical_device: vk::PhysicalDevice,
5380        _device_relative_id: u32,
5381    ) -> LayerResult<VkResult<vk::DisplayKHR>> {
5382        LayerResult::Unhandled
5383    }
5384    fn create_direct_fb_surface_ext(
5385        &self,
5386        _p_create_info: &vk::DirectFBSurfaceCreateInfoEXT,
5387        _p_allocator: Option<&vk::AllocationCallbacks>,
5388    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5389        LayerResult::Unhandled
5390    }
5391    fn get_physical_device_direct_fb_presentation_support_ext(
5392        &self,
5393        _physical_device: vk::PhysicalDevice,
5394        _queue_family_index: u32,
5395        _dfb: &mut MaybeUninit<vk::IDirectFB>,
5396    ) -> LayerResult<bool> {
5397        LayerResult::Unhandled
5398    }
5399    fn create_screen_surface_qnx(
5400        &self,
5401        _p_create_info: &vk::ScreenSurfaceCreateInfoQNX,
5402        _p_allocator: Option<&vk::AllocationCallbacks>,
5403    ) -> LayerResult<VkResult<vk::SurfaceKHR>> {
5404        LayerResult::Unhandled
5405    }
5406    fn get_physical_device_screen_presentation_support_qnx(
5407        &self,
5408        _physical_device: vk::PhysicalDevice,
5409        _queue_family_index: u32,
5410        _window: *mut vk::_screen_window,
5411    ) -> LayerResult<bool> {
5412        LayerResult::Unhandled
5413    }
5414    fn get_physical_device_optical_flow_image_formats_nv(
5415        &self,
5416        _physical_device: vk::PhysicalDevice,
5417        _p_optical_flow_image_format_info: &vk::OpticalFlowImageFormatInfoNV,
5418        _p_format_count: &mut MaybeUninit<u32>,
5419        _p_image_format_properties: Option<
5420            &mut [MaybeUninit<vk::OpticalFlowImageFormatPropertiesNV>],
5421        >,
5422    ) -> LayerResult<VkResult<()>> {
5423        LayerResult::Unhandled
5424    }
5425}