Semantics for 2D RasterizationCCS: Computing methodologies RasterizationCCS: Software and its engineering Visual languagesCCS: Software and its engineering SemanticsBhargav K Kulkarni

Affiliation: University of Utah, 201 Presidents’ Circle, Salt Lake City, UT, USA, 84112-0090email: bhargavk@utah.edu, Henry Whiting Affiliation: University of Utah, 201 Presidents’ Circle, Salt Lake City, UT, USA, 84112-0090email: u1598085@utah.edu and Pavel Panchekha Affiliation: University of Utah, 201 Presidents’ Circle, Salt Lake City, UT, USA, 84112-0090email: pavpan@cs.utah.edu© noneAbstract.

Rasterization is the process of determining the color of every pixel drawn by an application. Powerful rasterization libraries like Skia, CoreGraphics, and Direct2D put exceptional effort into drawing, blending, and rendering efficiently. Yet applications are still hindered by the inefficient sequences of instructions that they ask these libraries to perform. Even Google Chrome, a highly optimized web browser co-developed with the Skia rasterization library, still produces inefficient instruction sequences even on the top 100 most visited websites. The underlying reason for this inefficiency is that rasterization libraries have complex semantics and opaque and non-obvious execution models.