|  | // 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. | 
|  |  | 
|  | #ifndef GPU_GLES2_CONFORM_TEST_CONFIG_H_ | 
|  | #define GPU_GLES2_CONFORM_TEST_CONFIG_H_ | 
|  |  | 
|  | #include <EGL/egl.h> | 
|  |  | 
|  | #include "base/basictypes.h" | 
|  |  | 
|  | namespace egl { | 
|  |  | 
|  | class Config { | 
|  | public: | 
|  | Config(); | 
|  | ~Config(); | 
|  |  | 
|  | bool GetAttrib(EGLint attribute, EGLint* value) const; | 
|  |  | 
|  | private: | 
|  | // Total color component bits in the color buffer. | 
|  | EGLint buffer_size_; | 
|  | // Bits of Red in the color buffer. | 
|  | EGLint red_size_; | 
|  | // Bits of Green in the color buffer. | 
|  | EGLint green_size_; | 
|  | // Bits of Blue in the color buffer. | 
|  | EGLint blue_size_; | 
|  | // Bits of Luminance in the color buffer. | 
|  | EGLint luminance_size_; | 
|  | // Bits of Alpha in the color buffer. | 
|  | EGLint alpha_size_; | 
|  | // Bits of Alpha Mask in the mask buffer. | 
|  | EGLint alpha_mask_size_; | 
|  | // True if bindable to RGB textures. | 
|  | EGLBoolean bind_to_texture_rgb_; | 
|  | // True if bindable to RGBA textures. | 
|  | EGLBoolean bind_to_texture_rgba_; | 
|  | // Color buffer type. | 
|  | EGLenum color_buffer_type_; | 
|  | // Any caveats for the configuration. | 
|  | EGLenum config_caveat_; | 
|  | // Unique EGLConfig identifier. | 
|  | EGLint config_id_; | 
|  | // Whether contexts created with this config are conformant. | 
|  | EGLint conformant_; | 
|  | // Bits of Z in the depth buffer. | 
|  | EGLint depth_size_; | 
|  | // Frame buffer level. | 
|  | EGLint level_; | 
|  | // Maximum width of pbuffer. | 
|  | EGLint max_pbuffer_width_; | 
|  | // Maximum height of pbuffer. | 
|  | EGLint max_pbuffer_height_; | 
|  | // Maximum size of pbuffer. | 
|  | EGLint max_pbuffer_pixels_; | 
|  | // Minimum swap interval. | 
|  | EGLint min_swap_interval_; | 
|  | // Maximum swap interval. | 
|  | EGLint max_swap_interval_; | 
|  | // True if native rendering APIs can render to surface. | 
|  | EGLBoolean native_renderable_; | 
|  | // Handle of corresponding native visual. | 
|  | EGLint native_visual_id_; | 
|  | // Native visual type of the associated visual. | 
|  | EGLint native_visual_type_; | 
|  | // Which client rendering APIs are supported. | 
|  | EGLint renderable_type_; | 
|  | // Number of multisample buffers. | 
|  | EGLint sample_buffers_; | 
|  | // Number of samples per pixel. | 
|  | EGLint samples_; | 
|  | // Bits of Stencil in the stencil buffer. | 
|  | EGLint stencil_size_; | 
|  | // Which types of EGL surfaces are supported. | 
|  | EGLint surface_type_; | 
|  | // Type of transparency supported | 
|  | EGLenum transparent_type_; | 
|  | // Transparent red value | 
|  | EGLint transparent_red_value_; | 
|  | // Transparent green value | 
|  | EGLint transparent_green_value_; | 
|  | // Transparent blue value | 
|  | EGLint transparent_blue_value_; | 
|  |  | 
|  | DISALLOW_COPY_AND_ASSIGN(Config); | 
|  | }; | 
|  |  | 
|  | }  // namespace egl | 
|  |  | 
|  | #endif  // GPU_GLES2_CONFORM_TEST_CONFIG_H_ |