aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Screenspace AA tessellated GPU path rendering.Gravatar senorblanco2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an approach to antialiased concave path rendering on the GPU without using MSAA. It uses GrTessellator to extract boundary contours from the given path, then inflates by half a pixel in screen space each direction, then renders the result with zero alpha on the outer contour and one alpha on in the inner contour. This requires two passes through the tessellation code: one to extract the boundaries, then one to tessellate the result. This gives approximately a 3X improvement on the IE chalkboard demo in non-MSAA mode, a 30-40% improvement on MotionMark's "Fill Paths", and a ~3X improvement on MotionMark's "canvas arcTo segments". It works best for large, simple paths, so there's currently a limit of 10 verbs in the onCanDrawPath() check. This dovetails nicely with the distance field path renderer's support for small, detailed (and cached) paths. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1152733009 NOTRY=true Review-Url: https://codereview.chromium.org/1152733009
* Always add a barrier when old layout was general in vulkan.Gravatar egdaniel2016-08-31
| | | | | | | | | | | | | | | | | When we have a general layout, we need to always add a barrier even if leaving the layout in general since we don't know what the use case for general was with the old layout. This doesn't seem to fix any of our synchronization issues which makes sense since we don't really use a general layout much. The only place it is used is for mipmap generation, but then we add explicit barriers in that function itself and the first use of the image after mipmap generation will change the layout to something other than general, usually SHADER_READ. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298483002 Review-Url: https://codereview.chromium.org/2298483002
* Revert of Screenspace AA tessellated path rendering. (patchset #37 id:730001 ↵Gravatar senorblanco2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1152733009/ ) Reason for revert: Causing asserts in GLPrograms test on Mac. Original issue's description: > Screenspace AA tessellated GPU path rendering. > > This is an approach to antialiased concave path rendering > on the GPU without using MSAA. It uses GrTessellator to > extract boundary contours from the given path, then > inflates by half a pixel in screen space each direction, > then renders the result with zero alpha on the outer > contour and one alpha on in the inner contour. This > requires two passes through the tessellation code: one > to extract the boundaries, then one to tessellate the > result. > > This gives approximately a 3X improvement on the IE > chalkboard demo in non-MSAA mode, a 30-40% improvement > on MotionMark's "Fill Paths", and a ~3X improvement on > MotionMark's "canvas arcTo segments". > > It works best for large, simple paths, so there's currently > a limit of 10 verbs in the onCanDrawPath() check. This > dovetails nicely with the distance field path renderer's > support for small, detailed (and cached) paths. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1152733009 > > Committed: https://skia.googlesource.com/skia/+/9992bdef8ae97b3e5b109d278ccfab84c66bcbf0 TBR=bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2299683002
* Screenspace AA tessellated GPU path rendering.Gravatar senorblanco2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is an approach to antialiased concave path rendering on the GPU without using MSAA. It uses GrTessellator to extract boundary contours from the given path, then inflates by half a pixel in screen space each direction, then renders the result with zero alpha on the outer contour and one alpha on in the inner contour. This requires two passes through the tessellation code: one to extract the boundaries, then one to tessellate the result. This gives approximately a 3X improvement on the IE chalkboard demo in non-MSAA mode, a 30-40% improvement on MotionMark's "Fill Paths", and a ~3X improvement on MotionMark's "canvas arcTo segments". It works best for large, simple paths, so there's currently a limit of 10 verbs in the onCanDrawPath() check. This dovetails nicely with the distance field path renderer's support for small, detailed (and cached) paths. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1152733009 Review-Url: https://codereview.chromium.org/1152733009
* Add some copy support for vulkan msaaGravatar egdaniel2016-08-31
| | | | | | | | | | | | | | This allows us to do copies from: msaa->msaa with same sample count msaa->no-msaa with a resolve Still missing support for no-msaa to msaa which will require a copyAsDraw which is currently stalled and fixing possible driver bugs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2294533002 Review-Url: https://codereview.chromium.org/2294533002
* Store mipmap levels in deferred texture imageGravatar cblume2016-08-30
| | | | | | | | | | | | | | | | | This is a follow-up to https://codereview.chromium.org/2115023002/ and https://codereview.chromium.org/2034933003/ which were reverted due to an access violation and a memory leak, respectively. When creating the deferred texture image, detect if using medium / high quality. If so, generate and store mipmaps in the deferred texture image. When creating a texture from that be sure to read it back out. BUG=578304 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2242883004 Review-Url: https://codereview.chromium.org/2242883004
* made raster shadows variance shadowsGravatar vjiaoblack2016-08-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2297693002 Review-Url: https://codereview.chromium.org/2297693002
* Revert of SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName. ↵Gravatar halcanary2016-08-30
| | | | | | | | | | | | | | | | | | | | | | | (patchset #3 id:40001 of https://codereview.chromium.org/2258233002/ ) Reason for revert: forgot to roll sfntly in android! Original issue's description: > SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName. > > Also, minor code refactoring. > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2258233002 > > Committed: https://skia.googlesource.com/skia/+/fce190647285423bf36c44bca09db78a6af30f9f TBR=bungeman@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2296683004
* SkTextBlob: Begin implementing Extended TextBlob APIGravatar halcanary2016-08-30
| | | | | | | BUG=skia:5434 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084533004 Review-Url: https://codereview.chromium.org/2084533004
* clean up use of register storage classGravatar mtklein2016-08-30
| | | | | | | | | | | | | This fixes this warning-as-error, so we don't have to stifle it any more: error: 'register' storage class specifier is deprecated and incompatible with C++1z [-Werror,-Wdeprecated-register] Tested by building for mipsel via GN. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289293002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2289293002
* SkPDF: SK_SFNTLY_SUBSETTER is goneGravatar halcanary2016-08-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2296823002 Review-Url: https://codereview.chromium.org/2296823002
* Detect TSAN instead of relying on #ifdef THREAD_SANITIZER.Gravatar mtklein2016-08-30
| | | | | | | | | | | And reindent. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2293063002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot Review-Url: https://codereview.chromium.org/2293063002
* SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName.Gravatar halcanary2016-08-30
| | | | | | | Also, minor code refactoring. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2258233002 Review-Url: https://codereview.chromium.org/2258233002
* Remove custom data from GrGpuResourceGravatar bsalomon2016-08-30
| | | | | | | | | | Chrome is no longer relying on this feature to track mailboxes for textures. BUG=skia:4134 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2291203002 Review-Url: https://codereview.chromium.org/2291203002
* changed kCurveConnectionThreshold in GrAAConvexTessellatorGravatar ethannicholas2016-08-30
| | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2297563003 TBR=bsalomon@google.com Review-Url: https://codereview.chromium.org/2297563003
* raster shadowsGravatar vjiaoblack2016-08-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2248493002 Review-Url: https://codereview.chromium.org/2248493002
* Some tests around surface creation and snapshotting with color spaceGravatar brianosman2016-08-30
| | | | | | | | | | | | Verify the rules that we're converging on for surfaces: - For 8888, we only support sRGB-like gamma, or no color space at all. - For F16, we require a color space, with linear gamma. - For all other formats, we do not support color spaces. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270823002 Review-Url: https://codereview.chromium.org/2270823002
* Skip spinlock overhead on AndroidGravatar msarett2016-08-29
| | | | | | | | | | | | | | Using the spinlock is only necessary when we multiple threads might use a GrContext. Android uses the GrContext from a single thread, so these locks are not needed. This is a temporary fix until we can refactor to avoid creating GrContexts in a global memory pool. BUG=skia:5696 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2293633003 Review-Url: https://codereview.chromium.org/2293633003
* Add Gray support to SkPNGImageEncoderGravatar msarett2016-08-29
| | | | | | | BUG=skia:5616 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2290843002 Review-Url: https://codereview.chromium.org/2290843002
* remove dead codeGravatar mtklein2016-08-29
| | | | | | | | | TBR= BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2286253003 Review-Url: https://codereview.chromium.org/2286253003
* Fix stroked rrects with batching.Gravatar jvanverth2016-08-29
| | | | | | | | | Was using stroked shader for fills and vice versa. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288923002 TBR=bsalomon@google.com Review-Url: https://codereview.chromium.org/2288923002
* Remove unneeded pipeline barrier in vulkanGravatar egdaniel2016-08-29
| | | | | | | | | We don't need to syncronize the mapped memory writes to the buffer since all CPU writes are already syncronized when we submit a command buffer. And we are using coherent memory for buffers so we don't need to call vkFlushMappedMemory BUG=skia: Review-Url: https://codereview.chromium.org/2289973002
* Skip batch iteration in GrDrawTarget::forwardCombine when the max look ahead ↵Gravatar bsalomon2016-08-29
| | | | | | | | | is 0 TBR=robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288373002 Review-Url: https://codereview.chromium.org/2288373002
* Moved ambient lights out of SkLight's light arrayGravatar vjiaoblack2016-08-29
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287553002 Committed: https://skia.googlesource.com/skia/+/8f98f0aa2d3f7571a890b916c7c4b5ee831e9686 Review-Url: https://codereview.chromium.org/2287553002
* Batch all circular rrects togetherGravatar jvanverth2016-08-29
| | | | | | | | | | When possible, this change will place all circular rrect types in the same batch. If the batch is all fills, we use the fill shader, otherwise we use the stroke shader. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2283973002 Review-Url: https://codereview.chromium.org/2283973002
* SkPDF: Remove some unused glyphs from fallback fontsGravatar halcanary2016-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the /Widths and the /Differences arrays smaller. Example diff in output PDF (lines are wrapped for easy viewing): <</Type /Font /Subtype /Type3 /FontMatrix [.00100000005 0 0 -.00100000005 0 0] /FirstChar 0 -/LastChar 255 +/LastChar 118 /FontBBox [23 228 669 -694] /CIDToGIDMap /Identity /ToUnicode 8 0 R -/Widths [280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -525 0 0 0 525 0 0 0 0 525 525 525 525 0 0 0 0 0 0 525 0 0 0 0 0 0 0 0 -0 0 0 0 0 525 0 525 0 0 0 525 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 -525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 0 525 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] +/Widths [280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +525 0 0 0 525 0 0 0 0 525 525 525 525 0 0 0 0 0 0 525 0 0 0 0 0 0 0 0 +0 0 0 0 0 525 0 525 0 0 0 525 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 +525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 0 +525] /Encoding <</Type /Encoding -/Differences [0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g1D -/g0 /g0 /g0 /g21 /g0 /g0 /g0 /g0 /g26 /g27 /g28 /g29 /g0 /g0 /g0 /g0 -/g0 /g0 /g30 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g3E -/g0 /g40 /g0 /g0 /g0 /g44 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g50 /g0 /g0 /g0 /g0 /g0 /g0 /g57 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g6E /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g76 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 -/g0 /g0 /g0 /g0 /g0 /g0]>> +/Differences [0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 +/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g1D +/g0 /g0 /g0 /g21 /g0 /g0 /g0 /g0 /g26 /g27 /g28 /g29 /g0 /g0 /g0 /g0 +/g0 /g0 /g30 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g3E +/g0 /g40 /g0 /g0 /g0 /g44 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 +/g50 /g0 /g0 /g0 /g0 /g0 /g0 /g57 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 +/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g6E /g0 /g0 /g0 +/g0 /g0 /g0 /g0 /g76]>> /CharProcs <</g0 9 0 R /g1D 10 0 R /g21 11 0 R ....... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287393002 Review-Url: https://codereview.chromium.org/2287393002
* Add support for glDrawRangeElementsGravatar bsalomon2016-08-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287003002 Review-Url: https://codereview.chromium.org/2287003002
* Revert of Moved ambient lights out of SkLight's light array (patchset #7 ↵Gravatar vjiaoblack2016-08-29
| | | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/2287553002/ ) Reason for revert: Made Deigo's GM miss their ambient lights Original issue's description: > Moved ambient lights out of SkLight's light array > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287553002 > > Committed: https://skia.googlesource.com/skia/+/8f98f0aa2d3f7571a890b916c7c4b5ee831e9686 TBR=robertphillips@google.com,djsollen@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2291663002
* dedup images/blobs/pictures by ID in old serialization formatGravatar reed2016-08-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289783002 Review-Url: https://codereview.chromium.org/2289783002
* Use stroked rrects for Android shadow sampleGravatar jvanverth2016-08-29
| | | | | | | | | | | Changes the Android shadow sample to use stroked roundrects when we can (mainly if stroked geometry area < fill geometry area). Also changes the setup for the overstroke geometry so that it computes the correct distance to the outer edge. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2283003003 Review-Url: https://codereview.chromium.org/2283003003
* Moved ambient lights out of SkLight's light arrayGravatar vjiaoblack2016-08-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287553002 Review-Url: https://codereview.chromium.org/2287553002
* change readTypeface to return sk_spGravatar reed2016-08-29
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2290653002 TBR=mtklein Review-Url: https://codereview.chromium.org/2290653002
* Remove FP16 support from ANGLE. Previous workaround was incomplete.Gravatar brianosman2016-08-29
| | | | | | | | | | | | | ANGLE is using the wrong external type (GL_HALF_FLOAT) when querying for ReadPixels format, but it validates parameters to TexImage2D against the correct type (GL_HALF_FLOAT_OES). Rather than introduce a lot of complexity to work around the inconsistency, I'm just going to remove support for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288233002 Review-Url: https://codereview.chromium.org/2288233002
* if the winding of the top can't be computed, give upGravatar caryclark2016-08-26
| | | | | | | | TBR=reed@google.com BUG=641478 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2283993002 Review-Url: https://codereview.chromium.org/2283993002
* SkPDF: Glyph validation changeGravatar halcanary2016-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of mapping invaid glyphIDs to zero or maxGlyphID, don't draw them at all. Validate glyphs when glyph is written, not ahead of time. Don't allocate array to copy user-provided glyphs. Easy early exit from SkPDFDevice::internalDrawText() GlyphPositioner::flush() called ~GlyphPositioner() SkScopeExit class now exists. Assume SkTypeface* pointers are now never null in more places. precalculate alignmentFactor to clean up code. SkPDFDevice::updateFont must be called with validated glyphID. Skip bad glyphs to make this true. SkPDFDevice::updateFont always succeeds. SkPDFFont::GetFontResource always succeeds (preconditions are asserted). If GetMetrics fails, don't call GetFontResource. SkPDFFont::glyphsToPDFFontEncodingCount() becomes SkPDFFont::countStretch() and is inlined. SkPDFFont::glyphsToPDFFontEncoding now works one Glyph at a time and is inlined. SkPDFFont::noteGlyphUsage() operates one glyph at a time. Add SkScopeExit.h; also a unit test for it. SkPostConfig: Fix SK_UNUSED for Win32. No public API changes. TBR=reed@google.com BUG=625995 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2278703002 Review-Url: https://codereview.chromium.org/2278703002
* drawBitmapRect() should not touch the CTM when mask filters are presentGravatar fmalita2016-08-26
| | | | | | | | | | | Blur sigma calculations are CTM dependent, so we cannot take the drawBitmap() fast path in the presence of mask filters. BUG=skia:5682 R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2286873002 Review-Url: https://codereview.chromium.org/2286873002
* Reduce CPU overhead on drawRegion()Gravatar msarett2016-08-26
| | | | | | | | | | | | | | | | | | Only batch when the view matrices are the same. This allows us to skip applying the matrix and uploading local coords. drawregion Bench on Nexus 6P: Before 4.69ms After 2.83ms This puts SkiaGL nearly on par with OpenGL. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2282983003 Review-Url: https://codereview.chromium.org/2282983003
* Don't add the resolve attachment to vulkan render passes.Gravatar egdaniel2016-08-26
| | | | | | | | | Also includes some other msaa bug fixes BUG=skia:5127 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2256843002 Review-Url: https://codereview.chromium.org/2256843002
* fixed 'corners' of paths in GrAAConvexTessellatorGravatar ethannicholas2016-08-26
| | | | | | | BUG=skia:5671 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2280943003 Review-Url: https://codereview.chromium.org/2280943003
* Converts a drawPaint through a rrect clip to a drawRRect in GrDrawContext.Gravatar bsalomon2016-08-26
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2271053004 Review-Url: https://codereview.chromium.org/2271053004
* Update ANGLE to latest as of August 25, 2016Gravatar brianosman2016-08-26
| | | | | | | | | | | | | | | | | | With this version, it's now exposing GL_EXT_color_buffer_half_float, but it's (incorrectly) using GL_HALF_FLOAT rather than GL_HALF_FLOAT_OES. In addition, release builds were crashing in EGLImageTest due to an apparent disagreement about calling convention on function-pointer to exported symbol. There is a proper typedef for that in one of their headers, but I can't seem to include it without creating more problems, so I just fixed the decoration on our local typedef. With those changes, all tests pass, and (on my Windows machine), all GMs and SKPs produce identical results vs. master in angle and angle-gl. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2282733003 Review-Url: https://codereview.chromium.org/2282733003
* Restrict supported font formats in Chrome contextGravatar drott2016-08-26
| | | | | | | | | | | | | | | | | | Chrome's complex text path uses HarfBuzz OpenType glyph lookup functions. These do not support glyph lookup in Type 1 / Postscript fonts and we do not wish to support those in Chrome any longer. In order to avoid matching fonts against Type 1 fonts possible present on Linux installations and exposed through fontconfig, this CL filters those out in Skia's font matching code. This change might not be desirable for all context in which Skia is used, hence making it conditional on a Chrome context define. BUG=skia:5685 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2280053002 Review-Url: https://codereview.chromium.org/2280053002
* avoid generating degenerate conic from arcGravatar caryclark2016-08-26
| | | | | | | | R=bsalomon@google.com BUG=skia:5672 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281953002 Review-Url: https://codereview.chromium.org/2281953002
* Added distance attenuation and diffuse shading to PointLightsGravatar vjiaoblack2016-08-26
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2246463004 Review-Url: https://codereview.chromium.org/2246463004
* Fix for fat stroked roundrects.Gravatar jvanverth2016-08-26
| | | | | | | | | The original method did not correctly compute the distance value along the inner edge, so the antialiasing was not quite correct. This fixes that by adding additional vertices and setting a different outerRadius. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275423002 Review-Url: https://codereview.chromium.org/2275423002
* SkOSFile instead of dirent in android font parser.Gravatar bungeman2016-08-26
| | | | | | | | | This makes the parser more portable while making essentially the same file system calls on Android. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2279033004 Review-Url: https://codereview.chromium.org/2279033004
* drawRegion() cleanupsGravatar msarett2016-08-26
| | | | | | | | | | (1) Move implementation to the cpp. (2) Check for the isRect() case. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2286693002 Review-Url: https://codereview.chromium.org/2286693002
* Ignore fill when stroke & filling convex line-only pathsGravatar robertphillips2016-08-26
| | | | | | | | | | | | | | | | | | This seems to work well for miter and bevel joins with the resulting stroke and fill path remaining convex. There seems to be an issue with round joins where the outer generated shell is usually not convex. Without this CL the resulting stroke & filled paths are always concave. Perf-wise (on Windows): convex-lineonly-paths-stroke-and-fill bench (in ms) w/o w/CL %decrease 8888 2.88 2.01 30.2 gpu 4.4 1.38 68.6 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275243003 Review-Url: https://codereview.chromium.org/2275243003
* GPU implementation of drawRegion()Gravatar msarett2016-08-25
| | | | | | | | | | | Nexus 6P drawregion Bench Performance Before 48.0ms After 3.57ms BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2267273006 Review-Url: https://codereview.chromium.org/2267273006
* GN: AndroidGravatar mtklein2016-08-25
| | | | | | | | | | | | | | | | Once you have downloaded an android NDK, you can set the ndk GN arg to use it. E.g. my gn.args looks like: is_debug = false ndk = "/opt/android-ndk" This should be enough to get you going for an arm64 build. You ought to be able to tweak that to other architectures by changing target_cpu to "arm", "x86", "x86-64", etc. That won't quite work until I follow this up a bit, but the skeleton is there. This is enough to get me compiled, linked, and running to completion on my N5x. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275983004 Review-Url: https://codereview.chromium.org/2275983004