|
|
Description[SkTextBlob] Remove incorrect builder assert
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
Committed: https://skia.googlesource.com/skia/+/9ae8fe1c601ecb7fef9962f9eb1adf11032378e4
Patch Set 1 #Patch Set 2 : win build fix #Patch Set 3 : win fix reloaded #
Messages
Total messages: 20 (8 generated)
The CQ bit was checked by fmalita@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1405463004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1405463004/1
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: Build-Win-MSVC-x86_64-Debug-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Win-MSVC-x86_6...)
The CQ bit was checked by fmalita@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1405463004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1405463004/20001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: Build-Win-MSVC-x86_64-Debug-Trybot on client.skia.compile (JOB_FAILED, http://build.chromium.org/p/client.skia.compile/builders/Build-Win-MSVC-x86_6...)
The CQ bit was checked by fmalita@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1405463004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1405463004/40001
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by fmalita@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1405463004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1405463004/40001
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as https://skia.googlesource.com/skia/+/9ae8fe1c601ecb7fef9962f9eb1adf11032378e4
Message was sent while issue was closed.
eae@chromium.org changed reviewers: + eae@chromium.org
Message was sent while issue was closed.
Thanks!
Message was sent while issue was closed.
Are the uninit errors on the valgrind bot attributable to this change? http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2... ex: ==32300== Use of uninitialised value of size 8 ==32300== at 0x697F64: SkGlyphCache::lookupByPackedGlyphID(unsigned int, SkGlyphCache::MetricsType) (SkTHash.h:179) ==32300== by 0x698010: SkGlyphCache::getGlyphIDMetrics(unsigned short) (SkGlyphCache.cpp:145) ==32300== by 0x6AAA70: sk_getMetrics_glyph_next(SkGlyphCache*, char const**) (SkPaint.cpp:579) ==32300== by 0x6ADF35: SkPaint::getTextWidths(void const*, unsigned long, float*, SkRect*) const (SkPaint.cpp:1150) ==32300== by 0x6E7933: SkTextBlobBuilder::TightRunBounds(SkTextBlob::RunRecord const&) (SkTextBlob.cpp:383) ==32300== by 0x6E7BE0: SkTextBlobBuilder::ConservativeRunBounds(SkTextBlob::RunRecord const&) (SkTextBlob.cpp:421) ==32300== by 0x6E7DA2: SkTextBlobBuilder::updateDeferredBounds() (SkTextBlob.cpp:474) ==32300== by 0x6E829D: SkTextBlobBuilder::build() (SkTextBlob.cpp:614) ==32300== by 0x58538E: TextBlobTester::TestBounds(skiatest::Reporter*) (TextBlobTest.cpp:165) ==32300== by 0x584D45: test_TextBlob_builder(skiatest::Reporter*, GrContextFactory*) (TextBlobTest.cpp:257) ==32300== by 0x408B8C: run_test(skiatest::Test*) (DM.cpp:980) ==32300== by 0x6E6E11: (anonymous namespace)::ThreadPool::Loop(void*) (SkTaskGroup.cpp:176) ==32300== by 0x7FA3B6: thread_start(void*) (SkThreadUtils_pthread.cpp:66) ==32300== by 0x5058181: start_thread (pthread_create.c:312) ==32300== by 0x628400C: clone (clone.S:111) ==32300== Uninitialised value was created by a heap allocation ==32300== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==32300== by 0x4C2CF1F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==32300== by 0x805DBA: sk_realloc_throw(void*, unsigned long) (SkMemory_malloc.cpp:44) ==32300== by 0x6E7E35: SkTextBlobBuilder::reserve(unsigned long) (SkTemplates.h:271) ==32300== by 0x6E8106: SkTextBlobBuilder::allocInternal(SkPaint const&, SkTextBlob::GlyphPositioning, int, SkPoint, SkRect const*) (SkTextBlob.cpp:559) ==32300== by 0x6E828A: SkTextBlobBuilder::allocRunPos(SkPaint const&, int, SkRect const*) (SkTextBlob.cpp:606) ==32300== by 0x585344: TextBlobTester::TestBounds(skiatest::Reporter*) (TextBlobTest.cpp:162) ==32300== by 0x584D45: test_TextBlob_builder(skiatest::Reporter*, GrContextFactory*) (TextBlobTest.cpp:257) ==32300== by 0x408B8C: run_test(skiatest::Test*) (DM.cpp:980) ==32300== by 0x6E6E11: (anonymous namespace)::ThreadPool::Loop(void*) (SkTaskGroup.cpp:176) ==32300== by 0x7FA3B6: thread_start(void*) (SkThreadUtils_pthread.cpp:66) ==32300== by 0x5058181: start_thread (pthread_create.c:312) ==32300== by 0x628400C: clone (clone.S:111) ==32300== { <insert_a_suppression_name_here> Memcheck:Value8 fun:_ZN12SkGlyphCache21lookupByPackedGlyphIDEjNS_11MetricsTypeE fun:_ZN12SkGlyphCache17getGlyphIDMetricsEt fun:_ZL24sk_getMetrics_glyph_nextP12SkGlyphCachePPKc fun:_ZNK7SkPaint13getTextWidthsEPKvmPfP6SkRect fun:_ZN17SkTextBlobBuilder14TightRunBoundsERKN10SkTextBlob9RunRecordE fun:_ZN17SkTextBlobBuilder21ConservativeRunBoundsERKN10SkTextBlob9RunRecordE fun:_ZN17SkTextBlobBuilder20updateDeferredBoundsEv fun:_ZN17SkTextBlobBuilder5buildEv fun:_ZN14TextBlobTester10TestBoundsEPN8skiatest8ReporterE fun:_ZL21test_TextBlob_builderPN8skiatest8ReporterEP16GrContextFactory fun:_ZL8run_testPN8skiatest4TestE fun:_ZN12_GLOBAL__N_110ThreadPool4LoopEPv fun:_ZL12thread_startPv fun:start_thread fun:clone } |