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