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 3380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3391 | 3391 |
3392 TEST_P(GLES2DecoderManualInitTest, InvalidateFramebufferBinding) { | 3392 TEST_P(GLES2DecoderManualInitTest, InvalidateFramebufferBinding) { |
3393 InitState init; | 3393 InitState init; |
3394 init.gl_version = "opengl es 3.0"; | 3394 init.gl_version = "opengl es 3.0"; |
3395 InitDecoder(init); | 3395 InitDecoder(init); |
3396 | 3396 |
3397 // EXPECT_EQ can't be used to compare function pointers | 3397 // EXPECT_EQ can't be used to compare function pointers |
3398 EXPECT_TRUE( | 3398 EXPECT_TRUE( |
3399 gl::MockGLInterface::GetGLProcAddress("glInvalidateFramebuffer") != | 3399 gl::MockGLInterface::GetGLProcAddress("glInvalidateFramebuffer") != |
3400 reinterpret_cast<gl::GLFunctionPointerType>( | 3400 reinterpret_cast<gl::GLFunctionPointerType>( |
3401 gl::g_driver_gl.fn.glDiscardFramebufferEXTFn)); | 3401 gl::g_current_gl_driver->fn.glDiscardFramebufferEXTFn)); |
3402 EXPECT_TRUE( | 3402 EXPECT_TRUE( |
3403 gl::MockGLInterface::GetGLProcAddress("glInvalidateFramebuffer") != | 3403 gl::MockGLInterface::GetGLProcAddress("glInvalidateFramebuffer") != |
3404 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT")); | 3404 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT")); |
3405 } | 3405 } |
3406 | 3406 |
3407 TEST_P(GLES2DecoderTest, ClearBackbufferBitsOnFlipSwap) { | 3407 TEST_P(GLES2DecoderTest, ClearBackbufferBitsOnFlipSwap) { |
3408 surface_->set_buffers_flipped(true); | 3408 surface_->set_buffers_flipped(true); |
3409 | 3409 |
3410 EXPECT_EQ(0u, GetAndClearBackbufferClearBitsForTest()); | 3410 EXPECT_EQ(0u, GetAndClearBackbufferClearBitsForTest()); |
3411 | 3411 |
(...skipping 30 matching lines...) Expand all Loading... |
3442 TEST_P(GLES2DecoderManualInitTest, DiscardFramebufferEXT) { | 3442 TEST_P(GLES2DecoderManualInitTest, DiscardFramebufferEXT) { |
3443 InitState init; | 3443 InitState init; |
3444 init.extensions = "GL_EXT_discard_framebuffer"; | 3444 init.extensions = "GL_EXT_discard_framebuffer"; |
3445 init.gl_version = "opengl es 2.0"; | 3445 init.gl_version = "opengl es 2.0"; |
3446 InitDecoder(init); | 3446 InitDecoder(init); |
3447 | 3447 |
3448 // EXPECT_EQ can't be used to compare function pointers | 3448 // EXPECT_EQ can't be used to compare function pointers |
3449 EXPECT_TRUE( | 3449 EXPECT_TRUE( |
3450 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT") == | 3450 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT") == |
3451 reinterpret_cast<gl::GLFunctionPointerType>( | 3451 reinterpret_cast<gl::GLFunctionPointerType>( |
3452 gl::g_driver_gl.fn.glDiscardFramebufferEXTFn)); | 3452 gl::g_current_gl_driver->fn.glDiscardFramebufferEXTFn)); |
3453 | 3453 |
3454 const GLenum target = GL_FRAMEBUFFER; | 3454 const GLenum target = GL_FRAMEBUFFER; |
3455 const GLsizei count = 1; | 3455 const GLsizei count = 1; |
3456 const GLenum attachments[] = {GL_COLOR_ATTACHMENT0}; | 3456 const GLenum attachments[] = {GL_COLOR_ATTACHMENT0}; |
3457 | 3457 |
3458 SetupTexture(); | 3458 SetupTexture(); |
3459 DoBindFramebuffer( | 3459 DoBindFramebuffer( |
3460 GL_FRAMEBUFFER, client_framebuffer_id_, kServiceFramebufferId); | 3460 GL_FRAMEBUFFER, client_framebuffer_id_, kServiceFramebufferId); |
3461 DoFramebufferTexture2D(GL_FRAMEBUFFER, | 3461 DoFramebufferTexture2D(GL_FRAMEBUFFER, |
3462 GL_COLOR_ATTACHMENT0, | 3462 GL_COLOR_ATTACHMENT0, |
(...skipping 22 matching lines...) Expand all Loading... |
3485 TEST_P(GLES2DecoderManualInitTest, ClearBackbufferBitsOnDiscardFramebufferEXT) { | 3485 TEST_P(GLES2DecoderManualInitTest, ClearBackbufferBitsOnDiscardFramebufferEXT) { |
3486 InitState init; | 3486 InitState init; |
3487 init.extensions = "GL_EXT_discard_framebuffer"; | 3487 init.extensions = "GL_EXT_discard_framebuffer"; |
3488 init.gl_version = "opengl es 2.0"; | 3488 init.gl_version = "opengl es 2.0"; |
3489 InitDecoder(init); | 3489 InitDecoder(init); |
3490 | 3490 |
3491 // EXPECT_EQ can't be used to compare function pointers. | 3491 // EXPECT_EQ can't be used to compare function pointers. |
3492 EXPECT_TRUE( | 3492 EXPECT_TRUE( |
3493 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT") == | 3493 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT") == |
3494 reinterpret_cast<gl::GLFunctionPointerType>( | 3494 reinterpret_cast<gl::GLFunctionPointerType>( |
3495 gl::g_driver_gl.fn.glDiscardFramebufferEXTFn)); | 3495 gl::g_current_gl_driver->fn.glDiscardFramebufferEXTFn)); |
3496 | 3496 |
3497 const GLenum target = GL_FRAMEBUFFER; | 3497 const GLenum target = GL_FRAMEBUFFER; |
3498 const GLsizei count = 1; | 3498 const GLsizei count = 1; |
3499 GLenum attachments[] = {GL_COLOR_EXT}; | 3499 GLenum attachments[] = {GL_COLOR_EXT}; |
3500 | 3500 |
3501 EXPECT_CALL(*gl_, DiscardFramebufferEXT(target, count, _)) | 3501 EXPECT_CALL(*gl_, DiscardFramebufferEXT(target, count, _)) |
3502 .Times(1) | 3502 .Times(1) |
3503 .RetiresOnSaturation(); | 3503 .RetiresOnSaturation(); |
3504 DiscardFramebufferEXTImmediate& cmd = | 3504 DiscardFramebufferEXTImmediate& cmd = |
3505 *GetImmediateAs<DiscardFramebufferEXTImmediate>(); | 3505 *GetImmediateAs<DiscardFramebufferEXTImmediate>(); |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3709 Framebuffer* framebuffer = | 3709 Framebuffer* framebuffer = |
3710 framebuffer_manager->GetFramebuffer(client_framebuffer_id_); | 3710 framebuffer_manager->GetFramebuffer(client_framebuffer_id_); |
3711 EXPECT_TRUE(framebuffer->IsCleared()); | 3711 EXPECT_TRUE(framebuffer->IsCleared()); |
3712 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); | 3712 EXPECT_TRUE(framebuffer_manager->IsComplete(framebuffer)); |
3713 | 3713 |
3714 // Check that Discard GL_COLOR_ATTACHMENT0, sets the attachment as uncleared | 3714 // Check that Discard GL_COLOR_ATTACHMENT0, sets the attachment as uncleared |
3715 // and the framebuffer as incomplete. | 3715 // and the framebuffer as incomplete. |
3716 EXPECT_TRUE( | 3716 EXPECT_TRUE( |
3717 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT") == | 3717 gl::MockGLInterface::GetGLProcAddress("glDiscardFramebufferEXT") == |
3718 reinterpret_cast<gl::GLFunctionPointerType>( | 3718 reinterpret_cast<gl::GLFunctionPointerType>( |
3719 gl::g_driver_gl.fn.glDiscardFramebufferEXTFn)); | 3719 gl::g_current_gl_driver->fn.glDiscardFramebufferEXTFn)); |
3720 | 3720 |
3721 const GLenum target = GL_FRAMEBUFFER; | 3721 const GLenum target = GL_FRAMEBUFFER; |
3722 const GLsizei count = 1; | 3722 const GLsizei count = 1; |
3723 const GLenum attachments[] = {GL_COLOR_ATTACHMENT0}; | 3723 const GLenum attachments[] = {GL_COLOR_ATTACHMENT0}; |
3724 | 3724 |
3725 DiscardFramebufferEXTImmediate& discard_cmd = | 3725 DiscardFramebufferEXTImmediate& discard_cmd = |
3726 *GetImmediateAs<DiscardFramebufferEXTImmediate>(); | 3726 *GetImmediateAs<DiscardFramebufferEXTImmediate>(); |
3727 discard_cmd.Init(target, count, attachments); | 3727 discard_cmd.Init(target, count, attachments); |
3728 | 3728 |
3729 EXPECT_CALL(*gl_, DiscardFramebufferEXT(target, count, _)) | 3729 EXPECT_CALL(*gl_, DiscardFramebufferEXT(target, count, _)) |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4037 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 4037 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
4038 } | 4038 } |
4039 } | 4039 } |
4040 | 4040 |
4041 // TODO(gman): PixelStorei | 4041 // TODO(gman): PixelStorei |
4042 | 4042 |
4043 // TODO(gman): SwapBuffers | 4043 // TODO(gman): SwapBuffers |
4044 | 4044 |
4045 } // namespace gles2 | 4045 } // namespace gles2 |
4046 } // namespace gpu | 4046 } // namespace gpu |
OLD | NEW |