#include #include #include "hw/frame_buffer.h" namespace rk3588 { namespace { TEST(FrameBufferTest, SyncNoCrash) { FrameBuffer buffer; buffer.SyncStart(); buffer.SyncEnd(); FrameBuffer buffer_with_fd(5, {}); buffer_with_fd.SyncStart(); buffer_with_fd.SyncEnd(); SUCCEED(); } TEST(FrameBufferTest, PlaneAccessConsistent) { FrameBuffer::Plane plane0; plane0.data = reinterpret_cast(0x1000); plane0.stride = 1280; plane0.size = 921600; plane0.offset = 0; FrameBuffer::Plane plane1; plane1.data = reinterpret_cast(0x2000); plane1.stride = 640; plane1.size = 460800; plane1.offset = 921600; std::vector planes{plane0, plane1}; FrameBuffer buffer(7, planes); const auto& out = buffer.Planes(); ASSERT_EQ(out.size(), 2u); EXPECT_EQ(out[0].stride, 1280); EXPECT_EQ(out[0].size, 921600); EXPECT_EQ(out[0].offset, 0); EXPECT_EQ(out[1].stride, 640); EXPECT_EQ(out[1].size, 460800); EXPECT_EQ(out[1].offset, 921600); } } // namespace } // namespace rk3588