PROTOCOLS
Loader
Defined in fuchsia.vulkan.loader/loader.fidl
Provides Vulkan ICD (installable client driver) libraries. Regular clients should access this protocol directly. Trusted clients should access this protocol using the TrustedService.
ConnectToDeviceFs
Connects to a FS serving fuchsia.io containing all device nodes potentially relevant to ICDs. Trusted devices are exposed only to trusted loader clients (see TrustedService).
Request
| Name | Type |
|---|---|
channel |
handle<channel>
|
ConnectToManifestFs
Connects to a FS serving fuchsia.io containing all Vulkan ICD manifests.
See
https://github.com/KhronosGroup/Vulkan-Loader/blob/master/loader/LoaderAndLayerInterface.md#icd-manifest-file-format
for a description of the manifest file format. Manifests will always
appear in this directory after the relevant device appears in
ConnectToDeviceFs().
Request
| Name | Type |
|---|---|
options |
ConnectToManifestOptions
|
channel |
handle<channel>
|
Get
Requests a client driver library with the given name from the Vulkan loader service. Returns a VMO suitable for loading as a dynamic library on success, a null handle on failure.
Request
| Name | Type |
|---|---|
name |
string:64
|
Response
| Name | Type |
|---|---|
lib |
handle<vmo>?
|
GetSupportedFeatures
Returns the set of features the loader service supports.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
features |
Features
|
GetVmexResource
Returns a VmexResource that can be used by Lavapipe to JIT-compile code in the client process, or an error.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
payload |
Loader_GetVmexResource_Result
|
STRUCTS
Loader_GetVmexResource_Response resource
Defined in fuchsia.vulkan.loader/loader.fidl
| Field | Type | Description | Default |
|---|---|---|---|
resource |
handle<resource>
|
No default |
ENUMS
GetVmexResourceError flexible
Type: uint32
Defined in fuchsia.vulkan.loader/loader.fidl
Error type returned by Loader.GetVmexResource.
| Name | Value | Description |
|---|---|---|
LAVAPIPE_ICD_NOT_ALLOWED |
1 |
The structured config value |
FAILED_TO_OBTAIN_RESOURCE |
2 |
The loader was unable to obtain a |
UNIONS
Loader_GetVmexResource_Result strict resource
Defined in fuchsia.vulkan.loader/loader.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Loader_GetVmexResource_Response
|
|
2 |
err |
GetVmexResourceError
|
BITS
ConnectToManifestOptions flexible
Type: uint32
Defined in fuchsia.vulkan.loader/loader.fidl
| Name | Value | Description |
|---|---|---|
WAIT_FOR_IDLE |
1 | Wait for the loader to finish processing current ICD loading/unloading operations before completing the connection. |
Features flexible
Type: uint32
Defined in fuchsia.vulkan.loader/loader.fidl
| Name | Value | Description |
|---|---|---|
GET |
1 | Implements Get(). |
CONNECT_TO_DEVICE_FS |
2 | Implements ConnectToDeviceFs(). |
CONNECT_TO_MANIFEST_FS |
4 | Implements ConnectToManifestFs(). |
SERVICES
TrustedService
Defined in fuchsia.vulkan.loader/loader.fidl
| Name | Type | Transport |
|---|---|---|
| loader |
fuchsia.vulkan.loader/Loader
|
Channel |