New issue
Advanced search Search tips

Issue 580 link

Starred by 6 users

Issue metadata

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



Sign in to add a comment

support drawing to devices > 32K

Project Member Reported by reed@google.com, Apr 19 2012

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


 
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.
Project Member

Comment 5 by reed@google.com, Jan 18 2018

Mergedinto: 2122
Status: Duplicate (was: Accepted)

Sign in to add a comment