aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Optionally pass rendertarget to getTestTargetGravatar robertphillips2015-11-16
| | | | | | | | This shouldn't really make any difference but allocating and holding on to a GrRenderTarget for each test target generates image differences for Mali GPUs. This CL allows an existing render target to be used for the test target. TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1447113002
* Revert of Switch uses of SkChecksum::Compute to Murmur3. (patchset #2 ↵Gravatar mtklein2015-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/1436973003/ ) Reason for revert: gotta put back *compute = 0. Original issue's description: > Switch uses of SkChecksum::Compute to Murmur3. > > SkChecksum::Compute is a very, very poorly distributed hash function. > This replaces all remaining uses with Murmur3. > > The only interesting stuff is in src/gpu. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac > > Committed: https://skia.googlesource.com/skia/+/540e95483d285b555e9b1a73d18c16e7d7c0deba TBR=bsalomon@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1448023005
* SkPDF: fix large-number bugGravatar halcanary2015-11-16
| | | | | | | | | Example: https://fiddle.skia.org/c/db95a3f6c928017635c4f4ddf25f2a7b BUG=skia:257 Review URL: https://codereview.chromium.org/1438503002
* Switch uses of SkChecksum::Compute to Murmur3.Gravatar mtklein2015-11-16
| | | | | | | | | | | | | SkChecksum::Compute is a very, very poorly distributed hash function. This replaces all remaining uses with Murmur3. The only interesting stuff is in src/gpu. BUG=skia: Committed: https://skia.googlesource.com/skia/+/1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac Review URL: https://codereview.chromium.org/1436973003
* Increase the amount of debug information printed out by batchesGravatar robertphillips2015-11-16
| | | | | | | | | Untangling MDB bugs requires more information. In particular the render targets. BUG=skia:4094 TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1443763002
* Add support for EGLImage to GrGLInterfaceGravatar bsalomon2015-11-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1434813002
* Update testing frameworks/tests for MDBGravatar robertphillips2015-11-16
| | | | | | | | | | | | | | | This CL: Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context) Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case Updates the ProgramUnitTest to use multiple drawTargets Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them) BUG=skia:4094 Committed: https://skia.googlesource.com/skia/+/9c8605144a0f15e3e69a4e1dcd5d3e63f339380e Review URL: https://codereview.chromium.org/1441533003
* Revert of Update testing frameworks/tests for MDB (patchset #4 id:60001 of ↵Gravatar egdaniel2015-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1441533003/ ) Reason for revert: Speculative revert for leaks based on ASAN bot (and some local valgrind testing) Original issue's description: > Update testing frameworks/tests for MDB > > This CL: > > Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context) > Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case > Updates the ProgramUnitTest to use multiple drawTargets > Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them) > > BUG=skia:4094 > > Committed: https://skia.googlesource.com/skia/+/9c8605144a0f15e3e69a4e1dcd5d3e63f339380e TBR=joshualitt@chromium.org,joshualitt@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4094 Review URL: https://codereview.chromium.org/1450513002
* Rename some processor functions from GL to GLSLGravatar egdaniel2015-11-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1443743002
* Create a standalone example for using Skia with SDLGravatar joshualitt2015-11-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1442573003
* Remove dependency on src/android from dm and nanobenchGravatar msarett2015-11-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1443033002
* Move GrGLPrimitive/GeometryProc to GLSLGravatar egdaniel2015-11-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1441683008
* Move XferProcessors to glslGravatar egdaniel2015-11-13
| | | | | | | | | | This is basically a move and rename TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1440073002
* Revert of Switch uses of SkChecksum::Compute to Murmur3. (patchset #2 ↵Gravatar mtklein2015-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/1436973003/ ) Reason for revert: I would not have expected this to change any images. Looks like it's changed both MSAA and non-MSAA GMs: https://gold.skia.org/search2?blame=1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac&unt=true&head=true&query=source_type%3Dgm Original issue's description: > Switch uses of SkChecksum::Compute to Murmur3. > > SkChecksum::Compute is a very, very poorly distributed hash function. > This replaces all remaining uses with Murmur3. > > The only interesting stuff is in src/gpu. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/1d024a3c909ae5cefa5e8b339e2b52dc73ee85ac TBR=bsalomon@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1445523003
* Make all GrFragmentProcessors GL independent.Gravatar egdaniel2015-11-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1434313002
* Move SkBitmapRegionDecoder to include/android and src/androidGravatar msarett2015-11-13
| | | | | | | | | | | | This will expose the BitmapRegionDecoder API as a public include and move the implementation to src. This makes this code more naturally exposed in Android and easier to test in DM and nanobench. BUG=skia: Review URL: https://codereview.chromium.org/1438873002
* Update testing frameworks/tests for MDBGravatar robertphillips2015-11-13
| | | | | | | | | | | | | This CL: Fixes an ordering problem w.r.t. drawTarget clean up in GrContext::abandonContext (for text test that abandons context) Fixes when the lastDrawTarget field is set on a RenderTarget (now in GrDrawTarget ctor) due to GrTestTarget use case Updates the ProgramUnitTest to use multiple drawTargets Adds renderTarget creation to GrTestTargets (in MDB drawTargets require them) BUG=skia:4094 Review URL: https://codereview.chromium.org/1441533003
* Switch uses of SkChecksum::Compute to Murmur3.Gravatar mtklein2015-11-12
| | | | | | | | | | | SkChecksum::Compute is a very, very poorly distributed hash function. This replaces all remaining uses with Murmur3. The only interesting stuff is in src/gpu. BUG=skia: Review URL: https://codereview.chromium.org/1436973003
* Fix GrCoverageSetOpXP unit test on mixed samplesGravatar cdalton2015-11-12
| | | | | | | | | | | Updates GrCoverageSetOpXPFactory::TestCreate to not invert coverage with mixed samples, which is an unsupported configuration. TBR=bsalomon@google.com BUG=skia:4556 Review URL: https://codereview.chromium.org/1442763002
* Replace SkFunction with std::functionGravatar mtklein2015-11-12
| | | | | | | TBR=reed@google.com No public API changes. Review URL: https://codereview.chromium.org/1441753002
* API changes to GrTextureAdjuster.Gravatar bsalomon2015-11-12
| | | | | | | | | | | | | | | | These changes are to facilitate converting SkGpuDevice::drawTextureAdjuster to SkGpuDevice::drawTextureProducer. Make constraint rect relative to content area Store dimensions in GrTextureProducer Make originalTexture() protected. Remove getContentArea() Provide pre-normalized texture matrix to GrTextureAdjuster::createFragmentProcessor. Define it to be be relative to content area. Review URL: https://codereview.chromium.org/1438663004
* Factor CSS3 matching rules.Gravatar bungeman2015-11-12
| | | | | | | | | | | | This factors out the CSS3 matching rules, creates tests for it, and uses it with the GDI font manager. BUG=chromium:554238,skia:4037 TBR=reed@google.com No public API changes. Review URL: https://codereview.chromium.org/1438113002
* Fix mixed sampled inverse path fillsGravatar cdalton2015-11-12
| | | | | | | | | Fixes a double blend that was occurring down the diagonals of inverse path fills when using mixed samples. BUG=skia: Review URL: https://codereview.chromium.org/1442513002
* Increment text pointer when the width is zero in the subpixel with center ↵Gravatar herb2015-11-12
| | | | | | | | and right alignment. BUG=skia: Review URL: https://codereview.chromium.org/1438893002
* In SkGpuDevice;drawTextureAdjuster perform texture w\h divide in texture matrixGravatar bsalomon2015-11-11
| | | | Review URL: https://codereview.chromium.org/1440763002
* Enable AA stencil clip for mixed samplesGravatar cdalton2015-11-11
| | | | | | | | | Updates GrClipMaskManager to use the stencil buffer when the RT is mixed sampled. BUG=skia: Review URL: https://codereview.chromium.org/1440513002
* Revert of Enable stencil clipping in mixed sampled render targets (patchset ↵Gravatar cdalton2015-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | #6 id:100001 of https://codereview.chromium.org/1232103002/ ) Reason for revert: Co-centered sample locations are not needed to do stencil clip with mixed samples Original issue's description: > Implement stencil clipping in mixed sampled render targets > > This change enables multisampled clipping for mixed sampled > render targets. Previously clipping in mixed samples config > behaved the same as in the gpu config. > > In order to retrofit non-MSAA draw methods, programmable sample > locations are used in order to colocate all samples at (0.5, 0.5). > Requires support for NV_sample_locations. > > BUG=skia:4399 > > Committed: > https://skia.googlesource.com/skia/+/3e77ba96d56d15db30ac6d8ccb900e30aafcbb16 BUG=skia: Review URL: https://codereview.chromium.org/1415873011
* Revert of Fix setColocatedSampleLocations on ES and GL < 4.5 (patchset #2 ↵Gravatar cdalton2015-11-11
| | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/1415503008/ ) Reason for revert: Co-centered sample locations are not needed to do stencil clip with mixed samples. Original issue's description: > Fix setColocatedSampleLocations on ES and GL < 4.5 > > Updates setColocatedSampleLocations to use glFramebufferParameteri > when > the DSA version glNamedFramebufferParameteri is not present. > > BUG=skia: > > Committed: > https://skia.googlesource.com/skia/+/98cad6219b430eddf5528473311279f21dbd2e10 BUG=skia: Review URL: https://codereview.chromium.org/1420883007
* Readd "immediate" modeGravatar robertphillips2015-11-11
| | | | | | | | This isn't an exact replacement. The accumulated batches are now flushed at drawContext-entry-point granularity (via the AutoCheckFlush objects) rather than per batch. TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1439533003
* bring up SDL on windowsGravatar joshualitt2015-11-11
| | | | | | | | BUG=skia: patch from issue 1432353002 at patchset 1 (http://crrev.com/1432353002#ps1) Review URL: https://codereview.chromium.org/1438003004
* Move all ShaderBuilder files to GLSLGravatar egdaniel2015-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1438003003
* Fix leaks in unit tests of GrGLTextureInfosGravatar bsalomon2015-11-11
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1433353005
* Move GrBatchFlushState from GrDrawTarget to GrDrawingManagerGravatar robertphillips2015-11-11
| | | | | | | | | | | | This CL: moves the flushState disables immediate mode (it was proving difficult to implement) also moves the program unit test to the drawing manager BUG=skia:4094 TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1437843002
* float xfermodes (burn, dodge, softlight) in Sk8f, possibly using AVX.Gravatar mtklein2015-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xfermode_ColorDodge_aa 10.3ms -> 7.85ms 0.76x Xfermode_SoftLight_aa 13.8ms -> 10.2ms 0.74x Xfermode_ColorBurn_aa 10.7ms -> 7.82ms 0.73x Xfermode_SoftLight 33.6ms -> 23.2ms 0.69x Xfermode_ColorDodge 25ms -> 16.5ms 0.66x Xfermode_ColorBurn 26.1ms -> 16.6ms 0.63x Ought to be no pixel diffs: https://gold.skia.org/search2?issue=1432903002&unt=true&query=source_type%3Dgm&master=false Incidental stuff: I made the SkNx(T) constructors implicit to make writing math expressions simpler. This allows us to write expressions like Sk4f v; ... v = v*4; rather than Sk4f v; ... v = v * Sk4f(4); As written it only works when the constant is on the right-hand side, so expressions like `(Sk4f(1) - da)` have to stay for now. I plan on following up with a CL that lets those become `(1 - da)` too. BUG=skia:4117 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1432903002
* Replace glyph find and position with common code for the gpu bitmap case.Gravatar herb2015-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1424173005
* Change quality settings on SkImageDecoder_libjpegGravatar msarett2015-11-11
| | | | | | | | | | | | | | | | | | | | | | It has been demonstrated that higher quality settings really do make a difference in the visual quality of the output image. https://code.google.com/p/chromium/issues/detail?id=385515 https://code.google.com/p/skia/issues/detail?id=3770 We are planning to replace SkImageDecoder with SkCodec, and SkCodec will use the higher quality settings. As a first step, we are using SkCodec as the underlying implementation for BitmapRegionDecoder. CTS tests require that BitmapRegionDecoder be a close match to BitmapFactory (which uses SkImageDecoder), so we must also update the quality of SkImageDecoder to maintain CTS compatibility. BUG=skia: Committed: https://skia.googlesource.com/skia/+/69ad6a9d03dd6f14b7c730465319313725a7c903 Review URL: https://codereview.chromium.org/1412803009
* Make GrGLSLProgramBuilder base class for GrGLProgramBuilder.Gravatar egdaniel2015-11-11
| | | | | | | | | | | | | | This CL still keeps the weird diamond shape we have for all our ProgramBuilders. However, the GrGLSL base class will allow us to pull multiple other parts of our program setup away from GL which will eventually allow us to break up the diamond. As part of this all ShaderBuilder subclass have been made gl independent, however I will move them to GLSL files/class names in a follow on CL. BUG=skia: Review URL: https://codereview.chromium.org/1416423003
* Delete dead SkImageDecoder::buildTileIndex and decodeSubset codeGravatar msarett2015-11-10
| | | | | | | | | | | This approach to subset decoding is no longer supported. We have replaced it with an implementation that does not depend on forked libraries. https://codereview.chromium.org/1406153015/ BUG=skia: Review URL: https://codereview.chromium.org/1426943009
* Revert of Fix mixed samples stencil clip (patchset #5 id:80001 of ↵Gravatar cdalton2015-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1431593006/ ) Reason for revert: Co-centered sample locations are not needed to do stencil clip with mixed samples. Original issue's description: > Fix mixed samples stencil clip > > Fixes rendering bugs and nondeterminism in gm. > > Before, mixed samples stencil clip would try to infer whether the draw > wanted co-centered sample locations from within GrGLGpu, which caused > various errors. This change reworks it so the draw itself can request > the co-centered sample locations when it knows it will need them. > > Also reduces framebuffer binds by moving the code that enables > GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget. > > Committed: https://skia.googlesource.com/skia/+/14184d5567b58085b6d8a6375796d405056f7f73 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1407063011
* Use a struct for client GL texture handlesGravatar bsalomon2015-11-10
| | | | Review URL: https://codereview.chromium.org/1429863009
* Reduce messages from libjpeg-turboGravatar msarett2015-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | output_message(): By overriding output_message, we can use SkCodecPrintf, which we can turn on or off. The default turbo implementation of emit_message calls output_message when it wants to print a message, so, even though we don't override emit_message, it also uses SkCodecPrintf. emit_message(): Use libjpeg-turbo’s default implementation of emit_message. It does not print "trace messages" which essentially are info messages and it only prints the first warning (unless it a very serious warning). Currently, we just print everything, which is why the output has been so verbose. BUG=skia: Review URL: https://codereview.chromium.org/1427523007
* Disable preemptive batch preparationGravatar robertphillips2015-11-10
| | | | | | | | Preemptive batch preparation makes MultiDrawBuffer more difficult to implement. This CL disables it. BUG=skia:4094 Review URL: https://codereview.chromium.org/1430403002
* SkPDF: Deal with missing ColorTable (don't assert)Gravatar halcanary2015-11-10
| | | | Review URL: https://codereview.chromium.org/1414083005
* Fix reversion to bilerp on clipped mipmap drawsGravatar bsalomon2015-11-10
| | | | Review URL: https://codereview.chromium.org/1437573004
* Make SkBlurImageFilter capable of cropping during blur (GPU path).Gravatar senorblanco2015-11-10
| | | | | | | | | | | | | | | | | | | This is the GPU equivalent of https://codereview.chromium.org/1415653003/. It requires passing down the bounds of the crop rect (srcBounds), and turning the blur 3-patch optimization in convolve_gaussian() into a 5-patch: clear above and below srcBounds, blur with bounds checks inside left and right rects, blur without bounds checks in middle rect. Note: this change causes minor pixels diffs in the imagefilterscropexpand GM: for odd crop positions relative to the dstBounds, we are now correctly resampling at an even pixel boundary. BUG=skia:4502, skia:4526 Committed: https://skia.googlesource.com/skia/+/c57e0ded7d535523cfc6bf07c78e5f3479bb8c42 Review URL: https://codereview.chromium.org/1431593002
* SkResourceCache::GetAllocator() index8 and other color types handlingGravatar aleksandar.stojiljkovic2015-11-10
| | | | | | | | | | | Unit tests added to check all color types in SkOneShotDiscardablePixelref SkResourceCacheTest seems to have been allways using default Heap Allocator. Fixed so that it uses private (not global that is) SkDiscardableMemory. BUG=skia:4355 Review URL: https://codereview.chromium.org/1426753006
* Fix mixed samples stencil clipGravatar cdalton2015-11-09
| | | | | | | | | | | | | | Fixes rendering bugs and nondeterminism in gm. Before, mixed samples stencil clip would try to infer whether the draw wanted co-centered sample locations from within GrGLGpu, which caused various errors. This change reworks it so the draw itself can request the co-centered sample locations when it knows it will need them. Also reduces framebuffer binds by moving the code that enables GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget. Review URL: https://codereview.chromium.org/1431593006
* Update Layer Hoisting to store its atlas texture in the resource cacheGravatar robertphillips2015-11-09
| | | | | | | | BUG=skia:4346 Committed: https://skia.googlesource.com/skia/+/42597bc99f00553825843b5ed41e81b121773368 Review URL: https://codereview.chromium.org/1406013006
* Extract glyph find and position code in preparation to use it in XPS and GPU ↵Gravatar herb2015-11-09
| | | | | | | | code. BUG=skia: Review URL: https://codereview.chromium.org/1409123010
* Wire up SDL on macGravatar joshualitt2015-11-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1428633003