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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h

Issue 10635011: Add glBindUniformLocationCHROMIUM (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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
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 // This file is auto-generated from 5 // This file is auto-generated from
6 // gpu/command_buffer/build_gles2_cmd_buffer.py 6 // gpu/command_buffer/build_gles2_cmd_buffer.py
7 // DO NOT EDIT! 7 // DO NOT EDIT!
8 8
9 // It is included by gles2_cmd_decoder_unittest_2.cc 9 // It is included by gles2_cmd_decoder_unittest_2.cc
10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ 10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_
(...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 } 693 }
694 // TODO(gman): TexSubImage2D 694 // TODO(gman): TexSubImage2D
695 695
696 // TODO(gman): TexSubImage2DImmediate 696 // TODO(gman): TexSubImage2DImmediate
697 697
698 698
699 TEST_F(GLES2DecoderTest2, Uniform1fValidArgs) { 699 TEST_F(GLES2DecoderTest2, Uniform1fValidArgs) {
700 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); 700 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _));
701 SpecializedSetup<Uniform1f, 0>(true); 701 SpecializedSetup<Uniform1f, 0>(true);
702 Uniform1f cmd; 702 Uniform1f cmd;
703 cmd.Init(GLES2Util::SwizzleLocation(1), 2); 703 cmd.Init(1, 2);
704 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 704 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
705 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 705 EXPECT_EQ(GL_NO_ERROR, GetGLError());
706 } 706 }
707 707
708 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgs) { 708 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgs) {
709 EXPECT_CALL( 709 EXPECT_CALL(
710 *gl_, Uniform1fv( 710 *gl_, Uniform1fv(
711 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 711 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
712 SpecializedSetup<Uniform1fv, 0>(true); 712 SpecializedSetup<Uniform1fv, 0>(true);
713 Uniform1fv cmd; 713 Uniform1fv cmd;
714 cmd.Init( 714 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_);
715 GLES2Util::SwizzleLocation(
716 1), 2, shared_memory_id_, shared_memory_offset_);
717 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 715 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
718 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 716 EXPECT_EQ(GL_NO_ERROR, GetGLError());
719 } 717 }
720 718
721 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { 719 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) {
722 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); 720 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0);
723 SpecializedSetup<Uniform1fv, 0>(false); 721 SpecializedSetup<Uniform1fv, 0>(false);
724 Uniform1fv cmd; 722 Uniform1fv cmd;
725 cmd.Init( 723 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_);
726 GLES2Util::SwizzleLocation(
727 1), -1, shared_memory_id_, shared_memory_offset_);
728 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 724 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
729 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 725 EXPECT_EQ(GL_NO_ERROR, GetGLError());
730 } 726 }
731 727
732 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { 728 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) {
733 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); 729 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0);
734 SpecializedSetup<Uniform1fv, 0>(false); 730 SpecializedSetup<Uniform1fv, 0>(false);
735 Uniform1fv cmd; 731 Uniform1fv cmd;
736 cmd.Init(GLES2Util::SwizzleLocation(1), 2, kInvalidSharedMemoryId, 0); 732 cmd.Init(1, 2, kInvalidSharedMemoryId, 0);
737 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 733 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
738 } 734 }
739 735
740 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { 736 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) {
741 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); 737 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0);
742 SpecializedSetup<Uniform1fv, 0>(false); 738 SpecializedSetup<Uniform1fv, 0>(false);
743 Uniform1fv cmd; 739 Uniform1fv cmd;
744 cmd.Init( 740 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset);
745 GLES2Util::SwizzleLocation(
746 1), 2, shared_memory_id_, kInvalidSharedMemoryOffset);
747 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 741 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
748 } 742 }
749 743
750 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { 744 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) {
751 EXPECT_CALL( 745 EXPECT_CALL(
752 *gl_, Uniform1fv( 746 *gl_, Uniform1fv(
753 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 747 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
754 SpecializedSetup<Uniform1fv, 0>(true); 748 SpecializedSetup<Uniform1fv, 0>(true);
755 Uniform1fv cmd; 749 Uniform1fv cmd;
756 cmd.Init( 750 cmd.Init(
757 GLES2Util::SwizzleLocation( 751 ProgramManager::MakeFakeLocation(
758 GLES2Util::MakeFakeLocation( 752 1, 1), 5, shared_memory_id_, shared_memory_offset_);
759 1, 1)), 5, shared_memory_id_, shared_memory_offset_);
760 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 753 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
761 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 754 EXPECT_EQ(GL_NO_ERROR, GetGLError());
762 } 755 }
763 756
764 TEST_F(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { 757 TEST_F(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) {
765 Uniform1fvImmediate& cmd = *GetImmediateAs<Uniform1fvImmediate>(); 758 Uniform1fvImmediate& cmd = *GetImmediateAs<Uniform1fvImmediate>();
766 EXPECT_CALL( 759 EXPECT_CALL(
767 *gl_, 760 *gl_,
768 Uniform1fv(1, 2, 761 Uniform1fv(1, 2,
769 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); 762 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
770 SpecializedSetup<Uniform1fvImmediate, 0>(true); 763 SpecializedSetup<Uniform1fvImmediate, 0>(true);
771 GLfloat temp[1 * 2] = { 0, }; 764 GLfloat temp[1 * 2] = { 0, };
772 cmd.Init(GLES2Util::SwizzleLocation(1), 2, &temp[0]); 765 cmd.Init(1, 2, &temp[0]);
773 EXPECT_EQ(error::kNoError, 766 EXPECT_EQ(error::kNoError,
774 ExecuteImmediateCmd(cmd, sizeof(temp))); 767 ExecuteImmediateCmd(cmd, sizeof(temp)));
775 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 768 EXPECT_EQ(GL_NO_ERROR, GetGLError());
776 } 769 }
777 // TODO(gman): Uniform1i 770 // TODO(gman): Uniform1i
778 // TODO(gman): Uniform1iv 771 // TODO(gman): Uniform1iv
779 // TODO(gman): Uniform1ivImmediate 772 // TODO(gman): Uniform1ivImmediate
780 773
781 TEST_F(GLES2DecoderTest2, Uniform2fValidArgs) { 774 TEST_F(GLES2DecoderTest2, Uniform2fValidArgs) {
782 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); 775 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _));
783 SpecializedSetup<Uniform2f, 0>(true); 776 SpecializedSetup<Uniform2f, 0>(true);
784 Uniform2f cmd; 777 Uniform2f cmd;
785 cmd.Init(GLES2Util::SwizzleLocation(1), 2, 3); 778 cmd.Init(1, 2, 3);
786 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 779 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
787 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 780 EXPECT_EQ(GL_NO_ERROR, GetGLError());
788 } 781 }
789 782
790 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgs) { 783 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgs) {
791 EXPECT_CALL( 784 EXPECT_CALL(
792 *gl_, Uniform2fv( 785 *gl_, Uniform2fv(
793 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 786 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
794 SpecializedSetup<Uniform2fv, 0>(true); 787 SpecializedSetup<Uniform2fv, 0>(true);
795 Uniform2fv cmd; 788 Uniform2fv cmd;
796 cmd.Init( 789 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_);
797 GLES2Util::SwizzleLocation(
798 1), 2, shared_memory_id_, shared_memory_offset_);
799 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 790 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
800 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 791 EXPECT_EQ(GL_NO_ERROR, GetGLError());
801 } 792 }
802 793
803 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { 794 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) {
804 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); 795 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0);
805 SpecializedSetup<Uniform2fv, 0>(false); 796 SpecializedSetup<Uniform2fv, 0>(false);
806 Uniform2fv cmd; 797 Uniform2fv cmd;
807 cmd.Init( 798 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_);
808 GLES2Util::SwizzleLocation(
809 1), -1, shared_memory_id_, shared_memory_offset_);
810 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 799 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
811 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 800 EXPECT_EQ(GL_NO_ERROR, GetGLError());
812 } 801 }
813 802
814 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { 803 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) {
815 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); 804 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0);
816 SpecializedSetup<Uniform2fv, 0>(false); 805 SpecializedSetup<Uniform2fv, 0>(false);
817 Uniform2fv cmd; 806 Uniform2fv cmd;
818 cmd.Init(GLES2Util::SwizzleLocation(1), 2, kInvalidSharedMemoryId, 0); 807 cmd.Init(1, 2, kInvalidSharedMemoryId, 0);
819 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 808 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
820 } 809 }
821 810
822 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { 811 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) {
823 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); 812 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0);
824 SpecializedSetup<Uniform2fv, 0>(false); 813 SpecializedSetup<Uniform2fv, 0>(false);
825 Uniform2fv cmd; 814 Uniform2fv cmd;
826 cmd.Init( 815 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset);
827 GLES2Util::SwizzleLocation(
828 1), 2, shared_memory_id_, kInvalidSharedMemoryOffset);
829 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 816 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
830 } 817 }
831 818
832 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { 819 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) {
833 EXPECT_CALL( 820 EXPECT_CALL(
834 *gl_, Uniform2fv( 821 *gl_, Uniform2fv(
835 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 822 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
836 SpecializedSetup<Uniform2fv, 0>(true); 823 SpecializedSetup<Uniform2fv, 0>(true);
837 Uniform2fv cmd; 824 Uniform2fv cmd;
838 cmd.Init( 825 cmd.Init(
839 GLES2Util::SwizzleLocation( 826 ProgramManager::MakeFakeLocation(
840 GLES2Util::MakeFakeLocation( 827 1, 1), 5, shared_memory_id_, shared_memory_offset_);
841 1, 1)), 5, shared_memory_id_, shared_memory_offset_);
842 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 828 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
843 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 829 EXPECT_EQ(GL_NO_ERROR, GetGLError());
844 } 830 }
845 831
846 TEST_F(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { 832 TEST_F(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) {
847 Uniform2fvImmediate& cmd = *GetImmediateAs<Uniform2fvImmediate>(); 833 Uniform2fvImmediate& cmd = *GetImmediateAs<Uniform2fvImmediate>();
848 EXPECT_CALL( 834 EXPECT_CALL(
849 *gl_, 835 *gl_,
850 Uniform2fv(1, 2, 836 Uniform2fv(1, 2,
851 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); 837 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
852 SpecializedSetup<Uniform2fvImmediate, 0>(true); 838 SpecializedSetup<Uniform2fvImmediate, 0>(true);
853 GLfloat temp[2 * 2] = { 0, }; 839 GLfloat temp[2 * 2] = { 0, };
854 cmd.Init(GLES2Util::SwizzleLocation(1), 2, &temp[0]); 840 cmd.Init(1, 2, &temp[0]);
855 EXPECT_EQ(error::kNoError, 841 EXPECT_EQ(error::kNoError,
856 ExecuteImmediateCmd(cmd, sizeof(temp))); 842 ExecuteImmediateCmd(cmd, sizeof(temp)));
857 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 843 EXPECT_EQ(GL_NO_ERROR, GetGLError());
858 } 844 }
859 845
860 TEST_F(GLES2DecoderTest2, Uniform2iValidArgs) { 846 TEST_F(GLES2DecoderTest2, Uniform2iValidArgs) {
861 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); 847 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _));
862 SpecializedSetup<Uniform2i, 0>(true); 848 SpecializedSetup<Uniform2i, 0>(true);
863 Uniform2i cmd; 849 Uniform2i cmd;
864 cmd.Init(GLES2Util::SwizzleLocation(1), 2, 3); 850 cmd.Init(1, 2, 3);
865 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 851 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
866 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 852 EXPECT_EQ(GL_NO_ERROR, GetGLError());
867 } 853 }
868 854
869 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgs) { 855 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgs) {
870 EXPECT_CALL( 856 EXPECT_CALL(
871 *gl_, Uniform2iv( 857 *gl_, Uniform2iv(
872 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); 858 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_)));
873 SpecializedSetup<Uniform2iv, 0>(true); 859 SpecializedSetup<Uniform2iv, 0>(true);
874 Uniform2iv cmd; 860 Uniform2iv cmd;
875 cmd.Init( 861 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_);
876 GLES2Util::SwizzleLocation(
877 1), 2, shared_memory_id_, shared_memory_offset_);
878 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 862 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
879 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 863 EXPECT_EQ(GL_NO_ERROR, GetGLError());
880 } 864 }
881 865
882 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { 866 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) {
883 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); 867 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0);
884 SpecializedSetup<Uniform2iv, 0>(false); 868 SpecializedSetup<Uniform2iv, 0>(false);
885 Uniform2iv cmd; 869 Uniform2iv cmd;
886 cmd.Init( 870 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_);
887 GLES2Util::SwizzleLocation(
888 1), -1, shared_memory_id_, shared_memory_offset_);
889 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 871 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
890 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 872 EXPECT_EQ(GL_NO_ERROR, GetGLError());
891 } 873 }
892 874
893 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { 875 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) {
894 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); 876 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0);
895 SpecializedSetup<Uniform2iv, 0>(false); 877 SpecializedSetup<Uniform2iv, 0>(false);
896 Uniform2iv cmd; 878 Uniform2iv cmd;
897 cmd.Init(GLES2Util::SwizzleLocation(1), 2, kInvalidSharedMemoryId, 0); 879 cmd.Init(1, 2, kInvalidSharedMemoryId, 0);
898 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 880 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
899 } 881 }
900 882
901 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { 883 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) {
902 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); 884 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0);
903 SpecializedSetup<Uniform2iv, 0>(false); 885 SpecializedSetup<Uniform2iv, 0>(false);
904 Uniform2iv cmd; 886 Uniform2iv cmd;
905 cmd.Init( 887 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset);
906 GLES2Util::SwizzleLocation(
907 1), 2, shared_memory_id_, kInvalidSharedMemoryOffset);
908 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 888 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
909 } 889 }
910 890
911 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { 891 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) {
912 EXPECT_CALL( 892 EXPECT_CALL(
913 *gl_, Uniform2iv( 893 *gl_, Uniform2iv(
914 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); 894 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_)));
915 SpecializedSetup<Uniform2iv, 0>(true); 895 SpecializedSetup<Uniform2iv, 0>(true);
916 Uniform2iv cmd; 896 Uniform2iv cmd;
917 cmd.Init( 897 cmd.Init(
918 GLES2Util::SwizzleLocation( 898 ProgramManager::MakeFakeLocation(
919 GLES2Util::MakeFakeLocation( 899 1, 1), 5, shared_memory_id_, shared_memory_offset_);
920 1, 1)), 5, shared_memory_id_, shared_memory_offset_);
921 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 900 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
922 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 901 EXPECT_EQ(GL_NO_ERROR, GetGLError());
923 } 902 }
924 903
925 TEST_F(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { 904 TEST_F(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) {
926 Uniform2ivImmediate& cmd = *GetImmediateAs<Uniform2ivImmediate>(); 905 Uniform2ivImmediate& cmd = *GetImmediateAs<Uniform2ivImmediate>();
927 EXPECT_CALL( 906 EXPECT_CALL(
928 *gl_, 907 *gl_,
929 Uniform2iv(1, 2, 908 Uniform2iv(1, 2,
930 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); 909 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
931 SpecializedSetup<Uniform2ivImmediate, 0>(true); 910 SpecializedSetup<Uniform2ivImmediate, 0>(true);
932 GLint temp[2 * 2] = { 0, }; 911 GLint temp[2 * 2] = { 0, };
933 cmd.Init(GLES2Util::SwizzleLocation(1), 2, &temp[0]); 912 cmd.Init(1, 2, &temp[0]);
934 EXPECT_EQ(error::kNoError, 913 EXPECT_EQ(error::kNoError,
935 ExecuteImmediateCmd(cmd, sizeof(temp))); 914 ExecuteImmediateCmd(cmd, sizeof(temp)));
936 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 915 EXPECT_EQ(GL_NO_ERROR, GetGLError());
937 } 916 }
938 917
939 TEST_F(GLES2DecoderTest2, Uniform3fValidArgs) { 918 TEST_F(GLES2DecoderTest2, Uniform3fValidArgs) {
940 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); 919 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _));
941 SpecializedSetup<Uniform3f, 0>(true); 920 SpecializedSetup<Uniform3f, 0>(true);
942 Uniform3f cmd; 921 Uniform3f cmd;
943 cmd.Init(GLES2Util::SwizzleLocation(1), 2, 3, 4); 922 cmd.Init(1, 2, 3, 4);
944 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 923 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
945 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 924 EXPECT_EQ(GL_NO_ERROR, GetGLError());
946 } 925 }
947 926
948 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgs) { 927 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgs) {
949 EXPECT_CALL( 928 EXPECT_CALL(
950 *gl_, Uniform3fv( 929 *gl_, Uniform3fv(
951 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 930 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
952 SpecializedSetup<Uniform3fv, 0>(true); 931 SpecializedSetup<Uniform3fv, 0>(true);
953 Uniform3fv cmd; 932 Uniform3fv cmd;
954 cmd.Init( 933 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_);
955 GLES2Util::SwizzleLocation(
956 1), 2, shared_memory_id_, shared_memory_offset_);
957 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 934 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
958 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 935 EXPECT_EQ(GL_NO_ERROR, GetGLError());
959 } 936 }
960 937
961 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { 938 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) {
962 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); 939 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0);
963 SpecializedSetup<Uniform3fv, 0>(false); 940 SpecializedSetup<Uniform3fv, 0>(false);
964 Uniform3fv cmd; 941 Uniform3fv cmd;
965 cmd.Init( 942 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_);
966 GLES2Util::SwizzleLocation(
967 1), -1, shared_memory_id_, shared_memory_offset_);
968 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 943 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
969 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 944 EXPECT_EQ(GL_NO_ERROR, GetGLError());
970 } 945 }
971 946
972 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { 947 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) {
973 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); 948 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0);
974 SpecializedSetup<Uniform3fv, 0>(false); 949 SpecializedSetup<Uniform3fv, 0>(false);
975 Uniform3fv cmd; 950 Uniform3fv cmd;
976 cmd.Init(GLES2Util::SwizzleLocation(1), 2, kInvalidSharedMemoryId, 0); 951 cmd.Init(1, 2, kInvalidSharedMemoryId, 0);
977 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 952 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
978 } 953 }
979 954
980 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { 955 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) {
981 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); 956 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0);
982 SpecializedSetup<Uniform3fv, 0>(false); 957 SpecializedSetup<Uniform3fv, 0>(false);
983 Uniform3fv cmd; 958 Uniform3fv cmd;
984 cmd.Init( 959 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset);
985 GLES2Util::SwizzleLocation(
986 1), 2, shared_memory_id_, kInvalidSharedMemoryOffset);
987 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 960 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
988 } 961 }
989 962
990 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { 963 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) {
991 EXPECT_CALL( 964 EXPECT_CALL(
992 *gl_, Uniform3fv( 965 *gl_, Uniform3fv(
993 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 966 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
994 SpecializedSetup<Uniform3fv, 0>(true); 967 SpecializedSetup<Uniform3fv, 0>(true);
995 Uniform3fv cmd; 968 Uniform3fv cmd;
996 cmd.Init( 969 cmd.Init(
997 GLES2Util::SwizzleLocation( 970 ProgramManager::MakeFakeLocation(
998 GLES2Util::MakeFakeLocation( 971 1, 1), 5, shared_memory_id_, shared_memory_offset_);
999 1, 1)), 5, shared_memory_id_, shared_memory_offset_);
1000 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 972 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1001 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 973 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1002 } 974 }
1003 975
1004 TEST_F(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { 976 TEST_F(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) {
1005 Uniform3fvImmediate& cmd = *GetImmediateAs<Uniform3fvImmediate>(); 977 Uniform3fvImmediate& cmd = *GetImmediateAs<Uniform3fvImmediate>();
1006 EXPECT_CALL( 978 EXPECT_CALL(
1007 *gl_, 979 *gl_,
1008 Uniform3fv(1, 2, 980 Uniform3fv(1, 2,
1009 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); 981 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1010 SpecializedSetup<Uniform3fvImmediate, 0>(true); 982 SpecializedSetup<Uniform3fvImmediate, 0>(true);
1011 GLfloat temp[3 * 2] = { 0, }; 983 GLfloat temp[3 * 2] = { 0, };
1012 cmd.Init(GLES2Util::SwizzleLocation(1), 2, &temp[0]); 984 cmd.Init(1, 2, &temp[0]);
1013 EXPECT_EQ(error::kNoError, 985 EXPECT_EQ(error::kNoError,
1014 ExecuteImmediateCmd(cmd, sizeof(temp))); 986 ExecuteImmediateCmd(cmd, sizeof(temp)));
1015 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 987 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1016 } 988 }
1017 989
1018 TEST_F(GLES2DecoderTest2, Uniform3iValidArgs) { 990 TEST_F(GLES2DecoderTest2, Uniform3iValidArgs) {
1019 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); 991 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _));
1020 SpecializedSetup<Uniform3i, 0>(true); 992 SpecializedSetup<Uniform3i, 0>(true);
1021 Uniform3i cmd; 993 Uniform3i cmd;
1022 cmd.Init(GLES2Util::SwizzleLocation(1), 2, 3, 4); 994 cmd.Init(1, 2, 3, 4);
1023 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 995 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1024 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 996 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1025 } 997 }
1026 998
1027 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgs) { 999 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgs) {
1028 EXPECT_CALL( 1000 EXPECT_CALL(
1029 *gl_, Uniform3iv( 1001 *gl_, Uniform3iv(
1030 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); 1002 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_)));
1031 SpecializedSetup<Uniform3iv, 0>(true); 1003 SpecializedSetup<Uniform3iv, 0>(true);
1032 Uniform3iv cmd; 1004 Uniform3iv cmd;
1033 cmd.Init( 1005 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_);
1034 GLES2Util::SwizzleLocation(
1035 1), 2, shared_memory_id_, shared_memory_offset_);
1036 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1006 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1037 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1007 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1038 } 1008 }
1039 1009
1040 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { 1010 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) {
1041 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); 1011 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0);
1042 SpecializedSetup<Uniform3iv, 0>(false); 1012 SpecializedSetup<Uniform3iv, 0>(false);
1043 Uniform3iv cmd; 1013 Uniform3iv cmd;
1044 cmd.Init( 1014 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_);
1045 GLES2Util::SwizzleLocation(
1046 1), -1, shared_memory_id_, shared_memory_offset_);
1047 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1015 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1048 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1016 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1049 } 1017 }
1050 1018
1051 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { 1019 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) {
1052 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); 1020 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0);
1053 SpecializedSetup<Uniform3iv, 0>(false); 1021 SpecializedSetup<Uniform3iv, 0>(false);
1054 Uniform3iv cmd; 1022 Uniform3iv cmd;
1055 cmd.Init(GLES2Util::SwizzleLocation(1), 2, kInvalidSharedMemoryId, 0); 1023 cmd.Init(1, 2, kInvalidSharedMemoryId, 0);
1056 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1024 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1057 } 1025 }
1058 1026
1059 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { 1027 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) {
1060 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); 1028 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0);
1061 SpecializedSetup<Uniform3iv, 0>(false); 1029 SpecializedSetup<Uniform3iv, 0>(false);
1062 Uniform3iv cmd; 1030 Uniform3iv cmd;
1063 cmd.Init( 1031 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset);
1064 GLES2Util::SwizzleLocation(
1065 1), 2, shared_memory_id_, kInvalidSharedMemoryOffset);
1066 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1032 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1067 } 1033 }
1068 1034
1069 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { 1035 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) {
1070 EXPECT_CALL( 1036 EXPECT_CALL(
1071 *gl_, Uniform3iv( 1037 *gl_, Uniform3iv(
1072 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); 1038 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_)));
1073 SpecializedSetup<Uniform3iv, 0>(true); 1039 SpecializedSetup<Uniform3iv, 0>(true);
1074 Uniform3iv cmd; 1040 Uniform3iv cmd;
1075 cmd.Init( 1041 cmd.Init(
1076 GLES2Util::SwizzleLocation( 1042 ProgramManager::MakeFakeLocation(
1077 GLES2Util::MakeFakeLocation( 1043 1, 1), 5, shared_memory_id_, shared_memory_offset_);
1078 1, 1)), 5, shared_memory_id_, shared_memory_offset_);
1079 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1044 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1080 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1045 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1081 } 1046 }
1082 1047
1083 TEST_F(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { 1048 TEST_F(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) {
1084 Uniform3ivImmediate& cmd = *GetImmediateAs<Uniform3ivImmediate>(); 1049 Uniform3ivImmediate& cmd = *GetImmediateAs<Uniform3ivImmediate>();
1085 EXPECT_CALL( 1050 EXPECT_CALL(
1086 *gl_, 1051 *gl_,
1087 Uniform3iv(1, 2, 1052 Uniform3iv(1, 2,
1088 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); 1053 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
1089 SpecializedSetup<Uniform3ivImmediate, 0>(true); 1054 SpecializedSetup<Uniform3ivImmediate, 0>(true);
1090 GLint temp[3 * 2] = { 0, }; 1055 GLint temp[3 * 2] = { 0, };
1091 cmd.Init(GLES2Util::SwizzleLocation(1), 2, &temp[0]); 1056 cmd.Init(1, 2, &temp[0]);
1092 EXPECT_EQ(error::kNoError, 1057 EXPECT_EQ(error::kNoError,
1093 ExecuteImmediateCmd(cmd, sizeof(temp))); 1058 ExecuteImmediateCmd(cmd, sizeof(temp)));
1094 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1059 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1095 } 1060 }
1096 1061
1097 TEST_F(GLES2DecoderTest2, Uniform4fValidArgs) { 1062 TEST_F(GLES2DecoderTest2, Uniform4fValidArgs) {
1098 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); 1063 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _));
1099 SpecializedSetup<Uniform4f, 0>(true); 1064 SpecializedSetup<Uniform4f, 0>(true);
1100 Uniform4f cmd; 1065 Uniform4f cmd;
1101 cmd.Init(GLES2Util::SwizzleLocation(1), 2, 3, 4, 5); 1066 cmd.Init(1, 2, 3, 4, 5);
1102 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1067 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1103 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1068 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1104 } 1069 }
1105 1070
1106 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgs) { 1071 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgs) {
1107 EXPECT_CALL( 1072 EXPECT_CALL(
1108 *gl_, Uniform4fv( 1073 *gl_, Uniform4fv(
1109 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 1074 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
1110 SpecializedSetup<Uniform4fv, 0>(true); 1075 SpecializedSetup<Uniform4fv, 0>(true);
1111 Uniform4fv cmd; 1076 Uniform4fv cmd;
1112 cmd.Init( 1077 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_);
1113 GLES2Util::SwizzleLocation(
1114 1), 2, shared_memory_id_, shared_memory_offset_);
1115 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1078 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1116 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1079 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1117 } 1080 }
1118 1081
1119 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { 1082 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) {
1120 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); 1083 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0);
1121 SpecializedSetup<Uniform4fv, 0>(false); 1084 SpecializedSetup<Uniform4fv, 0>(false);
1122 Uniform4fv cmd; 1085 Uniform4fv cmd;
1123 cmd.Init( 1086 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_);
1124 GLES2Util::SwizzleLocation(
1125 1), -1, shared_memory_id_, shared_memory_offset_);
1126 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1087 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1127 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1088 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1128 } 1089 }
1129 1090
1130 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { 1091 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) {
1131 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); 1092 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0);
1132 SpecializedSetup<Uniform4fv, 0>(false); 1093 SpecializedSetup<Uniform4fv, 0>(false);
1133 Uniform4fv cmd; 1094 Uniform4fv cmd;
1134 cmd.Init(GLES2Util::SwizzleLocation(1), 2, kInvalidSharedMemoryId, 0); 1095 cmd.Init(1, 2, kInvalidSharedMemoryId, 0);
1135 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1096 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1136 } 1097 }
1137 1098
1138 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { 1099 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) {
1139 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); 1100 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0);
1140 SpecializedSetup<Uniform4fv, 0>(false); 1101 SpecializedSetup<Uniform4fv, 0>(false);
1141 Uniform4fv cmd; 1102 Uniform4fv cmd;
1142 cmd.Init( 1103 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset);
1143 GLES2Util::SwizzleLocation(
1144 1), 2, shared_memory_id_, kInvalidSharedMemoryOffset);
1145 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1104 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1146 } 1105 }
1147 1106
1148 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { 1107 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) {
1149 EXPECT_CALL( 1108 EXPECT_CALL(
1150 *gl_, Uniform4fv( 1109 *gl_, Uniform4fv(
1151 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); 1110 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_)));
1152 SpecializedSetup<Uniform4fv, 0>(true); 1111 SpecializedSetup<Uniform4fv, 0>(true);
1153 Uniform4fv cmd; 1112 Uniform4fv cmd;
1154 cmd.Init( 1113 cmd.Init(
1155 GLES2Util::SwizzleLocation( 1114 ProgramManager::MakeFakeLocation(
1156 GLES2Util::MakeFakeLocation( 1115 1, 1), 5, shared_memory_id_, shared_memory_offset_);
1157 1, 1)), 5, shared_memory_id_, shared_memory_offset_);
1158 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1116 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1159 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1117 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1160 } 1118 }
1161 1119
1162 TEST_F(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { 1120 TEST_F(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) {
1163 Uniform4fvImmediate& cmd = *GetImmediateAs<Uniform4fvImmediate>(); 1121 Uniform4fvImmediate& cmd = *GetImmediateAs<Uniform4fvImmediate>();
1164 EXPECT_CALL( 1122 EXPECT_CALL(
1165 *gl_, 1123 *gl_,
1166 Uniform4fv(1, 2, 1124 Uniform4fv(1, 2,
1167 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); 1125 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1168 SpecializedSetup<Uniform4fvImmediate, 0>(true); 1126 SpecializedSetup<Uniform4fvImmediate, 0>(true);
1169 GLfloat temp[4 * 2] = { 0, }; 1127 GLfloat temp[4 * 2] = { 0, };
1170 cmd.Init(GLES2Util::SwizzleLocation(1), 2, &temp[0]); 1128 cmd.Init(1, 2, &temp[0]);
1171 EXPECT_EQ(error::kNoError, 1129 EXPECT_EQ(error::kNoError,
1172 ExecuteImmediateCmd(cmd, sizeof(temp))); 1130 ExecuteImmediateCmd(cmd, sizeof(temp)));
1173 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1131 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1174 } 1132 }
1175 1133
1176 TEST_F(GLES2DecoderTest2, Uniform4iValidArgs) { 1134 TEST_F(GLES2DecoderTest2, Uniform4iValidArgs) {
1177 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); 1135 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _));
1178 SpecializedSetup<Uniform4i, 0>(true); 1136 SpecializedSetup<Uniform4i, 0>(true);
1179 Uniform4i cmd; 1137 Uniform4i cmd;
1180 cmd.Init(GLES2Util::SwizzleLocation(1), 2, 3, 4, 5); 1138 cmd.Init(1, 2, 3, 4, 5);
1181 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1139 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1182 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1140 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1183 } 1141 }
1184 1142
1185 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgs) { 1143 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgs) {
1186 EXPECT_CALL( 1144 EXPECT_CALL(
1187 *gl_, Uniform4iv( 1145 *gl_, Uniform4iv(
1188 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); 1146 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_)));
1189 SpecializedSetup<Uniform4iv, 0>(true); 1147 SpecializedSetup<Uniform4iv, 0>(true);
1190 Uniform4iv cmd; 1148 Uniform4iv cmd;
1191 cmd.Init( 1149 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_);
1192 GLES2Util::SwizzleLocation(
1193 1), 2, shared_memory_id_, shared_memory_offset_);
1194 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1150 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1195 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1151 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1196 } 1152 }
1197 1153
1198 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { 1154 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) {
1199 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); 1155 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0);
1200 SpecializedSetup<Uniform4iv, 0>(false); 1156 SpecializedSetup<Uniform4iv, 0>(false);
1201 Uniform4iv cmd; 1157 Uniform4iv cmd;
1202 cmd.Init( 1158 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_);
1203 GLES2Util::SwizzleLocation(
1204 1), -1, shared_memory_id_, shared_memory_offset_);
1205 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1159 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1206 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1160 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1207 } 1161 }
1208 1162
1209 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { 1163 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) {
1210 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); 1164 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0);
1211 SpecializedSetup<Uniform4iv, 0>(false); 1165 SpecializedSetup<Uniform4iv, 0>(false);
1212 Uniform4iv cmd; 1166 Uniform4iv cmd;
1213 cmd.Init(GLES2Util::SwizzleLocation(1), 2, kInvalidSharedMemoryId, 0); 1167 cmd.Init(1, 2, kInvalidSharedMemoryId, 0);
1214 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1168 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1215 } 1169 }
1216 1170
1217 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { 1171 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) {
1218 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); 1172 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0);
1219 SpecializedSetup<Uniform4iv, 0>(false); 1173 SpecializedSetup<Uniform4iv, 0>(false);
1220 Uniform4iv cmd; 1174 Uniform4iv cmd;
1221 cmd.Init( 1175 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset);
1222 GLES2Util::SwizzleLocation(
1223 1), 2, shared_memory_id_, kInvalidSharedMemoryOffset);
1224 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1176 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1225 } 1177 }
1226 1178
1227 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { 1179 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) {
1228 EXPECT_CALL( 1180 EXPECT_CALL(
1229 *gl_, Uniform4iv( 1181 *gl_, Uniform4iv(
1230 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); 1182 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_)));
1231 SpecializedSetup<Uniform4iv, 0>(true); 1183 SpecializedSetup<Uniform4iv, 0>(true);
1232 Uniform4iv cmd; 1184 Uniform4iv cmd;
1233 cmd.Init( 1185 cmd.Init(
1234 GLES2Util::SwizzleLocation( 1186 ProgramManager::MakeFakeLocation(
1235 GLES2Util::MakeFakeLocation( 1187 1, 1), 5, shared_memory_id_, shared_memory_offset_);
1236 1, 1)), 5, shared_memory_id_, shared_memory_offset_);
1237 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1188 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1238 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1189 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1239 } 1190 }
1240 1191
1241 TEST_F(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { 1192 TEST_F(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) {
1242 Uniform4ivImmediate& cmd = *GetImmediateAs<Uniform4ivImmediate>(); 1193 Uniform4ivImmediate& cmd = *GetImmediateAs<Uniform4ivImmediate>();
1243 EXPECT_CALL( 1194 EXPECT_CALL(
1244 *gl_, 1195 *gl_,
1245 Uniform4iv(1, 2, 1196 Uniform4iv(1, 2,
1246 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); 1197 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
1247 SpecializedSetup<Uniform4ivImmediate, 0>(true); 1198 SpecializedSetup<Uniform4ivImmediate, 0>(true);
1248 GLint temp[4 * 2] = { 0, }; 1199 GLint temp[4 * 2] = { 0, };
1249 cmd.Init(GLES2Util::SwizzleLocation(1), 2, &temp[0]); 1200 cmd.Init(1, 2, &temp[0]);
1250 EXPECT_EQ(error::kNoError, 1201 EXPECT_EQ(error::kNoError,
1251 ExecuteImmediateCmd(cmd, sizeof(temp))); 1202 ExecuteImmediateCmd(cmd, sizeof(temp)));
1252 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1203 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1253 } 1204 }
1254 1205
1255 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { 1206 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgs) {
1256 EXPECT_CALL( 1207 EXPECT_CALL(
1257 *gl_, UniformMatrix2fv( 1208 *gl_, UniformMatrix2fv(
1258 1, 2, false, reinterpret_cast<const GLfloat*>( 1209 1, 2, false, reinterpret_cast<const GLfloat*>(
1259 shared_memory_address_))); 1210 shared_memory_address_)));
1260 SpecializedSetup<UniformMatrix2fv, 0>(true); 1211 SpecializedSetup<UniformMatrix2fv, 0>(true);
1261 UniformMatrix2fv cmd; 1212 UniformMatrix2fv cmd;
1262 cmd.Init( 1213 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_);
1263 GLES2Util::SwizzleLocation(
1264 1), 2, false, shared_memory_id_, shared_memory_offset_);
1265 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1214 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1266 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1215 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1267 } 1216 }
1268 1217
1269 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { 1218 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) {
1270 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); 1219 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0);
1271 SpecializedSetup<UniformMatrix2fv, 0>(false); 1220 SpecializedSetup<UniformMatrix2fv, 0>(false);
1272 UniformMatrix2fv cmd; 1221 UniformMatrix2fv cmd;
1273 cmd.Init( 1222 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_);
1274 GLES2Util::SwizzleLocation(
1275 1), -1, false, shared_memory_id_, shared_memory_offset_);
1276 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1223 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1277 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1224 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1278 } 1225 }
1279 1226
1280 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) { 1227 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) {
1281 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); 1228 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0);
1282 SpecializedSetup<UniformMatrix2fv, 0>(false); 1229 SpecializedSetup<UniformMatrix2fv, 0>(false);
1283 UniformMatrix2fv cmd; 1230 UniformMatrix2fv cmd;
1284 cmd.Init( 1231 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_);
1285 GLES2Util::SwizzleLocation(
1286 1), 2, true, shared_memory_id_, shared_memory_offset_);
1287 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1232 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1288 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1233 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1289 } 1234 }
1290 1235
1291 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { 1236 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) {
1292 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); 1237 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0);
1293 SpecializedSetup<UniformMatrix2fv, 0>(false); 1238 SpecializedSetup<UniformMatrix2fv, 0>(false);
1294 UniformMatrix2fv cmd; 1239 UniformMatrix2fv cmd;
1295 cmd.Init(GLES2Util::SwizzleLocation(1), 2, false, kInvalidSharedMemoryId, 0); 1240 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0);
1296 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1241 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1297 } 1242 }
1298 1243
1299 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { 1244 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) {
1300 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); 1245 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0);
1301 SpecializedSetup<UniformMatrix2fv, 0>(false); 1246 SpecializedSetup<UniformMatrix2fv, 0>(false);
1302 UniformMatrix2fv cmd; 1247 UniformMatrix2fv cmd;
1303 cmd.Init( 1248 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset);
1304 GLES2Util::SwizzleLocation(
1305 1), 2, false, shared_memory_id_, kInvalidSharedMemoryOffset);
1306 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1249 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1307 } 1250 }
1308 1251
1309 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { 1252 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) {
1310 EXPECT_CALL( 1253 EXPECT_CALL(
1311 *gl_, UniformMatrix2fv( 1254 *gl_, UniformMatrix2fv(
1312 3, 3, false, reinterpret_cast<const GLfloat*>( 1255 3, 3, false, reinterpret_cast<const GLfloat*>(
1313 shared_memory_address_))); 1256 shared_memory_address_)));
1314 SpecializedSetup<UniformMatrix2fv, 0>(true); 1257 SpecializedSetup<UniformMatrix2fv, 0>(true);
1315 UniformMatrix2fv cmd; 1258 UniformMatrix2fv cmd;
1316 cmd.Init( 1259 cmd.Init(
1317 GLES2Util::SwizzleLocation( 1260 ProgramManager::MakeFakeLocation(
1318 GLES2Util::MakeFakeLocation( 1261 1, 1), 5, false, shared_memory_id_, shared_memory_offset_);
1319 1, 1)), 5, false, shared_memory_id_, shared_memory_offset_);
1320 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1262 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1321 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1263 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1322 } 1264 }
1323 1265
1324 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { 1266 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) {
1325 UniformMatrix2fvImmediate& cmd = 1267 UniformMatrix2fvImmediate& cmd =
1326 *GetImmediateAs<UniformMatrix2fvImmediate>(); 1268 *GetImmediateAs<UniformMatrix2fvImmediate>();
1327 EXPECT_CALL( 1269 EXPECT_CALL(
1328 *gl_, 1270 *gl_,
1329 UniformMatrix2fv(1, 2, false, 1271 UniformMatrix2fv(1, 2, false,
1330 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); 1272 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1331 SpecializedSetup<UniformMatrix2fvImmediate, 0>(true); 1273 SpecializedSetup<UniformMatrix2fvImmediate, 0>(true);
1332 GLfloat temp[4 * 2] = { 0, }; 1274 GLfloat temp[4 * 2] = { 0, };
1333 cmd.Init(GLES2Util::SwizzleLocation(1), 2, false, &temp[0]); 1275 cmd.Init(1, 2, false, &temp[0]);
1334 EXPECT_EQ(error::kNoError, 1276 EXPECT_EQ(error::kNoError,
1335 ExecuteImmediateCmd(cmd, sizeof(temp))); 1277 ExecuteImmediateCmd(cmd, sizeof(temp)));
1336 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1278 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1337 } 1279 }
1338 1280
1339 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) { 1281 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) {
1340 UniformMatrix2fvImmediate& cmd = 1282 UniformMatrix2fvImmediate& cmd =
1341 *GetImmediateAs<UniformMatrix2fvImmediate>(); 1283 *GetImmediateAs<UniformMatrix2fvImmediate>();
1342 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); 1284 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0);
1343 SpecializedSetup<UniformMatrix2fvImmediate, 0>(false); 1285 SpecializedSetup<UniformMatrix2fvImmediate, 0>(false);
1344 GLfloat temp[4 * 2] = { 0, }; 1286 GLfloat temp[4 * 2] = { 0, };
1345 cmd.Init(GLES2Util::SwizzleLocation(1), 2, true, &temp[0]); 1287 cmd.Init(1, 2, true, &temp[0]);
1346 EXPECT_EQ(error::kNoError, 1288 EXPECT_EQ(error::kNoError,
1347 ExecuteImmediateCmd(cmd, sizeof(temp))); 1289 ExecuteImmediateCmd(cmd, sizeof(temp)));
1348 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1290 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1349 } 1291 }
1350 1292
1351 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { 1293 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgs) {
1352 EXPECT_CALL( 1294 EXPECT_CALL(
1353 *gl_, UniformMatrix3fv( 1295 *gl_, UniformMatrix3fv(
1354 1, 2, false, reinterpret_cast<const GLfloat*>( 1296 1, 2, false, reinterpret_cast<const GLfloat*>(
1355 shared_memory_address_))); 1297 shared_memory_address_)));
1356 SpecializedSetup<UniformMatrix3fv, 0>(true); 1298 SpecializedSetup<UniformMatrix3fv, 0>(true);
1357 UniformMatrix3fv cmd; 1299 UniformMatrix3fv cmd;
1358 cmd.Init( 1300 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_);
1359 GLES2Util::SwizzleLocation(
1360 1), 2, false, shared_memory_id_, shared_memory_offset_);
1361 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1301 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1362 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1302 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1363 } 1303 }
1364 1304
1365 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { 1305 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) {
1366 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); 1306 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0);
1367 SpecializedSetup<UniformMatrix3fv, 0>(false); 1307 SpecializedSetup<UniformMatrix3fv, 0>(false);
1368 UniformMatrix3fv cmd; 1308 UniformMatrix3fv cmd;
1369 cmd.Init( 1309 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_);
1370 GLES2Util::SwizzleLocation(
1371 1), -1, false, shared_memory_id_, shared_memory_offset_);
1372 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1310 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1373 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1311 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1374 } 1312 }
1375 1313
1376 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) { 1314 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) {
1377 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); 1315 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0);
1378 SpecializedSetup<UniformMatrix3fv, 0>(false); 1316 SpecializedSetup<UniformMatrix3fv, 0>(false);
1379 UniformMatrix3fv cmd; 1317 UniformMatrix3fv cmd;
1380 cmd.Init( 1318 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_);
1381 GLES2Util::SwizzleLocation(
1382 1), 2, true, shared_memory_id_, shared_memory_offset_);
1383 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1319 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1384 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1320 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1385 } 1321 }
1386 1322
1387 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { 1323 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) {
1388 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); 1324 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0);
1389 SpecializedSetup<UniformMatrix3fv, 0>(false); 1325 SpecializedSetup<UniformMatrix3fv, 0>(false);
1390 UniformMatrix3fv cmd; 1326 UniformMatrix3fv cmd;
1391 cmd.Init(GLES2Util::SwizzleLocation(1), 2, false, kInvalidSharedMemoryId, 0); 1327 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0);
1392 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1328 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1393 } 1329 }
1394 1330
1395 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { 1331 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) {
1396 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); 1332 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0);
1397 SpecializedSetup<UniformMatrix3fv, 0>(false); 1333 SpecializedSetup<UniformMatrix3fv, 0>(false);
1398 UniformMatrix3fv cmd; 1334 UniformMatrix3fv cmd;
1399 cmd.Init( 1335 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset);
1400 GLES2Util::SwizzleLocation(
1401 1), 2, false, shared_memory_id_, kInvalidSharedMemoryOffset);
1402 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1336 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1403 } 1337 }
1404 1338
1405 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { 1339 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) {
1406 EXPECT_CALL( 1340 EXPECT_CALL(
1407 *gl_, UniformMatrix3fv( 1341 *gl_, UniformMatrix3fv(
1408 3, 3, false, reinterpret_cast<const GLfloat*>( 1342 3, 3, false, reinterpret_cast<const GLfloat*>(
1409 shared_memory_address_))); 1343 shared_memory_address_)));
1410 SpecializedSetup<UniformMatrix3fv, 0>(true); 1344 SpecializedSetup<UniformMatrix3fv, 0>(true);
1411 UniformMatrix3fv cmd; 1345 UniformMatrix3fv cmd;
1412 cmd.Init( 1346 cmd.Init(
1413 GLES2Util::SwizzleLocation( 1347 ProgramManager::MakeFakeLocation(
1414 GLES2Util::MakeFakeLocation( 1348 1, 1), 5, false, shared_memory_id_, shared_memory_offset_);
1415 1, 1)), 5, false, shared_memory_id_, shared_memory_offset_);
1416 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1349 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1417 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1350 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1418 } 1351 }
1419 1352
1420 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { 1353 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) {
1421 UniformMatrix3fvImmediate& cmd = 1354 UniformMatrix3fvImmediate& cmd =
1422 *GetImmediateAs<UniformMatrix3fvImmediate>(); 1355 *GetImmediateAs<UniformMatrix3fvImmediate>();
1423 EXPECT_CALL( 1356 EXPECT_CALL(
1424 *gl_, 1357 *gl_,
1425 UniformMatrix3fv(1, 2, false, 1358 UniformMatrix3fv(1, 2, false,
1426 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); 1359 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1427 SpecializedSetup<UniformMatrix3fvImmediate, 0>(true); 1360 SpecializedSetup<UniformMatrix3fvImmediate, 0>(true);
1428 GLfloat temp[9 * 2] = { 0, }; 1361 GLfloat temp[9 * 2] = { 0, };
1429 cmd.Init(GLES2Util::SwizzleLocation(1), 2, false, &temp[0]); 1362 cmd.Init(1, 2, false, &temp[0]);
1430 EXPECT_EQ(error::kNoError, 1363 EXPECT_EQ(error::kNoError,
1431 ExecuteImmediateCmd(cmd, sizeof(temp))); 1364 ExecuteImmediateCmd(cmd, sizeof(temp)));
1432 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1365 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1433 } 1366 }
1434 1367
1435 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) { 1368 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) {
1436 UniformMatrix3fvImmediate& cmd = 1369 UniformMatrix3fvImmediate& cmd =
1437 *GetImmediateAs<UniformMatrix3fvImmediate>(); 1370 *GetImmediateAs<UniformMatrix3fvImmediate>();
1438 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); 1371 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0);
1439 SpecializedSetup<UniformMatrix3fvImmediate, 0>(false); 1372 SpecializedSetup<UniformMatrix3fvImmediate, 0>(false);
1440 GLfloat temp[9 * 2] = { 0, }; 1373 GLfloat temp[9 * 2] = { 0, };
1441 cmd.Init(GLES2Util::SwizzleLocation(1), 2, true, &temp[0]); 1374 cmd.Init(1, 2, true, &temp[0]);
1442 EXPECT_EQ(error::kNoError, 1375 EXPECT_EQ(error::kNoError,
1443 ExecuteImmediateCmd(cmd, sizeof(temp))); 1376 ExecuteImmediateCmd(cmd, sizeof(temp)));
1444 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1377 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1445 } 1378 }
1446 1379
1447 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { 1380 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgs) {
1448 EXPECT_CALL( 1381 EXPECT_CALL(
1449 *gl_, UniformMatrix4fv( 1382 *gl_, UniformMatrix4fv(
1450 1, 2, false, reinterpret_cast<const GLfloat*>( 1383 1, 2, false, reinterpret_cast<const GLfloat*>(
1451 shared_memory_address_))); 1384 shared_memory_address_)));
1452 SpecializedSetup<UniformMatrix4fv, 0>(true); 1385 SpecializedSetup<UniformMatrix4fv, 0>(true);
1453 UniformMatrix4fv cmd; 1386 UniformMatrix4fv cmd;
1454 cmd.Init( 1387 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_);
1455 GLES2Util::SwizzleLocation(
1456 1), 2, false, shared_memory_id_, shared_memory_offset_);
1457 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1388 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1458 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1389 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1459 } 1390 }
1460 1391
1461 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { 1392 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) {
1462 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); 1393 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0);
1463 SpecializedSetup<UniformMatrix4fv, 0>(false); 1394 SpecializedSetup<UniformMatrix4fv, 0>(false);
1464 UniformMatrix4fv cmd; 1395 UniformMatrix4fv cmd;
1465 cmd.Init( 1396 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_);
1466 GLES2Util::SwizzleLocation(
1467 1), -1, false, shared_memory_id_, shared_memory_offset_);
1468 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1397 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1469 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1398 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1470 } 1399 }
1471 1400
1472 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) { 1401 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) {
1473 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); 1402 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0);
1474 SpecializedSetup<UniformMatrix4fv, 0>(false); 1403 SpecializedSetup<UniformMatrix4fv, 0>(false);
1475 UniformMatrix4fv cmd; 1404 UniformMatrix4fv cmd;
1476 cmd.Init( 1405 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_);
1477 GLES2Util::SwizzleLocation(
1478 1), 2, true, shared_memory_id_, shared_memory_offset_);
1479 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1406 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1480 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1407 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1481 } 1408 }
1482 1409
1483 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { 1410 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) {
1484 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); 1411 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0);
1485 SpecializedSetup<UniformMatrix4fv, 0>(false); 1412 SpecializedSetup<UniformMatrix4fv, 0>(false);
1486 UniformMatrix4fv cmd; 1413 UniformMatrix4fv cmd;
1487 cmd.Init(GLES2Util::SwizzleLocation(1), 2, false, kInvalidSharedMemoryId, 0); 1414 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0);
1488 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1415 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1489 } 1416 }
1490 1417
1491 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { 1418 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) {
1492 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); 1419 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0);
1493 SpecializedSetup<UniformMatrix4fv, 0>(false); 1420 SpecializedSetup<UniformMatrix4fv, 0>(false);
1494 UniformMatrix4fv cmd; 1421 UniformMatrix4fv cmd;
1495 cmd.Init( 1422 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset);
1496 GLES2Util::SwizzleLocation(
1497 1), 2, false, shared_memory_id_, kInvalidSharedMemoryOffset);
1498 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 1423 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
1499 } 1424 }
1500 1425
1501 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { 1426 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) {
1502 EXPECT_CALL( 1427 EXPECT_CALL(
1503 *gl_, UniformMatrix4fv( 1428 *gl_, UniformMatrix4fv(
1504 3, 3, false, reinterpret_cast<const GLfloat*>( 1429 3, 3, false, reinterpret_cast<const GLfloat*>(
1505 shared_memory_address_))); 1430 shared_memory_address_)));
1506 SpecializedSetup<UniformMatrix4fv, 0>(true); 1431 SpecializedSetup<UniformMatrix4fv, 0>(true);
1507 UniformMatrix4fv cmd; 1432 UniformMatrix4fv cmd;
1508 cmd.Init( 1433 cmd.Init(
1509 GLES2Util::SwizzleLocation( 1434 ProgramManager::MakeFakeLocation(
1510 GLES2Util::MakeFakeLocation( 1435 1, 1), 5, false, shared_memory_id_, shared_memory_offset_);
1511 1, 1)), 5, false, shared_memory_id_, shared_memory_offset_);
1512 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1436 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1513 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1437 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1514 } 1438 }
1515 1439
1516 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { 1440 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) {
1517 UniformMatrix4fvImmediate& cmd = 1441 UniformMatrix4fvImmediate& cmd =
1518 *GetImmediateAs<UniformMatrix4fvImmediate>(); 1442 *GetImmediateAs<UniformMatrix4fvImmediate>();
1519 EXPECT_CALL( 1443 EXPECT_CALL(
1520 *gl_, 1444 *gl_,
1521 UniformMatrix4fv(1, 2, false, 1445 UniformMatrix4fv(1, 2, false,
1522 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); 1446 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1523 SpecializedSetup<UniformMatrix4fvImmediate, 0>(true); 1447 SpecializedSetup<UniformMatrix4fvImmediate, 0>(true);
1524 GLfloat temp[16 * 2] = { 0, }; 1448 GLfloat temp[16 * 2] = { 0, };
1525 cmd.Init(GLES2Util::SwizzleLocation(1), 2, false, &temp[0]); 1449 cmd.Init(1, 2, false, &temp[0]);
1526 EXPECT_EQ(error::kNoError, 1450 EXPECT_EQ(error::kNoError,
1527 ExecuteImmediateCmd(cmd, sizeof(temp))); 1451 ExecuteImmediateCmd(cmd, sizeof(temp)));
1528 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1452 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1529 } 1453 }
1530 1454
1531 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) { 1455 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) {
1532 UniformMatrix4fvImmediate& cmd = 1456 UniformMatrix4fvImmediate& cmd =
1533 *GetImmediateAs<UniformMatrix4fvImmediate>(); 1457 *GetImmediateAs<UniformMatrix4fvImmediate>();
1534 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); 1458 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0);
1535 SpecializedSetup<UniformMatrix4fvImmediate, 0>(false); 1459 SpecializedSetup<UniformMatrix4fvImmediate, 0>(false);
1536 GLfloat temp[16 * 2] = { 0, }; 1460 GLfloat temp[16 * 2] = { 0, };
1537 cmd.Init(GLES2Util::SwizzleLocation(1), 2, true, &temp[0]); 1461 cmd.Init(1, 2, true, &temp[0]);
1538 EXPECT_EQ(error::kNoError, 1462 EXPECT_EQ(error::kNoError,
1539 ExecuteImmediateCmd(cmd, sizeof(temp))); 1463 ExecuteImmediateCmd(cmd, sizeof(temp)));
1540 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1464 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1541 } 1465 }
1542 // TODO(gman): UseProgram 1466 // TODO(gman): UseProgram
1543 1467
1544 TEST_F(GLES2DecoderTest2, ValidateProgramValidArgs) { 1468 TEST_F(GLES2DecoderTest2, ValidateProgramValidArgs) {
1545 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); 1469 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId));
1546 SpecializedSetup<ValidateProgram, 0>(true); 1470 SpecializedSetup<ValidateProgram, 0>(true);
1547 ValidateProgram cmd; 1471 ValidateProgram cmd;
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
1802 // TODO(gman): EndQueryEXT 1726 // TODO(gman): EndQueryEXT
1803 1727
1804 // TODO(gman): SwapBuffers 1728 // TODO(gman): SwapBuffers
1805 // TODO(gman): GetMaxValueInBufferCHROMIUM 1729 // TODO(gman): GetMaxValueInBufferCHROMIUM
1806 // TODO(gman): GenSharedIdsCHROMIUM 1730 // TODO(gman): GenSharedIdsCHROMIUM
1807 1731
1808 // TODO(gman): DeleteSharedIdsCHROMIUM 1732 // TODO(gman): DeleteSharedIdsCHROMIUM
1809 1733
1810 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ 1734 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_
1811 1735
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698