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 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "gpu/command_buffer/common/gles2_cmd_format.h" | 9 #include "gpu/command_buffer/common/gles2_cmd_format.h" |
10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
(...skipping 8802 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8813 DiscardFramebufferEXTImmediate& cmd = | 8813 DiscardFramebufferEXTImmediate& cmd = |
8814 *GetImmediateAs<DiscardFramebufferEXTImmediate>(); | 8814 *GetImmediateAs<DiscardFramebufferEXTImmediate>(); |
8815 cmd.Init(target, count, attachments); | 8815 cmd.Init(target, count, attachments); |
8816 | 8816 |
8817 // Should not result into a call into GL. | 8817 // Should not result into a call into GL. |
8818 EXPECT_EQ(error::kNoError, | 8818 EXPECT_EQ(error::kNoError, |
8819 ExecuteImmediateCmd(cmd, sizeof(attachments))); | 8819 ExecuteImmediateCmd(cmd, sizeof(attachments))); |
8820 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); | 8820 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); |
8821 } | 8821 } |
8822 | 8822 |
8823 TEST_F(GLES2DecoderManualInitTest, ClearUniformsBeforeFirstProgramUse) { | |
8824 CommandLine command_line(0, NULL); | |
8825 command_line.AppendSwitchASCII( | |
8826 switches::kGpuDriverBugWorkarounds, | |
8827 base::IntToString(gpu::CLEAR_UNIFORMS_BEFORE_FIRST_PROGRAM_USE)); | |
8828 InitDecoderWithCommandLine( | |
8829 "", // extensions | |
8830 "3.0", // gl version | |
8831 true, // has alpha | |
8832 false, // has depth | |
8833 false, // has stencil | |
8834 true, // request alpha | |
8835 false, // request depth | |
8836 false, // request stencil | |
8837 true, // bind generates resource | |
8838 &command_line); | |
8839 { | |
8840 static AttribInfo attribs[] = { | |
8841 { kAttrib1Name, kAttrib1Size, kAttrib1Type, kAttrib1Location, }, | |
8842 { kAttrib2Name, kAttrib2Size, kAttrib2Type, kAttrib2Location, }, | |
8843 { kAttrib3Name, kAttrib3Size, kAttrib3Type, kAttrib3Location, }, | |
8844 }; | |
8845 static UniformInfo uniforms[] = { | |
8846 { kUniform1Name, kUniform1Size, kUniform1Type, | |
8847 kUniform1FakeLocation, kUniform1RealLocation, | |
8848 kUniform1DesiredLocation }, | |
8849 { kUniform2Name, kUniform2Size, kUniform2Type, | |
8850 kUniform2FakeLocation, kUniform2RealLocation, | |
8851 kUniform2DesiredLocation }, | |
8852 { kUniform3Name, kUniform3Size, kUniform3Type, | |
8853 kUniform3FakeLocation, kUniform3RealLocation, | |
8854 kUniform3DesiredLocation }, | |
8855 }; | |
8856 SetupShader(attribs, arraysize(attribs), uniforms, arraysize(uniforms), | |
8857 client_program_id_, kServiceProgramId, | |
8858 client_vertex_shader_id_, kServiceVertexShaderId, | |
8859 client_fragment_shader_id_, kServiceFragmentShaderId); | |
8860 TestHelper::SetupExpectationsForClearingUniforms( | |
8861 gl_.get(), uniforms, arraysize(uniforms)); | |
8862 } | |
8863 | |
8864 { | |
8865 EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)) | |
8866 .Times(1) | |
8867 .RetiresOnSaturation(); | |
8868 cmds::UseProgram cmd; | |
8869 cmd.Init(client_program_id_); | |
8870 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
8871 } | |
8872 } | |
8873 | |
8874 // TODO(gman): Complete this test. | 8823 // TODO(gman): Complete this test. |
8875 // TEST_F(GLES2DecoderTest, CompressedTexImage2DGLError) { | 8824 // TEST_F(GLES2DecoderTest, CompressedTexImage2DGLError) { |
8876 // } | 8825 // } |
8877 | 8826 |
8878 // TODO(gman): BufferData | 8827 // TODO(gman): BufferData |
8879 | 8828 |
8880 // TODO(gman): BufferDataImmediate | 8829 // TODO(gman): BufferDataImmediate |
8881 | 8830 |
8882 // TODO(gman): BufferSubData | 8831 // TODO(gman): BufferSubData |
8883 | 8832 |
(...skipping 16 matching lines...) Expand all Loading... |
8900 // TODO(gman): TexImage2DImmediate | 8849 // TODO(gman): TexImage2DImmediate |
8901 | 8850 |
8902 // TODO(gman): TexSubImage2DImmediate | 8851 // TODO(gman): TexSubImage2DImmediate |
8903 | 8852 |
8904 // TODO(gman): UseProgram | 8853 // TODO(gman): UseProgram |
8905 | 8854 |
8906 // TODO(gman): SwapBuffers | 8855 // TODO(gman): SwapBuffers |
8907 | 8856 |
8908 } // namespace gles2 | 8857 } // namespace gles2 |
8909 } // namespace gpu | 8858 } // namespace gpu |
OLD | NEW |