1、Graphics Support In Zephyr RTOSDaniel DeGrasse,NXP1PUBLICABSTRACTIntro to 2D GraphicsCurrent Graphics Support in ZephyrOverview of Graphics HardwareZephyrs Use CasesExisting APIsZephyr API ProposalFuture WorkOpen Discussion2PUBLICVECTOR VS RASTER GRAPHICSVector graphicsMathematical description of im
2、ageBest for logos,engravings,fonts,UI elementsRaster Graphics2D pixel arrayBest for photographs or other imagesIntro to Graphics3PUBLICBlendingPorter-duff blending modesPrimarily applies when one shape has alpha componentCan also be used for more complicated clipping operationsClippingAny output sha
3、pe can be clippedBoundaries are typically just a rectangle,versus blending two shapes togetherBLENDING AND CLIPPINGIntro to Graphics4PUBLIC Path commands allow drawing complex shapesUsed in formats like SVG,as well as 2D vector graphics enginesRendering can be done within path,or only on pixels with
4、in an odd number of pathsPATHSIntro to Graphics5PUBLICCURRENT STATE OF ZEPHYR GRAPHICS SUPPORTCFB subsystemFonts can be rasterized,and rendered onto a monochrome displayBasic shape drawing(rectangles and points)also supportedMonochrome onlyLVGLUpstream has support for several graphical acceleration
5、engines,but Zephyr does not enable thisRich set of APIs for graphics accelerators to implementAll drawing is done in software when using ZephyrState of Support6PUBLICNXP PXPMultiple blending modesBlends alpha surface onto background(process surface)90/180/270-degree rotationColor space conversionPro
6、cess surface scalingCan output directly to the LCD controller without an intermediate bufferNXP SmartDMAPixel format conversionDirect output to display via MIPI-DSI or FlexIO attached display90/180/270-degree rotationPXP AND SMARTDMAHardware Engines7PUBLICFast clear-set buffer to solid colorBlends f