Changeset 155409 in webkit
- Timestamp:
- Sep 9, 2013, 6:27:23 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 16 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/html/canvas/WebGLRenderingContext.cpp (modified) (1 diff)
-
WebCore/page/Settings.in (modified) (1 diff)
-
WebCore/platform/graphics/GraphicsContext3D.h (modified) (2 diffs)
-
WebCore/platform/graphics/mac/GraphicsContext3DMac.mm (modified) (1 diff)
-
WebKit/mac/ChangeLog (modified) (1 diff)
-
WebKit/mac/WebView/WebPreferenceKeysPrivate.h (modified) (1 diff)
-
WebKit/mac/WebView/WebPreferences.mm (modified) (2 diffs)
-
WebKit/mac/WebView/WebPreferencesPrivate.h (modified) (1 diff)
-
WebKit/mac/WebView/WebView.mm (modified) (1 diff)
-
WebKit2/ChangeLog (modified) (1 diff)
-
WebKit2/Shared/WebPreferencesStore.h (modified) (1 diff)
-
WebKit2/UIProcess/API/C/WKPreferences.cpp (modified) (1 diff)
-
WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (modified) (1 diff)
-
WebKit2/WebProcess/WebPage/WebPage.cpp (modified) (1 diff)
-
WebKit2/mac/WebKit2.order (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r155408 r155409 1 2013-09-09 Dean Jackson <dino@apple.com> 2 3 [WebGL] Allow multithreaded OpenGL contexts 4 https://bugs.webkit.org/show_bug.cgi?id=121062 5 6 Reviewed by Simon Fraser. 7 8 Expose a new preference "multithreadedWebGLEnabled". 9 10 Also examine the value of that preference and, on Mac, 11 tell the CGLContext that it should go to multithreaded mode. 12 13 * html/canvas/WebGLRenderingContext.cpp: 14 (WebCore::WebGLRenderingContext::create): Look at the value of the new setting, and 15 toggle a flag on the context attributes. 16 * page/Settings.in: New Setting "multithreadedWebGLEnabled". 17 * platform/graphics/GraphicsContext3D.h: 18 (WebCore::GraphicsContext3D::Attributes::Attributes): Add a "multithreaded" flag. 19 * platform/graphics/mac/GraphicsContext3DMac.mm: 20 (WebCore::GraphicsContext3D::GraphicsContext3D): If the context attributes 21 suggest we should, tell the OpenGL context to go into multithreaded mode. 22 1 23 2013-09-09 Ryosuke Niwa <rniwa@webkit.org> 2 24 -
trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp
r155262 r155409 430 430 attributes.shareResources = false; 431 431 attributes.preferDiscreteGPU = true; 432 433 if (frame->settings().multithreadedWebGLEnabled()) 434 attributes.multithreaded = true; 432 435 433 436 RefPtr<GraphicsContext3D> context(GraphicsContext3D::create(attributes, hostWindow)); -
trunk/Source/WebCore/page/Settings.in
r153696 r155409 106 106 webGLErrorsToConsoleEnabled initial=true 107 107 openGLMultisamplingEnabled initial=true 108 multithreadedWebGLEnabled initial=false 108 109 privilegedWebGLExtensionsEnabled initial=false 109 110 accelerated2dCanvasEnabled initial=false -
trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h
r155358 r155409 445 445 , shareResources(true) 446 446 , preferDiscreteGPU(false) 447 , multithreaded(false) 447 448 { 448 449 } … … 457 458 bool shareResources; 458 459 bool preferDiscreteGPU; 460 bool multithreaded; 459 461 }; 460 462 -
trunk/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm
r153728 r155409 161 161 // Set the current context to the one given to us. 162 162 CGLSetCurrentContext(m_contextObj); 163 164 if (attrs.multithreaded) { 165 err = CGLEnable(m_contextObj, kCGLCEMPEngine); 166 if (err != kCGLNoError) { 167 // We could not create a multi-threaded context. 168 m_contextObj = 0; 169 return; 170 } 171 } 163 172 164 173 validateAttributes(); -
trunk/Source/WebKit/mac/ChangeLog
r155379 r155409 1 2013-09-09 Dean Jackson <dino@apple.com> 2 3 [WebGL] Allow multithreaded OpenGL contexts 4 https://bugs.webkit.org/show_bug.cgi?id=121062 5 6 Reviewed by Simon Fraser. 7 8 Expose a new preference "multithreadedWebGLEnabled". 9 10 * WebView/WebPreferenceKeysPrivate.h: 11 * WebView/WebPreferences.mm: 12 (+[WebPreferences initialize]): 13 (-[WebPreferences multithreadedWebGLEnabled]): 14 (-[WebPreferences setMultithreadedWebGLEnabled:]): 15 * WebView/WebPreferencesPrivate.h: 16 * WebView/WebView.mm: 17 (-[WebView _preferencesChanged:]): 18 1 19 2013-09-09 Dean Jackson <dino@apple.com> 2 20 -
trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
r153736 r155409 103 103 #define WebKitWebAudioEnabledPreferenceKey @"WebKitWebAudioEnabled" 104 104 #define WebKitWebGLEnabledPreferenceKey @"WebKitWebGLEnabled" 105 #define WebKitMultithreadedWebGLEnabledPreferenceKey @"WebKitMultithreadedWebGLEnabled" 105 106 #define WebKitAccelerated2dCanvasEnabledPreferenceKey @"WebKitAccelerated2dCanvasEnabled" 106 107 #define WebKitFrameFlatteningEnabledPreferenceKey @"WebKitFrameFlatteningEnabled" -
trunk/Source/WebKit/mac/WebView/WebPreferences.mm
r155379 r155409 382 382 [NSNumber numberWithBool:NO], WebKitShowRepaintCounterPreferenceKey, 383 383 [NSNumber numberWithBool:YES], WebKitWebGLEnabledPreferenceKey, 384 [NSNumber numberWithBool:NO], WebKitMultithreadedWebGLEnabledPreferenceKey, 384 385 [NSNumber numberWithBool:NO], WebKitAccelerated2dCanvasEnabledPreferenceKey, 385 386 [NSNumber numberWithBool:NO], WebKitFrameFlatteningEnabledPreferenceKey, … … 1453 1454 } 1454 1455 1456 - (BOOL)multithreadedWebGLEnabled 1457 { 1458 return [self _boolValueForKey:WebKitMultithreadedWebGLEnabledPreferenceKey]; 1459 } 1460 1461 - (void)setMultithreadedWebGLEnabled:(BOOL)enabled 1462 { 1463 [self _setBoolValue:enabled forKey:WebKitMultithreadedWebGLEnabledPreferenceKey]; 1464 } 1465 1455 1466 - (BOOL)accelerated2dCanvasEnabled 1456 1467 { -
trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
r152234 r155409 212 212 - (void)setWebGLEnabled:(BOOL)enabled; 213 213 214 - (BOOL)multithreadedWebGLEnabled; 215 - (void)setMultithreadedWebGLEnabled:(BOOL)enabled; 216 214 217 - (BOOL)accelerated2dCanvasEnabled; 215 218 - (void)setAccelerated2dCanvasEnabled:(BOOL)enabled; -
trunk/Source/WebKit/mac/WebView/WebView.mm
r155164 r155409 1509 1509 settings.setShowRepaintCounter([preferences showRepaintCounter]); 1510 1510 settings.setWebGLEnabled([preferences webGLEnabled]); 1511 settings.setMultithreadedWebGLEnabled([preferences multithreadedWebGLEnabled]); 1511 1512 settings.setAccelerated2dCanvasEnabled([preferences accelerated2dCanvasEnabled]); 1512 1513 settings.setLoadDeferringEnabled(shouldEnableLoadDeferring()); -
trunk/Source/WebKit2/ChangeLog
r155379 r155409 1 2013-09-09 Dean Jackson <dino@apple.com> 2 3 [WebGL] Allow multithreaded OpenGL contexts 4 https://bugs.webkit.org/show_bug.cgi?id=121062 5 6 Reviewed by Simon Fraser. 7 8 Expose a new preference "multithreadedWebGLEnabled". 9 10 * Shared/WebPreferencesStore.h: 11 * UIProcess/API/C/WKPreferences.cpp: 12 (WKPreferencesSetMultithreadedWebGLEnabled): 13 (WKPreferencesGetMultithreadedWebGLEnabled): 14 * UIProcess/API/C/WKPreferencesPrivate.h: 15 * WebProcess/WebPage/WebPage.cpp: 16 (WebKit::WebPage::updatePreferences): 17 * mac/WebKit2.order: 18 1 19 2013-09-09 Dean Jackson <dino@apple.com> 2 20 -
trunk/Source/WebKit2/Shared/WebPreferencesStore.h
r155379 r155409 94 94 macro(CSSCustomFilterEnabled, cssCustomFilterEnabled, Bool, bool, true) \ 95 95 macro(WebGLEnabled, webGLEnabled, Bool, bool, true) \ 96 macro(MultithreadedWebGLEnabled, multithreadedWebGLEnabled, Bool, bool, false) \ 96 97 macro(Accelerated2dCanvasEnabled, accelerated2dCanvasEnabled, Bool, bool, false) \ 97 98 macro(CSSRegionsEnabled, cssRegionsEnabled, Bool, bool, true) \ -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
r152273 r155409 480 480 } 481 481 482 void WKPreferencesSetMultithreadedWebGLEnabled(WKPreferencesRef preferencesRef, bool flag) 483 { 484 toImpl(preferencesRef)->setMultithreadedWebGLEnabled(flag); 485 } 486 487 bool WKPreferencesGetMultithreadedWebGLEnabled(WKPreferencesRef preferencesRef) 488 { 489 return toImpl(preferencesRef)->multithreadedWebGLEnabled(); 490 } 491 482 492 void WKPreferencesSetAccelerated2DCanvasEnabled(WKPreferencesRef preferencesRef, bool flag) 483 493 { -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
r153879 r155409 96 96 WK_EXPORT bool WKPreferencesGetCSSCustomFilterEnabled(WKPreferencesRef); 97 97 98 // Defaults to false.98 // Defaults to true. 99 99 WK_EXPORT void WKPreferencesSetWebGLEnabled(WKPreferencesRef, bool); 100 100 WK_EXPORT bool WKPreferencesGetWebGLEnabled(WKPreferencesRef); 101 102 // Defaults to false. 103 WK_EXPORT void WKPreferencesSetMultithreadedWebGLEnabled(WKPreferencesRef, bool); 104 WK_EXPORT bool WKPreferencesGetMultithreadedWebGLEnabled(WKPreferencesRef); 101 105 102 106 // Defaults to false. -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r155194 r155409 2497 2497 settings.setRegionBasedColumnsEnabled(store.getBoolValueForKey(WebPreferencesKey::regionBasedColumnsEnabledKey())); 2498 2498 settings.setWebGLEnabled(store.getBoolValueForKey(WebPreferencesKey::webGLEnabledKey())); 2499 settings.setMultithreadedWebGLEnabled(store.getBoolValueForKey(WebPreferencesKey::multithreadedWebGLEnabledKey())); 2499 2500 settings.setAccelerated2dCanvasEnabled(store.getBoolValueForKey(WebPreferencesKey::accelerated2dCanvasEnabledKey())); 2500 2501 settings.setMediaPlaybackRequiresUserGesture(store.getBoolValueForKey(WebPreferencesKey::mediaPlaybackRequiresUserGestureKey())); -
trunk/Source/WebKit2/mac/WebKit2.order
r153775 r155409 192 192 __ZN6WebKit17WebPreferencesKey25cssCustomFilterEnabledKeyEv 193 193 __ZN6WebKit17WebPreferencesKey15webGLEnabledKeyEv 194 __ZN6WebKit17WebPreferencesKey28multithreadedWebGLEnabledKeyEv 194 195 __ZN6WebKit17WebPreferencesKey29accelerated2dCanvasEnabledKeyEv 195 196 __ZN6WebKit17WebPreferencesKey20cssRegionsEnabledKeyEv … … 469 470 _WKPreferencesSetWebGLEnabled 470 471 __ZN6WebKit14WebPreferences15setWebGLEnabledERKb 472 _WKPreferencesSetMultithreadedWebGLEnabled 473 __ZN6WebKit14WebPreferences28setMultithreadedWebGLEnabledERKb 471 474 _WKMutableArrayCreate 472 475 __ZN6WebKit12MutableArrayC1Ev … … 7802 7805 _WKPreferencesGetWebGLEnabled 7803 7806 __ZNK6WebKit14WebPreferences12webGLEnabledEv 7807 _WKPreferencesGetMultithreadedWebGLEnabled 7808 __ZNK6WebKit14WebPreferences25multithreadedWebGLEnabledEv 7804 7809 _WKPageCopyCustomUserAgent 7805 7810 _WKPageReload
Note:
See TracChangeset
for help on using the changeset viewer.