Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 582 delete_cmd.Init(0, 1); | 582 delete_cmd.Init(0, 1); |
| 583 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); | 583 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); |
| 584 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 584 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 585 | 585 |
| 586 // DeletePaths with a big range should not cause any deletes. | 586 // DeletePaths with a big range should not cause any deletes. |
| 587 delete_cmd.Init(client_path_id_ + 1, | 587 delete_cmd.Init(client_path_id_ + 1, |
| 588 std::numeric_limits<GLsizei>::max() - client_path_id_ - 1); | 588 std::numeric_limits<GLsizei>::max() - client_path_id_ - 1); |
| 589 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); | 589 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); |
| 590 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 590 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 591 | 591 |
| 592 delete_cmd.Init(std::numeric_limits<GLsizei>::max() + 1, | 592 delete_cmd.Init(static_cast<GLuint>(std::numeric_limits<GLsizei>::max()) + 1, |
|
Nico
2017/05/18 17:40:23
Isn't GLsizei an unsigned type already?
And can't
hans
2017/05/18 17:48:20
No, it's signed.
| |
| 593 std::numeric_limits<GLsizei>::max()); | 593 std::numeric_limits<GLsizei>::max()); |
| 594 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); | 594 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); |
| 595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 596 | 596 |
| 597 // Normal Gen and Delete should cause the normal calls. | 597 // Normal Gen and Delete should cause the normal calls. |
| 598 EXPECT_CALL(*gl_, GenPathsNV(kPathCount)) | 598 EXPECT_CALL(*gl_, GenPathsNV(kPathCount)) |
| 599 .WillOnce(Return(kFirstCreatedServiceID)) | 599 .WillOnce(Return(kFirstCreatedServiceID)) |
| 600 .RetiresOnSaturation(); | 600 .RetiresOnSaturation(); |
| 601 | 601 |
| 602 gen_cmd.Init(kFirstClientID, kPathCount); | 602 gen_cmd.Init(kFirstClientID, kPathCount); |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 768 gen_cmd.Init(kFirstClientID, -1); | 768 gen_cmd.Init(kFirstClientID, -1); |
| 769 EXPECT_EQ(error::kNoError, ExecuteCmd(gen_cmd)); | 769 EXPECT_EQ(error::kNoError, ExecuteCmd(gen_cmd)); |
| 770 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 770 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 771 | 771 |
| 772 // Path 0 is invalid client id, connection error. | 772 // Path 0 is invalid client id, connection error. |
| 773 gen_cmd.Init(0, kPathCount); | 773 gen_cmd.Init(0, kPathCount); |
| 774 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(gen_cmd)); | 774 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(gen_cmd)); |
| 775 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 775 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 776 | 776 |
| 777 // Too big range causes client id to wrap, connection error. | 777 // Too big range causes client id to wrap, connection error. |
| 778 gen_cmd.Init(std::numeric_limits<GLsizei>::max() + 3, | 778 gen_cmd.Init(static_cast<GLuint>(std::numeric_limits<GLsizei>::max()) + 3, |
| 779 std::numeric_limits<GLsizei>::max()); | 779 std::numeric_limits<GLsizei>::max()); |
| 780 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(gen_cmd)); | 780 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(gen_cmd)); |
| 781 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 781 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 782 | 782 |
| 783 // Creating duplicate client_ids cause connection error. | 783 // Creating duplicate client_ids cause connection error. |
| 784 EXPECT_CALL(*gl_, GenPathsNV(kPathCount)) | 784 EXPECT_CALL(*gl_, GenPathsNV(kPathCount)) |
| 785 .WillOnce(Return(kFirstCreatedServiceID)) | 785 .WillOnce(Return(kFirstCreatedServiceID)) |
| 786 .RetiresOnSaturation(); | 786 .RetiresOnSaturation(); |
| 787 | 787 |
| 788 gen_cmd.Init(kFirstClientID, kPathCount); | 788 gen_cmd.Init(kFirstClientID, kPathCount); |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 812 DeletePathsCHROMIUMInvalidCalls) { | 812 DeletePathsCHROMIUMInvalidCalls) { |
| 813 static GLuint kFirstClientID = client_path_id_ + 88; | 813 static GLuint kFirstClientID = client_path_id_ + 88; |
| 814 | 814 |
| 815 // Range < 0 is causes gl error. | 815 // Range < 0 is causes gl error. |
| 816 cmds::DeletePathsCHROMIUM delete_cmd; | 816 cmds::DeletePathsCHROMIUM delete_cmd; |
| 817 delete_cmd.Init(kFirstClientID, -1); | 817 delete_cmd.Init(kFirstClientID, -1); |
| 818 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); | 818 EXPECT_EQ(error::kNoError, ExecuteCmd(delete_cmd)); |
| 819 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 819 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 820 | 820 |
| 821 // Too big range causes client id to wrap, connection error. | 821 // Too big range causes client id to wrap, connection error. |
| 822 delete_cmd.Init(std::numeric_limits<GLsizei>::max() + 3, | 822 delete_cmd.Init(static_cast<GLuint>(std::numeric_limits<GLsizei>::max()) + 3, |
| 823 std::numeric_limits<GLsizei>::max()); | 823 std::numeric_limits<GLsizei>::max()); |
| 824 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(delete_cmd)); | 824 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(delete_cmd)); |
| 825 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 825 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 826 } | 826 } |
| 827 | 827 |
| 828 TEST_P(GLES2DecoderTestWithCHROMIUMPathRendering, | 828 TEST_P(GLES2DecoderTestWithCHROMIUMPathRendering, |
| 829 PathCommandsCHROMIUMInvalidCalls) { | 829 PathCommandsCHROMIUMInvalidCalls) { |
| 830 static const GLsizei kCorrectCoordCount = 19; | 830 static const GLsizei kCorrectCoordCount = 19; |
| 831 static const GLsizei kCorrectCommandCount = 6; | 831 static const GLsizei kCorrectCommandCount = 6; |
| 832 static const GLenum kInvalidCoordType = GL_NONE; | 832 static const GLenum kInvalidCoordType = GL_NONE; |
| (...skipping 888 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1721 SetBucketAsCString(kBucketId, kBadName1); | 1721 SetBucketAsCString(kBucketId, kBadName1); |
| 1722 cmd.Init(client_program_id_, kLocation, kBucketId); | 1722 cmd.Init(client_program_id_, kLocation, kBucketId); |
| 1723 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1723 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 1724 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); | 1724 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); |
| 1725 } | 1725 } |
| 1726 | 1726 |
| 1727 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_extensions_autog en.h" | 1727 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_extensions_autog en.h" |
| 1728 | 1728 |
| 1729 } // namespace gles2 | 1729 } // namespace gles2 |
| 1730 } // namespace gpu | 1730 } // namespace gpu |
| OLD | NEW |