New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 6 users

Issue metadata

Status: Duplicate
Merged: issue 2122
Closed: Jan 2018
Area: ----
NextAction: ----
Priority: Low
Type: Defect

Sign in to add a comment

Issue 580: support drawing to devices > 32K

Reported by, Apr 19 2012 Project Member

Issue description

Our scan converters (paths, hairlines) use 16.16 to represent their edges, and therefore we cannot draw to a coordinate outside of that range. Currently those code paths just clip their geometry to avoid overflow, and so we just draw nothing.

A possible solution is to tile our rendering (perhaps at a high level like canvas : device boundary) where we would just (re)draw NxN times, each time
    - translate the geometry to re-zero it to the local tile's origin
    - somehow flag shaders that their device coordinates need to be adjust when they invert them to deduce local coordinates

Comment 1 by, Dec 7 2015

Project Member
Labels: Hotlist-Fixit

Comment 2 by, Sep 23 2016

Any news on this issue? This bug block the ability for screenshot to be greater than 16384px as per my post to Chrome Headless :!topic/headless-dev/t0ixeHXCzK0 which for long page is quiet problematic.

Comment 3 by, Sep 23 2016

Project Member
I don't think the Chrome headless issue is related to Skia. From the log it looks like chrome headless is using OSMesa (sw impl of OpenGL) and that OSMesa context creation is failing to create a context with a large backing store. Chrome uses Skia to draw into tiles that are small enough not to hit the limitation described in this bug.

Comment 4 by, Sep 23 2016

Thanks for the clarification, I will check  it further with the OSmesa project.

Comment 5 by, Jan 18 2018

Project Member
Mergedinto: 2122
Status: Duplicate (was: Accepted)

Sign in to add a comment