Project: skia Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 580 support drawing to devices > 32K
Starred by 5 users Project Member Reported by reed@google.com, Apr 19 2012 Back to list
Status: Accepted
Owner:
Cc:
Area: ----
Priority: Low
Type: Defect



Sign in to add a comment
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


 
Project Member Comment 1 by hcm@google.com, Dec 7 2015
Labels: Hotlist-Fixit
Comment 2 by pnam...@gmail.com, 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 : https://groups.google.com/a/chromium.org/forum/#!topic/headless-dev/t0ixeHXCzK0 which for long page is quiet problematic.

Project Member Comment 3 by bsalo...@google.com, Sep 23 2016
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 pnam...@gmail.com, Sep 23 2016
Thanks for the clarification, I will check  it further with the OSmesa project.
Sign in to add a comment