OLD | NEW |
---|---|
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #include "SkTypes.h" | 8 #include "SkTypes.h" |
9 | 9 |
10 #if defined(SK_BUILD_FOR_WIN) | 10 #if defined(SK_BUILD_FOR_WIN) |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
389 } | 389 } |
390 | 390 |
391 void SkOSWindow::presentGL() { | 391 void SkOSWindow::presentGL() { |
392 HDC dc = GetDC((HWND)fHWND); | 392 HDC dc = GetDC((HWND)fHWND); |
393 SwapBuffers(dc); | 393 SwapBuffers(dc); |
394 ReleaseDC((HWND)fHWND, dc); | 394 ReleaseDC((HWND)fHWND, dc); |
395 } | 395 } |
396 | 396 |
397 #if SK_ANGLE | 397 #if SK_ANGLE |
398 | 398 |
399 void* get_angle_egl_display(void* nativeDisplay) { | |
jvanverth1
2016/03/29 14:45:09
Where is this used?
bsalomon
2016/03/29 17:07:59
I think something got lost when rebasing. I added
| |
400 PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT; | |
401 eglGetPlatformDisplayEXT = | |
402 (PFNEGLGETPLATFORMDISPLAYEXTPROC)eglGetProcAddress("eglGetPlatformDispla yEXT"); | |
403 | |
404 // We expect ANGLE to support this extension | |
405 if (!eglGetPlatformDisplayEXT) { | |
406 return EGL_NO_DISPLAY; | |
407 } | |
408 | |
409 EGLDisplay display = EGL_NO_DISPLAY; | |
410 // Try for an ANGLE D3D11 context, fall back to D3D9, and finally GL. | |
411 EGLint attribs[3][3] = { | |
412 { | |
413 EGL_PLATFORM_ANGLE_TYPE_ANGLE, | |
414 EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, | |
415 EGL_NONE | |
416 }, | |
417 { | |
418 EGL_PLATFORM_ANGLE_TYPE_ANGLE, | |
419 EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE, | |
420 EGL_NONE | |
421 }, | |
422 }; | |
423 for (int i = 0; i < 3 && display == EGL_NO_DISPLAY; ++i) { | |
424 display = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE,nativeDispla y, attribs[i]); | |
425 } | |
426 return display; | |
427 } | |
428 | |
399 bool create_ANGLE(EGLNativeWindowType hWnd, | 429 bool create_ANGLE(EGLNativeWindowType hWnd, |
400 int msaaSampleCount, | 430 int msaaSampleCount, |
401 EGLDisplay* eglDisplay, | 431 EGLDisplay* eglDisplay, |
402 EGLContext* eglContext, | 432 EGLContext* eglContext, |
403 EGLSurface* eglSurface, | 433 EGLSurface* eglSurface, |
404 EGLConfig* eglConfig) { | 434 EGLConfig* eglConfig) { |
405 static const EGLint contextAttribs[] = { | 435 static const EGLint contextAttribs[] = { |
406 EGL_CONTEXT_CLIENT_VERSION, 2, | 436 EGL_CONTEXT_CLIENT_VERSION, 2, |
407 EGL_NONE, EGL_NONE | 437 EGL_NONE, EGL_NONE |
408 }; | 438 }; |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
771 } | 801 } |
772 | 802 |
773 void SkOSWindow::closeWindow() { | 803 void SkOSWindow::closeWindow() { |
774 DestroyWindow((HWND)fHWND); | 804 DestroyWindow((HWND)fHWND); |
775 if (fFullscreen) { | 805 if (fFullscreen) { |
776 DestroyWindow((HWND)fSavedWindowState.fHWND); | 806 DestroyWindow((HWND)fSavedWindowState.fHWND); |
777 } | 807 } |
778 gHwndToOSWindowMap.remove(fHWND); | 808 gHwndToOSWindowMap.remove(fHWND); |
779 } | 809 } |
780 #endif | 810 #endif |
OLD | NEW |