| 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 <limits.h> | 7 #include <limits.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 83 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 84 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_COMPLETE), *result); | 84 EXPECT_EQ(static_cast<GLenum>(GL_FRAMEBUFFER_COMPLETE), *result); |
| 85 } | 85 } |
| 86 | 86 |
| 87 TEST_P(GLES2DecoderWithShaderTest, BindAndDeleteFramebuffer) { | 87 TEST_P(GLES2DecoderWithShaderTest, BindAndDeleteFramebuffer) { |
| 88 SetupTexture(); | 88 SetupTexture(); |
| 89 AddExpectationsForSimulatedAttrib0(kNumVertices, 0); | 89 AddExpectationsForSimulatedAttrib0(kNumVertices, 0); |
| 90 SetupExpectationsForApplyingDefaultDirtyState(); | 90 SetupExpectationsForApplyingDefaultDirtyState(); |
| 91 DoBindFramebuffer( | 91 DoBindFramebuffer( |
| 92 GL_FRAMEBUFFER, client_framebuffer_id_, kServiceFramebufferId); | 92 GL_FRAMEBUFFER, client_framebuffer_id_, kServiceFramebufferId); |
| 93 DoDeleteFramebuffer(client_framebuffer_id_, | 93 DoDeleteFramebuffer(client_framebuffer_id_, kServiceFramebufferId); |
| 94 kServiceFramebufferId, | 94 EXPECT_CALL(*gl_, BindFramebufferEXT(GL_FRAMEBUFFER, 0)) |
| 95 true, | 95 .Times(1) |
| 96 GL_FRAMEBUFFER, | 96 .RetiresOnSaturation(); |
| 97 0, | |
| 98 true, | |
| 99 GL_FRAMEBUFFER, | |
| 100 0); | |
| 101 EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices)) | 97 EXPECT_CALL(*gl_, DrawArrays(GL_TRIANGLES, 0, kNumVertices)) |
| 102 .Times(1) | 98 .Times(1) |
| 103 .RetiresOnSaturation(); | 99 .RetiresOnSaturation(); |
| 104 DrawArrays cmd; | 100 DrawArrays cmd; |
| 105 cmd.Init(GL_TRIANGLES, 0, kNumVertices); | 101 cmd.Init(GL_TRIANGLES, 0, kNumVertices); |
| 106 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 102 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 107 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 103 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 108 } | 104 } |
| 109 | 105 |
| 110 TEST_P(GLES2DecoderTest, FramebufferRenderbufferWithNoBoundTarget) { | 106 TEST_P(GLES2DecoderTest, FramebufferRenderbufferWithNoBoundTarget) { |
| (...skipping 2635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2746 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); | 2742 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); |
| 2747 | 2743 |
| 2748 // Test deleting renderbuffer marks fbo as not complete. | 2744 // Test deleting renderbuffer marks fbo as not complete. |
| 2749 DoDeleteRenderbuffer(client_renderbuffer_id_, kServiceRenderbufferId); | 2745 DoDeleteRenderbuffer(client_renderbuffer_id_, kServiceRenderbufferId); |
| 2750 if (bound_fbo) { | 2746 if (bound_fbo) { |
| 2751 EXPECT_FALSE(framebuffer_manager->IsComplete(framebuffer)); | 2747 EXPECT_FALSE(framebuffer_manager->IsComplete(framebuffer)); |
| 2752 } else { | 2748 } else { |
| 2753 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); | 2749 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); |
| 2754 } | 2750 } |
| 2755 // Cleanup | 2751 // Cleanup |
| 2756 DoDeleteFramebuffer(client_framebuffer_id_, | 2752 DoDeleteFramebuffer(client_framebuffer_id_, kServiceFramebufferId); |
| 2757 kServiceFramebufferId, | |
| 2758 bound_fbo, | |
| 2759 GL_FRAMEBUFFER, | |
| 2760 0, | |
| 2761 bound_fbo, | |
| 2762 GL_FRAMEBUFFER, | |
| 2763 0); | |
| 2764 } | 2753 } |
| 2765 | 2754 |
| 2766 TEST_P(GLES2DecoderWithShaderTest, | 2755 TEST_P(GLES2DecoderWithShaderTest, |
| 2767 RenderbufferChangesMarkFBOAsNotCompleteBoundFBO) { | 2756 RenderbufferChangesMarkFBOAsNotCompleteBoundFBO) { |
| 2768 CheckRenderbufferChangesMarkFBOAsNotComplete(true); | 2757 CheckRenderbufferChangesMarkFBOAsNotComplete(true); |
| 2769 } | 2758 } |
| 2770 | 2759 |
| 2771 TEST_P(GLES2DecoderWithShaderTest, | 2760 TEST_P(GLES2DecoderWithShaderTest, |
| 2772 RenderbufferChangesMarkFBOAsNotCompleteUnboundFBO) { | 2761 RenderbufferChangesMarkFBOAsNotCompleteUnboundFBO) { |
| 2773 CheckRenderbufferChangesMarkFBOAsNotComplete(false); | 2762 CheckRenderbufferChangesMarkFBOAsNotComplete(false); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 2796 DoFramebufferTexture2D(GL_FRAMEBUFFER, | 2785 DoFramebufferTexture2D(GL_FRAMEBUFFER, |
| 2797 GL_COLOR_ATTACHMENT0, | 2786 GL_COLOR_ATTACHMENT0, |
| 2798 GL_TEXTURE_2D, | 2787 GL_TEXTURE_2D, |
| 2799 kFBOClientTextureId, | 2788 kFBOClientTextureId, |
| 2800 kFBOServiceTextureId, | 2789 kFBOServiceTextureId, |
| 2801 0, | 2790 0, |
| 2802 GL_NO_ERROR); | 2791 GL_NO_ERROR); |
| 2803 | 2792 |
| 2804 DoBindRenderbuffer( | 2793 DoBindRenderbuffer( |
| 2805 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId); | 2794 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId); |
| 2806 DoBindFramebuffer( | |
| 2807 GL_FRAMEBUFFER, client_framebuffer_id_, kServiceFramebufferId); | |
| 2808 DoRenderbufferStorage(GL_RENDERBUFFER, | 2795 DoRenderbufferStorage(GL_RENDERBUFFER, |
| 2809 GL_DEPTH_COMPONENT16, | 2796 GL_DEPTH_COMPONENT16, |
| 2810 GL_DEPTH_COMPONENT, | 2797 GL_DEPTH_COMPONENT, |
| 2811 1, | 2798 1, |
| 2812 1, | 2799 1, |
| 2813 GL_NO_ERROR); | 2800 GL_NO_ERROR); |
| 2814 DoFramebufferRenderbuffer(GL_FRAMEBUFFER, | 2801 DoFramebufferRenderbuffer(GL_FRAMEBUFFER, |
| 2815 GL_DEPTH_ATTACHMENT, | 2802 GL_DEPTH_ATTACHMENT, |
| 2816 GL_RENDERBUFFER, | 2803 GL_RENDERBUFFER, |
| 2817 client_renderbuffer_id_, | 2804 client_renderbuffer_id_, |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2862 framebuffer_manager->MarkAsComplete(framebuffer); | 2849 framebuffer_manager->MarkAsComplete(framebuffer); |
| 2863 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); | 2850 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); |
| 2864 DoDeleteTexture(kFBOClientTextureId, kFBOServiceTextureId); | 2851 DoDeleteTexture(kFBOClientTextureId, kFBOServiceTextureId); |
| 2865 | 2852 |
| 2866 if (bound_fbo) { | 2853 if (bound_fbo) { |
| 2867 EXPECT_FALSE(framebuffer_manager->IsComplete(framebuffer)); | 2854 EXPECT_FALSE(framebuffer_manager->IsComplete(framebuffer)); |
| 2868 } else { | 2855 } else { |
| 2869 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); | 2856 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); |
| 2870 } | 2857 } |
| 2871 // Cleanup | 2858 // Cleanup |
| 2872 DoDeleteFramebuffer(client_framebuffer_id_, | 2859 DoDeleteFramebuffer(client_framebuffer_id_, kServiceFramebufferId); |
| 2873 kServiceFramebufferId, | |
| 2874 bound_fbo, | |
| 2875 GL_FRAMEBUFFER, | |
| 2876 0, | |
| 2877 bound_fbo, | |
| 2878 GL_FRAMEBUFFER, | |
| 2879 0); | |
| 2880 } | 2860 } |
| 2881 | 2861 |
| 2882 TEST_P(GLES2DecoderWithShaderTest, TextureChangesMarkFBOAsNotCompleteBoundFBO) { | 2862 TEST_P(GLES2DecoderWithShaderTest, TextureChangesMarkFBOAsNotCompleteBoundFBO) { |
| 2883 CheckTextureChangesMarkFBOAsNotComplete(true); | 2863 CheckTextureChangesMarkFBOAsNotComplete(true); |
| 2884 } | 2864 } |
| 2885 | 2865 |
| 2886 TEST_P(GLES2DecoderWithShaderTest, | 2866 TEST_P(GLES2DecoderWithShaderTest, |
| 2887 TextureChangesMarkFBOAsNotCompleteUnboundFBO) { | 2867 TextureChangesMarkFBOAsNotCompleteUnboundFBO) { |
| 2888 CheckTextureChangesMarkFBOAsNotComplete(false); | 2868 CheckTextureChangesMarkFBOAsNotComplete(false); |
| 2889 } | 2869 } |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3313 EXPECT_EQ(1, result->GetNumResults()); | 3293 EXPECT_EQ(1, result->GetNumResults()); |
| 3314 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 3294 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 3315 } | 3295 } |
| 3316 | 3296 |
| 3317 // TODO(gman): PixelStorei | 3297 // TODO(gman): PixelStorei |
| 3318 | 3298 |
| 3319 // TODO(gman): SwapBuffers | 3299 // TODO(gman): SwapBuffers |
| 3320 | 3300 |
| 3321 } // namespace gles2 | 3301 } // namespace gles2 |
| 3322 } // namespace gpu | 3302 } // namespace gpu |
| OLD | NEW |