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

Side by Side Diff: gpu/gles2_conform_support/egl/egl.cc

Issue 1311583006: Revert of Add command_buffer_gles2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « gpu/gles2_conform_support/egl/display.cc ('k') | gpu/gpu.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <EGL/egl.h> 5 #include <EGL/egl.h>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "gpu/command_buffer/client/gles2_lib.h" 8 #include "gpu/command_buffer/client/gles2_lib.h"
9 #include "gpu/gles2_conform_support/egl/display.h" 9 #include "gpu/gles2_conform_support/egl/display.h"
10 #include "ui/gl/gl_context.h" 10 #include "ui/gl/gl_context.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 78
79 egl::Display* display = static_cast<egl::Display*>(dpy); 79 egl::Display* display = static_cast<egl::Display*>(dpy);
80 if (!display->IsValidContext(context)) 80 if (!display->IsValidContext(context))
81 return EGL_BAD_CONTEXT; 81 return EGL_BAD_CONTEXT;
82 82
83 return EGL_SUCCESS; 83 return EGL_SUCCESS;
84 } 84 }
85 } // namespace 85 } // namespace
86 86
87 extern "C" { 87 extern "C" {
88 EGLAPI EGLint EGLAPIENTRY eglGetError() { 88 EGLint eglGetError() {
89 // TODO(alokp): Fix me. 89 // TODO(alokp): Fix me.
90 return EGL_SUCCESS; 90 return EGL_SUCCESS;
91 } 91 }
92 92
93 EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id) { 93 EGLDisplay eglGetDisplay(EGLNativeDisplayType display_id) {
94 return new egl::Display(display_id); 94 return new egl::Display(display_id);
95 } 95 }
96 96
97 EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, 97 EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor) {
98 EGLint* major,
99 EGLint* minor) {
100 if (dpy == EGL_NO_DISPLAY) 98 if (dpy == EGL_NO_DISPLAY)
101 return EglError(EGL_BAD_DISPLAY, EGL_FALSE); 99 return EglError(EGL_BAD_DISPLAY, EGL_FALSE);
102 100
103 egl::Display* display = static_cast<egl::Display*>(dpy); 101 egl::Display* display = static_cast<egl::Display*>(dpy);
104 if (!display->Initialize()) 102 if (!display->Initialize())
105 return EglError(EGL_NOT_INITIALIZED, EGL_FALSE); 103 return EglError(EGL_NOT_INITIALIZED, EGL_FALSE);
106 104
107 // eglInitialize can be called multiple times, prevent InitializeOneOff from 105 int argc = 1;
108 // being called multiple times. 106 const char* const argv[] = {
109 if (gfx::GetGLImplementation() == gfx::kGLImplementationNone) { 107 "dummy"
110 int argc = 1; 108 };
111 const char* const argv[] = {"dummy"}; 109 base::CommandLine::Init(argc, argv);
112 base::CommandLine::Init(argc, argv); 110 gfx::GLSurface::InitializeOneOff();
113 gfx::GLSurface::InitializeOneOff();
114 }
115 111
116 *major = 1; 112 *major = 1;
117 *minor = 4; 113 *minor = 4;
118 return EglSuccess(EGL_TRUE); 114 return EglSuccess(EGL_TRUE);
119 } 115 }
120 116
121 EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy) { 117 EGLBoolean eglTerminate(EGLDisplay dpy) {
122 EGLint error_code = ValidateDisplay(dpy); 118 EGLint error_code = ValidateDisplay(dpy);
123 if (error_code != EGL_SUCCESS) 119 if (error_code != EGL_SUCCESS)
124 return EglError(error_code, EGL_FALSE); 120 return EglError(error_code, EGL_FALSE);
125 121
126 egl::Display* display = static_cast<egl::Display*>(dpy); 122 egl::Display* display = static_cast<egl::Display*>(dpy);
127 delete display; 123 delete display;
128 124
129 return EglSuccess(EGL_TRUE); 125 return EglSuccess(EGL_TRUE);
130 } 126 }
131 127
132 EGLAPI const char* EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name) { 128 const char* eglQueryString(EGLDisplay dpy, EGLint name) {
133 EGLint error_code = ValidateDisplay(dpy); 129 EGLint error_code = ValidateDisplay(dpy);
134 if (error_code != EGL_SUCCESS) 130 if (error_code != EGL_SUCCESS)
135 return EglError(error_code, static_cast<const char*>(NULL)); 131 return EglError(error_code, static_cast<const char*>(NULL));
136 132
137 switch (name) { 133 switch (name) {
138 case EGL_CLIENT_APIS: 134 case EGL_CLIENT_APIS:
139 return EglSuccess("OpenGL_ES"); 135 return EglSuccess("OpenGL_ES");
140 case EGL_EXTENSIONS: 136 case EGL_EXTENSIONS:
141 return EglSuccess(""); 137 return EglSuccess("");
142 case EGL_VENDOR: 138 case EGL_VENDOR:
143 return EglSuccess("Google Inc."); 139 return EglSuccess("Google Inc.");
144 case EGL_VERSION: 140 case EGL_VERSION:
145 return EglSuccess("1.4"); 141 return EglSuccess("1.4");
146 default: 142 default:
147 return EglError(EGL_BAD_PARAMETER, static_cast<const char*>(NULL)); 143 return EglError(EGL_BAD_PARAMETER, static_cast<const char*>(NULL));
148 } 144 }
149 } 145 }
150 146
151 EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, 147 EGLBoolean eglChooseConfig(EGLDisplay dpy,
152 const EGLint* attrib_list, 148 const EGLint* attrib_list,
153 EGLConfig* configs, 149 EGLConfig* configs,
154 EGLint config_size, 150 EGLint config_size,
155 EGLint* num_config) { 151 EGLint* num_config) {
156 EGLint error_code = ValidateDisplay(dpy); 152 EGLint error_code = ValidateDisplay(dpy);
157 if (error_code != EGL_SUCCESS) 153 if (error_code != EGL_SUCCESS)
158 return EglError(error_code, EGL_FALSE); 154 return EglError(error_code, EGL_FALSE);
159 155
160 if (num_config == NULL) 156 if (num_config == NULL)
161 return EglError(EGL_BAD_PARAMETER, EGL_FALSE); 157 return EglError(EGL_BAD_PARAMETER, EGL_FALSE);
162 158
163 egl::Display* display = static_cast<egl::Display*>(dpy); 159 egl::Display* display = static_cast<egl::Display*>(dpy);
164 if (!display->ChooseConfigs(configs, config_size, num_config)) 160 if (!display->ChooseConfigs(configs, config_size, num_config))
165 return EglError(EGL_BAD_ATTRIBUTE, EGL_FALSE); 161 return EglError(EGL_BAD_ATTRIBUTE, EGL_FALSE);
166 162
167 return EglSuccess(EGL_TRUE); 163 return EglSuccess(EGL_TRUE);
168 } 164 }
169 165
170 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, 166 EGLBoolean eglGetConfigs(EGLDisplay dpy,
171 EGLConfig* configs, 167 EGLConfig* configs,
172 EGLint config_size, 168 EGLint config_size,
173 EGLint* num_config) { 169 EGLint* num_config) {
174 EGLint error_code = ValidateDisplay(dpy); 170 EGLint error_code = ValidateDisplay(dpy);
175 if (error_code != EGL_SUCCESS) 171 if (error_code != EGL_SUCCESS)
176 return EglError(error_code, EGL_FALSE); 172 return EglError(error_code, EGL_FALSE);
177 173
178 if (num_config == NULL) 174 if (num_config == NULL)
179 return EglError(EGL_BAD_PARAMETER, EGL_FALSE); 175 return EglError(EGL_BAD_PARAMETER, EGL_FALSE);
180 176
181 egl::Display* display = static_cast<egl::Display*>(dpy); 177 egl::Display* display = static_cast<egl::Display*>(dpy);
182 if (!display->GetConfigs(configs, config_size, num_config)) 178 if (!display->GetConfigs(configs, config_size, num_config))
183 return EglError(EGL_BAD_ATTRIBUTE, EGL_FALSE); 179 return EglError(EGL_BAD_ATTRIBUTE, EGL_FALSE);
184 180
185 return EglSuccess(EGL_TRUE); 181 return EglSuccess(EGL_TRUE);
186 } 182 }
187 183
188 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, 184 EGLBoolean eglGetConfigAttrib(EGLDisplay dpy,
189 EGLConfig config, 185 EGLConfig config,
190 EGLint attribute, 186 EGLint attribute,
191 EGLint* value) { 187 EGLint* value) {
192 EGLint error_code = ValidateDisplayConfig(dpy, config); 188 EGLint error_code = ValidateDisplayConfig(dpy, config);
193 if (error_code != EGL_SUCCESS) 189 if (error_code != EGL_SUCCESS)
194 return EglError(error_code, EGL_FALSE); 190 return EglError(error_code, EGL_FALSE);
195 191
196 egl::Display* display = static_cast<egl::Display*>(dpy); 192 egl::Display* display = static_cast<egl::Display*>(dpy);
197 if (!display->GetConfigAttrib(config, attribute, value)) 193 if (!display->GetConfigAttrib(config, attribute, value))
198 return EglError(EGL_BAD_ATTRIBUTE, EGL_FALSE); 194 return EglError(EGL_BAD_ATTRIBUTE, EGL_FALSE);
199 195
200 return EglSuccess(EGL_TRUE); 196 return EglSuccess(EGL_TRUE);
201 } 197 }
202 198
203 EGLAPI EGLSurface EGLAPIENTRY 199 EGLSurface eglCreateWindowSurface(EGLDisplay dpy,
204 eglCreateWindowSurface(EGLDisplay dpy, 200 EGLConfig config,
205 EGLConfig config, 201 EGLNativeWindowType win,
206 EGLNativeWindowType win, 202 const EGLint* attrib_list) {
207 const EGLint* attrib_list) {
208 EGLint error_code = ValidateDisplayConfig(dpy, config); 203 EGLint error_code = ValidateDisplayConfig(dpy, config);
209 if (error_code != EGL_SUCCESS) 204 if (error_code != EGL_SUCCESS)
210 return EglError(error_code, EGL_NO_SURFACE); 205 return EglError(error_code, EGL_NO_SURFACE);
211 206
212 egl::Display* display = static_cast<egl::Display*>(dpy); 207 egl::Display* display = static_cast<egl::Display*>(dpy);
213 if (!display->IsValidNativeWindow(win)) 208 if (!display->IsValidNativeWindow(win))
214 return EglError(EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE); 209 return EglError(EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE);
215 210
216 EGLSurface surface = display->CreateWindowSurface(config, win, attrib_list); 211 EGLSurface surface = display->CreateWindowSurface(config, win, attrib_list);
217 if (surface == EGL_NO_SURFACE) 212 if (surface == EGL_NO_SURFACE)
218 return EglError(EGL_BAD_ALLOC, EGL_NO_SURFACE); 213 return EglError(EGL_BAD_ALLOC, EGL_NO_SURFACE);
219 214
220 return EglSuccess(surface); 215 return EglSuccess(surface);
221 } 216 }
222 217
223 EGLAPI EGLSurface EGLAPIENTRY 218 EGLSurface eglCreatePbufferSurface(EGLDisplay dpy,
224 eglCreatePbufferSurface(EGLDisplay dpy, 219 EGLConfig config,
225 EGLConfig config, 220 const EGLint* attrib_list) {
226 const EGLint* attrib_list) {
227 EGLint error_code = ValidateDisplayConfig(dpy, config); 221 EGLint error_code = ValidateDisplayConfig(dpy, config);
228 if (error_code != EGL_SUCCESS) 222 if (error_code != EGL_SUCCESS)
229 return EglError(error_code, EGL_NO_SURFACE); 223 return EglError(error_code, EGL_NO_SURFACE);
230 224
231 egl::Display* display = static_cast<egl::Display*>(dpy); 225 egl::Display* display = static_cast<egl::Display*>(dpy);
232 int width = 1; 226 int width = 1;
233 int height = 1; 227 int height = 1;
234 if (attrib_list) { 228 if (attrib_list) {
235 for (const int32_t* attr = attrib_list; attr[0] != EGL_NONE; attr += 2) { 229 for (const int32_t* attr = attrib_list; attr[0] != EGL_NONE; attr += 2) {
236 switch (attr[0]) { 230 switch (attr[0]) {
237 case EGL_WIDTH: 231 case EGL_WIDTH:
238 width = attr[1]; 232 width = attr[1];
239 break; 233 break;
240 case EGL_HEIGHT: 234 case EGL_HEIGHT:
241 height = attr[1]; 235 height = attr[1];
242 break; 236 break;
243 } 237 }
244 } 238 }
245 } 239 }
246 display->SetCreateOffscreen(width, height); 240 display->SetCreateOffscreen(width, height);
247 241
248 EGLSurface surface = display->CreateWindowSurface(config, 0, attrib_list); 242 EGLSurface surface = display->CreateWindowSurface(config, 0, attrib_list);
249 if (surface == EGL_NO_SURFACE) 243 if (surface == EGL_NO_SURFACE)
250 return EglError(EGL_BAD_ALLOC, EGL_NO_SURFACE); 244 return EglError(EGL_BAD_ALLOC, EGL_NO_SURFACE);
251 245
252 return EglSuccess(surface); 246 return EglSuccess(surface);
253 } 247 }
254 248
255 EGLAPI EGLSurface EGLAPIENTRY 249 EGLSurface eglCreatePixmapSurface(EGLDisplay dpy,
256 eglCreatePixmapSurface(EGLDisplay dpy, 250 EGLConfig config,
257 EGLConfig config, 251 EGLNativePixmapType pixmap,
258 EGLNativePixmapType pixmap, 252 const EGLint* attrib_list) {
259 const EGLint* attrib_list) {
260 return EGL_NO_SURFACE; 253 return EGL_NO_SURFACE;
261 } 254 }
262 255
263 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, 256 EGLBoolean eglDestroySurface(EGLDisplay dpy,
264 EGLSurface surface) { 257 EGLSurface surface) {
265 EGLint error_code = ValidateDisplaySurface(dpy, surface); 258 EGLint error_code = ValidateDisplaySurface(dpy, surface);
266 if (error_code != EGL_SUCCESS) 259 if (error_code != EGL_SUCCESS)
267 return EglError(error_code, EGL_FALSE); 260 return EglError(error_code, EGL_FALSE);
268 261
269 egl::Display* display = static_cast<egl::Display*>(dpy); 262 egl::Display* display = static_cast<egl::Display*>(dpy);
270 display->DestroySurface(surface); 263 display->DestroySurface(surface);
271 return EglSuccess(EGL_TRUE); 264 return EglSuccess(EGL_TRUE);
272 } 265 }
273 266
274 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, 267 EGLBoolean eglQuerySurface(EGLDisplay dpy,
275 EGLSurface surface, 268 EGLSurface surface,
276 EGLint attribute, 269 EGLint attribute,
277 EGLint* value) { 270 EGLint* value) {
278 return EGL_FALSE; 271 return EGL_FALSE;
279 } 272 }
280 273
281 EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api) { 274 EGLBoolean eglBindAPI(EGLenum api) {
282 return EGL_FALSE; 275 return EGL_FALSE;
283 } 276 }
284 277
285 EGLAPI EGLenum EGLAPIENTRY eglQueryAPI() { 278 EGLenum eglQueryAPI() {
286 return EGL_OPENGL_ES_API; 279 return EGL_OPENGL_ES_API;
287 } 280 }
288 281
289 EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void) { 282 EGLBoolean eglWaitClient(void) {
290 return EGL_FALSE; 283 return EGL_FALSE;
291 } 284 }
292 285
293 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void) { 286 EGLBoolean eglReleaseThread(void) {
294 return EGL_FALSE; 287 return EGL_FALSE;
295 } 288 }
296 289
297 EGLAPI EGLSurface EGLAPIENTRY 290 EGLSurface eglCreatePbufferFromClientBuffer(EGLDisplay dpy,
298 eglCreatePbufferFromClientBuffer(EGLDisplay dpy, 291 EGLenum buftype,
299 EGLenum buftype, 292 EGLClientBuffer buffer,
300 EGLClientBuffer buffer, 293 EGLConfig config,
301 EGLConfig config, 294 const EGLint* attrib_list) {
302 const EGLint* attrib_list) {
303 return EGL_NO_SURFACE; 295 return EGL_NO_SURFACE;
304 } 296 }
305 297
306 EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, 298 EGLBoolean eglSurfaceAttrib(EGLDisplay dpy,
307 EGLSurface surface, 299 EGLSurface surface,
308 EGLint attribute, 300 EGLint attribute,
309 EGLint value) { 301 EGLint value) {
310 return EGL_FALSE; 302 return EGL_FALSE;
311 } 303 }
312 304
313 EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, 305 EGLBoolean eglBindTexImage(EGLDisplay dpy,
314 EGLSurface surface, 306 EGLSurface surface,
315 EGLint buffer) { 307 EGLint buffer) {
316 return EGL_FALSE; 308 return EGL_FALSE;
317 } 309 }
318 310
319 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, 311 EGLBoolean eglReleaseTexImage(EGLDisplay dpy,
320 EGLSurface surface, 312 EGLSurface surface,
321 EGLint buffer) { 313 EGLint buffer) {
322 return EGL_FALSE; 314 return EGL_FALSE;
323 } 315 }
324 316
325 EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval) { 317 EGLBoolean eglSwapInterval(EGLDisplay dpy, EGLint interval) {
326 return EGL_FALSE; 318 return EGL_FALSE;
327 } 319 }
328 320
329 EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, 321 EGLContext eglCreateContext(EGLDisplay dpy,
330 EGLConfig config, 322 EGLConfig config,
331 EGLContext share_context, 323 EGLContext share_context,
332 const EGLint* attrib_list) { 324 const EGLint* attrib_list) {
333 EGLint error_code = ValidateDisplayConfig(dpy, config); 325 EGLint error_code = ValidateDisplayConfig(dpy, config);
334 if (error_code != EGL_SUCCESS) 326 if (error_code != EGL_SUCCESS)
335 return EglError(error_code, EGL_NO_CONTEXT); 327 return EglError(error_code, EGL_NO_CONTEXT);
336 328
337 if (share_context != EGL_NO_CONTEXT) { 329 if (share_context != EGL_NO_CONTEXT) {
338 error_code = ValidateDisplayContext(dpy, share_context); 330 error_code = ValidateDisplayContext(dpy, share_context);
339 if (error_code != EGL_SUCCESS) 331 if (error_code != EGL_SUCCESS)
340 return EglError(error_code, EGL_NO_CONTEXT); 332 return EglError(error_code, EGL_NO_CONTEXT);
341 } 333 }
342 334
343 egl::Display* display = static_cast<egl::Display*>(dpy); 335 egl::Display* display = static_cast<egl::Display*>(dpy);
344 EGLContext context = display->CreateContext( 336 EGLContext context = display->CreateContext(
345 config, share_context, attrib_list); 337 config, share_context, attrib_list);
346 if (context == EGL_NO_CONTEXT) 338 if (context == EGL_NO_CONTEXT)
347 return EglError(EGL_BAD_ALLOC, EGL_NO_CONTEXT); 339 return EglError(EGL_BAD_ALLOC, EGL_NO_CONTEXT);
348 340
349 return EglSuccess(context); 341 return EglSuccess(context);
350 } 342 }
351 343
352 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, 344 EGLBoolean eglDestroyContext(EGLDisplay dpy, EGLContext ctx) {
353 EGLContext ctx) {
354 EGLint error_code = ValidateDisplayContext(dpy, ctx); 345 EGLint error_code = ValidateDisplayContext(dpy, ctx);
355 if (error_code != EGL_SUCCESS) 346 if (error_code != EGL_SUCCESS)
356 return EglError(error_code, EGL_FALSE); 347 return EglError(error_code, EGL_FALSE);
357 348
358 egl::Display* display = static_cast<egl::Display*>(dpy); 349 egl::Display* display = static_cast<egl::Display*>(dpy);
359 display->DestroyContext(ctx); 350 display->DestroyContext(ctx);
360 return EGL_TRUE; 351 return EGL_TRUE;
361 } 352 }
362 353
363 EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, 354 EGLBoolean eglMakeCurrent(EGLDisplay dpy,
364 EGLSurface draw, 355 EGLSurface draw,
365 EGLSurface read, 356 EGLSurface read,
366 EGLContext ctx) { 357 EGLContext ctx) {
367 if (ctx != EGL_NO_CONTEXT) { 358 if (ctx != EGL_NO_CONTEXT) {
368 EGLint error_code = ValidateDisplaySurface(dpy, draw); 359 EGLint error_code = ValidateDisplaySurface(dpy, draw);
369 if (error_code != EGL_SUCCESS) 360 if (error_code != EGL_SUCCESS)
370 return EglError(error_code, EGL_FALSE); 361 return EglError(error_code, EGL_FALSE);
371 error_code = ValidateDisplaySurface(dpy, read); 362 error_code = ValidateDisplaySurface(dpy, read);
372 if (error_code != EGL_SUCCESS) 363 if (error_code != EGL_SUCCESS)
373 return EglError(error_code, EGL_FALSE); 364 return EglError(error_code, EGL_FALSE);
374 error_code = ValidateDisplayContext(dpy, ctx); 365 error_code = ValidateDisplayContext(dpy, ctx);
375 if (error_code != EGL_SUCCESS) 366 if (error_code != EGL_SUCCESS)
376 return EglError(error_code, EGL_FALSE); 367 return EglError(error_code, EGL_FALSE);
377 } 368 }
378 369
379 egl::Display* display = static_cast<egl::Display*>(dpy); 370 egl::Display* display = static_cast<egl::Display*>(dpy);
380 if (!display->MakeCurrent(draw, read, ctx)) 371 if (!display->MakeCurrent(draw, read, ctx))
381 return EglError(EGL_CONTEXT_LOST, EGL_FALSE); 372 return EglError(EGL_CONTEXT_LOST, EGL_FALSE);
382 373
383 #if REGAL_STATIC_EGL 374 #if REGAL_STATIC_EGL
384 RegalMakeCurrent(ctx); 375 RegalMakeCurrent(ctx);
385 #endif 376 #endif
386 377
387 return EGL_TRUE; 378 return EGL_TRUE;
388 } 379 }
389 380
390 EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext() { 381 EGLContext eglGetCurrentContext() {
391 return EGL_NO_CONTEXT; 382 return EGL_NO_CONTEXT;
392 } 383 }
393 384
394 EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw) { 385 EGLSurface eglGetCurrentSurface(EGLint readdraw) {
395 return EGL_NO_SURFACE; 386 return EGL_NO_SURFACE;
396 } 387 }
397 388
398 EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay() { 389 EGLDisplay eglGetCurrentDisplay() {
399 return EGL_NO_DISPLAY; 390 return EGL_NO_DISPLAY;
400 } 391 }
401 392
402 EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, 393 EGLBoolean eglQueryContext(EGLDisplay dpy,
403 EGLContext ctx, 394 EGLContext ctx,
404 EGLint attribute, 395 EGLint attribute,
405 EGLint* value) { 396 EGLint* value) {
406 return EGL_FALSE; 397 return EGL_FALSE;
407 } 398 }
408 399
409 EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL() { 400 EGLBoolean eglWaitGL() {
410 return EGL_FALSE; 401 return EGL_FALSE;
411 } 402 }
412 403
413 EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine) { 404 EGLBoolean eglWaitNative(EGLint engine) {
414 return EGL_FALSE; 405 return EGL_FALSE;
415 } 406 }
416 407
417 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, 408 EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface) {
418 EGLSurface surface) {
419 EGLint error_code = ValidateDisplaySurface(dpy, surface); 409 EGLint error_code = ValidateDisplaySurface(dpy, surface);
420 if (error_code != EGL_SUCCESS) 410 if (error_code != EGL_SUCCESS)
421 return EglError(error_code, EGL_FALSE); 411 return EglError(error_code, EGL_FALSE);
422 412
423 egl::Display* display = static_cast<egl::Display*>(dpy); 413 egl::Display* display = static_cast<egl::Display*>(dpy);
424 display->SwapBuffers(surface); 414 display->SwapBuffers(surface);
425 return EglSuccess(EGL_TRUE); 415 return EglSuccess(EGL_TRUE);
426 } 416 }
427 417
428 EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, 418 EGLBoolean eglCopyBuffers(EGLDisplay dpy,
429 EGLSurface surface, 419 EGLSurface surface,
430 EGLNativePixmapType target) { 420 EGLNativePixmapType target) {
431 return EGL_FALSE; 421 return EGL_FALSE;
432 } 422 }
433 423
434 /* Now, define eglGetProcAddress using the generic function ptr. type */ 424 /* Now, define eglGetProcAddress using the generic function ptr. type */
435 EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY 425 __eglMustCastToProperFunctionPointerType
436 eglGetProcAddress(const char* procname) { 426 eglGetProcAddress(const char* procname) {
437 return reinterpret_cast<__eglMustCastToProperFunctionPointerType>( 427 return reinterpret_cast<__eglMustCastToProperFunctionPointerType>(
438 gles2::GetGLFunctionPointer(procname)); 428 gles2::GetGLFunctionPointer(procname));
439 } 429 }
440 } // extern "C" 430 } // extern "C"
OLDNEW
« no previous file with comments | « gpu/gles2_conform_support/egl/display.cc ('k') | gpu/gpu.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698