blob: 072c882f7a1f3d3cc924a028aa149dc6df37f442 [file] [log] [blame]
// Copyright 2023 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.
library zbi;
// TODO(https://fxbug.dev/42062786): Figure out documentation convention.
/// Gives a pixel format representation.
///
/// Bits [23:16] (i.e., the third byte) encode the number of bytes per pixel
/// in the representation.
type PixelFormat = flexible enum : uint32 {
NONE = 0x00000000;
RGB_565 = 0x00020001;
RGB_332 = 0x00010002;
RGB_2220 = 0x00010003;
ARGB_8888 = 0x00040004;
RGB_X888 = 0x00040005;
MONO_8 = 0x00010007;
NV12 = 0x00010008;
I420 = 0x00010009;
RGB_888 = 0x00030009;
ABGR_8888 = 0x0004000a;
BGR_888X = 0x0004000b;
ARGB_2_10_10_10 = 0x0004000c;
ABGR_2_10_10_10 = 0x0004000d;
};
/// ZBI_TYPE_FRAMEBUFFER payload.
type Swfb = struct {
/// Physical memory address.
base uint64;
/// Pixel layout and format.
width uint32;
height uint32;
stride uint32;
format PixelFormat;
};