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

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h

Issue 2692853006: Implement WebGL2's uniform*() with sub source. (Closed)
Patch Set: clean up Created 3 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 | third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp » ('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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 WebGL2RenderingContextBase_h 5 #ifndef WebGL2RenderingContextBase_h
6 #define WebGL2RenderingContextBase_h 6 #define WebGL2RenderingContextBase_h
7 7
8 #include "bindings/core/v8/TraceWrapperMember.h" 8 #include "bindings/core/v8/TraceWrapperMember.h"
9 #include "modules/webgl/WebGLExtension.h" 9 #include "modules/webgl/WebGLExtension.h"
10 #include "modules/webgl/WebGLRenderingContextBase.h" 10 #include "modules/webgl/WebGLRenderingContextBase.h"
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 DOMArrayBufferView* data); 585 DOMArrayBufferView* data);
586 586
587 /* Programs and shaders */ 587 /* Programs and shaders */
588 GLint getFragDataLocation(WebGLProgram*, const String&); 588 GLint getFragDataLocation(WebGLProgram*, const String&);
589 589
590 /* Uniforms and attributes */ 590 /* Uniforms and attributes */
591 void uniform1ui(const WebGLUniformLocation*, GLuint); 591 void uniform1ui(const WebGLUniformLocation*, GLuint);
592 void uniform2ui(const WebGLUniformLocation*, GLuint, GLuint); 592 void uniform2ui(const WebGLUniformLocation*, GLuint, GLuint);
593 void uniform3ui(const WebGLUniformLocation*, GLuint, GLuint, GLuint); 593 void uniform3ui(const WebGLUniformLocation*, GLuint, GLuint, GLuint);
594 void uniform4ui(const WebGLUniformLocation*, GLuint, GLuint, GLuint, GLuint); 594 void uniform4ui(const WebGLUniformLocation*, GLuint, GLuint, GLuint, GLuint);
595 void uniform1uiv(const WebGLUniformLocation*, const FlexibleUint32ArrayView&); 595 void uniform1fv(const WebGLUniformLocation*,
596 void uniform1uiv(const WebGLUniformLocation*, Vector<GLuint>&); 596 const FlexibleFloat32ArrayView&,
597 void uniform2uiv(const WebGLUniformLocation*, const FlexibleUint32ArrayView&); 597 GLuint,
598 void uniform2uiv(const WebGLUniformLocation*, Vector<GLuint>&); 598 GLuint);
599 void uniform3uiv(const WebGLUniformLocation*, const FlexibleUint32ArrayView&); 599 void uniform1fv(const WebGLUniformLocation*,
600 void uniform3uiv(const WebGLUniformLocation*, Vector<GLuint>&); 600 Vector<GLfloat>&,
601 void uniform4uiv(const WebGLUniformLocation*, const FlexibleUint32ArrayView&); 601 GLuint,
602 void uniform4uiv(const WebGLUniformLocation*, Vector<GLuint>&); 602 GLuint);
603 void uniform2fv(const WebGLUniformLocation*,
604 const FlexibleFloat32ArrayView&,
605 GLuint,
606 GLuint);
607 void uniform2fv(const WebGLUniformLocation*,
608 Vector<GLfloat>&,
609 GLuint,
610 GLuint);
611 void uniform3fv(const WebGLUniformLocation*,
612 const FlexibleFloat32ArrayView&,
613 GLuint,
614 GLuint);
615 void uniform3fv(const WebGLUniformLocation*,
616 Vector<GLfloat>&,
617 GLuint,
618 GLuint);
619 void uniform4fv(const WebGLUniformLocation*,
620 const FlexibleFloat32ArrayView&,
621 GLuint,
622 GLuint);
623 void uniform4fv(const WebGLUniformLocation*,
624 Vector<GLfloat>&,
625 GLuint,
626 GLuint);
627 void uniform1iv(const WebGLUniformLocation*,
628 const FlexibleInt32ArrayView&,
629 GLuint,
630 GLuint);
631 void uniform1iv(const WebGLUniformLocation*, Vector<GLint>&, GLuint, GLuint);
632 void uniform2iv(const WebGLUniformLocation*,
633 const FlexibleInt32ArrayView&,
634 GLuint,
635 GLuint);
636 void uniform2iv(const WebGLUniformLocation*, Vector<GLint>&, GLuint, GLuint);
637 void uniform3iv(const WebGLUniformLocation*,
638 const FlexibleInt32ArrayView&,
639 GLuint,
640 GLuint);
641 void uniform3iv(const WebGLUniformLocation*, Vector<GLint>&, GLuint, GLuint);
642 void uniform4iv(const WebGLUniformLocation*,
643 const FlexibleInt32ArrayView&,
644 GLuint,
645 GLuint);
646 void uniform4iv(const WebGLUniformLocation*, Vector<GLint>&, GLuint, GLuint);
647 void uniform1uiv(const WebGLUniformLocation*,
648 const FlexibleUint32ArrayView&,
649 GLuint,
650 GLuint);
651 void uniform1uiv(const WebGLUniformLocation*,
652 Vector<GLuint>&,
653 GLuint,
654 GLuint);
655 void uniform2uiv(const WebGLUniformLocation*,
656 const FlexibleUint32ArrayView&,
657 GLuint,
658 GLuint);
659 void uniform2uiv(const WebGLUniformLocation*,
660 Vector<GLuint>&,
661 GLuint,
662 GLuint);
663 void uniform3uiv(const WebGLUniformLocation*,
664 const FlexibleUint32ArrayView&,
665 GLuint,
666 GLuint);
667 void uniform3uiv(const WebGLUniformLocation*,
668 Vector<GLuint>&,
669 GLuint,
670 GLuint);
671 void uniform4uiv(const WebGLUniformLocation*,
672 const FlexibleUint32ArrayView&,
673 GLuint,
674 GLuint);
675 void uniform4uiv(const WebGLUniformLocation*,
676 Vector<GLuint>&,
677 GLuint,
678 GLuint);
679 void uniformMatrix2fv(const WebGLUniformLocation*,
680 GLboolean,
681 DOMFloat32Array*,
682 GLuint,
683 GLuint);
684 void uniformMatrix2fv(const WebGLUniformLocation*,
685 GLboolean,
686 Vector<GLfloat>&,
687 GLuint,
688 GLuint);
689 void uniformMatrix3fv(const WebGLUniformLocation*,
690 GLboolean,
691 DOMFloat32Array*,
692 GLuint,
693 GLuint);
694 void uniformMatrix3fv(const WebGLUniformLocation*,
695 GLboolean,
696 Vector<GLfloat>&,
697 GLuint,
698 GLuint);
699 void uniformMatrix4fv(const WebGLUniformLocation*,
700 GLboolean,
701 DOMFloat32Array*,
702 GLuint,
703 GLuint);
704 void uniformMatrix4fv(const WebGLUniformLocation*,
705 GLboolean,
706 Vector<GLfloat>&,
707 GLuint,
708 GLuint);
603 void uniformMatrix2x3fv(const WebGLUniformLocation*, 709 void uniformMatrix2x3fv(const WebGLUniformLocation*,
604 GLboolean, 710 GLboolean,
605 DOMFloat32Array*); 711 DOMFloat32Array*,
712 GLuint,
713 GLuint);
606 void uniformMatrix2x3fv(const WebGLUniformLocation*, 714 void uniformMatrix2x3fv(const WebGLUniformLocation*,
607 GLboolean, 715 GLboolean,
608 Vector<GLfloat>&); 716 Vector<GLfloat>&,
717 GLuint,
718 GLuint);
609 void uniformMatrix3x2fv(const WebGLUniformLocation*, 719 void uniformMatrix3x2fv(const WebGLUniformLocation*,
610 GLboolean, 720 GLboolean,
611 DOMFloat32Array*); 721 DOMFloat32Array*,
722 GLuint,
723 GLuint);
612 void uniformMatrix3x2fv(const WebGLUniformLocation*, 724 void uniformMatrix3x2fv(const WebGLUniformLocation*,
613 GLboolean, 725 GLboolean,
614 Vector<GLfloat>&); 726 Vector<GLfloat>&,
727 GLuint,
728 GLuint);
615 void uniformMatrix2x4fv(const WebGLUniformLocation*, 729 void uniformMatrix2x4fv(const WebGLUniformLocation*,
616 GLboolean, 730 GLboolean,
617 DOMFloat32Array*); 731 DOMFloat32Array*,
732 GLuint,
733 GLuint);
618 void uniformMatrix2x4fv(const WebGLUniformLocation*, 734 void uniformMatrix2x4fv(const WebGLUniformLocation*,
619 GLboolean, 735 GLboolean,
620 Vector<GLfloat>&); 736 Vector<GLfloat>&,
737 GLuint,
738 GLuint);
621 void uniformMatrix4x2fv(const WebGLUniformLocation*, 739 void uniformMatrix4x2fv(const WebGLUniformLocation*,
622 GLboolean, 740 GLboolean,
623 DOMFloat32Array*); 741 DOMFloat32Array*,
742 GLuint,
743 GLuint);
624 void uniformMatrix4x2fv(const WebGLUniformLocation*, 744 void uniformMatrix4x2fv(const WebGLUniformLocation*,
625 GLboolean, 745 GLboolean,
626 Vector<GLfloat>&); 746 Vector<GLfloat>&,
747 GLuint,
748 GLuint);
627 void uniformMatrix3x4fv(const WebGLUniformLocation*, 749 void uniformMatrix3x4fv(const WebGLUniformLocation*,
628 GLboolean, 750 GLboolean,
629 DOMFloat32Array*); 751 DOMFloat32Array*,
752 GLuint,
753 GLuint);
630 void uniformMatrix3x4fv(const WebGLUniformLocation*, 754 void uniformMatrix3x4fv(const WebGLUniformLocation*,
631 GLboolean, 755 GLboolean,
632 Vector<GLfloat>&); 756 Vector<GLfloat>&,
757 GLuint,
758 GLuint);
633 void uniformMatrix4x3fv(const WebGLUniformLocation*, 759 void uniformMatrix4x3fv(const WebGLUniformLocation*,
634 GLboolean, 760 GLboolean,
635 DOMFloat32Array*); 761 DOMFloat32Array*,
762 GLuint,
763 GLuint);
636 void uniformMatrix4x3fv(const WebGLUniformLocation*, 764 void uniformMatrix4x3fv(const WebGLUniformLocation*,
637 GLboolean, 765 GLboolean,
638 Vector<GLfloat>&); 766 Vector<GLfloat>&,
767 GLuint,
768 GLuint);
769 // Have to re-declare/re-define the following uniform*()
770 // functions from the base class. This is because the above
771 // uniform*() hide the name from base class.
772 void uniform1fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
773 void uniform1fv(const WebGLUniformLocation*, Vector<GLfloat>&);
774 void uniform2fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
775 void uniform2fv(const WebGLUniformLocation*, Vector<GLfloat>&);
776 void uniform3fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
777 void uniform3fv(const WebGLUniformLocation*, Vector<GLfloat>&);
778 void uniform4fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
779 void uniform4fv(const WebGLUniformLocation*, Vector<GLfloat>&);
780 void uniform1iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
781 void uniform1iv(const WebGLUniformLocation*, Vector<GLint>&);
782 void uniform2iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
783 void uniform2iv(const WebGLUniformLocation*, Vector<GLint>&);
784 void uniform3iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
785 void uniform3iv(const WebGLUniformLocation*, Vector<GLint>&);
786 void uniform4iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
787 void uniform4iv(const WebGLUniformLocation*, Vector<GLint>&);
788 void uniformMatrix2fv(const WebGLUniformLocation*,
789 GLboolean transpose,
790 DOMFloat32Array* value);
791 void uniformMatrix2fv(const WebGLUniformLocation*,
792 GLboolean transpose,
793 Vector<GLfloat>& value);
794 void uniformMatrix3fv(const WebGLUniformLocation*,
795 GLboolean transpose,
796 DOMFloat32Array* value);
797 void uniformMatrix3fv(const WebGLUniformLocation*,
798 GLboolean transpose,
799 Vector<GLfloat>& value);
800 void uniformMatrix4fv(const WebGLUniformLocation*,
801 GLboolean transpose,
802 DOMFloat32Array* value);
803 void uniformMatrix4fv(const WebGLUniformLocation*,
804 GLboolean transpose,
805 Vector<GLfloat>& value);
639 806
640 void vertexAttribI4i(GLuint, GLint, GLint, GLint, GLint); 807 void vertexAttribI4i(GLuint, GLint, GLint, GLint, GLint);
641 void vertexAttribI4iv(GLuint, const DOMInt32Array*); 808 void vertexAttribI4iv(GLuint, const DOMInt32Array*);
642 void vertexAttribI4iv(GLuint, const Vector<GLint>&); 809 void vertexAttribI4iv(GLuint, const Vector<GLint>&);
643 void vertexAttribI4ui(GLuint, GLuint, GLuint, GLuint, GLuint); 810 void vertexAttribI4ui(GLuint, GLuint, GLuint, GLuint, GLuint);
644 void vertexAttribI4uiv(GLuint, const DOMUint32Array*); 811 void vertexAttribI4uiv(GLuint, const DOMUint32Array*);
645 void vertexAttribI4uiv(GLuint, const Vector<GLuint>&); 812 void vertexAttribI4uiv(GLuint, const Vector<GLuint>&);
646 void vertexAttribIPointer(GLuint index, 813 void vertexAttribIPointer(GLuint index,
647 GLint size, 814 GLint size,
648 GLenum type, 815 GLenum type,
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 context, 1117 context,
951 context->is3d() && 1118 context->is3d() &&
952 WebGLRenderingContextBase::getWebGLVersion(context) >= 2, 1119 WebGLRenderingContextBase::getWebGLVersion(context) >= 2,
953 context.is3d() && 1120 context.is3d() &&
954 WebGLRenderingContextBase::getWebGLVersion(&context) >= 1121 WebGLRenderingContextBase::getWebGLVersion(&context) >=
955 2); 1122 2);
956 1123
957 } // namespace blink 1124 } // namespace blink
958 1125
959 #endif 1126 #endif
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698