aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Patch to create a distinct geometry processor. The vast majority of this patchGravatar joshualitt2014-09-23
| | | | | | | | | | | | | is just a rename. The meat is in GrGeometryProcessor, GrProcessor, GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory, GrProcessUnitTestFactory, and the builders BUG=skia: R=bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/582963002
* Use draw buffer for texture copy impl.Gravatar bsalomon2014-09-23
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/589143004
* Use uniform color/coverage inputs when path rendering.Gravatar bsalomon2014-09-23
| | | | | | | | | BUG=skia:2954 R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/600483002
* Fix inputCoverageIsUsed bug in GrGLProgramDescGravatar egdaniel2014-09-23
| | | | | | | | | BUG=skia: R=joshualitt@chromium.org Author: egdaniel@google.com Review URL: https://codereview.chromium.org/593803003
* Fix SDF font positions when using global scale.Gravatar jvanverth2014-09-22
| | | | | | | | | | | | Also fixes a crash in the dftext GM when using SampleApp, and adds new test case in dftext. BUG=skia:2928 R=joshualitt@google.com, egdaniel@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/588223002
* Calculate Primary and Secondary output types in the GrOptDrawStateGravatar egdaniel2014-09-22
| | | | | | | | | | | Follow up CL to https://codereview.chromium.org/545693004/ BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/554833002
* Change GrGLProgramDesc header to have DoPathRendering flag instead of ↵Gravatar egdaniel2014-09-22
| | | | | | | | | | | | | | RequiresVertexShader Also update GLProgramTests to fix bug where it would incorrectly try to PathRendering when we did not want to. BUG=skia: R=bsalomon@google.com, joshualitt@chromium.org Author: egdaniel@google.com Review URL: https://codereview.chromium.org/586793002
* Don't try to scale embedded bitmaps.Gravatar bungeman2014-09-22
| | | | | | | | | | | | | | If a font is bitmap only we need to scale a bitmap to obtain the requested size if there isn't an exact match. If a font has embedded bitmaps then these bitmaps should never be scaled by Skia. Allow FreeType to do the scaling (as requested by the font). BUG=chromium:408059 R=mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/596513002
* Don't flush on read/write pixels unless necessaryGravatar bsalomon2014-09-22
| | | | | | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/150723b9298772a5096bec7acd2999c5c9d66239 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/586073002
* Make a flipped fDirtyBit always mean "this field is not the default".Gravatar mtklein2014-09-22
| | | | | | | | | | | Haven't been able to measure any perf effect, so I figure I'll let the bots have at it. BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/595583003
* Proposed fix for small bug in gpu conical gradientsGravatar joshualitt2014-09-22
| | | | | | | | | BUG=skia: R=bsalomon@google.com, egdaniel@google.com, senorblanco@chromium.org Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/593443002
* Revert of Don't flush on read/write pixels unless necessary (patchset #2 ↵Gravatar bsalomon2014-09-22
| | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/586073002/) Reason for revert: Breaking the tree Original issue's description: > Don't flush on read/write pixels unless necessary > > BUG=skia:2889 > > Committed: https://skia.googlesource.com/skia/+/150723b9298772a5096bec7acd2999c5c9d66239 R=robertphillips@google.com TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2889 Author: bsalomon@google.com Review URL: https://codereview.chromium.org/594543004
* Don't flush on read/write pixels unless necessaryGravatar bsalomon2014-09-22
| | | | | | | | | BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/586073002
* Introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-22
| | | | | | | | | | | | https://codereview.chromium.org/551463004/)" This reverts commit 29c857d0f3a1cb837f73406eeb6ba9771879b5e7. TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/588143004
* Cleaning includes in SkImage-related filesGravatar piotaixr2014-09-22
| | | | | | | | | BUG=skia:2948 R=junov@chromium.org, tfarina@chromium.org, reed@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/586853003
* Revert of introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-21
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/551463004/) Reason for revert: Broke call site in WebKit Original issue's description: > introduce Props to surface (work in progress) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@google.com TBR=bsalomon@google.com, bungeman@google.com, fmalita@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com, vangelis@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@chromium.org Review URL: https://codereview.chromium.org/583773004
* introduce Props to surface (work in progress)Gravatar reed2014-09-21
| | | | | | | | | BUG=skia: R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/551463004
* Souped-up SkTextBlob.Gravatar fmalita2014-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
* Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of ↵Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/581173003/) Reason for revert: Broke the new blobshader gm. Original issue's description: > Souped-up SkTextBlob. > > Refactored text blob backend for improved performance: instead of using > separate buffers for runs/positions/glyphs, everything is now packed in > a consolidated slab (including the SkTextBlob object itself!). > > Benefits: > > * number of allocations per blob construction reduced from ~4 to 1 > (also minimizes internal fragmentation) > * run record size reduced by 8 bytes > > This takes the blob construction overhead down to negligible levels > (for the current Blink uncached textblob implementation). > > Unfortunately, the code is much more finicky (run merging in > particular) -- hence the assert spree. > > Multi-run blobs are vulnerable to realloc storms but this is not a > problem at the moment because Blink is using one-run blobs 99% of the > time. Will be addressed in the future. > > > R=reed@google.com,mtklein@google.com,robertphillips@google.com > > Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 R=mtklein@google.com, reed@google.com, robertphillips@google.com TBR=mtklein@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/588853002
* Souped-up SkTextBlob.Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
* Get rid of SkImage_CodecGravatar piotaixr2014-09-19
| | | | | | | | | | | Use SkImage_Raster with an ImageGenerator instead. BUG=skia:2948 R=junov@chromium.org, reed@google.com, bsalomon@chromium.org Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/589713002
* Don't try to add large glyphs to the font atlas.Gravatar jvanverth2014-09-19
| | | | | | | | | | | When the glyph data is invalid we can try to allocate a ridiculous amount of memory. This adds a check to cover such cases. BUG=414581 R=egdaniel@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/585853003
* enable conservative clips for gpudeviceGravatar reed2014-09-19
| | | | | | | | TBR=bsalomon Author: reed@google.com Review URL: https://codereview.chromium.org/587793003
* Add UniqueID to GrDrawTargetCaps.Gravatar egdaniel2014-09-19
| | | | | | | | | | | | This is needed for creating the Optimized Draw State and checking that we have the same caps on subsequent calls to ODS BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/585043002
* Move IOType to GrGpuRef and rename that to GrIORef. Template GrPendingIORef ↵Gravatar bsalomon2014-09-19
| | | | | | | | | | | on IOType. BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/579403003
* SkTextBlob shader space workaround.Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | Blink would like drawTextBlob(x,y) to behave the same as drawText(x,y) WRT shader space. Due to the current generic device base impl, that is not the case. This is a transitional workaround, pending proper drawTextBlob impls in SkDevice classes. R=reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/586743002
* Fix stack-allocated GPU path objectGravatar cdalton2014-09-19
| | | | | | | | | | | | Fixes nvpr text to dynamically allocate its template path object, as per the Skia policy. BUG=skia: R=robertphillips@google.com, bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/582033003
* Make GrIODB keep pending IO refs on all resources it records into its cmd ↵Gravatar bsalomon2014-09-19
| | | | | | | | | | | stream. BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/581123002
* fail early if coincidence can't be resolvedGravatar caryclark2014-09-19
| | | | | | | | | | | | Bail out if a very large value causes coincidence resolution to fail. TBR= BUG=415866 Author: caryclark@google.com Review URL: https://codereview.chromium.org/585913002
* remove RenderTargetFlags -- NewRenderTargetDirect will never clearGravatar reed2014-09-19
| | | | | | | | | BUG=skia: R=robertphillips@google.com, bsalomon@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/583043002
* Restore old behavior of SkTypeface::CreateFromTypeface.Gravatar bungeman2014-09-18
| | | | | | | | | | | | | This reverts https://skia.googlesource.com/skia/+/9db509272a6fa2badbbdd2f5afce827370960a5f and completes https://skia.googlesource.com/skia/+/f91c47d91d72a1d85e2d6701864b8d7accc81647 . R=caryclark@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/586473002
* Add counting of some GL callsGravatar robertphillips2014-09-18
| | | | | | | | | | I would like this facility for tracking FBO switch improvements. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/553583008
* Uses a single pre-baked set of paths for drawing nvpr text of a givenGravatar cdalton2014-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | typeface. Loads the paths using the driver's glyph loading routines. Refactors GrPathRange to accept a PathGenerator class that it uses to lazily initialize its paths. The client code is no longer expected to initialize the paths in a GrPathRange; instead it must provide a PathGenerator* instance to createPathRange(). Adds a new createGlyphs() method to GrPathRendering that creates a range of glyph paths, indexed by glyph id. GrPathRendering implements createGlyphs() with a PathGenerator that loads glyph paths using the skia frameworks. GrGLPathRendering uses glMemoryGlyphIndexArrayNV() instead, when possible, to load the glyph paths. Removes all GlyphPathRange logic from GrStencilAndCoverTextContext. It instead uses createGlyphs(). BUG=skia:2939 R=bsalomon@google.com, jvanverth@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/563283004
* Changes to remove program effects builderGravatar joshualitt2014-09-18
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/551253004
* Refactor layer hoisting codeGravatar robertphillips2014-09-18
| | | | | | | | | | This CL consolidates the layer hoisting functionality in GrLayerHoister in preparation for retiring SkDpuDevice::EXPERIMENTAL_drawPicture in favor of SkMultiPictureDraw::draw. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/580173002
* use surface in SkView/SampleAppGravatar reed2014-09-18
| | | | | | | | | BUG=skia: R=bsalomon@google.com, robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/580073003
* Simplify a little in SkRecords.h:Gravatar mtklein2014-09-18
| | | | | | | | | | | | | - ACT_AS_PTR can just expose const methods to get at the pointers. (If the thing stored must stay const, we pass a const T.) - DrawPatch works fine with Record# macros, so use Record5. BUG=skia: R=fmalita@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/585523003
* update to accommodate latest clang in chrome toolchainGravatar caryclark2014-09-18
| | | | | | | | | | | remove asserts for null pointers to references change var args signature to pointer instead of array R=mtklein@google.com, reed@android.com, reed@google.com, mtklein, reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/577243002
* Serialize the font index.Gravatar bungeman2014-09-18
| | | | | | | | | BUG=skia:1186 R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/567013002
* fix battlefield website by disallowing very small coordinatesGravatar caryclark2014-09-18
| | | | | | | | | | | also add and remove comments to document other attempts to fix this that had drawbacks R=fmalita@chromium.org BUG=414409 Author: caryclark@google.com Review URL: https://codereview.chromium.org/575553003
* Copy layer-hoisting related SkPaintsGravatar robertphillips2014-09-18
| | | | | | | | | | | | This is intended to disconnect the lifetimes of the optimization data, cached layers and replacement objects. Note that the optimization data already makes a copy of the paint in the SkPicture. Additionally the replacement object will probably go away at some point. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/579843002
* Remove redundant assignment in GrDrawTarget.cppGravatar qiankun.miao2014-09-18
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/552273003
* Use SkBitmapCache to optimize readPixels on a texture-backed bitmapGravatar piotaixr2014-09-17
| | | | | | | | | BUG=skia:2786 R=junov@chromium.org, reed@google.com, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/533323002
* Use SkImage::NewFromGenerator() instead of SkImage::newEncodedData()Gravatar piotaixr2014-09-17
| | | | | | | | | BUG=skia:2948 R=junov@chromium.org, reed@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/575173002
* Small refactoring in SkImage_CodecGravatar piotaixr2014-09-17
| | | | | | | | | BUG=skia:2947 R=junov@chromium.org, reed@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/579773003
* Add SkMiniData.Gravatar mtklein2014-09-17
| | | | | | | | | | | | | | | This is a bit like a limited SkData, geared to store really tiny byte strings. This is not hooked up anywhere beyond the new unit test. I did experimentally plumb it into SkRecord for drawPosTextH: just over 40% of drawPosTextH calls in our repo can fit into ShortData. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/573323002
* hide deviceproperties, prepare the way for surfacepropsGravatar reed2014-09-17
| | | | | | | | | | BUG=skia: NOTRY=True R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/577023002
* Remove createPath* from GrGpu and GrContextGravatar cdalton2014-09-17
| | | | | | | | | | | | | Now that we have the GrPathRendering class, it doesn't make sense to have a bunch of shims on on GrGpu. This updates the path rendering clients to make calls directly on the GrPathRendering object. BUG=skia:2939 R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/578563002
* Adds glMemoryGlyphIndexArrayNV to the GrGLInterface and beginsGravatar cdalton2014-09-17
| | | | | | | | | | | detecting support for this method in GrGLPathRendering. BUG=skia:2939 R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/570733002
* Calculate stage stats in GrOptDrawStateGravatar egdaniel2014-09-17
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/545693004