Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: gpu/command_buffer/service/program_manager_unittest.cc

Issue 2399113003: Add gl tests to make sure when a buffer is unmapped, all access path generates an INVALID_OPERATION. (Closed)
Patch Set: fix Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 2092 matching lines...) Expand 10 before | Expand all | Expand 10 after
2103 ProgramManagerTestBase::TearDown(); 2103 ProgramManagerTestBase::TearDown();
2104 } 2104 }
2105 2105
2106 void SetShadersCompiled() { 2106 void SetShadersCompiled() {
2107 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true); 2107 TestHelper::SetShaderStates(gl_.get(), vertex_shader_, true);
2108 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true); 2108 TestHelper::SetShaderStates(gl_.get(), fragment_shader_, true);
2109 } 2109 }
2110 2110
2111 void SetProgramCached() { 2111 void SetProgramCached() {
2112 cache_->LinkedProgramCacheSuccess( 2112 cache_->LinkedProgramCacheSuccess(
2113 vertex_shader_->source(), 2113 vertex_shader_->source(), fragment_shader_->source(),
2114 fragment_shader_->source(),
2115 &program_->bind_attrib_location_map(), 2114 &program_->bind_attrib_location_map(),
2116 program_->transform_feedback_varyings(), 2115 program_->effective_transform_feedback_varyings(),
2117 program_->transform_feedback_buffer_mode()); 2116 program_->effective_transform_feedback_buffer_mode());
2118 } 2117 }
2119 2118
2120 void SetExpectationsForProgramCached() { 2119 void SetExpectationsForProgramCached() {
2121 SetExpectationsForProgramCached(program_, 2120 SetExpectationsForProgramCached(program_,
2122 vertex_shader_, 2121 vertex_shader_,
2123 fragment_shader_); 2122 fragment_shader_);
2124 } 2123 }
2125 2124
2126 void SetExpectationsForProgramCached( 2125 void SetExpectationsForProgramCached(
2127 Program* program, 2126 Program* program,
2128 Shader* vertex_shader, 2127 Shader* vertex_shader,
2129 Shader* fragment_shader) { 2128 Shader* fragment_shader) {
2130 EXPECT_CALL(*cache_.get(), SaveLinkedProgram( 2129 EXPECT_CALL(*cache_.get(),
2131 program->service_id(), 2130 SaveLinkedProgram(
2132 vertex_shader, 2131 program->service_id(), vertex_shader, fragment_shader,
2133 fragment_shader, 2132 &program->bind_attrib_location_map(),
2134 &program->bind_attrib_location_map(), 2133 program_->effective_transform_feedback_varyings(),
2135 program_->transform_feedback_varyings(), 2134 program_->effective_transform_feedback_buffer_mode(), _))
2136 program_->transform_feedback_buffer_mode(), 2135 .Times(1);
2137 _)).Times(1);
2138 } 2136 }
2139 2137
2140 void SetExpectationsForNotCachingProgram() { 2138 void SetExpectationsForNotCachingProgram() {
2141 SetExpectationsForNotCachingProgram(program_, 2139 SetExpectationsForNotCachingProgram(program_,
2142 vertex_shader_, 2140 vertex_shader_,
2143 fragment_shader_); 2141 fragment_shader_);
2144 } 2142 }
2145 2143
2146 void SetExpectationsForNotCachingProgram( 2144 void SetExpectationsForNotCachingProgram(
2147 Program* program, 2145 Program* program,
2148 Shader* vertex_shader, 2146 Shader* vertex_shader,
2149 Shader* fragment_shader) { 2147 Shader* fragment_shader) {
2150 EXPECT_CALL(*cache_.get(), SaveLinkedProgram( 2148 EXPECT_CALL(*cache_.get(),
2151 program->service_id(), 2149 SaveLinkedProgram(
2152 vertex_shader, 2150 program->service_id(), vertex_shader, fragment_shader,
2153 fragment_shader, 2151 &program->bind_attrib_location_map(),
2154 &program->bind_attrib_location_map(), 2152 program_->effective_transform_feedback_varyings(),
2155 program_->transform_feedback_varyings(), 2153 program_->effective_transform_feedback_buffer_mode(), _))
2156 program_->transform_feedback_buffer_mode(), 2154 .Times(0);
2157 _)).Times(0);
2158 } 2155 }
2159 2156
2160 void SetExpectationsForProgramLoad(ProgramCache::ProgramLoadResult result) { 2157 void SetExpectationsForProgramLoad(ProgramCache::ProgramLoadResult result) {
2161 SetExpectationsForProgramLoad(kServiceProgramId, 2158 SetExpectationsForProgramLoad(kServiceProgramId,
2162 program_, 2159 program_,
2163 vertex_shader_, 2160 vertex_shader_,
2164 fragment_shader_, 2161 fragment_shader_,
2165 result); 2162 result);
2166 } 2163 }
2167 2164
2168 void SetExpectationsForProgramLoad( 2165 void SetExpectationsForProgramLoad(
2169 GLuint service_program_id, 2166 GLuint service_program_id,
2170 Program* program, 2167 Program* program,
2171 Shader* vertex_shader, 2168 Shader* vertex_shader,
2172 Shader* fragment_shader, 2169 Shader* fragment_shader,
2173 ProgramCache::ProgramLoadResult result) { 2170 ProgramCache::ProgramLoadResult result) {
2174 EXPECT_CALL(*cache_.get(), 2171 EXPECT_CALL(*cache_.get(),
2175 LoadLinkedProgram(service_program_id, 2172 LoadLinkedProgram(
2176 vertex_shader, 2173 service_program_id, vertex_shader, fragment_shader,
2177 fragment_shader, 2174 &program->bind_attrib_location_map(),
2178 &program->bind_attrib_location_map(), 2175 program_->effective_transform_feedback_varyings(),
2179 program_->transform_feedback_varyings(), 2176 program_->effective_transform_feedback_buffer_mode(), _))
2180 program_->transform_feedback_buffer_mode(),
2181 _))
2182 .WillOnce(Return(result)); 2177 .WillOnce(Return(result));
2183 } 2178 }
2184 2179
2185 void SetExpectationsForProgramLoadSuccess() { 2180 void SetExpectationsForProgramLoadSuccess() {
2186 SetExpectationsForProgramLoadSuccess(kServiceProgramId); 2181 SetExpectationsForProgramLoadSuccess(kServiceProgramId);
2187 } 2182 }
2188 2183
2189 void SetExpectationsForProgramLoadSuccess(GLuint service_program_id) { 2184 void SetExpectationsForProgramLoadSuccess(GLuint service_program_id) {
2190 TestHelper::SetupProgramSuccessExpectations( 2185 TestHelper::SetupProgramSuccessExpectations(
2191 gl_.get(), feature_info_.get(), nullptr, 0, nullptr, 0, nullptr, 0, 2186 gl_.get(), feature_info_.get(), nullptr, 0, nullptr, 0, nullptr, 0,
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
2521 ProgramManagerDualSourceBlendingES2Test, 2516 ProgramManagerDualSourceBlendingES2Test,
2522 testing::Values( 2517 testing::Values(
2523 make_gl_ext_tuple("3.2", 2518 make_gl_ext_tuple("3.2",
2524 "GL_ARB_draw_buffers GL_ARB_blend_func_extended " 2519 "GL_ARB_draw_buffers GL_ARB_blend_func_extended "
2525 "GL_ARB_program_interface_query"), 2520 "GL_ARB_program_interface_query"),
2526 make_gl_ext_tuple("opengl es 3.1", 2521 make_gl_ext_tuple("opengl es 3.1",
2527 "GL_EXT_draw_buffers GL_EXT_blend_func_extended"))); 2522 "GL_EXT_draw_buffers GL_EXT_blend_func_extended")));
2528 2523
2529 } // namespace gles2 2524 } // namespace gles2
2530 } // namespace gpu 2525 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/program_manager.cc ('k') | gpu/command_buffer/service/transform_feedback_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698