aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Supply separate flags for onBuildTileIndexGravatar msarett2015-10-14
| | | | | | | | | | | | | | | | | | | | This is a follow up to: https://codereview.chromium.org/1401283003/ Supply separate flags for onBuildTileIndex Since png and jpeg's implementations of onBuildTileIndex rely on modifications to their underlying libraries, rather than whether we are running on Android, use separate flags that can be disabled independently. This will allow us to easily turn off the feature. It also is a step towards building and running on other platforms for testing (e.g. valgrind/ASAN to find memory leaks etc). BUG=skia: Review URL: https://codereview.chromium.org/1402783008
* Store texture target on GrGLTexture. This is in preparation for using ↵Gravatar bsalomon2015-10-14
| | | | | | texture targets other than 2D. Review URL: https://codereview.chromium.org/1403123002
* Remove unnecessary allocation in nanobenchGravatar scroggo2015-10-14
| | | | Review URL: https://codereview.chromium.org/1408593002
* Fix clipping when all analytic FP creations can be skippedGravatar bsalomon2015-10-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1400343004
* Fix TextBlobTest valgrind errorGravatar fmalita2015-10-14
| | | | | | | | | When converting text to glyph IDs, the paint needs to reflect the actual text encoding. R=bungeman@google.com,herb@google.com Review URL: https://codereview.chromium.org/1404153002
* small tidy of benchmarkstreamGravatar joshualitt2015-10-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1395703002
* Supply separate flags for onBuildTileIndexGravatar scroggo2015-10-14
| | | | | | | | | | | | | Since png and jpeg's implementations of onBuildTileIndex rely on modifications to their underlying libraries, rather than whether we are running on Android, use separate flags that can be disabled independently. This will allow us to easily turn off the feature. It also is a step towards building and running on other platforms for testing (e.g. valgrind/ASAN to find memory leaks etc). Review URL: https://codereview.chromium.org/1401283003
* change back to method for localmatrix imagefilterGravatar reed2015-10-14
| | | | | | | | | | | | This method is different from MatrixFilter, in that MatrixFilter does not require a pre-existing filter, but LocalM does. Also change the comment to be more general, as there is no promise that we return a different subclass, and certainly not a specific subclass. This pattern of obj->newWithModifiers() also more closely matches the pattern in SkImage (newSubset). BUG=skia: Review URL: https://codereview.chromium.org/1402133002
* Create VisualStreamTimingModuleGravatar joshualitt2015-10-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1385073002
* Implement SkLocalMatrixImageFilter.Gravatar senorblanco2015-10-14
| | | | | | | | | | At draw time, this filter simply concatenates the given matrix to the CTM, and recurses on its input. The matrix is thus applied to any upstream filter parameters and crop rects. BUG=skia: Review URL: https://codereview.chromium.org/1392833005
* Stop benching PNG buildTileIndex by defaultGravatar scroggo2015-10-13
| | | | | | | | | | It leaks memory and kills the bots. Supply an option to run it for local comparison. BUG=skia:4360 BUG=skia:3418 Review URL: https://codereview.chromium.org/1396613007
* Fix dm with Chromium command buffer driverGravatar kkinnunen2015-10-13
| | | | | | | | | | | | | Fix a crash in dm when run with Chromium command buffer driver. Also removes glCopyTextureCHROMIUM, it does not seem to be used. This is removed on the grounds that it would need similar change, if it was used. The variable fCopyTextureCHROMIUM does not seem to be populated in the Chromium side, either. BUG=skia:2992 Review URL: https://codereview.chromium.org/1389213004
* Add subsetting to SkScanlineDecoderGravatar msarett2015-10-13
| | | | | | | | | | | | This CL allows the SkScanlineDecoder to decode partial scanlines. This is a first step in efficiently implementing subsetting in SkScaledCodec. BUG=skia:4209 Review URL: https://codereview.chromium.org/1390213002
* Fix text axis alignment calculationGravatar herb2015-10-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1405583002
* [SkTextBlob] Remove incorrect builder assertGravatar fmalita2015-10-13
| | | | | | | | | | | | | | At the end of TightRunBounds, glyphPosX cannot exceed the start of the next run. But glyphPosY is running ahead of glyphPosX (for kFull_Positioning) => the glyphPosY assert is incorrect. Since the two pointers advance in lock-step, there isn't much value in the glyphPosY assert anyway - we might as well remove it. BUG=chromium:542643 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1405463004
* Whitespace change to test CQ waiting for l-g-t-mGravatar rmistry2015-10-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1401333002
* adjust size of new apply-filter gmGravatar reed2015-10-12
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1395303003
* SkBitmapRegionCanvas bug fixGravatar msarett2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1393423004
* post-commit fixes to applyFilter CLGravatar reed2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1404483002
* Whitespace change to turn Android bots greenGravatar rmistry2015-10-12
| | | | | | | BUG=skia: TBR=borenet Review URL: https://codereview.chromium.org/1405433002
* SkPDF: fall back on paths for unembeddable fonts.Gravatar halcanary2015-10-12
| | | | | | | | Add GM, SkPDFFont::CanEmbedTypeface BUG=skia:3866 Review URL: https://codereview.chromium.org/1401763002
* add applyFilter() to SkImageGravatar reed2015-10-12
| | | | | | | | | | | | | | | Result: - clients can get a filtered version of an image without having to setup a temp drawing environment - for some cases, the process is more efficient even than (deprecated) drawSprite, since there is no need to draw/copy the result Impl: - made Proxy virtual so we don't need to have an existing device to use it This, in conjunction with LocalMatrixImageFilter, should allow us to simplify and optimize ApplyImageFilter() in cc/output/gl_renderer.cc BUG=skia: Review URL: https://codereview.chromium.org/1390913005
* change more effects to only expose factoriesGravatar reed2015-10-12
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1395403002
* Remove SK_SUPPORT_LEGACY_GRADIENT_DITHERING from Skia properGravatar fmalita2015-10-12
| | | | | | | | | | | | Migrating the flag to embedder defines (Chromium already guarded). Also augment gradient-focused GMs to generate both dithered/undithered results. BUG=skia:4436 R=reed@google.com,robertphillips@google.com Review URL: https://codereview.chromium.org/1400813006
* Remove image usage type enum. Use GrTextureParams instead.Gravatar bsalomon2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1404433002
* SkBitmapRegionDecoder clean-upGravatar msarett2015-10-12
| | | | | | | | | | | | | | Use SkCodecPrintf instead of SkDebugf. Check if the conversion is possible rather than starting many decodes that will certainly fail. Small refactor to code that deals with subsets that fall outside of the image. BUG=skia: Review URL: https://codereview.chromium.org/1395383002
* SkPDF: Optionally output PDF/A-2b archive format.Gravatar halcanary2015-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: this format does not yet pass validation tests. Add skia_pdf_generate_pdfa GYP flag. Default to off for now. PDF/A files are not reproducable, so they make correctness testing harder. Turn the Metadata struct into te SkPDFMetadata struct. This splits out a lot of functionality around both kinds of metadata. When PDF/A is used, add an ID entry to the trailer. Add SkPDFObjNumMap::addObjectRecursively. Test with GYP_DEFINES=skia_pdf_generate_pdfa=1 bin/sync-and-gyp ninja -C out/Release dm out/Release/dm --config pdf --src skp gm -w /tmp/dm With skia_pdf_generate_pdfa=0, all PDFs generated from GMs and SKPs are identical. With skia_pdf_generate_pdfa=1, all PDFs generated from GMs and SKPs render identically in Pdfium. BUG=skia:3110 Review URL: https://codereview.chromium.org/1394263003
* Enable more testing for scaled webpsGravatar msarett2015-10-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1401093002
* Update SKP versionGravatar update-skps2015-10-11
| | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= NO_MERGE_BUILDS Review URL: https://codereview.chromium.org/1401013002
* [TextBlob] Fall back to TightRunBounds when the font bounds are emptyGravatar fmalita2015-10-09
| | | | | | | | | | | | | | Empty font bounds are likely an indication of a font bug. As a best effort, we can use TightRunBounds in this easily detectable case. Since TightRunBounds only supports kDefault_Positioning currently, the CL also reinstates handling of kFull_Positioning and kHorizontal_Positioning (removed in http://crrev.com/858153007). BUG=507022 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1399123002
* Fix SkWindow.cpp includes for non-gpu modeGravatar Brian Salomon2015-10-09
| | | | | | TBR=bungeman@google.com Review URL: https://codereview.chromium.org/1400933002 .
* Revert of SkPDF: Optionally output PDF/A-2b archive format. (patchset #5 ↵Gravatar bungeman2015-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:80001 of https://codereview.chromium.org/1394263003/ ) Reason for revert: SkMD5 is not really part of the Skia library. This is breaking the roll by using it, since Chromium doesn't build it. Original issue's description: > SkPDF: Optionally output PDF/A-2b archive format. > > Note: this format does not yet pass validation tests. > > Add skia_pdf_generate_pdfa GYP flag. Default to off for now. > PDF/A files are not reproducable, so they make correctness > testing harder. > > Turn the Metadata struct into te SkPDFMetadata struct. This > splits out a lot of functionality around both kinds of metadata. > > When PDF/A is used, add an ID entry to the trailer. > > Add SkPDFObjNumMap::addObjectRecursively. > > Test with > > GYP_DEFINES=skia_pdf_generate_pdfa=1 bin/sync-and-gyp > ninja -C out/Release dm > out/Release/dm --config pdf --src skp gm -w /tmp/dm > > With skia_pdf_generate_pdfa=0, all PDFs generated from GMs and > SKPs are identical. With skia_pdf_generate_pdfa=1, all PDFs > generated from GMs and SKPs render identically in Pdfium. > > BUG=skia:3110 > > Committed: https://skia.googlesource.com/skia/+/939c0fe51f157104758bcb268643c8b6d317a530 TBR=tomhudson@google.com,halcanary@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3110 Review URL: https://codereview.chromium.org/1398193002
* Move functions from SkGr to SkGrPriv.hGravatar bsalomon2015-10-09
| | | | Review URL: https://codereview.chromium.org/1397123002
* Add test with GLFW frameworkGravatar jvanverth2015-10-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1367403006
* SkPDF: Optionally output PDF/A-2b archive format.Gravatar halcanary2015-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: this format does not yet pass validation tests. Add skia_pdf_generate_pdfa GYP flag. Default to off for now. PDF/A files are not reproducable, so they make correctness testing harder. Turn the Metadata struct into te SkPDFMetadata struct. This splits out a lot of functionality around both kinds of metadata. When PDF/A is used, add an ID entry to the trailer. Add SkPDFObjNumMap::addObjectRecursively. Test with GYP_DEFINES=skia_pdf_generate_pdfa=1 bin/sync-and-gyp ninja -C out/Release dm out/Release/dm --config pdf --src skp gm -w /tmp/dm With skia_pdf_generate_pdfa=0, all PDFs generated from GMs and SKPs are identical. With skia_pdf_generate_pdfa=1, all PDFs generated from GMs and SKPs render identically in Pdfium. BUG=skia:3110 Review URL: https://codereview.chromium.org/1394263003
* Fix codec memory leaks in nanobenchGravatar scroggo2015-10-09
| | | | | | | | | | | | SubsetTranslateBench.cpp: Unref the color table, so it gets deleted. SkBitmapRegionDecoderInterface.cpp: Delete the stream if it is not used. BUG=skia:3418 Review URL: https://codereview.chromium.org/1396113003
* Fill incomplete images in SkCodec parent classGravatar msarett2015-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | Rather than implementing some sort of "fill" in every SkCodec subclass for incomplete images, let's make the parent class handle this situation. This includes an API change to SkCodec.h SkCodec::getScanlines() now returns the number of lines it read successfully, rather than an SkCodec::Result enum. getScanlines() most often fails on an incomplete input, in which case it is useful to know how many lines were successfully decoded - this provides more information than kIncomplete vs kSuccess. We do lose information when the API is used improperly, as we are no longer able to return kInvalidParameter or kScanlineNotStarted. Known Issues: Does not work for incomplete fFrameIsSubset gifs. Does not work for incomplete icos. BUG=skia: Review URL: https://codereview.chromium.org/1332053002
* Fix gpu drawBitmap to work when BM is A8 and we have a shaderGravatar egdaniel2015-10-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1399763002
* Optional gradient ditheringGravatar fmalita2015-10-09
| | | | | | | | | | | | Update raster gradient impls to observe the paint dithering flag. For now this new behavior is disabled pending internal/external client updates to mitigate diffs. BUG=skia:4436 R=reed@google.com,mtklein@google.com,tomhudson@google.com Review URL: https://codereview.chromium.org/1391303002
* Focus SkScaledCodec on BitmapRegionDecoderGravatar scroggo2015-10-09
| | | | | | | | | | | | | | | | | | | | The primary goal of SkScaledCodec is to replace the current implementation of BitmapRegionDecoder, which depends on modified versions of libjpeg and libpng, with an implementation that uses standard versions of the libaries. Since BitmapRegionDecoder only supports PNG, WEBP and JPEG, limit SkScaledCodec to those classes. We will focus on those three until we complete this primary goal. Then we can continue to make SkScaledCodec work for other formats. Fix some bugs in SkScaledCodec::NewFromStream: - Handle a NULL input stream properly - Ensure that the input stream is deleted as expected on bad data Add tests for these error cases. BUG=skia:4428 Review URL: https://codereview.chromium.org/1389053002
* Reland of Pass --images '' to nanobench to disable image benchmarking. ↵Gravatar scroggo2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1400633002/ ) Reason for revert: Still breaking. e.g. http://build.chromium.org/p/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Debug/builds/1466/steps/nanobench/logs/stdio http://build.chromium.org/p/client.skia.android/builders/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/2280/steps/nanobench/logs/stdio Original issue's description: > Revert of Pass --images '' to nanobench to disable image benchmarking. (patchset #1 id:1 of https://codereview.chromium.org/1381703003/ ) > > Reason for revert: > I have attempted to fix the problems that caused running nanobench with images to fail, so testing to see if they are in fact fixed. > > Original issue's description: > > Pass --images '' to nanobench to disable image benchmarking. > > > > Enabling image benchmarking has caused most nanobench runs to fail, > > both Debug and Release. > > > > BUG=skia:3418 > > NOTREECHECKS=true > > TBR=scroggo@google.com > > > > Committed: https://skia.googlesource.com/skia/+/1f7039c6c5f0f118b629994b0bac255345e5abd6 > > BUG=skia:3418 > > Committed: https://skia.googlesource.com/skia/+/c2e59caa0a466040f4b4f08cb5604c86b2615efa TBR=mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3418 Review URL: https://codereview.chromium.org/1396843003
* Revert of Pass --images '' to nanobench to disable image benchmarking. ↵Gravatar scroggo2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1381703003/ ) Reason for revert: I have attempted to fix the problems that caused running nanobench with images to fail, so testing to see if they are in fact fixed. Original issue's description: > Pass --images '' to nanobench to disable image benchmarking. > > Enabling image benchmarking has caused most nanobench runs to fail, > both Debug and Release. > > BUG=skia:3418 > NOTREECHECKS=true > TBR=scroggo@google.com > > Committed: https://skia.googlesource.com/skia/+/1f7039c6c5f0f118b629994b0bac255345e5abd6 BUG=skia:3418 Review URL: https://codereview.chromium.org/1400633002
* Update Subset benches to support interlacing and fix bugsGravatar scroggo2015-10-08
| | | | | | | | | | | | | | | | | | | | | Instead of decoding one line at a time, if the ScanlineOrder is kNone, decode all of the lines in one pass, and then copy the subset into the output. This will allow us to more realistically test subset decodes for interlaced png. It also makes running them not take forever. Do *not* support other modes (besides kTopDown), since they are not used by the big three we need to replace BitmapRegionDecoder implementation (skbug.com/4428). Fix a bug in SubsetTranslateBench and SubsetZoomBench: When we decode another subset, we need to reset the scanline decode first. This bug appears to have been present since the introduction of these tests in crrev.com/1160953002 BUG=skia:4205 BUG=skia:3418 Review URL: https://codereview.chromium.org/1387233002
* remove internalDrawBitmap, as it is no longer shared with any other caller, ↵Gravatar reed2015-10-08
| | | | | | | | and can be folded into onDrawBitmap BUG=skia: Review URL: https://codereview.chromium.org/1391333004
* Updates nvpr text blobs to not store a direct reference to theGravatar cdalton2015-10-08
| | | | | | | | | | | per-glyph GPU path object, but rather store a key for looking it up in the resource cache. This allows the cache to purge glyphs when needed. Also indirectly fixes a memory leak that was introduced with nvpr text blobs. BUG=skia: Review URL: https://codereview.chromium.org/1374853004
* SkPath::fFirstDirection: seq-cst -> relaxedGravatar mtklein2015-10-07
| | | | | | | | | | | | | | | | | | | We landed this originally with lazily-correct sequentially-consistent memory order. It turns out that's regressed performance, we think particularly when recording paths. We also think there's no need for anything but relaxed memory order here. We should see this chart go down if all goes well: https://perf.skia.org/#4329 There are also Chrome performance charts to watch in the linked bug. BUG=chromium:537700 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot,Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-TSAN No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1393833003
* Automatically add TSAN bots to the CQ for changes affecting SkAtomics.hGravatar mtklein2015-10-07
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1396523002
* Add DrawShipSim sample.Gravatar jvanverth2015-10-07
| | | | | | | | | Adds a version of the DrawShip sample that uses drawRect with a bitmap. For testing batching. BUG=skia: Review URL: https://codereview.chromium.org/1395533002
* Remove ClipMaskType from GrCMMGravatar bsalomon2015-10-07
| | | | Review URL: https://codereview.chromium.org/1391653002
* Insert clip fragment processor outside GrCMMGravatar bsalomon2015-10-07
| | | | Review URL: https://codereview.chromium.org/1393553002