OLD | NEW |
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 669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
680 blink::WGC3Dint stencil); | 680 blink::WGC3Dint stencil); |
681 virtual void clearBufferfv(blink::WGC3Denum buffer, | 681 virtual void clearBufferfv(blink::WGC3Denum buffer, |
682 blink::WGC3Dint drawbuffer, | 682 blink::WGC3Dint drawbuffer, |
683 const blink::WGC3Dfloat* value); | 683 const blink::WGC3Dfloat* value); |
684 virtual void clearBufferiv(blink::WGC3Denum buffer, | 684 virtual void clearBufferiv(blink::WGC3Denum buffer, |
685 blink::WGC3Dint drawbuffer, | 685 blink::WGC3Dint drawbuffer, |
686 const blink::WGC3Dint* value); | 686 const blink::WGC3Dint* value); |
687 virtual void clearBufferuiv(blink::WGC3Denum buffer, | 687 virtual void clearBufferuiv(blink::WGC3Denum buffer, |
688 blink::WGC3Dint drawbuffer, | 688 blink::WGC3Dint drawbuffer, |
689 const blink::WGC3Duint* value); | 689 const blink::WGC3Duint* value); |
690 // virtual blink::WGC3Denum clientWaitSync(blink::WebGLId sync, | 690 virtual blink::WGC3Denum clientWaitSync(blink::WGC3Dsync sync, |
691 // blink::WGC3Dbitfield flags, | 691 blink::WGC3Dbitfield flags, |
692 // blink::WGC3Duint64 timeout); | 692 blink::WGC3Duint64 timeout); |
693 // virtual void compressedTexImage3D(blink::WGC3Denum target, blink::WGC3Dint | 693 //virtual void compressedTexImage3D(blink::WGC3Denum target, |
694 // level, | 694 // blink::WGC3Dint level, |
695 // blink::WGC3Denum internalformat, blink::WGC3Dsizei width, | 695 // blink::WGC3Denum internalformat, |
696 // WGC3Dsizei height, WGC3Dsizei depth, blink::WGC3Dint border, | 696 // blink::WGC3Dsizei width, |
697 // WGC3Dsizei imageSize, const void *data); | 697 // blink::WGC3Dsizei height, |
698 // virtual void compressedTexSubImage3D(blink::WGC3Denum target, | 698 // blink::WGC3Dsizei depth, |
699 // blink::WGC3Dint level, blink::WGC3Dint xoffset, blink::WGC3Dint yoffset, | 699 // blink::WGC3Dint border, |
700 // blink::WGC3Dint zoffset, | 700 // blink::WGC3Dsizei imageSize, |
701 // blink::WGC3Dsizei width, blink::WGC3Dsizei height, | 701 // const void *data); |
702 // blink::WGC3Dsizei depth, blink::WGC3Denum format, | 702 //virtual void compressedTexSubImage3D(blink::WGC3Denum target, |
703 // blink::WGC3Dsizei imageSize, const void *data); | 703 // blink::WGC3Dint level, |
| 704 // blink::WGC3Dint xoffset, |
| 705 // blink::WGC3Dint yoffset, |
| 706 // blink::WGC3Dint zoffset, |
| 707 // blink::WGC3Dsizei width, |
| 708 // blink::WGC3Dsizei height, |
| 709 // blink::WGC3Dsizei depth, |
| 710 // blink::WGC3Denum format, |
| 711 // blink::WGC3Dsizei imageSize, |
| 712 // const void *data); |
704 virtual void copyBufferSubData(blink::WGC3Denum readTarget, | 713 virtual void copyBufferSubData(blink::WGC3Denum readTarget, |
705 blink::WGC3Denum writeTarget, | 714 blink::WGC3Denum writeTarget, |
706 blink::WGC3Dintptr readOffset, | 715 blink::WGC3Dintptr readOffset, |
707 blink::WGC3Dintptr writeOffset, | 716 blink::WGC3Dintptr writeOffset, |
708 blink::WGC3Dsizeiptr size); | 717 blink::WGC3Dsizeiptr size); |
709 virtual void copyTexSubImage3D(blink::WGC3Denum target, | 718 virtual void copyTexSubImage3D(blink::WGC3Denum target, |
710 blink::WGC3Dint level, | 719 blink::WGC3Dint level, |
711 blink::WGC3Dint xoffset, | 720 blink::WGC3Dint xoffset, |
712 blink::WGC3Dint yoffset, | 721 blink::WGC3Dint yoffset, |
713 blink::WGC3Dint zoffset, | 722 blink::WGC3Dint zoffset, |
714 blink::WGC3Dint x, | 723 blink::WGC3Dint x, |
715 blink::WGC3Dint y, | 724 blink::WGC3Dint y, |
716 blink::WGC3Dsizei width, | 725 blink::WGC3Dsizei width, |
717 blink::WGC3Dsizei height); | 726 blink::WGC3Dsizei height); |
718 virtual blink::WebGLId createSampler(); | 727 virtual blink::WebGLId createSampler(); |
719 virtual blink::WebGLId createTransformFeedback(); | 728 virtual blink::WebGLId createTransformFeedback(); |
720 virtual void deleteSampler(blink::WebGLId sampler); | 729 virtual void deleteSampler(blink::WebGLId sampler); |
721 // virtual void deleteSync(blink::WebGLId sync); | 730 virtual void deleteSync(blink::WGC3Dsync sync); |
722 virtual void deleteTransformFeedback(blink::WebGLId transformfeedback); | 731 virtual void deleteTransformFeedback(blink::WebGLId transformfeedback); |
| 732 virtual void drawRangeElements(blink::WGC3Denum mode, |
| 733 blink::WGC3Duint start, |
| 734 blink::WGC3Duint end, |
| 735 blink::WGC3Dsizei count, |
| 736 blink::WGC3Denum type, |
| 737 blink::WGC3Dintptr offset); |
723 virtual void endTransformFeedback(void); | 738 virtual void endTransformFeedback(void); |
724 // virtual blink::WebGLId fenceSync(blink::WGC3Denum condition, | 739 virtual blink::WGC3Dsync fenceSync(blink::WGC3Denum condition, |
725 // blink::WGC3Dbitfield flags); | 740 blink::WGC3Dbitfield flags); |
726 virtual void framebufferTextureLayer(blink::WGC3Denum target, | 741 virtual void framebufferTextureLayer(blink::WGC3Denum target, |
727 blink::WGC3Denum attachment, | 742 blink::WGC3Denum attachment, |
728 blink::WGC3Duint texture, | 743 blink::WGC3Duint texture, |
729 blink::WGC3Dint level, | 744 blink::WGC3Dint level, |
730 blink::WGC3Dint layer); | 745 blink::WGC3Dint layer); |
731 virtual void getActiveUniformBlockName(blink::WGC3Duint program, | 746 virtual void getActiveUniformBlockName(blink::WGC3Duint program, |
732 blink::WGC3Duint uniformBlockIndex, | 747 blink::WGC3Duint uniformBlockIndex, |
733 blink::WGC3Dsizei bufSize, | 748 blink::WGC3Dsizei bufSize, |
734 blink::WGC3Dsizei* length, | 749 blink::WGC3Dsizei* length, |
735 blink::WGC3Dchar* uniformBlockName); | 750 blink::WGC3Dchar* uniformBlockName); |
736 virtual void getActiveUniformBlockiv(blink::WGC3Duint program, | 751 virtual void getActiveUniformBlockiv(blink::WGC3Duint program, |
737 blink::WGC3Duint uniformBlockIndex, | 752 blink::WGC3Duint uniformBlockIndex, |
738 blink::WGC3Denum pname, | 753 blink::WGC3Denum pname, |
739 blink::WGC3Dint* params); | 754 blink::WGC3Dint* params); |
740 // virtual void getActiveUniformsiv(blink::WGC3Duint program, | 755 virtual void getActiveUniformsiv(blink::WGC3Duint program, |
741 // blink::WGC3Dsizei uniformCount, const blink::WGC3Duint *uniformIndices, | 756 blink::WGC3Dsizei uniformCount, |
742 // blink::WGC3Denum pname, blink::WGC3Dint *params); | 757 const blink::WGC3Duint *uniformIndices, |
| 758 blink::WGC3Denum pname, |
| 759 blink::WGC3Dint *params); |
743 virtual blink::WGC3Dint getFragDataLocation(blink::WGC3Duint program, | 760 virtual blink::WGC3Dint getFragDataLocation(blink::WGC3Duint program, |
744 const blink::WGC3Dchar* name); | 761 const blink::WGC3Dchar* name); |
745 virtual void getInternalformativ(blink::WGC3Denum target, | 762 virtual void getInternalformativ(blink::WGC3Denum target, |
746 blink::WGC3Denum internalformat, | 763 blink::WGC3Denum internalformat, |
747 blink::WGC3Denum pname, | 764 blink::WGC3Denum pname, |
748 blink::WGC3Dsizei bufSize, | 765 blink::WGC3Dsizei bufSize, |
749 blink::WGC3Dint* params); | 766 blink::WGC3Dint* params); |
750 virtual void getSamplerParameterfv(blink::WGC3Duint sampler, | 767 virtual void getSamplerParameterfv(blink::WGC3Duint sampler, |
751 blink::WGC3Denum pname, | 768 blink::WGC3Denum pname, |
752 blink::WGC3Dfloat* params); | 769 blink::WGC3Dfloat* params); |
753 virtual void getSamplerParameteriv(blink::WGC3Duint sampler, | 770 virtual void getSamplerParameteriv(blink::WGC3Duint sampler, |
754 blink::WGC3Denum pname, | 771 blink::WGC3Denum pname, |
755 blink::WGC3Dint* params); | 772 blink::WGC3Dint* params); |
756 // virtual void getTransformFeedbackVarying(blink::WGC3Duint program, | 773 virtual void getTransformFeedbackVarying(blink::WGC3Duint program, |
757 // blink::WGC3Duint index, | 774 blink::WGC3Duint index, |
758 // blink::WGC3Dsizei bufSize, blink::WGC3Dsizei *length, | 775 blink::WGC3Dsizei bufSize, |
759 // blink::WGC3Dsizei *size, blink::WGC3Denum *type, | 776 blink::WGC3Dsizei *length, |
760 // blink::WGC3Dchar *name); | 777 blink::WGC3Dsizei *size, |
| 778 blink::WGC3Denum *type, |
| 779 blink::WGC3Dchar *name); |
761 virtual blink::WGC3Duint getUniformBlockIndex( | 780 virtual blink::WGC3Duint getUniformBlockIndex( |
762 blink::WGC3Duint program, | 781 blink::WGC3Duint program, const blink::WGC3Dchar* uniformBlockName); |
763 const blink::WGC3Dchar* uniformBlockName); | 782 virtual void getUniformIndices(blink::WGC3Duint program, |
764 // virtual void getUniformIndices(blink::WGC3Duint program, | 783 blink::WGC3Dsizei uniformCount, |
765 // blink::WGC3Dsizei uniformCount, | 784 const blink::WGC3Dchar *const*uniformNames, |
766 // const blink::WGC3Dchar *const*uniformNames, | 785 blink::WGC3Duint *uniformIndices); |
767 // blink::WGC3Duint *uniformIndices); | 786 //virtual void getUniformuiv(blink::WGC3Duint program, |
768 // virtual void getUniformuiv(blink::WGC3Duint program, blink::WGC3Dint | 787 // blink::WGC3Dint location, |
769 // location, | 788 // blink::WGC3Duint *params); |
770 // blink::WGC3Duint *params); | 789 //virtual void getVertexAttribIiv(blink::WGC3Duint index, |
771 // virtual void getVertexAttribIiv(blink::WGC3Duint index, blink::WGC3Denum | 790 // blink::WGC3Denum pname, |
772 // pname, | 791 // blink::WGC3Dint *params); |
773 // blink::WGC3Dint *params); | 792 //virtual void getVertexAttribIuiv(blink::WGC3Duint index, |
774 // virtual void getVertexAttribIuiv(blink::WGC3Duint index, blink::WGC3Denum | 793 // blink::WGC3Denum pname, |
775 // pname, | 794 // blink::WGC3Duint *params); |
776 // blink::WGC3Duint *params); | |
777 virtual void invalidateFramebuffer(blink::WGC3Denum target, | 795 virtual void invalidateFramebuffer(blink::WGC3Denum target, |
778 blink::WGC3Dsizei numAttachments, | 796 blink::WGC3Dsizei numAttachments, |
779 const blink::WGC3Denum* attachments); | 797 const blink::WGC3Denum* attachments); |
780 virtual void invalidateSubFramebuffer(blink::WGC3Denum target, | 798 virtual void invalidateSubFramebuffer(blink::WGC3Denum target, |
781 blink::WGC3Dsizei numAttachments, | 799 blink::WGC3Dsizei numAttachments, |
782 const blink::WGC3Denum* attachments, | 800 const blink::WGC3Denum* attachments, |
783 blink::WGC3Dint x, | 801 blink::WGC3Dint x, |
784 blink::WGC3Dint y, | 802 blink::WGC3Dint y, |
785 blink::WGC3Dsizei width, | 803 blink::WGC3Dsizei width, |
786 blink::WGC3Dsizei height); | 804 blink::WGC3Dsizei height); |
787 virtual blink::WGC3Dboolean isSampler(blink::WebGLId sampler); | 805 virtual blink::WGC3Dboolean isSampler(blink::WebGLId sampler); |
788 // virtual blink::WGC3Dboolean isSync(blink::WebGLId sync); | 806 virtual blink::WGC3Dboolean isSync(blink::WGC3Dsync sync); |
789 virtual blink::WGC3Dboolean isTransformFeedback(blink::WGC3Duint id); | 807 virtual blink::WGC3Dboolean isTransformFeedback(blink::WGC3Duint id); |
790 virtual void pauseTransformFeedback(void); | 808 virtual void pauseTransformFeedback(void); |
791 // virtual void programParameteri(blink::WGC3Duint program, blink::WGC3Denum | 809 //virtual void programParameteri(blink::WGC3Duint program, |
792 // pname, | 810 // blink::WGC3Denum pname, |
793 // blink::WGC3Dint value); | 811 // blink::WGC3Dint value); |
794 virtual void readBuffer(blink::WGC3Denum src); | 812 virtual void readBuffer(blink::WGC3Denum src); |
795 virtual void resumeTransformFeedback(void); | 813 virtual void resumeTransformFeedback(void); |
796 virtual void samplerParameterf(blink::WGC3Duint sampler, | 814 virtual void samplerParameterf(blink::WGC3Duint sampler, |
797 blink::WGC3Denum pname, | 815 blink::WGC3Denum pname, |
798 blink::WGC3Dfloat param); | 816 blink::WGC3Dfloat param); |
799 virtual void samplerParameterfv(blink::WGC3Duint sampler, | 817 virtual void samplerParameterfv(blink::WGC3Duint sampler, |
800 blink::WGC3Denum pname, | 818 blink::WGC3Denum pname, |
801 const blink::WGC3Dfloat* param); | 819 const blink::WGC3Dfloat* param); |
802 virtual void samplerParameteri(blink::WGC3Duint sampler, | 820 virtual void samplerParameteri(blink::WGC3Duint sampler, |
803 blink::WGC3Denum pname, | 821 blink::WGC3Denum pname, |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
901 blink::WGC3Duint y, | 919 blink::WGC3Duint y, |
902 blink::WGC3Duint z, | 920 blink::WGC3Duint z, |
903 blink::WGC3Duint w); | 921 blink::WGC3Duint w); |
904 virtual void vertexAttribI4uiv(blink::WGC3Duint index, | 922 virtual void vertexAttribI4uiv(blink::WGC3Duint index, |
905 const blink::WGC3Duint* v); | 923 const blink::WGC3Duint* v); |
906 virtual void vertexAttribIPointer(blink::WGC3Duint index, | 924 virtual void vertexAttribIPointer(blink::WGC3Duint index, |
907 blink::WGC3Dint size, | 925 blink::WGC3Dint size, |
908 blink::WGC3Denum type, | 926 blink::WGC3Denum type, |
909 blink::WGC3Dsizei stride, | 927 blink::WGC3Dsizei stride, |
910 blink::WGC3Dintptr pointer); | 928 blink::WGC3Dintptr pointer); |
911 // virtual void waitSync(blink::WebGLId sync, blink::WGC3Dbitfield flags, | 929 virtual void waitSync(blink::WGC3Dsync sync, |
912 // blink::WGC3Duint64 timeout); | 930 blink::WGC3Dbitfield flags, |
| 931 blink::WGC3Duint64 timeout); |
913 | 932 |
914 virtual GrGLInterface* createGrGLInterface(); | 933 virtual GrGLInterface* createGrGLInterface(); |
915 | 934 |
916 ::gpu::gles2::GLES2Interface* GetGLInterface() { | 935 ::gpu::gles2::GLES2Interface* GetGLInterface() { |
917 return gl_; | 936 return gl_; |
918 } | 937 } |
919 | 938 |
920 // Convert WebGL context creation attributes into command buffer / EGL size | 939 // Convert WebGL context creation attributes into command buffer / EGL size |
921 // requests. | 940 // requests. |
922 static void ConvertAttributes( | 941 static void ConvertAttributes( |
(...skipping 28 matching lines...) Expand all Loading... |
951 std::vector<blink::WGC3Denum> synthetic_errors_; | 970 std::vector<blink::WGC3Denum> synthetic_errors_; |
952 | 971 |
953 ::gpu::gles2::GLES2Interface* gl_; | 972 ::gpu::gles2::GLES2Interface* gl_; |
954 bool lose_context_when_out_of_memory_; | 973 bool lose_context_when_out_of_memory_; |
955 uint32_t flush_id_; | 974 uint32_t flush_id_; |
956 }; | 975 }; |
957 | 976 |
958 } // namespace gpu_blink | 977 } // namespace gpu_blink |
959 | 978 |
960 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ | 979 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ |
OLD | NEW |