blob: d585ea8bfeac9e8019354b1e6f3231bebddd8123 [file] [log] [blame]
// Copyright 2016 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.
module gfx.mojom;
import "mojom/native_handle_types.mojom";
// gfx::BufferFormat
enum BufferFormat {
R_8,
R_16,
RG_88,
BGR_565,
RGBA_4444,
RGBX_8888,
RGBA_8888,
BGRX_8888,
BGRA_1010102,
RGBA_1010102,
BGRA_8888,
RGBA_F16,
YVU_420,
YUV_420_BIPLANAR,
P010,
};
// gfx::BufferUsage
enum BufferUsage {
GPU_READ,
SCANOUT,
SCANOUT_CAMERA_READ_WRITE,
CAMERA_AND_CPU_READ_WRITE,
SCANOUT_CPU_READ_WRITE,
SCANOUT_VDA_WRITE,
PROTECTED_SCANOUT_VDA_WRITE,
GPU_READ_CPU_READ_WRITE,
SCANOUT_VEA_CPU_READ,
VEA_READ_CAMERA_AND_CPU_READ_WRITE,
};
struct BufferUsageAndFormat {
BufferUsage usage;
BufferFormat format;
};
// gfx::GpuMemoryBufferId
struct GpuMemoryBufferId {
int32 id;
};
// gfx::GpuMemoryBufferHandle
struct GpuMemoryBufferHandle {
GpuMemoryBufferId id;
uint32 offset;
uint32 stride;
GpuMemoryBufferPlatformHandle? platform_handle;
};