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 |