aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Fix glDraw*Indirect prototypesGravatar csmartdalton2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050403002 Review-Url: https://codereview.chromium.org/2050403002
* Skip verylargebitmap serialization on Android tooGravatar mtklein2016-06-09
| | | | | | | | | | | | | I'm trying to figure out why we've been skipping serialize-8888 for these. They don't draw wrong. Seems like they just eat up all memory while serializing, maybe only in Debug mode. This should fix the red Nexus9 bot. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050423003 Review-Url: https://codereview.chromium.org/2050423003
* Move immintrin/arm_neon includes to where they are used.Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On my Mac (so, immintrin), this improves compile time, both wall and cpu, by about 16%. To test I ran this on an SSD with files hot in their caches: $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \ ninja -C out/Release -t clean && \ time ninja -C out/Release Before: 159 wall / 3367 cpu 159 wall / 3368 cpu After: 137 wall / 2860 cpu 136 wall / 2863 cpu I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc. That made no signficant difference, so I've kept immintrin for its simplicity. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot TBR=reed@google.com No public API changes. Committed: https://skia.googlesource.com/skia/+/12dfaaa53c23f3d03050bde8f64136ac1f44164a Review-Url: https://codereview.chromium.org/2045633002
* Add NV12 texture conversion support.Gravatar jbauman2016-06-09
| | | | | | | | | | | If textures 1 and 2 passed into MakeFromYUVTexturesCopy are the same, then treat the input as NV12 and sample from the g component of texture 2. BUG=skia:5209 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2016593002 Review-Url: https://codereview.chromium.org/2016593002
* Add control of manual mipmapping to GrContextOptionsGravatar brianosman2016-06-09
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003 Committed: https://skia.googlesource.com/skia/+/97e398d98928f9497063594ebe633efe2d0f4968 Review-Url: https://codereview.chromium.org/2054623003
* Cleanup needed to use WindowContext for AndroidGravatar djsollen2016-06-09
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055693003 Review-Url: https://codereview.chromium.org/2055693003
* Add housekeeper_skia.isolateGravatar borenet2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054883002 Review-Url: https://codereview.chromium.org/2054883002
* SkPictureAnalyzer: expose the number of slow GPU commands.Gravatar senorblanco2016-06-09
| | | | | | | BUG=614724 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031243003 Review-Url: https://codereview.chromium.org/2031243003
* Revert of Disable tail calls inside Simple GM functions. (patchset #1 id:1 ↵Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/2050473006/ ) Reason for revert: Appears to have broken Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug Original issue's description: > Disable tail calls inside Simple GM functions. > > I haven't found any way to turn off the particular optimization (-foptimize-sibling-calls) > per-function, but I can control optimization settings coarsely: > > - on GCC, we can pick a particular -O level, so I've picked -O1 which does not > enable -foptimize-sibling-calls > - on Clang, we can only disable all optimization for a function > - have no idea about MSVC > > This should make sure the simple GM functions, e.g. all_bitmap_configs_GM(), > show up on stack traces when we crash. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050473006 > > Committed: https://skia.googlesource.com/skia/+/eee3ced68f787aadc47fa274ca8e13b354ec920a TBR=reed@google.com,mtklein@chromium.org BUG=skia: CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug-Trybot Review-Url: https://codereview.chromium.org/2051193002
* Revert of Add control of manual mipmapping to GrContextOptions (patchset #2 ↵Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/2054623003/ ) Reason for revert: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/3481/steps/test_skia%20on%20Ubuntu/logs/stdio ../../../src/gpu/gl/GrGLCaps.cpp:554:25: runtime error: load of value 187, which is not a valid value for type 'bool' SUMMARY: AddressSanitizer: undefined-behavior ../../../src/gpu/gl/GrGLCaps.cpp:554:25 in step returned non-zero exit code: 1 Original issue's description: > Add control of manual mipmapping to GrContextOptions > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003 > > Committed: https://skia.googlesource.com/skia/+/97e398d98928f9497063594ebe633efe2d0f4968 TBR=bsalomon@google.com,brianosman@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/2050373002
* Support resize in Android Viewer AppGravatar liyuqian2016-06-09
| | | | | | | | | | | Previously, we took out resize because Vulkan didn't support it in Android. Now Android nyc-dev builds >= 2937079 and nyc-release builds >= NRD66 supports it so we add it back. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050613003 Review-Url: https://codereview.chromium.org/2050613003
* SkPixmap::setColorSpaceGravatar msarett2016-06-09
| | | | | | | | | | | | Landed for reed@ with bug fix: Use default copy constructor for SkDraw BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057563002 patch from issue 2057563002 at patchset 1 (http://crrev.com/2057563002#ps1) Review-Url: https://codereview.chromium.org/2052943002
* Add raw pixel serialization fallback for SkImages that cannot be encoded.Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | This fixes serialize-8888 for 2 GMs on Mac that I'm now unblacklisting. I think another was already fixed, and two more were Windows-only. Seems safe to use encoded_size=1 as another sentinel here (like we already use =0); I can't imagine any encoded image format that can encode an image in a single byte. I suspect this is the root of the referenced bug too, but this is a good idea even if not. BUG=chromium:601851 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039813007 CQ_EXTRA_TRYBOTS=client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Release-Trybot,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot;client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Release-Trybot Review-Url: https://codereview.chromium.org/2039813007
* Disable tail calls inside Simple GM functions.Gravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | I haven't found any way to turn off the particular optimization (-foptimize-sibling-calls) per-function, but I can control optimization settings coarsely: - on GCC, we can pick a particular -O level, so I've picked -O1 which does not enable -foptimize-sibling-calls - on Clang, we can only disable all optimization for a function - have no idea about MSVC This should make sure the simple GM functions, e.g. all_bitmap_configs_GM(), show up on stack traces when we crash. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050473006 Review-Url: https://codereview.chromium.org/2050473006
* SkMipMap::ComputeLevelSize should only cover SkMipMap's levels.Gravatar cblume2016-06-09
| | | | | | | | | | | | | | SkMipMap only deals with the levels it generates. That is to day, it deals with mipmap levels 1-x, not 0-x. Other functions reflect thing when indexing. They go from 0 to x-1 (giving the index into SkMipMap's contents). ComputeLevelSize should also follow that same indexing. BUG=578304 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042843005 Review-Url: https://codereview.chromium.org/2042843005
* Add control of manual mipmapping to GrContextOptionsGravatar brianosman2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003 Review-Url: https://codereview.chromium.org/2054623003
* Simplify code by breaking general sampler into Nearest and Bilerp.Gravatar herb2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055513003 Review-Url: https://codereview.chromium.org/2055513003
* better exclusion for stack tracesGravatar mtklein2016-06-09
| | | | | | | | | | | | | | | | | | | | Instead of two synchronization systems (in_signal_handler, gMutex), we can just use one. This simplifies the signal handler logic to: - first thread through grabs the lock, prints what's running and a stack trace, then exits - all other threads just sit waiting on that lock until exit kills them Previously I think all threads were racing to exit, which can kill the process before the printing thread is done. That truncated the output, which is dumb. Plus... refactor slightly so that crash_handler() shows up at the top of the stack trace rather than some odd name for a lambda inside setup_crash_handler(). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2051863002 Review-Url: https://codereview.chromium.org/2051863002
* sk_sp for Ganesh.Gravatar bungeman2016-06-09
| | | | | | | | | | Convert use of GrFragmentProcessor, GrGeometryProcessor, and GrXPFactory to sk_sp. This clarifies ownership and should reduce reference count churn by moving ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004 Review-Url: https://codereview.chromium.org/2041113004
* Add ICC fuzzerGravatar kjlubick2016-06-09
| | | | | | | BUG=skia:5404 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2047353003 Review-Url: https://codereview.chromium.org/2047353003
* Update CQ keywords documentationGravatar rmistry2016-06-09
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2056733002 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=2056733002 Review-Url: https://codereview.chromium.org/2056733002
* SkColorSpace::NewICC fix integer overflow caught by fuzzerGravatar msarett2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053683002 Review-Url: https://codereview.chromium.org/2053683002
* Make SkDashPathEffect fail for stroke+fill style (in addition to fill style)Gravatar bsalomon2016-06-09
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2048183002 Review-Url: https://codereview.chromium.org/2048183002
* Optimize color xforms with 2.2 gammas for SSE2Gravatar msarett2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we recognize commonly used gamma tables and parameters as 2.2f, about 98% of jpegs with color profiles will pass through this xform (assuming the dst is also 2.2f). Sample size is 10,322 jpegs. I won't go crazy with performance numbers because this is a work in progress, particularly in terms of correctness. 201295.jpg on HP z620 (300x280, most common form of sRGB profile) Decode Time + QCMS Xform 1.28 ms QCMS Xform Only 0.495 ms Decode Time + Skia Opt Xform 1.01 ms Skia Opt Xform Only 0.235 ms Decode Time + Xform Speed-up 1.27x Xform Only Speed-up 2.11x FWIW, Skia xform time before these optimizations was 41.1 ms. But we expected that code to be slow. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046013002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2046013002
* Use faster case for on tile sampling, and a little clean up. This has been a ↵Gravatar herb2016-06-08
| | | | | | | | | | | sampling bug and so was bypassed using "false &&". Found the sampling bug and added the case back in. Remove long commented out code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044373003 Review-Url: https://codereview.chromium.org/2044373003
* Stop trying to build files that are not thereGravatar scroggo2016-06-08
| | | | | | | | The bzl version of Skia does not have these files. Don't try to build them. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045263003 Review-Url: https://codereview.chromium.org/2045263003
* Add GpuCommandBuffer support.Gravatar egdaniel2016-06-08
| | | | | | | | | | | | | | | Currently this is not actually hooked into the system. To give some context, in a follow up CL I'll add this to GrDrawTarget. For this I will move the gpu onDraw command to the GpuCommandBuffer as well. For GL this will end up just being a pass through to a non virtual draw(...) on GrGLGpu, and for vulkan it will mostly do what it currently does but adding commands to the secondary command buffer instead. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2038583002 Review-Url: https://codereview.chromium.org/2038583002
* Support running Viewer via android_gdb_appGravatar brianosman2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055453003 Review-Url: https://codereview.chromium.org/2055453003
* Fix mipmap generation on Nexus 5x & 6p devices.Gravatar brianosman2016-06-08
| | | | | | | | | | Just like copyImage, these want the Z range of blit regions to be [0, 1], even for 2D resources where Z should be ignored. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2039913007 Review-Url: https://codereview.chromium.org/2039913007
* Provide filter when there are many optionsGravatar liyuqian2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2047233003 Review-Url: https://codereview.chromium.org/2047233003
* Replace targetHasUnifiedMultisampling in GrPB constructorGravatar csmartdalton2016-06-08
| | | | | | | | | | | | Replaces targetHasUnifiedMultisampling with a simpler "useHWAA". Now the code that creates a pipeline builder needs to decide on its own whether it should enable multisampling, rather than relying on the builder to try and guess. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041283002 Review-Url: https://codereview.chromium.org/2041283002
* When setting up a copySurface dst texture make the orientation match the src ↵Gravatar bsalomon2016-06-08
| | | | | | | | | when glBlitFramebuffer requires it BUG=chromium:618122 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2049753002 Review-Url: https://codereview.chromium.org/2049753002
* Modify QCMS test to match use by ChromeGravatar msarett2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2049813002 Review-Url: https://codereview.chromium.org/2049813002
* Fix instances where hwaa was wrong for mixed samplesGravatar csmartdalton2016-06-08
| | | | | | | | | | | Fixes a bug with coverage-AA hairlines where hwaa was unintentionally enabled for mixed samples, and a bug with path stenciling where hwaa was unintentionally disabled for mixed samples. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043203004 Review-Url: https://codereview.chromium.org/2043203004
* Document dm error about missing skpsGravatar martina.kollarova2016-06-08
| | | | | | | | | BUG=None GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2049703002 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=2049703002 Review-Url: https://codereview.chromium.org/2049703002
* Handle single pixel case on tiled.Gravatar herb2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041813004 Review-Url: https://codereview.chromium.org/2041813004
* Subclass GrVkCommandBuffer into Primary and Secondary CommandBuffers.Gravatar egdaniel2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2019723002 Review-Url: https://codereview.chromium.org/2019723002
* Add support for finding/creating general GrVkRenderPass from the ↵Gravatar egdaniel2016-06-08
| | | | | | | | | VkResourceProvider. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2035853002 Review-Url: https://codereview.chromium.org/2035853002
* fix pathops fuzz bugsGravatar caryclark2016-06-08
| | | | | | | | | | | | | | | | | | | Fail out in a couple of new places when the input data is very large and exceeds the limits of the pathops machinery. Most of the change here plumbs in a way to exclude an assert in one of these exceptional cases. The current SkAddIntersection implementation and the inner functions it calls has no way to report an error to the root caller for an early exit, so rather than add that in, exclude the assert when the test that would trigger it runs (allowing the test to otherwise ensure that it properly fails). TBR=reed@google.com BUG=617586,617635 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046713003 Review-Url: https://codereview.chromium.org/2046713003
* A Mozilla developer ran the µmix static analyzer on its codebase and ↵Gravatar lsalzman2016-06-07
| | | | | | | | | | | incidentally found some issues regarding null checks in Skia. This fixes the issues that were found. Downstream bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1278452 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046563007 Review-Url: https://codereview.chromium.org/2046563007
* SkLeanWindows.h: #include "Windows.h" fewer placesGravatar halcanary2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | $ git grep -l '<windows.h>' include src include/private/SkLeanWindows.h $ git grep -l SkLeanWindows.h | grep '\.h$' include/ports/SkTypeface_win.h include/utils/win/SkHRESULT.h include/utils/win/SkTScopedComPtr.h include/views/SkEvent.h src/core/SkMathPriv.h src/ports/SkTypeface_win_dw.h src/utils/SkThreadUtils_win.h src/utils/win/SkWGL.h The same for `#include <intrin.h>` that was found in SkMath.h. Those functions that needed it are moved to SkMathPriv.h. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng Review-Url: https://codereview.chromium.org/2041943002
* Revert of Move immintrin/arm_neon includes to where they are used. (patchset ↵Gravatar mtklein2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #2 id:20001 of https://codereview.chromium.org/2045633002/ ) Reason for revert: Appears to have broken the ARMv7 aspect of the Google3 roll in bizarre seemingly-unrelated ways. Original issue's description: > Move immintrin/arm_neon includes to where they are used. > > On my Mac (so, immintrin), this improves compile time, both wall and cpu, > by about 16%. To test I ran this on an SSD with files hot in their caches: > > $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \ > ninja -C out/Release -t clean && \ > time ninja -C out/Release > > Before: 159 wall / 3367 cpu > 159 wall / 3368 cpu > > After: 137 wall / 2860 cpu > 136 wall / 2863 cpu > > I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc. > That made no signficant difference, so I've kept immintrin for its simplicity. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002 > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > TBR=reed@google.com > No public API changes. > > Committed: https://skia.googlesource.com/skia/+/12dfaaa53c23f3d03050bde8f64136ac1f44164a TBR=herb@google.com,mtklein@chromium.org # 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/2046213002
* Fix dashing bug where hwaa was unintentionally disabledGravatar csmartdalton2016-06-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046483003 Review-Url: https://codereview.chromium.org/2046483003
* Switch to a whitelist for manual mip-map generationGravatar brianosman2016-06-07
| | | | | | | | | | | | | Due to performance regression on various GPUs, we're only going to use the new draw-call based mip-mapper when necessary. Of the bots where we have test coverage, that means Intel and Mac-NVIDIA. We also had failures on our AMD 7770 bots - I'm upgrading the drivers on those two machines, and I'm leaving them out of the whitelist for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2042313002 Review-Url: https://codereview.chromium.org/2042313002
* Implement Raster Backend on Android Viewer AppGravatar liyuqian2016-06-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041193004 Review-Url: https://codereview.chromium.org/2041193004
* Fix for rare crash in Poly::addEdge().Gravatar senorblanco2016-06-07
| | | | | | | | | | | | Don't add an edge if the bottom vertex was already added, or if an island vertex has a left poly but no right poly. (Sorry for the lack of test, but the only reduction I could create was still a huge path and only crashes in Chrome.) BUG=617907 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2043873005 Review-Url: https://codereview.chromium.org/2043873005
* Make GrShape use the original path when path effect fails.Gravatar bsalomon2016-06-07
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044793002 Review-Url: https://codereview.chromium.org/2044793002
* linear -> sRGB: use fast approximate sqrt()Gravatar mtklein2016-06-07
| | | | | | | | | | | | | | | | Since we're already approximating the sRGB gamma curve with a sqrt(), we might as well approximate with it a faster approximate sqrt(). On Intel, this .rsqrt().invert() version is 2-3x faster than .sqrt() (~3x faster on older machines, ~2x faster on newer machines). This should provide ~11 bits of precision, suspiciously exactly enough. Running dm --config srgb, there are diffs, but none perceptible. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046063002 Review-Url: https://codereview.chromium.org/2046063002
* Move immintrin/arm_neon includes to where they are used.Gravatar mtklein2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | On my Mac (so, immintrin), this improves compile time, both wall and cpu, by about 16%. To test I ran this on an SSD with files hot in their caches: $ env CC=/usr/bin/clang CXX=/usr/bin/clang++ ./gyp_skia && \ ninja -C out/Release -t clean && \ time ninja -C out/Release Before: 159 wall / 3367 cpu 159 wall / 3368 cpu After: 137 wall / 2860 cpu 136 wall / 2863 cpu I also tried further refining immintrin down to emmintrin / tmmintrin / smmintrin etc. That made no signficant difference, so I've kept immintrin for its simplicity. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2045633002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot TBR=reed@google.com No public API changes. Review-Url: https://codereview.chromium.org/2045633002
* Refactor creation of GrVkRenderPasses to make them move generalGravatar egdaniel2016-06-07
| | | | | | | | | | | | | | | | | | | | | This change is a refactorization to open up more flexable use for render passes in the future. Once we start bundling draw calls into a single render pass we will need to start using specific load and store ops instead of the default currently of load and store everything. We still will need to simply get a compatible render pass for creation of framebuffers and pipeline objects. These render passes don't need to know load and store ops. Thus in this change, I'm defaulting the "compatible" render pass to always be the one which both loads and stores. All other load/store combinations will be created lazily when requested for a specific draw (future change). The CompatibleRPHandle is a way for us to avoid analysing the RenderTarget every time we want to get a new GrVkRenderPass. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1977403002 Review-Url: https://codereview.chromium.org/1977403002