Home | History | Annotate | Download | only in egl
      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 "egluHeaderWrapper.hpp"
     28 
     29 namespace eglu
     30 {
     31 
     32 class ConfigInfo
     33 {
     34 public:
     35 	deInt32			bufferSize;
     36 	deInt32			redSize;
     37 	deInt32			greenSize;
     38 	deInt32			blueSize;
     39 	deInt32			luminanceSize;
     40 	deInt32			alphaSize;
     41 	deInt32			alphaMaskSize;
     42 	deUint32		bindToTextureRGB;
     43 	deUint32		bindToTextureRGBA;
     44 	deUint32		colorBufferType;
     45 	deUint32		configCaveat;
     46 	deInt32			configId;
     47 	deInt32			conformant;
     48 	deInt32			depthSize;
     49 	deInt32			level;
     50 	deInt32			maxPbufferWidth;
     51 	deInt32			maxPbufferHeight;
     52 	deInt32			maxSwapInterval;
     53 	deInt32			minSwapInterval;
     54 	deUint32		nativeRenderable;
     55 	deInt32			nativeVisualId;
     56 	deInt32			nativeVisualType;
     57 	deInt32			renderableType;
     58 	deInt32			sampleBuffers;
     59 	deInt32			samples;
     60 	deInt32			stencilSize;
     61 	deInt32			surfaceType;
     62 	deUint32		transparentType;
     63 	deInt32			transparentRedValue;
     64 	deInt32			transparentGreenValue;
     65 	deInt32			transparentBlueValue;
     66 
     67 	ConfigInfo (void)
     68 		: bufferSize            (0)
     69 		, redSize               (0)
     70 		, greenSize             (0)
     71 		, blueSize              (0)
     72 		, luminanceSize         (0)
     73 		, alphaSize             (0)
     74 		, alphaMaskSize         (0)
     75 		, bindToTextureRGB      (0)
     76 		, bindToTextureRGBA     (0)
     77 		, colorBufferType       (0)
     78 		, configCaveat          (0)
     79 		, configId              (0)
     80 		, conformant            (0)
     81 		, depthSize             (0)
     82 		, level                 (0)
     83 		, maxPbufferWidth       (0)
     84 		, maxPbufferHeight      (0)
     85 		, maxSwapInterval       (0)
     86 		, minSwapInterval       (0)
     87 		, nativeRenderable      (0)
     88 		, nativeVisualId        (0)
     89 		, nativeVisualType      (0)
     90 		, renderableType        (0)
     91 		, sampleBuffers         (0)
     92 		, samples               (0)
     93 		, stencilSize           (0)
     94 		, surfaceType           (0)
     95 		, transparentType       (0)
     96 		, transparentRedValue   (0)
     97 		, transparentGreenValue (0)
     98 		, transparentBlueValue  (0)
     99 	{
    100 	}
    101 
    102 	deInt32 getAttribute (deUint32 attribute) const;
    103 };
    104 
    105 void	queryConfigInfo		(EGLDisplay display, EGLConfig config, ConfigInfo* dst);
    106 
    107 } // eglu
    108 
    109 #endif // _EGLUCONFIGINFO_HPP
    110