class PixelFormatModifier
Defined at line 49 of file fidling/gen/sdk/fidl/fuchsia.images2/fuchsia.images2/hlcpp/fuchsia/images2/cpp/fidl.h
The upper 8 bits are a vendor code. The lower 56 bits are vendor-defined.
The defined `PixelFormatModifier` values are specific, complete, and valid
values (except for `INVALID` and `DO_NOT_CARE` which have their own
meanings).
Some other valid or potentially-valid `pixel_format_modifier` values are not
defined as a `PixelFormatModifier` value, typically because the value isn't
used in practice (or potentially is newly used but not yet defined in
`PixelFormatModifier`). It is permitted to specify such a value as a
`PixelFormatModifier` value in a `pixel_format_modifier` field, despite the
lack of corresponding defined `PixelFormatModifier` value. If such a value
is used outside test code, please consider adding it as a defined value in
`PixelFormatModifier`. All such values must conform to the upper 8 bits
vendor code (don't define/use values outside the/an appropriate vendor
code).
The separately-defined `FORMAT_MODIFIER_*` uint64 values are vendor-specific
bit field values, not complete valid values on their own. These uint64
values can be used to help create or interpret a `PixelFormatModifier` value
in terms of vendor-specific bitfields.
When the `pixel_format_modifier` is set to a supported value (excluding
`DO_NOT_CARE`, `INVALID`, `LINEAR`), the arrangement of pixel data otherwise
specified by the `pixel_format` field is "modified", typically to allow for
some combination of tiling, compression (typically lossless, typically for
memory bandwidth reduction not framebuffer size reduction), transaction
elimination, dirt tracking, but typically not modifying the bit depth of the
`pixel_format`. In some cases there's a per-image or per-tile header
involved, or similar. The `pixel_format` field often still needs to be set
to a valid supported value that works in combination with the
`pixel_format_modifier`, and that `pixel_format` value can also contribute
to the overall meaning of the `ImageFormat`. In other words, the "modifier"
part of the name is more accurate than "override" would be.
Public Members
static PixelFormatModifier DO_NOT_CARE
static PixelFormatModifier INVALID
static PixelFormatModifier LINEAR
static PixelFormatModifier INTEL_I915_X_TILED
static PixelFormatModifier INTEL_I915_Y_TILED
static PixelFormatModifier INTEL_I915_YF_TILED
static PixelFormatModifier INTEL_I915_Y_TILED_CCS
static PixelFormatModifier INTEL_I915_YF_TILED_CCS
static PixelFormatModifier ARM_AFBC_16X16
static PixelFormatModifier ARM_AFBC_32X8
static PixelFormatModifier ARM_LINEAR_TE
static PixelFormatModifier ARM_AFBC_16X16_TE
static PixelFormatModifier ARM_AFBC_32X8_TE
static PixelFormatModifier ARM_AFBC_16X16_YUV_TILED_HEADER
static PixelFormatModifier ARM_AFBC_16X16_SPLIT_BLOCK_SPARSE_YUV
static PixelFormatModifier ARM_AFBC_16X16_SPLIT_BLOCK_SPARSE_YUV_TE
static PixelFormatModifier ARM_AFBC_16X16_SPLIT_BLOCK_SPARSE_YUV_TILED_HEADER
static PixelFormatModifier ARM_AFBC_16X16_SPLIT_BLOCK_SPARSE_YUV_TE_TILED_HEADER
static PixelFormatModifier GOOGLE_GOLDFISH_OPTIMAL
Public Methods
void PixelFormatModifier ()
Defined at line 51 of file fidling/gen/sdk/fidl/fuchsia.images2/fuchsia.images2/hlcpp/fuchsia/images2/cpp/fidl.h
void PixelFormatModifier (uint64_t value)
Defined at line 52 of file fidling/gen/sdk/fidl/fuchsia.images2/fuchsia.images2/hlcpp/fuchsia/images2/cpp/fidl.h
uint64_t operator unsigned long ()
Defined at line 53 of file fidling/gen/sdk/fidl/fuchsia.images2/fuchsia.images2/hlcpp/fuchsia/images2/cpp/fidl.h
bool IsUnknown ()
Defined at line 55 of file fidling/gen/sdk/fidl/fuchsia.images2/fuchsia.images2/hlcpp/fuchsia/images2/cpp/fidl.h
PixelFormatModifier Unknown ()
Defined at line 100 of file fidling/gen/sdk/fidl/fuchsia.images2/fuchsia.images2/hlcpp/fuchsia/images2/cpp/fidl.h