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 "webkit/gpu/webgraphicscontext3d_in_process_impl.h" | 5 #include "webkit/gpu/webgraphicscontext3d_in_process_impl.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <string> | 10 #include <string> |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 return false; | 221 return false; |
222 } | 222 } |
223 | 223 |
224 const char* extensions = | 224 const char* extensions = |
225 reinterpret_cast<const char*>(glGetString(GL_EXTENSIONS)); | 225 reinterpret_cast<const char*>(glGetString(GL_EXTENSIONS)); |
226 DCHECK(extensions); | 226 DCHECK(extensions); |
227 have_ext_framebuffer_object_ = | 227 have_ext_framebuffer_object_ = |
228 strstr(extensions, "GL_EXT_framebuffer_object") != NULL; | 228 strstr(extensions, "GL_EXT_framebuffer_object") != NULL; |
229 have_ext_framebuffer_multisample_ = | 229 have_ext_framebuffer_multisample_ = |
230 strstr(extensions, "GL_EXT_framebuffer_multisample") != NULL; | 230 strstr(extensions, "GL_EXT_framebuffer_multisample") != NULL; |
| 231 #if !defined(OS_ANDROID) |
| 232 // Some Android Qualcomm drivers falsely report this ANGLE extension string. |
| 233 // See http://crbug.com/165736 |
231 have_angle_framebuffer_multisample_ = | 234 have_angle_framebuffer_multisample_ = |
232 strstr(extensions, "GL_ANGLE_framebuffer_multisample") != NULL; | 235 strstr(extensions, "GL_ANGLE_framebuffer_multisample") != NULL; |
| 236 #endif |
233 have_ext_oes_standard_derivatives_ = | 237 have_ext_oes_standard_derivatives_ = |
234 strstr(extensions, "GL_OES_standard_derivatives") != NULL; | 238 strstr(extensions, "GL_OES_standard_derivatives") != NULL; |
235 have_ext_oes_egl_image_external_ = | 239 have_ext_oes_egl_image_external_ = |
236 strstr(extensions, "GL_OES_EGL_image_external") != NULL; | 240 strstr(extensions, "GL_OES_EGL_image_external") != NULL; |
237 | 241 |
238 ValidateAttributes(); | 242 ValidateAttributes(); |
239 | 243 |
240 if (!is_gles2_) { | 244 if (!is_gles2_) { |
241 glEnable(GL_VERTEX_PROGRAM_POINT_SIZE); | 245 glEnable(GL_VERTEX_PROGRAM_POINT_SIZE); |
242 glEnable(GL_POINT_SPRITE); | 246 glEnable(GL_POINT_SPRITE); |
(...skipping 1564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1807 if (length > 1) { | 1811 if (length > 1) { |
1808 entry->translated_source.reset(new char[length]); | 1812 entry->translated_source.reset(new char[length]); |
1809 ShGetObjectCode(compiler, entry->translated_source.get()); | 1813 ShGetObjectCode(compiler, entry->translated_source.get()); |
1810 } | 1814 } |
1811 entry->is_valid = true; | 1815 entry->is_valid = true; |
1812 return true; | 1816 return true; |
1813 } | 1817 } |
1814 | 1818 |
1815 } // namespace gpu | 1819 } // namespace gpu |
1816 } // namespace webkit | 1820 } // namespace webkit |
OLD | NEW |