| // Copyright 2024 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /// Driver protocol between magma and display drivers for virtio-gpu |
| @available(added=HEAD) |
| library fuchsia.gpu.virtio; |
| |
| using zx; |
| |
| @discoverable |
| closed protocol GpuControl { |
| /// Returns the number of capability sets supported by the virtio-gpu device. |
| strict GetCapabilitySetLimit() -> (struct { |
| limit uint64; |
| }); |
| |
| /// Sends an opaque hardware request of variable length and returns a variable length response. |
| /// Commands go on the control queue. |
| strict SendHardwareCommand(struct { |
| request vector<uint8>:MAX; |
| }) -> (struct { |
| response vector<uint8>:MAX; |
| }) error zx.Status; |
| }; |
| |
| service Service { |
| control client_end:GpuControl; |
| }; |