| Index: gpu/gles2_conform_support/egl/config.cc
 | 
| diff --git a/gpu/gles2_conform_support/egl/config.cc b/gpu/gles2_conform_support/egl/config.cc
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..6c914be905a340d258bb191eae8c6e4b41b304fe
 | 
| --- /dev/null
 | 
| +++ b/gpu/gles2_conform_support/egl/config.cc
 | 
| @@ -0,0 +1,152 @@
 | 
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
 | 
| +// Use of this source code is governed by a BSD-style license that can be
 | 
| +// found in the LICENSE file.
 | 
| +
 | 
| +#include "gpu/gles2_conform_support/egl/config.h"
 | 
| +
 | 
| +namespace egl {
 | 
| +
 | 
| +Config::Config()
 | 
| +    : buffer_size_(0),
 | 
| +      red_size_(0),
 | 
| +      green_size_(0),
 | 
| +      blue_size_(0),
 | 
| +      luminance_size_(0),
 | 
| +      alpha_size_(0),
 | 
| +      alpha_mask_size_(0),
 | 
| +      bind_to_texture_rgb_(EGL_DONT_CARE),
 | 
| +      bind_to_texture_rgba_(EGL_DONT_CARE),
 | 
| +      color_buffer_type_(EGL_RGB_BUFFER),
 | 
| +      config_caveat_(EGL_DONT_CARE),
 | 
| +      config_id_(EGL_DONT_CARE),
 | 
| +      conformant_(EGL_OPENGL_ES2_BIT),
 | 
| +      depth_size_(0),
 | 
| +      level_(0),
 | 
| +      max_pbuffer_width_(0),
 | 
| +      max_pbuffer_height_(0),
 | 
| +      max_pbuffer_pixels_(0),
 | 
| +      min_swap_interval_(EGL_DONT_CARE),
 | 
| +      max_swap_interval_(EGL_DONT_CARE),
 | 
| +      native_renderable_(EGL_DONT_CARE),
 | 
| +      native_visual_id_(0),
 | 
| +      native_visual_type_(EGL_DONT_CARE),
 | 
| +      renderable_type_(EGL_OPENGL_ES2_BIT),
 | 
| +      sample_buffers_(0),
 | 
| +      samples_(0),
 | 
| +      stencil_size_(0),
 | 
| +      surface_type_(EGL_WINDOW_BIT),
 | 
| +      transparent_type_(EGL_NONE),
 | 
| +      transparent_red_value_(EGL_DONT_CARE),
 | 
| +      transparent_green_value_(EGL_DONT_CARE),
 | 
| +      transparent_blue_value_(EGL_DONT_CARE) {
 | 
| +}
 | 
| +
 | 
| +Config::~Config() {
 | 
| +}
 | 
| +
 | 
| +bool Config::GetAttrib(EGLint attribute, EGLint* value) const {
 | 
| +  // TODO(alokp): Find out how to get correct values.
 | 
| +  switch (attribute) {
 | 
| +    case EGL_BUFFER_SIZE:
 | 
| +      *value = buffer_size_;
 | 
| +      break;
 | 
| +    case EGL_RED_SIZE:
 | 
| +      *value = red_size_;
 | 
| +      break;
 | 
| +    case EGL_GREEN_SIZE:
 | 
| +      *value = green_size_;
 | 
| +      break;
 | 
| +    case EGL_BLUE_SIZE:
 | 
| +      *value = blue_size_;
 | 
| +      break;
 | 
| +    case EGL_LUMINANCE_SIZE:
 | 
| +      *value = luminance_size_;
 | 
| +      break;
 | 
| +    case EGL_ALPHA_SIZE:
 | 
| +      *value = alpha_size_;
 | 
| +      break;
 | 
| +    case EGL_ALPHA_MASK_SIZE:
 | 
| +      *value = alpha_mask_size_;
 | 
| +      break;
 | 
| +    case EGL_BIND_TO_TEXTURE_RGB:
 | 
| +      *value = bind_to_texture_rgb_;
 | 
| +      break;
 | 
| +    case EGL_BIND_TO_TEXTURE_RGBA:
 | 
| +      *value = bind_to_texture_rgba_;
 | 
| +      break;
 | 
| +    case EGL_COLOR_BUFFER_TYPE:
 | 
| +      *value = color_buffer_type_;
 | 
| +      break;
 | 
| +    case EGL_CONFIG_CAVEAT:
 | 
| +      *value = config_caveat_;
 | 
| +      break;
 | 
| +    case EGL_CONFIG_ID:
 | 
| +      *value = config_id_;
 | 
| +      break;
 | 
| +    case EGL_CONFORMANT:
 | 
| +      *value = conformant_;
 | 
| +      break;
 | 
| +    case EGL_DEPTH_SIZE:
 | 
| +      *value = depth_size_;
 | 
| +      break;
 | 
| +    case EGL_LEVEL:
 | 
| +      *value = level_;
 | 
| +      break;
 | 
| +    case EGL_MAX_PBUFFER_WIDTH:
 | 
| +      *value = max_pbuffer_width_;
 | 
| +      break;
 | 
| +    case EGL_MAX_PBUFFER_HEIGHT:
 | 
| +      *value = max_pbuffer_height_;
 | 
| +      break;
 | 
| +    case EGL_MAX_PBUFFER_PIXELS:
 | 
| +      *value = max_pbuffer_pixels_;
 | 
| +      break;
 | 
| +    case EGL_MIN_SWAP_INTERVAL:
 | 
| +      *value = min_swap_interval_;
 | 
| +      break;
 | 
| +    case EGL_MAX_SWAP_INTERVAL:
 | 
| +      *value = max_swap_interval_;
 | 
| +      break;
 | 
| +    case EGL_NATIVE_RENDERABLE:
 | 
| +      *value = native_renderable_;
 | 
| +      break;
 | 
| +    case EGL_NATIVE_VISUAL_ID:
 | 
| +      *value = native_visual_id_;
 | 
| +      break;
 | 
| +    case EGL_NATIVE_VISUAL_TYPE:
 | 
| +      *value = native_visual_type_;
 | 
| +      break;
 | 
| +    case EGL_RENDERABLE_TYPE:
 | 
| +      *value = renderable_type_;
 | 
| +      break;
 | 
| +    case EGL_SAMPLE_BUFFERS:
 | 
| +      *value = sample_buffers_;
 | 
| +      break;
 | 
| +    case EGL_SAMPLES:
 | 
| +      *value = samples_;
 | 
| +      break;
 | 
| +    case EGL_STENCIL_SIZE:
 | 
| +      *value = stencil_size_;
 | 
| +      break;
 | 
| +    case EGL_SURFACE_TYPE:
 | 
| +      *value = surface_type_;
 | 
| +      break;
 | 
| +    case EGL_TRANSPARENT_TYPE:
 | 
| +      *value = transparent_type_;
 | 
| +      break;
 | 
| +    case EGL_TRANSPARENT_RED_VALUE:
 | 
| +      *value = transparent_red_value_;
 | 
| +      break;
 | 
| +    case EGL_TRANSPARENT_GREEN_VALUE:
 | 
| +      *value = transparent_green_value_;
 | 
| +      break;
 | 
| +    case EGL_TRANSPARENT_BLUE_VALUE:
 | 
| +      *value = transparent_blue_value_;
 | 
| +      break;
 | 
| +    default:
 | 
| +      return false;
 | 
| +  }
 | 
| +  return true;
 | 
| +}
 | 
| +
 | 
| +}  // namespace egl
 | 
| 
 |