From 2ee6982d952faa8fd2aa09dec787bb5157840445 Mon Sep 17 00:00:00 2001 From: mtklein Date: Tue, 9 Aug 2016 10:13:28 -0700 Subject: Sample app uses Ganesh before calling SkGraphics::Init(). This causes inconsistent hashing. Before Init(), we use portable Murmur3, after a faster SSE4.2-based hash. To fix, call SkGraphics::Init() first. BUG=skia:5625 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229853002 Review-Url: https://codereview.chromium.org/2229853002 --- src/views/mac/skia_mac.mm | 28 +++++++++++++++------------- src/views/unix/skia_unix.cpp | 2 ++ src/views/win/skia_win.cpp | 2 ++ 3 files changed, 19 insertions(+), 13 deletions(-) (limited to 'src/views') diff --git a/src/views/mac/skia_mac.mm b/src/views/mac/skia_mac.mm index 2a794071e1..98d4c4bd92 100644 --- a/src/views/mac/skia_mac.mm +++ b/src/views/mac/skia_mac.mm @@ -9,6 +9,7 @@ #include #import #include "SkApplication.h" +#include "SkGraphics.h" #include "SkNSView.h" @interface MainView : SkNSView { @@ -55,48 +56,49 @@ @end int main(int argc, char *argv[]) { + SkGraphics::Init(); signal(SIGPIPE, SIG_IGN); NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - + NSApplication* app = [NSApplication sharedApplication]; NSUInteger windowStyle = (NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask | NSMiniaturizableWindowMask); - + NSRect windowRect = NSMakeRect(100, 100, 1000, 1000); NSWindow* window = [[NSWindow alloc] initWithContentRect:windowRect styleMask:windowStyle backing:NSBackingStoreBuffered defer:NO]; - + NSRect rect = [NSWindow contentRectForFrameRect:windowRect styleMask:windowStyle]; MainView* customView = [[MainView alloc] initWithFrame:rect]; [customView setTranslatesAutoresizingMaskIntoConstraints:NO]; NSView* contentView = window.contentView; [contentView addSubview:customView]; NSDictionary *views = NSDictionaryOfVariableBindings(customView); - + [contentView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[customView]|" options:0 metrics:nil views:views]]; - + [contentView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[customView]|" options:0 metrics:nil views:views]]; - + [customView begin]; [customView release]; - + [window makeKeyAndOrderFront:NSApp]; AppDelegate * appDelegate = [[[AppDelegate alloc] init] autorelease]; app.delegate = appDelegate; - + NSMenu* menu=[[NSMenu alloc] initWithTitle:@"AMainMenu"]; NSMenuItem* item; NSMenu* subMenu; - + //Create the application menu. item=[[NSMenuItem alloc] initWithTitle:@"Apple" action:NULL keyEquivalent:@""]; [menu addItem:item]; @@ -107,18 +109,18 @@ int main(int argc, char *argv[]) { [subMenu addItem:item]; [item release]; [subMenu release]; - + //Add the menu to the app. [app setMenu:menu]; - + [app setActivationPolicy:NSApplicationActivationPolicyRegular]; - + [app run]; [menu release]; [appDelegate release]; [window release]; [pool release]; - + return EXIT_SUCCESS; } diff --git a/src/views/unix/skia_unix.cpp b/src/views/unix/skia_unix.cpp index 58cc040c1e..9f99059625 100644 --- a/src/views/unix/skia_unix.cpp +++ b/src/views/unix/skia_unix.cpp @@ -7,9 +7,11 @@ #include "SkApplication.h" #include "SkEvent.h" +#include "SkGraphics.h" #include "SkWindow.h" int main(int argc, char** argv){ + SkGraphics::Init(); SkOSWindow* window = create_sk_window(nullptr, argc, argv); // drain any events that occurred before |window| was assigned. diff --git a/src/views/win/skia_win.cpp b/src/views/win/skia_win.cpp index fc07bd46da..df600d771c 100644 --- a/src/views/win/skia_win.cpp +++ b/src/views/win/skia_win.cpp @@ -10,6 +10,7 @@ #include #include "SkApplication.h" +#include "SkGraphics.h" #include "SkOSWindow_Win.h" LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); @@ -79,6 +80,7 @@ int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCm } int main(int argc, char**argv) { + SkGraphics::Init(); return main_common(GetModuleHandle(NULL), SW_SHOW, argc, argv); } -- cgit v1.2.3