1 #ifndef _EGLUCONFIGINFO_HPP 2 #define _EGLUCONFIGINFO_HPP 3 /*------------------------------------------------------------------------- 4 * drawElements Quality Program Tester Core 5 * ---------------------------------------- 6 * 7 * Copyright 2014 The Android Open Source Project 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 *//*! 22 * \file 23 * \brief EGL config info. 24 *//*--------------------------------------------------------------------*/ 25 26 #include "tcuDefs.hpp" 27 #include "eglwDefs.hpp" 28 29 namespace eglw 30 { 31 class Library; 32 } 33 34 namespace eglu 35 { 36 37 class ConfigInfo 38 { 39 public: 40 deInt32 bufferSize; 41 deInt32 redSize; 42 deInt32 greenSize; 43 deInt32 blueSize; 44 deInt32 luminanceSize; 45 deInt32 alphaSize; 46 deInt32 alphaMaskSize; 47 deUint32 bindToTextureRGB; 48 deUint32 bindToTextureRGBA; 49 deUint32 colorBufferType; 50 deUint32 configCaveat; 51 deInt32 configId; 52 deInt32 conformant; 53 deInt32 depthSize; 54 deInt32 level; 55 deInt32 maxPbufferWidth; 56 deInt32 maxPbufferHeight; 57 deInt32 maxSwapInterval; 58 deInt32 minSwapInterval; 59 deUint32 nativeRenderable; 60 deInt32 nativeVisualId; 61 deInt32 nativeVisualType; 62 deInt32 renderableType; 63 deInt32 sampleBuffers; 64 deInt32 samples; 65 deInt32 stencilSize; 66 deInt32 surfaceType; 67 deUint32 transparentType; 68 deInt32 transparentRedValue; 69 deInt32 transparentGreenValue; 70 deInt32 transparentBlueValue; 71 ConfigInfo(void)72 ConfigInfo (void) 73 : bufferSize (0) 74 , redSize (0) 75 , greenSize (0) 76 , blueSize (0) 77 , luminanceSize (0) 78 , alphaSize (0) 79 , alphaMaskSize (0) 80 , bindToTextureRGB (0) 81 , bindToTextureRGBA (0) 82 , colorBufferType (0) 83 , configCaveat (0) 84 , configId (0) 85 , conformant (0) 86 , depthSize (0) 87 , level (0) 88 , maxPbufferWidth (0) 89 , maxPbufferHeight (0) 90 , maxSwapInterval (0) 91 , minSwapInterval (0) 92 , nativeRenderable (0) 93 , nativeVisualId (0) 94 , nativeVisualType (0) 95 , renderableType (0) 96 , sampleBuffers (0) 97 , samples (0) 98 , stencilSize (0) 99 , surfaceType (0) 100 , transparentType (0) 101 , transparentRedValue (0) 102 , transparentGreenValue (0) 103 , transparentBlueValue (0) 104 { 105 } 106 107 deInt32 getAttribute (deUint32 attribute) const; 108 }; 109 110 void queryConfigInfo (const eglw::Library& egl, eglw::EGLDisplay display, eglw::EGLConfig config, ConfigInfo* dst); 111 112 } // eglu 113 114 #endif // _EGLUCONFIGINFO_HPP 115