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
29namespace eglu
30{
31
32class ConfigInfo
33{
34public:
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
105void	queryConfigInfo		(EGLDisplay display, EGLConfig config, ConfigInfo* dst);
106
107} // eglu
108
109#endif // _EGLUCONFIGINFO_HPP
110