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/program_manager.h" | 5 #include "gpu/command_buffer/service/program_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 1941 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1952 | 1952 |
1953 void SetShadersCompiled() { | 1953 void SetShadersCompiled() { |
1954 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true); | 1954 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true); |
1955 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true); | 1955 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true); |
1956 } | 1956 } |
1957 | 1957 |
1958 void SetProgramCached() { | 1958 void SetProgramCached() { |
1959 cache_->LinkedProgramCacheSuccess( | 1959 cache_->LinkedProgramCacheSuccess( |
1960 vertex_shader_->source(), | 1960 vertex_shader_->source(), |
1961 fragment_shader_->source(), | 1961 fragment_shader_->source(), |
1962 &program_->bind_attrib_location_map()); | 1962 &program_->bind_attrib_location_map(), |
| 1963 program_->transform_feedback_varyings(), |
| 1964 program_->transform_feedback_buffer_mode()); |
1963 } | 1965 } |
1964 | 1966 |
1965 void SetExpectationsForProgramCached() { | 1967 void SetExpectationsForProgramCached() { |
1966 SetExpectationsForProgramCached(program_, | 1968 SetExpectationsForProgramCached(program_, |
1967 vertex_shader_, | 1969 vertex_shader_, |
1968 fragment_shader_); | 1970 fragment_shader_); |
1969 } | 1971 } |
1970 | 1972 |
1971 void SetExpectationsForProgramCached( | 1973 void SetExpectationsForProgramCached( |
1972 Program* program, | 1974 Program* program, |
1973 Shader* vertex_shader, | 1975 Shader* vertex_shader, |
1974 Shader* fragment_shader) { | 1976 Shader* fragment_shader) { |
1975 EXPECT_CALL(*cache_.get(), SaveLinkedProgram( | 1977 EXPECT_CALL(*cache_.get(), SaveLinkedProgram( |
1976 program->service_id(), | 1978 program->service_id(), |
1977 vertex_shader, | 1979 vertex_shader, |
1978 fragment_shader, | 1980 fragment_shader, |
1979 &program->bind_attrib_location_map(), | 1981 &program->bind_attrib_location_map(), |
| 1982 program_->transform_feedback_varyings(), |
| 1983 program_->transform_feedback_buffer_mode(), |
1980 _)).Times(1); | 1984 _)).Times(1); |
1981 } | 1985 } |
1982 | 1986 |
1983 void SetExpectationsForNotCachingProgram() { | 1987 void SetExpectationsForNotCachingProgram() { |
1984 SetExpectationsForNotCachingProgram(program_, | 1988 SetExpectationsForNotCachingProgram(program_, |
1985 vertex_shader_, | 1989 vertex_shader_, |
1986 fragment_shader_); | 1990 fragment_shader_); |
1987 } | 1991 } |
1988 | 1992 |
1989 void SetExpectationsForNotCachingProgram( | 1993 void SetExpectationsForNotCachingProgram( |
1990 Program* program, | 1994 Program* program, |
1991 Shader* vertex_shader, | 1995 Shader* vertex_shader, |
1992 Shader* fragment_shader) { | 1996 Shader* fragment_shader) { |
1993 EXPECT_CALL(*cache_.get(), SaveLinkedProgram( | 1997 EXPECT_CALL(*cache_.get(), SaveLinkedProgram( |
1994 program->service_id(), | 1998 program->service_id(), |
1995 vertex_shader, | 1999 vertex_shader, |
1996 fragment_shader, | 2000 fragment_shader, |
1997 &program->bind_attrib_location_map(), | 2001 &program->bind_attrib_location_map(), |
| 2002 program_->transform_feedback_varyings(), |
| 2003 program_->transform_feedback_buffer_mode(), |
1998 _)).Times(0); | 2004 _)).Times(0); |
1999 } | 2005 } |
2000 | 2006 |
2001 void SetExpectationsForProgramLoad(ProgramCache::ProgramLoadResult result) { | 2007 void SetExpectationsForProgramLoad(ProgramCache::ProgramLoadResult result) { |
2002 SetExpectationsForProgramLoad(kServiceProgramId, | 2008 SetExpectationsForProgramLoad(kServiceProgramId, |
2003 program_, | 2009 program_, |
2004 vertex_shader_, | 2010 vertex_shader_, |
2005 fragment_shader_, | 2011 fragment_shader_, |
2006 result); | 2012 result); |
2007 } | 2013 } |
2008 | 2014 |
2009 void SetExpectationsForProgramLoad( | 2015 void SetExpectationsForProgramLoad( |
2010 GLuint service_program_id, | 2016 GLuint service_program_id, |
2011 Program* program, | 2017 Program* program, |
2012 Shader* vertex_shader, | 2018 Shader* vertex_shader, |
2013 Shader* fragment_shader, | 2019 Shader* fragment_shader, |
2014 ProgramCache::ProgramLoadResult result) { | 2020 ProgramCache::ProgramLoadResult result) { |
2015 EXPECT_CALL(*cache_.get(), | 2021 EXPECT_CALL(*cache_.get(), |
2016 LoadLinkedProgram(service_program_id, | 2022 LoadLinkedProgram(service_program_id, |
2017 vertex_shader, | 2023 vertex_shader, |
2018 fragment_shader, | 2024 fragment_shader, |
2019 &program->bind_attrib_location_map(), | 2025 &program->bind_attrib_location_map(), |
| 2026 program_->transform_feedback_varyings(), |
| 2027 program_->transform_feedback_buffer_mode(), |
2020 _)) | 2028 _)) |
2021 .WillOnce(Return(result)); | 2029 .WillOnce(Return(result)); |
2022 } | 2030 } |
2023 | 2031 |
2024 void SetExpectationsForProgramLoadSuccess() { | 2032 void SetExpectationsForProgramLoadSuccess() { |
2025 SetExpectationsForProgramLoadSuccess(kServiceProgramId); | 2033 SetExpectationsForProgramLoadSuccess(kServiceProgramId); |
2026 } | 2034 } |
2027 | 2035 |
2028 void SetExpectationsForProgramLoadSuccess(GLuint service_program_id) { | 2036 void SetExpectationsForProgramLoadSuccess(GLuint service_program_id) { |
2029 TestHelper::SetupProgramSuccessExpectations(gl_.get(), | 2037 TestHelper::SetupProgramSuccessExpectations(gl_.get(), |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2119 SetExpectationsForProgramLoad(ProgramCache::PROGRAM_LOAD_SUCCESS); | 2127 SetExpectationsForProgramLoad(ProgramCache::PROGRAM_LOAD_SUCCESS); |
2120 SetExpectationsForNotCachingProgram(); | 2128 SetExpectationsForNotCachingProgram(); |
2121 SetExpectationsForProgramLoadSuccess(); | 2129 SetExpectationsForProgramLoadSuccess(); |
2122 | 2130 |
2123 EXPECT_TRUE(program_->Link(NULL, Program::kCountOnlyStaticallyUsed, | 2131 EXPECT_TRUE(program_->Link(NULL, Program::kCountOnlyStaticallyUsed, |
2124 base::Bind(&ShaderCacheCb))); | 2132 base::Bind(&ShaderCacheCb))); |
2125 } | 2133 } |
2126 | 2134 |
2127 } // namespace gles2 | 2135 } // namespace gles2 |
2128 } // namespace gpu | 2136 } // namespace gpu |
OLD | NEW |