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

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

Issue 913913002: Updating WebGraphicsContext3DImpl to include ES3 entry points (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webvr_2_flag
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 | « no previous file | 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 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 virtual void framebufferTexture2DMultisampleEXT(WGC3Denum target, 549 virtual void framebufferTexture2DMultisampleEXT(WGC3Denum target,
549 WGC3Denum attachment, 550 WGC3Denum attachment,
550 WGC3Denum textarget, 551 WGC3Denum textarget,
551 WebGLId texture, 552 WebGLId texture,
552 WGC3Dint level, 553 WGC3Dint level,
553 WGC3Dsizei samples); 554 WGC3Dsizei samples);
554 virtual void renderbufferStorageMultisampleEXT( 555 virtual void renderbufferStorageMultisampleEXT(
555 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat, 556 WGC3Denum target, WGC3Dsizei samples, WGC3Denum internalformat,
556 WGC3Dsizei width, WGC3Dsizei height); 557 WGC3Dsizei width, WGC3Dsizei height);
557 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
558 virtual GrGLInterface* createGrGLInterface(); 700 virtual GrGLInterface* createGrGLInterface();
559 701
560 ::gpu::gles2::GLES2Interface* GetGLInterface() { 702 ::gpu::gles2::GLES2Interface* GetGLInterface() {
561 return gl_; 703 return gl_;
562 } 704 }
563 705
564 // Convert WebGL context creation attributes into command buffer / EGL size 706 // Convert WebGL context creation attributes into command buffer / EGL size
565 // requests. 707 // requests.
566 static void ConvertAttributes( 708 static void ConvertAttributes(
567 const blink::WebGraphicsContext3D::Attributes& attributes, 709 const blink::WebGraphicsContext3D::Attributes& attributes,
(...skipping 27 matching lines...) Expand all
595 std::vector<WGC3Denum> synthetic_errors_; 737 std::vector<WGC3Denum> synthetic_errors_;
596 738
597 ::gpu::gles2::GLES2Interface* gl_; 739 ::gpu::gles2::GLES2Interface* gl_;
598 bool lose_context_when_out_of_memory_; 740 bool lose_context_when_out_of_memory_;
599 uint32_t flush_id_; 741 uint32_t flush_id_;
600 }; 742 };
601 743
602 } // namespace gpu_blink 744 } // namespace gpu_blink
603 745
604 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ 746 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_
OLDNEW
« no previous file with comments | « no previous file | gpu/blink/webgraphicscontext3d_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698