blob: 167be3cbe52e38c022874e38825f9a84fed9162b [file] [log] [blame]
// Copyright 2025 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.
#include "src/graphics/display/drivers/intel-display/display-timing-mode-conversion.h"
#include <gtest/gtest.h>
#include "src/graphics/display/lib/api-types/cpp/display-timing.h"
#include "src/graphics/display/lib/api-types/cpp/mode.h"
namespace intel_display {
TEST(ToDisplayModeTest, DmtTiming) {
static constexpr display::DisplayTiming kDmtDisplayPanelTimings = {
.horizontal_active_px = 1152,
.horizontal_front_porch_px = 64,
.horizontal_sync_width_px = 128,
.horizontal_back_porch_px = 256,
.vertical_active_lines = 864,
.vertical_front_porch_lines = 1,
.vertical_sync_width_lines = 3,
.vertical_back_porch_lines = 32,
.pixel_clock_frequency_hz = 108'000'000,
.fields_per_frame = display::FieldsPerFrame::kProgressive,
.hsync_polarity = display::SyncPolarity::kPositive,
.vsync_polarity = display::SyncPolarity::kPositive,
.vblank_alternates = false,
.pixel_repetition = 0,
};
EXPECT_EQ(kDmtDisplayPanelTimings.vertical_field_refresh_rate_millihertz(), 75'000);
display::Mode mode = ToDisplayMode(kDmtDisplayPanelTimings);
EXPECT_EQ(mode.active_area().width(), 1152);
EXPECT_EQ(mode.active_area().height(), 864);
EXPECT_EQ(mode.refresh_rate_millihertz(), 75'000);
}
} // namespace intel_display