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/feature_info.h" | 5 #include "gpu/command_buffer/service/feature_info.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "gpu/command_buffer/service/gpu_service_test.h" | 10 #include "gpu/command_buffer/service/gpu_service_test.h" |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle); | 116 EXPECT_FALSE(info_->feature_flags().arb_texture_rectangle); |
117 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); | 117 EXPECT_FALSE(info_->feature_flags().angle_instanced_arrays); |
118 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean); | 118 EXPECT_FALSE(info_->feature_flags().occlusion_query_boolean); |
119 EXPECT_FALSE(info_->feature_flags( | 119 EXPECT_FALSE(info_->feature_flags( |
120 ).use_arb_occlusion_query2_for_occlusion_query_boolean); | 120 ).use_arb_occlusion_query2_for_occlusion_query_boolean); |
121 EXPECT_FALSE(info_->feature_flags( | 121 EXPECT_FALSE(info_->feature_flags( |
122 ).use_arb_occlusion_query_for_occlusion_query_boolean); | 122 ).use_arb_occlusion_query_for_occlusion_query_boolean); |
123 EXPECT_FALSE(info_->feature_flags().native_vertex_array_object); | 123 EXPECT_FALSE(info_->feature_flags().native_vertex_array_object); |
124 EXPECT_FALSE(info_->feature_flags().map_buffer_range); | 124 EXPECT_FALSE(info_->feature_flags().map_buffer_range); |
125 EXPECT_FALSE(info_->feature_flags().use_async_readpixels); | 125 EXPECT_FALSE(info_->feature_flags().use_async_readpixels); |
| 126 EXPECT_FALSE(info_->feature_flags().ext_draw_buffers); |
| 127 EXPECT_FALSE(info_->feature_flags().nv_draw_buffers); |
126 EXPECT_FALSE(info_->feature_flags().ext_discard_framebuffer); | 128 EXPECT_FALSE(info_->feature_flags().ext_discard_framebuffer); |
127 EXPECT_FALSE(info_->feature_flags().angle_depth_texture); | 129 EXPECT_FALSE(info_->feature_flags().angle_depth_texture); |
128 EXPECT_FALSE(info_->feature_flags().is_angle); | 130 EXPECT_FALSE(info_->feature_flags().is_angle); |
129 | 131 |
130 #define GPU_OP(type, name) EXPECT_FALSE(info_->workarounds().name); | 132 #define GPU_OP(type, name) EXPECT_FALSE(info_->workarounds().name); |
131 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) | 133 GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) |
132 #undef GPU_OP | 134 #undef GPU_OP |
133 EXPECT_EQ(0, info_->workarounds().max_texture_size); | 135 EXPECT_EQ(0, info_->workarounds().max_texture_size); |
134 EXPECT_EQ(0, info_->workarounds().max_cube_map_texture_size); | 136 EXPECT_EQ(0, info_->workarounds().max_cube_map_texture_size); |
135 | 137 |
(...skipping 1111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1247 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); | 1249 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); |
1248 EXPECT_TRUE(gfx::GLFence::IsSupported()); | 1250 EXPECT_TRUE(gfx::GLFence::IsSupported()); |
1249 } | 1251 } |
1250 | 1252 |
1251 TEST_F(FeatureInfoTest, InitializeWithNVFence) { | 1253 TEST_F(FeatureInfoTest, InitializeWithNVFence) { |
1252 SetupInitExpectations("GL_NV_fence"); | 1254 SetupInitExpectations("GL_NV_fence"); |
1253 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); | 1255 EXPECT_TRUE(info_->feature_flags().chromium_sync_query); |
1254 EXPECT_TRUE(gfx::GLFence::IsSupported()); | 1256 EXPECT_TRUE(gfx::GLFence::IsSupported()); |
1255 } | 1257 } |
1256 | 1258 |
| 1259 TEST_F(FeatureInfoTest, InitializeWithNVDrawBuffers) { |
| 1260 SetupInitExpectationsWithGLVersion("GL_NV_draw_buffers", "", "OpenGL ES 3.0"); |
| 1261 EXPECT_TRUE(info_->feature_flags().nv_draw_buffers); |
| 1262 EXPECT_TRUE(info_->feature_flags().ext_draw_buffers); |
| 1263 } |
| 1264 |
| 1265 TEST_F(FeatureInfoTest, InitializeWithPreferredEXTDrawBuffers) { |
| 1266 SetupInitExpectationsWithGLVersion( |
| 1267 "GL_NV_draw_buffers GL_EXT_draw_buffers", "", "OpenGL ES 3.0"); |
| 1268 EXPECT_FALSE(info_->feature_flags().nv_draw_buffers); |
| 1269 EXPECT_TRUE(info_->feature_flags().ext_draw_buffers); |
| 1270 } |
| 1271 |
1257 TEST_F(FeatureInfoTest, ARBSyncDisabled) { | 1272 TEST_F(FeatureInfoTest, ARBSyncDisabled) { |
1258 CommandLine command_line(0, NULL); | 1273 CommandLine command_line(0, NULL); |
1259 command_line.AppendSwitchASCII( | 1274 command_line.AppendSwitchASCII( |
1260 switches::kGpuDriverBugWorkarounds, | 1275 switches::kGpuDriverBugWorkarounds, |
1261 base::IntToString(gpu::DISABLE_ARB_SYNC)); | 1276 base::IntToString(gpu::DISABLE_ARB_SYNC)); |
1262 SetupInitExpectationsWithCommandLine("GL_ARB_sync", command_line); | 1277 SetupInitExpectationsWithCommandLine("GL_ARB_sync", command_line); |
1263 EXPECT_FALSE(info_->feature_flags().chromium_sync_query); | 1278 EXPECT_FALSE(info_->feature_flags().chromium_sync_query); |
1264 EXPECT_FALSE(gfx::GLFence::IsSupported()); | 1279 EXPECT_FALSE(gfx::GLFence::IsSupported()); |
1265 } | 1280 } |
1266 | 1281 |
(...skipping 20 matching lines...) Expand all Loading... |
1287 | 1302 |
1288 TEST_F(FeatureInfoTest, InitializeNoCHROMIUM_path_rendering2) { | 1303 TEST_F(FeatureInfoTest, InitializeNoCHROMIUM_path_rendering2) { |
1289 SetupInitExpectationsWithGLVersion("GL_NV_path_rendering", "", "4.3"); | 1304 SetupInitExpectationsWithGLVersion("GL_NV_path_rendering", "", "4.3"); |
1290 EXPECT_FALSE(info_->feature_flags().chromium_path_rendering); | 1305 EXPECT_FALSE(info_->feature_flags().chromium_path_rendering); |
1291 EXPECT_THAT(info_->extensions(), | 1306 EXPECT_THAT(info_->extensions(), |
1292 Not(HasSubstr("GL_CHROMIUM_path_rendering"))); | 1307 Not(HasSubstr("GL_CHROMIUM_path_rendering"))); |
1293 } | 1308 } |
1294 | 1309 |
1295 } // namespace gles2 | 1310 } // namespace gles2 |
1296 } // namespace gpu | 1311 } // namespace gpu |
OLD | NEW |