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

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

Issue 6268016: Fix GL_CHROMIUM_framebuffer_multisample to accept the correct enums.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 #include "app/gfx/gl/gl_implementation.h" 7 #include "app/gfx/gl/gl_implementation.h"
8 #include "gpu/command_buffer/service/feature_info.h" 8 #include "gpu/command_buffer/service/feature_info.h"
9 #include "gpu/command_buffer/service/gl_utils.h" 9 #include "gpu/command_buffer/service/gl_utils.h"
10 #include "gpu/GLES2/gles2_command_buffer.h" 10 #include "gpu/GLES2/gles2_command_buffer.h"
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 AddExtensionString("GL_EXT_texture_format_BGRA8888"); 197 AddExtensionString("GL_EXT_texture_format_BGRA8888");
198 validators_.texture_internal_format.AddValue(GL_BGRA_EXT); 198 validators_.texture_internal_format.AddValue(GL_BGRA_EXT);
199 validators_.texture_format.AddValue(GL_BGRA_EXT); 199 validators_.texture_format.AddValue(GL_BGRA_EXT);
200 } 200 }
201 201
202 if (enable_read_format_bgra) { 202 if (enable_read_format_bgra) {
203 AddExtensionString("GL_EXT_read_format_bgra"); 203 AddExtensionString("GL_EXT_read_format_bgra");
204 validators_.read_pixel_format.AddValue(GL_BGRA_EXT); 204 validators_.read_pixel_format.AddValue(GL_BGRA_EXT);
205 } 205 }
206 206
207 if (ext.Desire("GL_OES_rgb8_rgba8")) {
208 if (ext.Have("GL_OES_rgb8_rgba8") ||
209 gfx::GetGLImplementation() == gfx::kGLImplementationDesktopGL) {
210 AddExtensionString("GL_OES_rgb8_rgba8");
211 validators_.render_buffer_format.AddValue(GL_RGB8_OES);
212 validators_.render_buffer_format.AddValue(GL_RGBA8_OES);
213 }
214 }
215
207 // Check if we should allow GL_OES_texture_npot 216 // Check if we should allow GL_OES_texture_npot
208 if (ext.Desire("GL_OES_texture_npot") && 217 if (ext.Desire("GL_OES_texture_npot") &&
209 (ext.Have("GL_ARB_texture_non_power_of_two") || 218 (ext.Have("GL_ARB_texture_non_power_of_two") ||
210 ext.Have("GL_OES_texture_npot"))) { 219 ext.Have("GL_OES_texture_npot"))) {
211 AddExtensionString("GL_OES_texture_npot"); 220 AddExtensionString("GL_OES_texture_npot");
212 npot_ok = true; 221 npot_ok = true;
213 } 222 }
214 223
215 // Check if we should allow GL_OES_texture_float, GL_OES_texture_half_float, 224 // Check if we should allow GL_OES_texture_float, GL_OES_texture_half_float,
216 // GL_OES_texture_float_linear, GL_OES_texture_half_float_linear 225 // GL_OES_texture_float_linear, GL_OES_texture_half_float_linear
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 } 275 }
267 276
268 // Check for multisample support 277 // Check for multisample support
269 if (ext.Desire("GL_CHROMIUM_framebuffer_multisample") && 278 if (ext.Desire("GL_CHROMIUM_framebuffer_multisample") &&
270 (ext.Have("GL_EXT_framebuffer_multisample") || 279 (ext.Have("GL_EXT_framebuffer_multisample") ||
271 ext.Have("GL_ANGLE_framebuffer_multisample"))) { 280 ext.Have("GL_ANGLE_framebuffer_multisample"))) {
272 feature_flags_.chromium_framebuffer_multisample = true; 281 feature_flags_.chromium_framebuffer_multisample = true;
273 validators_.frame_buffer_target.AddValue(GL_READ_FRAMEBUFFER_EXT); 282 validators_.frame_buffer_target.AddValue(GL_READ_FRAMEBUFFER_EXT);
274 validators_.frame_buffer_target.AddValue(GL_DRAW_FRAMEBUFFER_EXT); 283 validators_.frame_buffer_target.AddValue(GL_DRAW_FRAMEBUFFER_EXT);
275 validators_.g_l_state.AddValue(GL_READ_FRAMEBUFFER_BINDING_EXT); 284 validators_.g_l_state.AddValue(GL_READ_FRAMEBUFFER_BINDING_EXT);
276 validators_.render_buffer_parameter.AddValue(GL_MAX_SAMPLES_EXT); 285 validators_.g_l_state.AddValue(GL_MAX_SAMPLES_EXT);
286 validators_.render_buffer_parameter.AddValue(GL_RENDERBUFFER_SAMPLES_EXT);
277 AddExtensionString("GL_CHROMIUM_framebuffer_multisample"); 287 AddExtensionString("GL_CHROMIUM_framebuffer_multisample");
278 } 288 }
279 289
280 if (ext.HaveAndDesire("GL_OES_depth24") || 290 if (ext.HaveAndDesire("GL_OES_depth24") ||
281 (gfx::GetGLImplementation() == gfx::kGLImplementationDesktopGL && 291 (gfx::GetGLImplementation() == gfx::kGLImplementationDesktopGL &&
282 ext.Desire("GL_OES_depth24"))) { 292 ext.Desire("GL_OES_depth24"))) {
283 AddExtensionString("GL_OES_depth24"); 293 AddExtensionString("GL_OES_depth24");
284 validators_.render_buffer_format.AddValue(GL_DEPTH_COMPONENT24); 294 validators_.render_buffer_format.AddValue(GL_DEPTH_COMPONENT24);
285 } 295 }
286 296
(...skipping 20 matching lines...) Expand all
307 if (extensions_.find(str) == std::string::npos) { 317 if (extensions_.find(str) == std::string::npos) {
308 extensions_ += (extensions_.empty() ? "" : " ") + str; 318 extensions_ += (extensions_.empty() ? "" : " ") + str;
309 } 319 }
310 } 320 }
311 321
312 } // namespace gles2 322 } // namespace gles2
313 } // namespace gpu 323 } // namespace gpu
314 324
315 325
316 326
OLDNEW
« no previous file with comments | « gpu/command_buffer/common/gles2_cmd_utils.cc ('k') | gpu/command_buffer/service/feature_info_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698