blob: 592f193b297704c2f413de52081cea1a71cd783e [file]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_GFX_LINUX_DRM_UTIL_LINUX_H_
#define UI_GFX_LINUX_DRM_UTIL_LINUX_H_
#include <cstdint>
#include "components/viz/common/resources/shared_image_format.h"
namespace ui {
inline constexpr auto kDrmSharedImageFormats = {
viz::SinglePlaneFormat::kR_8,
viz::SinglePlaneFormat::kRG_88,
viz::SinglePlaneFormat::kR_16,
viz::SinglePlaneFormat::kRG_1616,
viz::SinglePlaneFormat::kBGR_565,
viz::SinglePlaneFormat::kRGBA_4444,
viz::SinglePlaneFormat::kRGBA_8888,
viz::SinglePlaneFormat::kRGBX_8888,
viz::SinglePlaneFormat::kBGRA_8888,
viz::SinglePlaneFormat::kBGRX_8888,
viz::SinglePlaneFormat::kRGBA_1010102,
viz::SinglePlaneFormat::kBGRA_1010102,
viz::SinglePlaneFormat::kRGBA_F16,
viz::MultiPlaneFormat::kYV12,
viz::MultiPlaneFormat::kNV12,
viz::MultiPlaneFormat::kP010};
int GetFourCCFormatFromSharedImageFormat(const viz::SharedImageFormat& format);
viz::SharedImageFormat GetSharedImageFormatFromFourCCFormat(int format);
// Returns true if the DRM FourCC format is known.
bool IsValidDrmFormat(uint32_t current_format);
// Returns a human-readable string for a DRM FourCC format, or
// DRM_FORMAT_INVALID for an unknown or unsupported DRM format.
const char* DrmFormatToString(uint32_t format);
} // namespace ui
#endif // UI_GFX_LINUX_DRM_UTIL_LINUX_H_