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

Side by Side Diff: ui/gfx/gl/gl_bindings_skia_in_process.cc

Issue 7756004: Create a new GrGLInterface for each GrContext so callback can be used to set GL-context (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: switch machines Created 9 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 | Annotate | Revision Log
« no previous file with comments | « ui/gfx/gl/gl_bindings_skia_in_process.h ('k') | webkit/glue/gl_bindings_skia_cmd_buffer.h » ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 5
6 #include "ui/gfx/gl/gl_bindings_skia_in_process.h" 6 #include "ui/gfx/gl/gl_bindings_skia_in_process.h"
7 7
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "ui/gfx/gl/gl_bindings.h" 9 #include "ui/gfx/gl/gl_bindings.h"
10 #include "ui/gfx/gl/gl_implementation.h" 10 #include "ui/gfx/gl/gl_implementation.h"
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 } 462 }
463 463
464 GLvoid StubGLViewport(GLint x, GLint y, GLsizei width, GLsizei height) { 464 GLvoid StubGLViewport(GLint x, GLint y, GLsizei width, GLsizei height) {
465 glViewport(x, y, width, height); 465 glViewport(x, y, width, height);
466 } 466 }
467 } // extern "C" 467 } // extern "C"
468 } // namespace 468 } // namespace
469 469
470 namespace gfx { 470 namespace gfx {
471 471
472 GrGLInterface* GetInProcessSkiaGLBinding() { 472 GrGLInterface* CreateInProcessSkiaGLBinding() {
473 static SkAutoTUnref<GrGLInterface> host_gl_interface; 473 GrGLBinding binding;
474 if (NULL == host_gl_interface.get()) { 474 switch (gfx::GetGLImplementation()) {
475 GrGLBinding binding; 475 case gfx::kGLImplementationNone:
476 switch (gfx::GetGLImplementation()) { 476 NOTREACHED();
477 case gfx::kGLImplementationNone: 477 return NULL;
478 NOTREACHED(); 478 case gfx::kGLImplementationDesktopGL:
479 return NULL; 479 binding = kDesktop_GrGLBinding;
480 case gfx::kGLImplementationDesktopGL: 480 break;
481 binding = kDesktop_GrGLBinding; 481 case gfx::kGLImplementationOSMesaGL:
482 break; 482 binding = kDesktop_GrGLBinding;
483 case gfx::kGLImplementationOSMesaGL: 483 break;
484 binding = kDesktop_GrGLBinding; 484 case gfx::kGLImplementationEGLGLES2:
485 break; 485 binding = kES2_GrGLBinding;
486 case gfx::kGLImplementationEGLGLES2: 486 break;
487 binding = kES2_GrGLBinding; 487 case gfx::kGLImplementationMockGL:
488 break; 488 NOTREACHED();
489 case gfx::kGLImplementationMockGL: 489 return NULL;
490 NOTREACHED(); 490 default:
491 return NULL; 491 NOTREACHED();
492 default: 492 return NULL;
493 NOTREACHED(); 493 }
494 return NULL;
495 }
496 494
497 GrGLInterface* interface = new GrGLInterface; 495 GrGLInterface* interface = new GrGLInterface;
498 host_gl_interface.reset(interface);
499 496
500 interface->fBindingsExported = binding; 497 interface->fBindingsExported = binding;
501 interface->fActiveTexture = StubGLActiveTexture; 498 interface->fActiveTexture = StubGLActiveTexture;
502 interface->fAttachShader = StubGLAttachShader; 499 interface->fAttachShader = StubGLAttachShader;
503 interface->fBindAttribLocation = StubGLBindAttribLocation; 500 interface->fBindAttribLocation = StubGLBindAttribLocation;
504 interface->fBindBuffer = StubGLBindBuffer; 501 interface->fBindBuffer = StubGLBindBuffer;
505 interface->fBindTexture = StubGLBindTexture; 502 interface->fBindTexture = StubGLBindTexture;
506 interface->fBlendColor = StubGLBlendColor; 503 interface->fBlendColor = StubGLBlendColor;
507 interface->fBlendFunc = StubGLBlendFunc; 504 interface->fBlendFunc = StubGLBlendFunc;
508 interface->fBufferData = StubGLBufferData; 505 interface->fBufferData = StubGLBufferData;
509 interface->fBufferSubData = StubGLBufferSubData; 506 interface->fBufferSubData = StubGLBufferSubData;
510 interface->fClear = StubGLClear; 507 interface->fClear = StubGLClear;
511 interface->fClearColor = StubGLClearColor; 508 interface->fClearColor = StubGLClearColor;
512 interface->fClearStencil = StubGLClearStencil; 509 interface->fClearStencil = StubGLClearStencil;
513 interface->fColorMask = StubGLColorMask; 510 interface->fColorMask = StubGLColorMask;
514 interface->fCompileShader = StubGLCompileShader; 511 interface->fCompileShader = StubGLCompileShader;
515 interface->fCompressedTexImage2D = StubGLCompressedTexImage2D; 512 interface->fCompressedTexImage2D = StubGLCompressedTexImage2D;
516 interface->fCreateProgram = StubGLCreateProgram; 513 interface->fCreateProgram = StubGLCreateProgram;
517 interface->fCreateShader = StubGLCreateShader; 514 interface->fCreateShader = StubGLCreateShader;
518 interface->fCullFace = StubGLCullFace; 515 interface->fCullFace = StubGLCullFace;
519 interface->fDeleteBuffers = StubGLDeleteBuffers; 516 interface->fDeleteBuffers = StubGLDeleteBuffers;
520 interface->fDeleteProgram = StubGLDeleteProgram; 517 interface->fDeleteProgram = StubGLDeleteProgram;
521 interface->fDeleteShader = StubGLDeleteShader; 518 interface->fDeleteShader = StubGLDeleteShader;
522 interface->fDeleteTextures = StubGLDeleteTextures; 519 interface->fDeleteTextures = StubGLDeleteTextures;
523 interface->fDepthMask = StubGLDepthMask; 520 interface->fDepthMask = StubGLDepthMask;
524 interface->fDisable = StubGLDisable; 521 interface->fDisable = StubGLDisable;
525 interface->fDisableVertexAttribArray = StubGLDisableVertexAttribArray; 522 interface->fDisableVertexAttribArray = StubGLDisableVertexAttribArray;
526 interface->fDrawArrays = StubGLDrawArrays; 523 interface->fDrawArrays = StubGLDrawArrays;
527 interface->fDrawBuffer = StubGLDrawBuffer; 524 interface->fDrawBuffer = StubGLDrawBuffer;
528 interface->fDrawBuffers = StubGLDrawBuffers; 525 interface->fDrawBuffers = StubGLDrawBuffers;
529 interface->fDrawElements = StubGLDrawElements; 526 interface->fDrawElements = StubGLDrawElements;
530 interface->fEnable = StubGLEnable; 527 interface->fEnable = StubGLEnable;
531 interface->fEnableVertexAttribArray = StubGLEnableVertexAttribArray; 528 interface->fEnableVertexAttribArray = StubGLEnableVertexAttribArray;
532 interface->fFrontFace = StubGLFrontFace; 529 interface->fFrontFace = StubGLFrontFace;
533 interface->fGenBuffers = StubGLGenBuffers; 530 interface->fGenBuffers = StubGLGenBuffers;
534 interface->fGenTextures = StubGLGenTextures; 531 interface->fGenTextures = StubGLGenTextures;
535 interface->fGetBufferParameteriv = StubGLGetBufferParameteriv; 532 interface->fGetBufferParameteriv = StubGLGetBufferParameteriv;
536 interface->fGetError = StubGLGetError; 533 interface->fGetError = StubGLGetError;
537 interface->fGetIntegerv = StubGLGetIntegerv; 534 interface->fGetIntegerv = StubGLGetIntegerv;
538 interface->fGetProgramInfoLog = StubGLGetProgramInfoLog; 535 interface->fGetProgramInfoLog = StubGLGetProgramInfoLog;
539 interface->fGetProgramiv = StubGLGetProgramiv; 536 interface->fGetProgramiv = StubGLGetProgramiv;
540 interface->fGetShaderInfoLog = StubGLGetShaderInfoLog; 537 interface->fGetShaderInfoLog = StubGLGetShaderInfoLog;
541 interface->fGetShaderiv = StubGLGetShaderiv; 538 interface->fGetShaderiv = StubGLGetShaderiv;
542 interface->fGetString = StubGLGetString; 539 interface->fGetString = StubGLGetString;
543 interface->fGetTexLevelParameteriv = StubGLGetTexLevelParameteriv; 540 interface->fGetTexLevelParameteriv = StubGLGetTexLevelParameteriv;
544 interface->fGetUniformLocation = StubGLGetUniformLocation; 541 interface->fGetUniformLocation = StubGLGetUniformLocation;
545 interface->fLineWidth = StubGLLineWidth; 542 interface->fLineWidth = StubGLLineWidth;
546 interface->fLinkProgram = StubGLLinkProgram; 543 interface->fLinkProgram = StubGLLinkProgram;
547 interface->fPixelStorei = StubGLPixelStorei; 544 interface->fPixelStorei = StubGLPixelStorei;
548 interface->fReadBuffer = StubGLReadBuffer; 545 interface->fReadBuffer = StubGLReadBuffer;
549 interface->fReadPixels = StubGLReadPixels; 546 interface->fReadPixels = StubGLReadPixels;
550 interface->fScissor = StubGLScissor; 547 interface->fScissor = StubGLScissor;
551 interface->fShaderSource = StubGLShaderSource; 548 interface->fShaderSource = StubGLShaderSource;
552 interface->fStencilFunc = StubGLStencilFunc; 549 interface->fStencilFunc = StubGLStencilFunc;
553 interface->fStencilFuncSeparate = StubGLStencilFuncSeparate; 550 interface->fStencilFuncSeparate = StubGLStencilFuncSeparate;
554 interface->fStencilMask = StubGLStencilMask; 551 interface->fStencilMask = StubGLStencilMask;
555 interface->fStencilMaskSeparate = StubGLStencilMaskSeparate; 552 interface->fStencilMaskSeparate = StubGLStencilMaskSeparate;
556 interface->fStencilOp = StubGLStencilOp; 553 interface->fStencilOp = StubGLStencilOp;
557 interface->fStencilOpSeparate = StubGLStencilOpSeparate; 554 interface->fStencilOpSeparate = StubGLStencilOpSeparate;
558 interface->fTexImage2D = StubGLTexImage2D; 555 interface->fTexImage2D = StubGLTexImage2D;
559 interface->fTexParameteri = StubGLTexParameteri; 556 interface->fTexParameteri = StubGLTexParameteri;
560 interface->fTexSubImage2D = StubGLTexSubImage2D; 557 interface->fTexSubImage2D = StubGLTexSubImage2D;
561 interface->fUniform1f = StubGLUniform1f; 558 interface->fUniform1f = StubGLUniform1f;
562 interface->fUniform1i = StubGLUniform1i; 559 interface->fUniform1i = StubGLUniform1i;
563 interface->fUniform1fv = StubGLUniform1fv; 560 interface->fUniform1fv = StubGLUniform1fv;
564 interface->fUniform1iv = StubGLUniform1iv; 561 interface->fUniform1iv = StubGLUniform1iv;
565 interface->fUniform2f = StubGLUniform2f; 562 interface->fUniform2f = StubGLUniform2f;
566 interface->fUniform2i = StubGLUniform2i; 563 interface->fUniform2i = StubGLUniform2i;
567 interface->fUniform2fv = StubGLUniform2fv; 564 interface->fUniform2fv = StubGLUniform2fv;
568 interface->fUniform2iv = StubGLUniform2iv; 565 interface->fUniform2iv = StubGLUniform2iv;
569 interface->fUniform3f = StubGLUniform3f; 566 interface->fUniform3f = StubGLUniform3f;
570 interface->fUniform3i = StubGLUniform3i; 567 interface->fUniform3i = StubGLUniform3i;
571 interface->fUniform3fv = StubGLUniform3fv; 568 interface->fUniform3fv = StubGLUniform3fv;
572 interface->fUniform3iv = StubGLUniform3iv; 569 interface->fUniform3iv = StubGLUniform3iv;
573 interface->fUniform4f = StubGLUniform4f; 570 interface->fUniform4f = StubGLUniform4f;
574 interface->fUniform4i = StubGLUniform4i; 571 interface->fUniform4i = StubGLUniform4i;
575 interface->fUniform4fv = StubGLUniform4fv; 572 interface->fUniform4fv = StubGLUniform4fv;
576 interface->fUniform4iv = StubGLUniform4iv; 573 interface->fUniform4iv = StubGLUniform4iv;
577 interface->fUniformMatrix2fv = StubGLUniformMatrix2fv; 574 interface->fUniformMatrix2fv = StubGLUniformMatrix2fv;
578 interface->fUniformMatrix3fv = StubGLUniformMatrix3fv; 575 interface->fUniformMatrix3fv = StubGLUniformMatrix3fv;
579 interface->fUniformMatrix4fv = StubGLUniformMatrix4fv; 576 interface->fUniformMatrix4fv = StubGLUniformMatrix4fv;
580 interface->fUseProgram = StubGLUseProgram; 577 interface->fUseProgram = StubGLUseProgram;
581 interface->fVertexAttrib4fv = StubGLVertexAttrib4fv; 578 interface->fVertexAttrib4fv = StubGLVertexAttrib4fv;
582 interface->fVertexAttribPointer = StubGLVertexAttribPointer; 579 interface->fVertexAttribPointer = StubGLVertexAttribPointer;
583 interface->fViewport = StubGLViewport; 580 interface->fViewport = StubGLViewport;
584 interface->fBindFramebuffer = StubGLBindFramebuffer; 581 interface->fBindFramebuffer = StubGLBindFramebuffer;
585 interface->fBindRenderbuffer = StubGLBindRenderbuffer; 582 interface->fBindRenderbuffer = StubGLBindRenderbuffer;
586 interface->fCheckFramebufferStatus = StubGLCheckFramebufferStatus; 583 interface->fCheckFramebufferStatus = StubGLCheckFramebufferStatus;
587 interface->fDeleteFramebuffers = StubGLDeleteFramebuffers; 584 interface->fDeleteFramebuffers = StubGLDeleteFramebuffers;
588 interface->fDeleteRenderbuffers = StubGLDeleteRenderbuffers; 585 interface->fDeleteRenderbuffers = StubGLDeleteRenderbuffers;
589 interface->fFramebufferRenderbuffer = StubGLFramebufferRenderbuffer; 586 interface->fFramebufferRenderbuffer = StubGLFramebufferRenderbuffer;
590 interface->fFramebufferTexture2D = StubGLFramebufferTexture2D; 587 interface->fFramebufferTexture2D = StubGLFramebufferTexture2D;
591 interface->fGenFramebuffers = StubGLGenFramebuffers; 588 interface->fGenFramebuffers = StubGLGenFramebuffers;
592 interface->fGenRenderbuffers = StubGLGenRenderbuffers; 589 interface->fGenRenderbuffers = StubGLGenRenderbuffers;
593 interface->fGetFramebufferAttachmentParameteriv = 590 interface->fGetFramebufferAttachmentParameteriv =
594 StubGLGetFramebufferAttachmentParameteriv; 591 StubGLGetFramebufferAttachmentParameteriv;
595 interface->fGetRenderbufferParameteriv = StubGLGetRenderbufferParameteriv; 592 interface->fGetRenderbufferParameteriv = StubGLGetRenderbufferParameteriv;
596 interface->fRenderbufferStorage = StubGLRenderbufferStorage; 593 interface->fRenderbufferStorage = StubGLRenderbufferStorage;
597 interface->fRenderbufferStorageMultisample = 594 interface->fRenderbufferStorageMultisample =
598 StubGLRenderbufferStorageMultisample; 595 StubGLRenderbufferStorageMultisample;
599 interface->fBlitFramebuffer = StubGLBlitFramebuffer; 596 interface->fBlitFramebuffer = StubGLBlitFramebuffer;
600 interface->fMapBuffer = StubGLMapBuffer; 597 interface->fMapBuffer = StubGLMapBuffer;
601 interface->fUnmapBuffer = StubGLUnmapBuffer; 598 interface->fUnmapBuffer = StubGLUnmapBuffer;
602 interface->fBindFragDataLocationIndexed = 599 interface->fBindFragDataLocationIndexed =
603 StubBindFragDataLocationIndexedARB; 600 StubBindFragDataLocationIndexedARB;
604 } 601 return interface;
605 return host_gl_interface.get();
606 } 602 }
607 603
608 } // namespace gfx 604 } // namespace gfx
609 605
OLDNEW
« no previous file with comments | « ui/gfx/gl/gl_bindings_skia_in_process.h ('k') | webkit/glue/gl_bindings_skia_cmd_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698