aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrAtlasTextContext.cpp
Commit message (Collapse)AuthorAge
* Change large glyph check back to > threshold.Gravatar jvanverth2015-06-22
| | | | | | | | | Using >= misses some Chromium test cases that are still being rendered as paths. BUG=chromium:467569 Review URL: https://codereview.chromium.org/1202433002
* Remove distance field flag from SkPaintGravatar jvanverth2015-06-22
| | | | Review URL: https://codereview.chromium.org/1192413005
* remove SkDevicePropertiesGravatar robertphillips2015-06-19
| | | | | | There is a lot more clean up to do here but this is probably a big enough bite. Review URL: https://codereview.chromium.org/1196683003
* Switch to glyphs as paths at a higher point size on AndroidGravatar jvanverth2015-06-19
| | | | | | | | | | | | | | | The regression occurred when we dropped the maximum DF size from 192 to 162, which meant that any glyph > 324 ended up being rendered as paths rather than the previous > 384. This pushes the threshold for rendering paths up to 384. Quality looks fine on high-res devices which is why this is restricted to Android-only (low-res Android devices should only rarely have text that large). BUG=chromium:467569 Committed: https://skia.googlesource.com/skia/+/932d413e69845989fadaecf5bcb8686ec8c05032 Review URL: https://codereview.chromium.org/1183053005
* Remove gamma field from SkDevicePropertiesGravatar robertphillips2015-06-19
| | | | Review URL: https://codereview.chromium.org/1189223002
* Revert of Switch to glyphs as paths at a higher point size on Android ↵Gravatar fmalita2015-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1183053005/) Reason for revert: GM:mixedtextblobs looks significantly worse on Android. Before: https://gold.skia.org/img/images/19d171dd72ba68df9501736dbbc2aa44.png After: https://gold.skia.org/img/images/d4c38072d2836356c00fdc1a7b537350.png Original issue's description: > Switch to glyphs as paths at a higher point size on Android > > The regression occurred when we dropped the maximum DF size from 192 > to 162, which meant that any glyph > 324 ended up being rendered as paths > rather than the previous > 384. This pushes the threshold for > rendering paths up to 384. Quality looks fine on high-res devices > which is why this is restricted to Android-only (low-res Android devices > should only rarely have text that large). > > BUG=chromium:467569 > > Committed: https://skia.googlesource.com/skia/+/932d413e69845989fadaecf5bcb8686ec8c05032 TBR=joshualitt@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:467569 Review URL: https://codereview.chromium.org/1192203002
* Switch to glyphs as paths at a higher point size on AndroidGravatar jvanverth2015-06-18
| | | | | | | | | | | | | The regression occurred when we dropped the maximum DF size from 192 to 162, which meant that any glyph > 324 ended up being rendered as paths rather than the previous > 384. This pushes the threshold for rendering paths up to 384. Quality looks fine on high-res devices which is why this is restricted to Android-only (low-res Android devices should only rarely have text that large). BUG=chromium:467569 Review URL: https://codereview.chromium.org/1183053005
* Add useDFT field to SkDevicePropertiesGravatar robertphillips2015-06-18
| | | | Review URL: https://codereview.chromium.org/1191943002
* Revert of Bump up point where we switch to distance fields for large glyphs ↵Gravatar jvanverth2015-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1184153004/) Reason for revert: Seeing some Nexus 4 perf regressions in individual tests in Chromium that may be due to this change. This doesn't appear to be the correct fix for the bug in any case. Original issue's description: > Bump up point where we switch to distance fields for large glyphs > > This is hopefully a temporary fix. It's unclear why distance fields > are so much slower on the N4 (and N7). > > BUG=chromium:467569 > > Committed: https://skia.googlesource.com/skia/+/0fce1fb02d93e66d42528f322f8aa4ca64ff0fb2 TBR=joshualitt@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:467569 Review URL: https://codereview.chromium.org/1178713005
* Make GrTextContext be owned by the GrDrawContextGravatar robertphillips2015-06-17
| | | | | | | | | | | | | | This CL makes the GrTextContext be owned (and hidden) by the GrDrawContext. This funnels all the drawText* calls through the GrDrawContext and hides the (dispreferred) GrPipelineBuilder drawText variant. Some consequences of this are: GrDrawContext now has to get the text drawing settings (i.e., SkDeviceProperties & useDFT). This means that we need a separate GrDrawContext for each combination of pixel geometry and DFT-use. All the GrTextContext-derived classes now get a back pointer to the originating GrDrawContext so their method calls no longer take one. Committed: https://skia.googlesource.com/skia/+/5b16e740fe6ab6d679083d06f07651602265081b Review URL: https://codereview.chromium.org/1175553002
* Revert of Make GrTextContext be owned by the GrDrawContext (patchset #7 ↵Gravatar bsalomon2015-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/1175553002/) Reason for revert: Breaking Test-Win8-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug ? https://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/436/steps/dm/logs/stdio Original issue's description: > Make GrTextContext be owned by the GrDrawContext > > This CL makes the GrTextContext be owned (and hidden) by the GrDrawContext. This funnels all the drawText* calls through the GrDrawContext and hides the (dispreferred) GrPipelineBuilder drawText variant. > > Some consequences of this are: > > GrDrawContext now has to get the text drawing settings (i.e., SkDeviceProperties & useDFT). This means that we need a separate GrDrawContext for each combination of pixel geometry and DFT-use. > > All the GrTextContext-derived classes now get a back pointer to the originating GrDrawContext so their method calls no longer take one. > > Committed: https://skia.googlesource.com/skia/+/5b16e740fe6ab6d679083d06f07651602265081b TBR=joshualitt@chromium.org,joshualitt@google.com,jvanverth@google.com,reed@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1178383003
* Make GrTextContext be owned by the GrDrawContextGravatar robertphillips2015-06-16
| | | | | | | | | | | | This CL makes the GrTextContext be owned (and hidden) by the GrDrawContext. This funnels all the drawText* calls through the GrDrawContext and hides the (dispreferred) GrPipelineBuilder drawText variant. Some consequences of this are: GrDrawContext now has to get the text drawing settings (i.e., SkDeviceProperties & useDFT). This means that we need a separate GrDrawContext for each combination of pixel geometry and DFT-use. All the GrTextContext-derived classes now get a back pointer to the originating GrDrawContext so their method calls no longer take one. Review URL: https://codereview.chromium.org/1175553002
* Bump up point where we switch to distance fields for large glyphsGravatar jvanverth2015-06-16
| | | | | | | | | This is hopefully a temporary fix. It's unclear why distance fields are so much slower on the N4 (and N7). BUG=chromium:467569 Review URL: https://codereview.chromium.org/1184153004
* Add direct getter for GrCaps to GrContext.Gravatar bsalomon2015-05-29
| | | | | | | | TBR=joshualitt@google.com Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99 Review URL: https://codereview.chromium.org/1149773005
* Revert of Add direct getter for GrCaps to GrContext. (patchset #4 id:60001 ↵Gravatar bsalomon2015-05-28
| | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1149773005/) Reason for revert: Breaking Original issue's description: > Add direct getter for GrCaps to GrContext. > > TBR=joshualitt@google.com > > Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99 TBR=joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1164443002
* Add direct getter for GrCaps to GrContext.Gravatar bsalomon2015-05-28
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1149773005
* Break GrTextContext's reliance on SkGpuDeviceGravatar robertphillips2015-05-28
| | | | | | | | | | | This CL seems to have 2 main downsides: 1) It duplicates some code in SkBaseDevice::filterTextFlags 2) It makes it tougher to derive from SkGpuDevice It seems reasonable (at least to me) that the TextContexts get the power to reset the LCD flags. Review URL: https://codereview.chromium.org/1159973002
* Move SkGpuDevice::internalDrawPath to GrBlurUtils::drawPathWithMaskFilterGravatar robertphillips2015-05-27
| | | | | | | | | | | This CL is ugly but it: removes the stored SkGpuDevice back pointer from GrTextContext (at the cost of passing more parameters) moves SkGpuDevice::internalDrawPath to GrDrawContext::drawPathFull Unfortunately, the GrTextContext-derived classes still need the SkGpuDevice for filterTextFlags calls but I will try removing that in a separate CL. Review URL: https://codereview.chromium.org/1157773003
* real fix for textblob use after gpu freeGravatar joshualitt2015-05-26
| | | | | | | | | | | This patch addresses two issues: 1) Textblobs with abandoned strikes were not properly regenerating. 2) Provided by ericrk - GrTextBlobCache removed blobs from |fCache| during freeAll, but left potentially released blobs in the |fBlobList|. We now remove these from |fBlobList| as well. BUG=skia: Review URL: https://codereview.chromium.org/1160633002
* Split drawing functionality out of GrContext and into new GrDrawContextGravatar robertphillips2015-05-26
| | | | | | | | This is mainly a mechanical CL. There were some fiddly bits in GrContext.cpp where it no longer had access to the GrDrawTarget (and had to use the new GrDrawContext). I've converted GrAARectRenderer & GrOvalRenderer into static classes so I could stop allocating them. Review URL: https://codereview.chromium.org/1151283004
* Preliminary attempt to remove batch trackerGravatar joshualitt2015-05-19
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/cbfe91d82500f4ae8c3ff7bd74b3021a4b89fd84 Review URL: https://codereview.chromium.org/1139723004
* Revert of Preliminary attempt to remove batch tracker (patchset #3 id:40001 ↵Gravatar joshualitt2015-05-19
| | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1139723004/) Reason for revert: breaking bots Original issue's description: > Preliminary attempt to remove batch tracker > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/cbfe91d82500f4ae8c3ff7bd74b3021a4b89fd84 TBR=robertphillips@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1132323003
* Preliminary attempt to remove batch trackerGravatar joshualitt2015-05-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1139723004
* removing equality / compute invariant loops from GrGeometryProcessorsGravatar joshualitt2015-05-13
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/ef292a0901205b9785a30daae2c036aa34a970ca Review URL: https://codereview.chromium.org/1111603004
* fix for angle botGravatar joshualitt2015-05-13
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/1137333004
* fix for blur large glyphs problemsGravatar joshualitt2015-05-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1131023006
* Keep Big Glyph coordinates in float in GrAtlasTextContextGravatar joshualitt2015-05-13
| | | | | | | TBR=jvanverth@google.com BUG=skia: Review URL: https://codereview.chromium.org/1132853004
* GLProgramsTest 3.0Gravatar joshualitt2015-05-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1139743002
* Fix blur on large glyphs in runs < SkGlyphCache::maxGravatar joshualitt2015-05-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1135113002
* fix for cached textblobs look garbledGravatar joshualitt2015-05-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1135813007
* Add unit tests to text contextGravatar joshualitt2015-05-11
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1128153005
* Iterate over instanced draws in GrGpu rather than above GrBatchTargetGravatar bsalomon2015-05-07
| | | | Review URL: https://codereview.chromium.org/1127273007
* Isolate GrBufferAllocPools inside GrBatchTargetGravatar robertphillips2015-05-07
| | | | | | This CL refactors the location of the GrBufferAllocPools so they reside entirely inside the GrBatchTarget. This is in preparation for making them use scratch resources. Review URL: https://codereview.chromium.org/1131553002
* small fix to correct bounds on distance field textGravatar joshualitt2015-05-06
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1122253003
* Move DrawInfo out from GrDrawTarget and rename to GrVertices.Gravatar bsalomon2015-05-05
| | | | Review URL: https://codereview.chromium.org/1124733004
* Start on simplifying generateGeometry() overridesGravatar bsalomon2015-05-05
| | | | | | Committed: https://skia.googlesource.com/skia/+/f28381c6866cad92af8ebe5b9d2db074613b1963 Review URL: https://codereview.chromium.org/1122673002
* Revert of Start on simplifying generateGeometry() overrides (patchset #10 ↵Gravatar bsalomon2015-05-04
| | | | | | | | | | | | | | | | | | | id:160001 of https://codereview.chromium.org/1122673002/) Reason for revert: Breaking bots Original issue's description: > Start on simplifying generateGeometry() overrides > > Committed: https://skia.googlesource.com/skia/+/f28381c6866cad92af8ebe5b9d2db074613b1963 TBR=joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1124633003
* Start on simplifying generateGeometry() overridesGravatar bsalomon2015-05-04
| | | | Review URL: https://codereview.chromium.org/1122673002
* Move instanced index buffer creation to flush timeGravatar bsalomon2015-05-04
| | | | | | Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26 Review URL: https://codereview.chromium.org/1116943004
* Revert of Move instanced index buffer creation to flush time (patchset #6 ↵Gravatar bsalomon2015-05-04
| | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/1116943004/) Reason for revert: messed up caching, recreating index buffers all the time. Original issue's description: > Move instanced index buffer creation to flush time > > Committed: https://skia.googlesource.com/skia/+/ab622c7b8cc8c39f0a594e4392b9e31b7e1ddb26 TBR=joshualitt@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1126613003
* Move instanced index buffer creation to flush timeGravatar bsalomon2015-05-04
| | | | Review URL: https://codereview.chromium.org/1116943004
* Move bounds to GrBatchGravatar joshualitt2015-05-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1121463002
* Pull out shader-specific caps into GrShaderCaps and GrGLSLCapsGravatar jvanverth2015-04-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1116713002
* Revert of removing equality / compute invariant loops from ↵Gravatar joshualitt2015-04-28
| | | | | | | | | | | | | | | | | | | | | | GrGeometryProcessors (patchset #2 id:20001 of https://codereview.chromium.org/1111603004/) Reason for revert: breaks gl programs Original issue's description: > removing equality / compute invariant loops from GrGeometryProcessors > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/ef292a0901205b9785a30daae2c036aa34a970ca TBR=bsalomon@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1110993002
* removing equality / compute invariant loops from GrGeometryProcessorsGravatar joshualitt2015-04-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1111603004
* Remove vertex/index buffer factilities from GrDrawTarget.Gravatar bsalomon2015-04-28
| | | | Review URL: https://codereview.chromium.org/1105263002
* remove old text contexts and fontcacheGravatar joshualitt2015-04-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1104343003
* fix a bug in scrolling BitmapText gpu cached textblobsGravatar joshualitt2015-04-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1103243002
* simple fix for preabandon valgrind errorGravatar joshualitt2015-04-24
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1106663003
* Remove unnecessary viewmatrix compare in GrAtlasTextContextGravatar joshualitt2015-04-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1088903009