协议
Loader
在 fuchsia.vulkan.loader/loader.fidl 中定义
用于向加载器提供 Vulkan 库的服务。
ConnectToDeviceFs
连接到服务 fuchsia.io 的 FS,该 FS 包含可能与 ICD 相关的所有设备节点。/dev/
请求
名称 | 类型 |
---|---|
channel |
handle<channel>
|
ConnectToManifestFs
连接到提供所有 Vulkan ICD 清单的 fuchsia.io 的 FS。
有关清单文件格式的说明,请参阅 https://github.com/KhronosGroup/Vulkan-Loader/blob/master/loader/LoaderAndLayerInterface.md#icd-manifest-file-format。相关设备出现在 ConnectToDeviceFs()
中之后,清单将始终显示在此目录中。
请求
名称 | 类型 |
---|---|
options |
ConnectToManifestOptions
|
channel |
handle<channel>
|
获取
从 Vulkan 加载器服务请求具有给定名称的客户端驱动程序库。成功时返回适合作为动态库加载的 VMO,在失败时返回 null 句柄。
请求
名称 | 类型 |
---|---|
name |
string[64]
|
响应
名称 | 类型 |
---|---|
lib |
handle<vmo>?
|
GetSupportedFeatures
返回加载器服务支持的功能集。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
features |
Features
|
GetVmexResource
返回可供 Lavapipe 用于在客户端进程中 JIT 编译代码的 VmexResource,或者返回错误。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Loader_GetVmexResource_Result
|
结构
Loader_GetVmexResource_Response 资源
在 fuchsia.vulkan.loader/loader.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
resource |
handle<resource>
|
无默认取景方式 |
枚举
GetVmexResourceError灵活
类型:uint32
在 fuchsia.vulkan.loader/loader.fidl 中定义
Loader.GetVmexResource 返回的错误类型。
名称 | 值 | 说明 |
---|---|---|
LAVAPIPE_ICD_NOT_ALLOWED |
1 |
结构化配置值 |
FAILED_TO_OBTAIN_RESOURCE |
2 |
加载器无法获取 |
联合
Loader_GetVmexResource_Result 严格的 资源
在 fuchsia.vulkan.loader/loader.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Loader_GetVmexResource_Response
|
|
2 |
err |
GetVmexResourceError
|
BITS
ConnectToManifestOptions 灵活
类型:uint32
在 fuchsia.vulkan.loader/loader.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
WAIT_FOR_IDLE |
1 | 等待加载器处理完当前 ICD 加载/卸载操作,然后再完成连接。 |
功能灵活
类型:uint32
在 fuchsia.vulkan.loader/loader.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
GET |
1 | 实现 Get()。 |
CONNECT_TO_DEVICE_FS |
2 | 实现 ConnectToDeviceFs()。 |
CONNECT_TO_MANIFEST_FS |
4 | 实现 ConnectToManifestFs()。 |