Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: gpu/command_buffer_gles2/command_buffer_egl.cc

Issue 1220883008: Add command_buffer_gles2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: needed an additional function for skia Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
no sievers 2015/08/27 19:21:28 nit: 'Copyright 2015'
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <EGL/egl.h>
6
7 #include "base/at_exit.h"
8 #include "base/lazy_instance.h"
9 #include "gpu/command_buffer_gles2/command_buffer_gles2_export.h"
10 #include "ui/gl/gl_implementation.h"
11
12 base::LazyInstance<base::AtExitManager> exit_manager =
no sievers 2015/08/27 19:21:28 That's interesting. Doesn't LazyInstance register
hendrikw 2015/08/27 20:34:44 Huh, yeah, don't know why I didn't think of that :
no sievers 2015/08/27 22:02:25 Does it work if you just allocate and free it from
hendrikw 2015/08/28 16:01:51 Not really, the pair of functions are called once
no sievers 2015/08/28 17:59:31 How about making your main shell/test setup functi
hendrikw 2015/08/28 18:10:24 You mean Skia's testing framework? It doesn't hav
13 LAZY_INSTANCE_INITIALIZER;
14
15 extern "C" {
16
17 EGLDisplay GPU_COMMAND_BUFER_EGL_EXPORT
no sievers 2015/08/27 19:21:28 nit: GPU_COMMAND_BUFER_EGL_EXPORT -> GPU_COMMAND_B
hendrikw 2015/08/27 20:34:44 ew, bad. Done, Thanks!
18 CommandBuffer_GetDisplay(EGLNativeDisplayType display_id) {
19 return eglGetDisplay(display_id);
20 }
21
22 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
23 CommandBuffer_Initialize(EGLDisplay dpy, EGLint* major, EGLint* minor) {
24 exit_manager.Get();
25 EGLBoolean result = eglInitialize(dpy, major, minor);
26 DCHECK(gfx::GetGLImplementation() != gfx::kGLImplementationNone);
27 return result;
28 }
29
30 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
31 CommandBuffer_Terminate(EGLDisplay dpy) {
32 return eglTerminate(dpy);
33 }
34
35 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
36 CommandBuffer_ChooseConfig(EGLDisplay dpy,
37 const EGLint* attrib_list,
38 EGLConfig* configs,
39 EGLint config_size,
40 EGLint* num_config) {
41 return eglChooseConfig(dpy, attrib_list, configs, config_size, num_config);
42 }
43
44 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
45 CommandBuffer_GetConfigAttrib(EGLDisplay dpy,
46 EGLConfig config,
47 EGLint attribute,
48 EGLint* value) {
49 return eglGetConfigAttrib(dpy, config, attribute, value);
50 }
51
52 EGLSurface GPU_COMMAND_BUFER_EGL_EXPORT
53 CommandBuffer_CreateWindowSurface(EGLDisplay dpy,
54 EGLConfig config,
55 EGLNativeWindowType win,
56 const EGLint* attrib_list) {
57 return eglCreateWindowSurface(dpy, config, win, attrib_list);
58 }
59
60 EGLSurface GPU_COMMAND_BUFER_EGL_EXPORT
61 CommandBuffer_CreatePbufferSurface(EGLDisplay dpy,
62 EGLConfig config,
63 const EGLint* attrib_list) {
64 return eglCreatePbufferSurface(dpy, config, attrib_list);
65 }
66
67 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
68 CommandBuffer_DestroySurface(EGLDisplay dpy, EGLSurface surface) {
69 return eglDestroySurface(dpy, surface);
70 }
71
72 EGLContext GPU_COMMAND_BUFER_EGL_EXPORT
73 CommandBuffer_CreateContext(EGLDisplay dpy,
74 EGLConfig config,
75 EGLContext share_context,
76 const EGLint* attrib_list) {
77 return eglCreateContext(dpy, config, share_context, attrib_list);
78 }
79
80 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
81 CommandBuffer_DestroyContext(EGLDisplay dpy, EGLContext ctx) {
82 return eglDestroyContext(dpy, ctx);
83 }
84
85 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
86 CommandBuffer_MakeCurrent(EGLDisplay dpy,
87 EGLSurface draw,
88 EGLSurface read,
89 EGLContext ctx) {
90 return eglMakeCurrent(dpy, draw, read, ctx);
91 }
92
93 EGLBoolean GPU_COMMAND_BUFER_EGL_EXPORT
94 CommandBuffer_SwapBuffers(EGLDisplay dpy, EGLSurface surface) {
95 return eglSwapBuffers(dpy, surface);
96 }
97
98 __eglMustCastToProperFunctionPointerType GPU_COMMAND_BUFER_EGL_EXPORT
99 CommandBuffer_GetProcAddress(const char* procname) {
100 return eglGetProcAddress(procname);
101 }
102 } // extern "C"
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698