• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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