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

Side by Side Diff: gpu/blink/webgraphicscontext3d_impl.h

Issue 935333002: Update from https://crrev.com/316786 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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/gl2chromium_autogen.h ('k') | gpu/blink/webgraphicscontext3d_impl.cc » ('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 #ifndef GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ 5 #ifndef GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_
6 #define GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ 6 #define GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 19 matching lines...) Expand all
30 using blink::WGC3Denum; 30 using blink::WGC3Denum;
31 using blink::WGC3Dboolean; 31 using blink::WGC3Dboolean;
32 using blink::WGC3Dbitfield; 32 using blink::WGC3Dbitfield;
33 using blink::WGC3Dint; 33 using blink::WGC3Dint;
34 using blink::WGC3Dsizei; 34 using blink::WGC3Dsizei;
35 using blink::WGC3Duint; 35 using blink::WGC3Duint;
36 using blink::WGC3Dfloat; 36 using blink::WGC3Dfloat;
37 using blink::WGC3Dclampf; 37 using blink::WGC3Dclampf;
38 using blink::WGC3Dintptr; 38 using blink::WGC3Dintptr;
39 using blink::WGC3Dsizeiptr; 39 using blink::WGC3Dsizeiptr;
40 using blink::WGC3Duint64;
40 41
41 namespace gpu_blink { 42 namespace gpu_blink {
42 43
43 class WebGraphicsContext3DErrorMessageCallback; 44 class WebGraphicsContext3DErrorMessageCallback;
44 45
45 class GPU_BLINK_EXPORT WebGraphicsContext3DImpl 46 class GPU_BLINK_EXPORT WebGraphicsContext3DImpl
46 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) { 47 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) {
47 public: 48 public:
48 virtual ~WebGraphicsContext3DImpl(); 49 virtual ~WebGraphicsContext3DImpl();
49 50
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 virtual void vertexAttribPointer(WGC3Duint index, 365 virtual void vertexAttribPointer(WGC3Duint index,
365 WGC3Dint size, 366 WGC3Dint size,
366 WGC3Denum type, 367 WGC3Denum type,
367 WGC3Dboolean normalized, 368 WGC3Dboolean normalized,
368 WGC3Dsizei stride, 369 WGC3Dsizei stride,
369 WGC3Dintptr offset); 370 WGC3Dintptr offset);
370 371
371 virtual void viewport(WGC3Dint x, WGC3Dint y, 372 virtual void viewport(WGC3Dint x, WGC3Dint y,
372 WGC3Dsizei width, WGC3Dsizei height); 373 WGC3Dsizei width, WGC3Dsizei height);
373 374
374 // Support for buffer creation and deletion
375 virtual void genBuffers(WGC3Dsizei count, WebGLId* ids);
376 virtual void genFramebuffers(WGC3Dsizei count, WebGLId* ids);
377 virtual void genRenderbuffers(WGC3Dsizei count, WebGLId* ids);
378 virtual void genTextures(WGC3Dsizei count, WebGLId* ids);
379
380 virtual void deleteBuffers(WGC3Dsizei count, WebGLId* ids);
381 virtual void deleteFramebuffers(WGC3Dsizei count, WebGLId* ids);
382 virtual void deleteRenderbuffers(WGC3Dsizei count, WebGLId* ids);
383 virtual void deleteTextures(WGC3Dsizei count, WebGLId* ids);
384
385 virtual WebGLId createBuffer(); 375 virtual WebGLId createBuffer();
386 virtual WebGLId createFramebuffer(); 376 virtual WebGLId createFramebuffer();
387 virtual WebGLId createRenderbuffer(); 377 virtual WebGLId createRenderbuffer();
388 virtual WebGLId createTexture(); 378 virtual WebGLId createTexture();
389 379
390 virtual void deleteBuffer(WebGLId); 380 virtual void deleteBuffer(WebGLId);
391 virtual void deleteFramebuffer(WebGLId); 381 virtual void deleteFramebuffer(WebGLId);
392 virtual void deleteRenderbuffer(WebGLId); 382 virtual void deleteRenderbuffer(WebGLId);
393 virtual void deleteTexture(WebGLId); 383 virtual void deleteTexture(WebGLId);
394 384
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 virtual void framebufferTexture2DMultisampleEXT(WGC3Denum target, 549 virtual void framebufferTexture2DMultisampleEXT(WGC3Denum target,
560 WGC3Denum attachment, 550 WGC3Denum attachment,
561 WGC3Denum textarget, 551 WGC3Denum textarget,
562 WebGLId texture, 552 WebGLId texture,
563 WGC3Dint level, 553 WGC3Dint level,
564 WGC3Dsizei samples); 554 WGC3Dsizei samples);
565 virtual void renderbufferStorageMultisampleEXT( 555 virtual void renderbufferStorageMultisampleEXT(
566 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat, 556 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat,
567 WGC3Dsizei width, WGC3Dsizei height); 557 WGC3Dsizei width, WGC3Dsizei height);
568 558
559 // OpenGL ES 3.0 functions not represented by pre-existing extensions
560 virtual void beginTransformFeedback(WGC3Denum primitiveMode);
561 virtual void bindBufferBase(WGC3Denum target, WGC3Duint index,
562 WGC3Duint buffer);
563 virtual void bindBufferRange(WGC3Denum target, WGC3Duint index,
564 WGC3Duint buffer, WGC3Dintptr offset, WGC3Dsizeiptr size);
565 virtual void bindSampler(WGC3Duint unit, WebGLId sampler);
566 virtual void bindTransformFeedback(WGC3Denum target,
567 WebGLId transformfeedback);
568 virtual void clearBufferfi(WGC3Denum buffer, WGC3Dint drawbuffer,
569 WGC3Dfloat depth, WGC3Dint stencil);
570 virtual void clearBufferfv(WGC3Denum buffer, WGC3Dint drawbuffer,
571 const WGC3Dfloat *value);
572 virtual void clearBufferiv(WGC3Denum buffer, WGC3Dint drawbuffer,
573 const WGC3Dint *value);
574 virtual void clearBufferuiv(WGC3Denum buffer, WGC3Dint drawbuffer,
575 const WGC3Duint *value);
576 //virtual WGC3Denum clientWaitSync(WebGLId sync, WGC3Dbitfield flags,
577 // WGC3Duint64 timeout);
578 //virtual void compressedTexImage3D(WGC3Denum target, WGC3Dint level,
579 // WGC3Denum internalformat, WGC3Dsizei width, WGC3Dsizei height,
580 // WGC3Dsizei depth, WGC3Dint border, WGC3Dsizei imageSize,
581 // const void *data);
582 //virtual void compressedTexSubImage3D(WGC3Denum target, WGC3Dint level,
583 // WGC3Dint xoffset, WGC3Dint yoffset, WGC3Dint zoffset, WGC3Dsizei width,
584 // WGC3Dsizei height, WGC3Dsizei depth, WGC3Denum format,
585 // WGC3Dsizei imageSize, const void *data);
586 virtual void copyBufferSubData(WGC3Denum readTarget, WGC3Denum writeTarget,
587 WGC3Dintptr readOffset, WGC3Dintptr writeOffset, WGC3Dsizeiptr size);
588 virtual void copyTexSubImage3D(WGC3Denum target, WGC3Dint level,
589 WGC3Dint xoffset, WGC3Dint yoffset, WGC3Dint zoffset, WGC3Dint x,
590 WGC3Dint y, WGC3Dsizei width, WGC3Dsizei height);
591 virtual WebGLId createSampler();
592 virtual WebGLId createTransformFeedback();
593 virtual void deleteSampler(WebGLId sampler);
594 //virtual void deleteSync(WebGLId sync);
595 virtual void deleteTransformFeedback(WebGLId transformfeedback);
596 virtual void endTransformFeedback(void);
597 //virtual WebGLId fenceSync(WGC3Denum condition, WGC3Dbitfield flags);
598 virtual void framebufferTextureLayer(WGC3Denum target, WGC3Denum attachment,
599 WGC3Duint texture, WGC3Dint level, WGC3Dint layer);
600 virtual void getActiveUniformBlockName(WGC3Duint program,
601 WGC3Duint uniformBlockIndex, WGC3Dsizei bufSize, WGC3Dsizei *length,
602 WGC3Dchar *uniformBlockName);
603 virtual void getActiveUniformBlockiv(WGC3Duint program,
604 WGC3Duint uniformBlockIndex, WGC3Denum pname, WGC3Dint *params);
605 //virtual void getActiveUniformsiv(WGC3Duint program, WGC3Dsizei uniformCount,
606 // const WGC3Duint *uniformIndices, WGC3Denum pname, WGC3Dint *params);
607 virtual WGC3Dint getFragDataLocation(WGC3Duint program,
608 const WGC3Dchar *name);
609 virtual void getInternalformativ(WGC3Denum target, WGC3Denum internalformat,
610 WGC3Denum pname, WGC3Dsizei bufSize, WGC3Dint *params);
611 virtual void getSamplerParameterfv(WGC3Duint sampler, WGC3Denum pname,
612 WGC3Dfloat *params);
613 virtual void getSamplerParameteriv(WGC3Duint sampler, WGC3Denum pname,
614 WGC3Dint *params);
615 //virtual void getTransformFeedbackVarying(WGC3Duint program, WGC3Duint index,
616 // WGC3Dsizei bufSize, WGC3Dsizei *length, WGC3Dsizei *size,
617 // WGC3Denum *type, WGC3Dchar *name);
618 virtual WGC3Duint getUniformBlockIndex(WGC3Duint program,
619 const WGC3Dchar *uniformBlockName);
620 //virtual void getUniformIndices(WGC3Duint program, WGC3Dsizei uniformCount,
621 // const WGC3Dchar *const*uniformNames, WGC3Duint *uniformIndices);
622 //virtual void getUniformuiv(WGC3Duint program, WGC3Dint location,
623 // WGC3Duint *params);
624 //virtual void getVertexAttribIiv(WGC3Duint index, WGC3Denum pname,
625 // WGC3Dint *params);
626 //virtual void getVertexAttribIuiv(WGC3Duint index, WGC3Denum pname,
627 // WGC3Duint *params);
628 virtual void invalidateFramebuffer(WGC3Denum target,
629 WGC3Dsizei numAttachments, const WGC3Denum *attachments);
630 virtual void invalidateSubFramebuffer(WGC3Denum target,
631 WGC3Dsizei numAttachments, const WGC3Denum *attachments, WGC3Dint x,
632 WGC3Dint y, WGC3Dsizei width, WGC3Dsizei height);
633 virtual WGC3Dboolean isSampler(WebGLId sampler);
634 //virtual WGC3Dboolean isSync(WebGLId sync);
635 virtual WGC3Dboolean isTransformFeedback(WGC3Duint id);
636 virtual void pauseTransformFeedback(void);
637 //virtual void programParameteri(WGC3Duint program, WGC3Denum pname,
638 // WGC3Dint value);
639 virtual void readBuffer(WGC3Denum src);
640 virtual void resumeTransformFeedback(void);
641 virtual void samplerParameterf(WGC3Duint sampler, WGC3Denum pname,
642 WGC3Dfloat param);
643 virtual void samplerParameterfv(WGC3Duint sampler, WGC3Denum pname,
644 const WGC3Dfloat *param);
645 virtual void samplerParameteri(WGC3Duint sampler, WGC3Denum pname,
646 WGC3Dint param);
647 virtual void samplerParameteriv(WGC3Duint sampler, WGC3Denum pname,
648 const WGC3Dint *param);
649 virtual void texImage3D(WGC3Denum target, WGC3Dint level,
650 WGC3Dint internalformat, WGC3Dsizei width, WGC3Dsizei height,
651 WGC3Dsizei depth, WGC3Dint border, WGC3Denum format, WGC3Denum type,
652 const void *pixels);
653 virtual void texStorage3D(WGC3Denum target, WGC3Dsizei levels,
654 WGC3Denum internalformat, WGC3Dsizei width, WGC3Dsizei height,
655 WGC3Dsizei depth);
656 virtual void texSubImage3D(WGC3Denum target, WGC3Dint level, WGC3Dint xoffset,
657 WGC3Dint yoffset, WGC3Dint zoffset, WGC3Dsizei width, WGC3Dsizei height,
658 WGC3Dsizei depth, WGC3Denum format, WGC3Denum type, const void *pixels);
659 virtual void transformFeedbackVaryings(WGC3Duint program, WGC3Dsizei count,
660 const WGC3Dchar *const*varyings, WGC3Denum bufferMode);
661 virtual void uniform1ui(WGC3Dint location, WGC3Duint x);
662 virtual void uniform1uiv(WGC3Dint location, WGC3Dsizei count,
663 const WGC3Duint *value);
664 virtual void uniform2ui(WGC3Dint location, WGC3Duint x, WGC3Duint y);
665 virtual void uniform2uiv(WGC3Dint location, WGC3Dsizei count,
666 const WGC3Duint *value);
667 virtual void uniform3ui(WGC3Dint location, WGC3Duint x, WGC3Duint y,
668 WGC3Duint z);
669 virtual void uniform3uiv(WGC3Dint location, WGC3Dsizei count,
670 const WGC3Duint *value);
671 virtual void uniform4ui(WGC3Dint location, WGC3Duint x, WGC3Duint y,
672 WGC3Duint z, WGC3Duint w);
673 virtual void uniform4uiv(WGC3Dint location, WGC3Dsizei count,
674 const WGC3Duint *value);
675 virtual void uniformBlockBinding(WGC3Duint program,
676 WGC3Duint uniformBlockIndex, WGC3Duint uniformBlockBinding);
677 virtual void uniformMatrix2x3fv(WGC3Dint location, WGC3Dsizei count,
678 WGC3Dboolean transpose, const WGC3Dfloat* value);
679 virtual void uniformMatrix2x4fv(WGC3Dint location, WGC3Dsizei count,
680 WGC3Dboolean transpose, const WGC3Dfloat* value);
681 virtual void uniformMatrix3x2fv(WGC3Dint location, WGC3Dsizei count,
682 WGC3Dboolean transpose, const WGC3Dfloat* value);
683 virtual void uniformMatrix3x4fv(WGC3Dint location, WGC3Dsizei count,
684 WGC3Dboolean transpose, const WGC3Dfloat* value);
685 virtual void uniformMatrix4x2fv(WGC3Dint location, WGC3Dsizei count,
686 WGC3Dboolean transpose, const WGC3Dfloat* value);
687 virtual void uniformMatrix4x3fv(WGC3Dint location, WGC3Dsizei count,
688 WGC3Dboolean transpose, const WGC3Dfloat* value);
689 virtual void vertexAttribI4i(WGC3Duint index, WGC3Dint x, WGC3Dint y,
690 WGC3Dint z, WGC3Dint w);
691 virtual void vertexAttribI4iv(WGC3Duint index, const WGC3Dint *v);
692 virtual void vertexAttribI4ui(WGC3Duint index, WGC3Duint x, WGC3Duint y,
693 WGC3Duint z, WGC3Duint w);
694 virtual void vertexAttribI4uiv(WGC3Duint index, const WGC3Duint *v);
695 virtual void vertexAttribIPointer(WGC3Duint index, WGC3Dint size,
696 WGC3Denum type, WGC3Dsizei stride, WGC3Dintptr pointer);
697 //virtual void waitSync(WebGLId sync, WGC3Dbitfield flags,
698 // WGC3Duint64 timeout);
699
569 virtual GrGLInterface* createGrGLInterface(); 700 virtual GrGLInterface* createGrGLInterface();
570 701
571 ::gpu::gles2::GLES2Interface* GetGLInterface() { 702 ::gpu::gles2::GLES2Interface* GetGLInterface() {
572 return gl_; 703 return gl_;
573 } 704 }
574 705
575 // Convert WebGL context creation attributes into command buffer / EGL size 706 // Convert WebGL context creation attributes into command buffer / EGL size
576 // requests. 707 // requests.
577 static void ConvertAttributes( 708 static void ConvertAttributes(
578 const blink::WebGraphicsContext3D::Attributes& attributes, 709 const blink::WebGraphicsContext3D::Attributes& attributes,
(...skipping 27 matching lines...) Expand all
606 std::vector<WGC3Denum> synthetic_errors_; 737 std::vector<WGC3Denum> synthetic_errors_;
607 738
608 ::gpu::gles2::GLES2Interface* gl_; 739 ::gpu::gles2::GLES2Interface* gl_;
609 bool lose_context_when_out_of_memory_; 740 bool lose_context_when_out_of_memory_;
610 uint32_t flush_id_; 741 uint32_t flush_id_;
611 }; 742 };
612 743
613 } // namespace gpu_blink 744 } // namespace gpu_blink
614 745
615 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ 746 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_
OLDNEW
« no previous file with comments | « gpu/GLES2/gl2chromium_autogen.h ('k') | gpu/blink/webgraphicscontext3d_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698