// Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. library fuchsia.sysmem; // Information about a buffer collection and its buffers. // TODO(ZX-2260): change struct to table struct BufferCollectionInfo { // The number of buffers in the collection. uint32 buffer_count; // Describes how the contents of buffers are represented. // All buffers within the collection have the same format. BufferFormat format; // VMO handles for each buffer in the collection. // The VMOs are only present when the buffers are backed by VMOs. // // If present, all the VMOs after |buffer_count| are invalid handles. // All buffer VMO handles have identical size and access rights. // The VMO access rights are determined based on the usages which the // client specified when allocating the buffer collection. For example, // a client which expressed a read-only usage will receive VMOs without // write rights. array?>:64 vmos; // The size of each VMO provided. // This property is only present when the buffers are backed by VMOs. uint64 vmo_size = 0; };