|  | // Copyright 2021 The IREE Authors | 
|  | // | 
|  | // Licensed under the Apache License v2.0 with LLVM Exceptions. | 
|  | // See https://llvm.org/LICENSE.txt for license information. | 
|  | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
|  |  | 
|  | #include "experimental/webgpu/platform/native/native_driver.h" | 
|  | #include "experimental/webgpu/registration/driver_module.h" | 
|  | #include "iree/base/api.h" | 
|  |  | 
|  | // TODO(#4298): remove this driver registration and wrapper. | 
|  |  | 
|  | static iree_status_t iree_hal_webgpu_native_driver_factory_enumerate( | 
|  | void* self, const iree_hal_driver_info_t** out_driver_infos, | 
|  | iree_host_size_t* out_driver_info_count) { | 
|  | return iree_make_status( | 
|  | IREE_STATUS_UNIMPLEMENTED, | 
|  | "WebGPU native driver is only for testing compilation"); | 
|  | } | 
|  |  | 
|  | static iree_status_t iree_hal_webgpu_native_driver_factory_try_create( | 
|  | void* self, iree_hal_driver_id_t driver_id, iree_allocator_t host_allocator, | 
|  | iree_hal_driver_t** out_driver) { | 
|  | return iree_make_status( | 
|  | IREE_STATUS_UNIMPLEMENTED, | 
|  | "WebGPU native driver is only for testing compilation"); | 
|  | } | 
|  |  | 
|  | IREE_API_EXPORT iree_status_t | 
|  | iree_hal_webgpu_driver_module_register(iree_hal_driver_registry_t* registry) { | 
|  | static const iree_hal_driver_factory_t factory = { | 
|  | .self = NULL, | 
|  | .enumerate = iree_hal_webgpu_native_driver_factory_enumerate, | 
|  | .try_create = iree_hal_webgpu_native_driver_factory_try_create, | 
|  | }; | 
|  | return iree_hal_driver_registry_register_factory(registry, &factory); | 
|  | } |