xref: /aosp_15_r20/external/deqp/executor/xeTestCaseResult.hpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1*35238bceSAndroid Build Coastguard Worker #ifndef _XETESTCASERESULT_HPP
2*35238bceSAndroid Build Coastguard Worker #define _XETESTCASERESULT_HPP
3*35238bceSAndroid Build Coastguard Worker /*-------------------------------------------------------------------------
4*35238bceSAndroid Build Coastguard Worker  * drawElements Quality Program Test Executor
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 Test case result models.
24*35238bceSAndroid Build Coastguard Worker  *//*--------------------------------------------------------------------*/
25*35238bceSAndroid Build Coastguard Worker 
26*35238bceSAndroid Build Coastguard Worker #include "xeDefs.hpp"
27*35238bceSAndroid Build Coastguard Worker #include "xeTestCase.hpp"
28*35238bceSAndroid Build Coastguard Worker 
29*35238bceSAndroid Build Coastguard Worker #include <string>
30*35238bceSAndroid Build Coastguard Worker #include <vector>
31*35238bceSAndroid Build Coastguard Worker #include <ostream>
32*35238bceSAndroid Build Coastguard Worker 
33*35238bceSAndroid Build Coastguard Worker namespace xe
34*35238bceSAndroid Build Coastguard Worker {
35*35238bceSAndroid Build Coastguard Worker 
36*35238bceSAndroid Build Coastguard Worker enum TestStatusCode
37*35238bceSAndroid Build Coastguard Worker {
38*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_PASS,                  //!< Test case passed.
39*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_FAIL,                  //!< Test case failed (not passed).
40*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_QUALITY_WARNING,       //!< Result within specification, but suspicious quality wise
41*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_COMPATIBILITY_WARNING, //!< Result within specification, but likely to cause fragmentation
42*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_PENDING,               //!< Not yet started.
43*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_RUNNING,               //!< Currently running (not stored in database).
44*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_NOT_SUPPORTED,         //!< Some feature was not supported in the implementation.
45*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_RESOURCE_ERROR,        //!< A resource error has occurred.
46*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_INTERNAL_ERROR,        //!< An internal error has occurred.
47*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_CANCELED,              //!< User canceled the execution
48*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_TIMEOUT,               //!< Test was killed because of watch dog timeout.
49*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_CRASH,                 //!< Test executable crashed before finishing the test.
50*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_DISABLED,              //!< Test case disabled (for current target)
51*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_TERMINATED,            //!< Terminated for other reason.
52*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_WAIVER,                //!< Test case waived.
53*35238bceSAndroid Build Coastguard Worker 
54*35238bceSAndroid Build Coastguard Worker     TESTSTATUSCODE_LAST
55*35238bceSAndroid Build Coastguard Worker };
56*35238bceSAndroid Build Coastguard Worker 
57*35238bceSAndroid Build Coastguard Worker const char *getTestStatusCodeName(TestStatusCode statusCode);
58*35238bceSAndroid Build Coastguard Worker 
59*35238bceSAndroid Build Coastguard Worker namespace ri
60*35238bceSAndroid Build Coastguard Worker {
61*35238bceSAndroid Build Coastguard Worker 
62*35238bceSAndroid Build Coastguard Worker class Item;
63*35238bceSAndroid Build Coastguard Worker class Result;
64*35238bceSAndroid Build Coastguard Worker class Text;
65*35238bceSAndroid Build Coastguard Worker class Number;
66*35238bceSAndroid Build Coastguard Worker class Image;
67*35238bceSAndroid Build Coastguard Worker class ImageSet;
68*35238bceSAndroid Build Coastguard Worker class VertexShader;
69*35238bceSAndroid Build Coastguard Worker class FragmentShader;
70*35238bceSAndroid Build Coastguard Worker class ShaderProgram;
71*35238bceSAndroid Build Coastguard Worker class ShaderSource;
72*35238bceSAndroid Build Coastguard Worker class InfoLog;
73*35238bceSAndroid Build Coastguard Worker class EglConfig;
74*35238bceSAndroid Build Coastguard Worker class EglConfigSet;
75*35238bceSAndroid Build Coastguard Worker class Section;
76*35238bceSAndroid Build Coastguard Worker class KernelSource;
77*35238bceSAndroid Build Coastguard Worker class CompileInfo;
78*35238bceSAndroid Build Coastguard Worker class SampleList;
79*35238bceSAndroid Build Coastguard Worker class SampleInfo;
80*35238bceSAndroid Build Coastguard Worker class ValueInfo;
81*35238bceSAndroid Build Coastguard Worker class Sample;
82*35238bceSAndroid Build Coastguard Worker class SampleValue;
83*35238bceSAndroid Build Coastguard Worker 
84*35238bceSAndroid Build Coastguard Worker // \todo [2014-02-28 pyry] Make List<T> for items that have only specific subitems.
85*35238bceSAndroid Build Coastguard Worker 
86*35238bceSAndroid Build Coastguard Worker class List
87*35238bceSAndroid Build Coastguard Worker {
88*35238bceSAndroid Build Coastguard Worker public:
89*35238bceSAndroid Build Coastguard Worker     List(void);
90*35238bceSAndroid Build Coastguard Worker     ~List(void);
91*35238bceSAndroid Build Coastguard Worker 
getNumItems(void) const92*35238bceSAndroid Build Coastguard Worker     int getNumItems(void) const
93*35238bceSAndroid Build Coastguard Worker     {
94*35238bceSAndroid Build Coastguard Worker         return (int)m_items.size();
95*35238bceSAndroid Build Coastguard Worker     }
getItem(int ndx) const96*35238bceSAndroid Build Coastguard Worker     const Item &getItem(int ndx) const
97*35238bceSAndroid Build Coastguard Worker     {
98*35238bceSAndroid Build Coastguard Worker         return *m_items[ndx];
99*35238bceSAndroid Build Coastguard Worker     }
getItem(int ndx)100*35238bceSAndroid Build Coastguard Worker     Item &getItem(int ndx)
101*35238bceSAndroid Build Coastguard Worker     {
102*35238bceSAndroid Build Coastguard Worker         return *m_items[ndx];
103*35238bceSAndroid Build Coastguard Worker     }
104*35238bceSAndroid Build Coastguard Worker 
105*35238bceSAndroid Build Coastguard Worker     template <typename T>
106*35238bceSAndroid Build Coastguard Worker     T *allocItem(void);
107*35238bceSAndroid Build Coastguard Worker 
108*35238bceSAndroid Build Coastguard Worker private:
109*35238bceSAndroid Build Coastguard Worker     std::vector<Item *> m_items;
110*35238bceSAndroid Build Coastguard Worker };
111*35238bceSAndroid Build Coastguard Worker 
112*35238bceSAndroid Build Coastguard Worker template <typename T>
allocItem(void)113*35238bceSAndroid Build Coastguard Worker T *List::allocItem(void)
114*35238bceSAndroid Build Coastguard Worker {
115*35238bceSAndroid Build Coastguard Worker     m_items.reserve(m_items.size() + 1);
116*35238bceSAndroid Build Coastguard Worker     T *item = new T();
117*35238bceSAndroid Build Coastguard Worker     m_items.push_back(static_cast<ri::Item *>(item));
118*35238bceSAndroid Build Coastguard Worker     return item;
119*35238bceSAndroid Build Coastguard Worker }
120*35238bceSAndroid Build Coastguard Worker 
121*35238bceSAndroid Build Coastguard Worker } // namespace ri
122*35238bceSAndroid Build Coastguard Worker 
123*35238bceSAndroid Build Coastguard Worker class TestCaseResultHeader
124*35238bceSAndroid Build Coastguard Worker {
125*35238bceSAndroid Build Coastguard Worker public:
TestCaseResultHeader(void)126*35238bceSAndroid Build Coastguard Worker     TestCaseResultHeader(void) : caseType(TESTCASETYPE_LAST), statusCode(TESTSTATUSCODE_LAST)
127*35238bceSAndroid Build Coastguard Worker     {
128*35238bceSAndroid Build Coastguard Worker     }
129*35238bceSAndroid Build Coastguard Worker 
130*35238bceSAndroid Build Coastguard Worker     std::string caseVersion;   //!< Test case version.
131*35238bceSAndroid Build Coastguard Worker     std::string casePath;      //!< Full test case path.
132*35238bceSAndroid Build Coastguard Worker     TestCaseType caseType;     //!< Test case type.
133*35238bceSAndroid Build Coastguard Worker     TestStatusCode statusCode; //!< Test status code.
134*35238bceSAndroid Build Coastguard Worker     std::string statusDetails; //!< Status description.
135*35238bceSAndroid Build Coastguard Worker };
136*35238bceSAndroid Build Coastguard Worker 
137*35238bceSAndroid Build Coastguard Worker class TestCaseResult : public TestCaseResultHeader
138*35238bceSAndroid Build Coastguard Worker {
139*35238bceSAndroid Build Coastguard Worker public:
140*35238bceSAndroid Build Coastguard Worker     ri::List resultItems; //!< Test log items.
141*35238bceSAndroid Build Coastguard Worker };
142*35238bceSAndroid Build Coastguard Worker 
143*35238bceSAndroid Build Coastguard Worker // Result items.
144*35238bceSAndroid Build Coastguard Worker namespace ri
145*35238bceSAndroid Build Coastguard Worker {
146*35238bceSAndroid Build Coastguard Worker 
147*35238bceSAndroid Build Coastguard Worker // Result item type.
148*35238bceSAndroid Build Coastguard Worker enum Type
149*35238bceSAndroid Build Coastguard Worker {
150*35238bceSAndroid Build Coastguard Worker     TYPE_RESULT = 0,
151*35238bceSAndroid Build Coastguard Worker     TYPE_TEXT,
152*35238bceSAndroid Build Coastguard Worker     TYPE_NUMBER,
153*35238bceSAndroid Build Coastguard Worker     TYPE_IMAGE,
154*35238bceSAndroid Build Coastguard Worker     TYPE_IMAGESET,
155*35238bceSAndroid Build Coastguard Worker     TYPE_SHADER,
156*35238bceSAndroid Build Coastguard Worker     TYPE_SHADERPROGRAM,
157*35238bceSAndroid Build Coastguard Worker     TYPE_SHADERSOURCE,
158*35238bceSAndroid Build Coastguard Worker     TYPE_SPIRVSOURCE,
159*35238bceSAndroid Build Coastguard Worker     TYPE_INFOLOG,
160*35238bceSAndroid Build Coastguard Worker     TYPE_EGLCONFIG,
161*35238bceSAndroid Build Coastguard Worker     TYPE_EGLCONFIGSET,
162*35238bceSAndroid Build Coastguard Worker     TYPE_SECTION,
163*35238bceSAndroid Build Coastguard Worker     TYPE_KERNELSOURCE,
164*35238bceSAndroid Build Coastguard Worker     TYPE_COMPILEINFO,
165*35238bceSAndroid Build Coastguard Worker     TYPE_SAMPLELIST,
166*35238bceSAndroid Build Coastguard Worker     TYPE_SAMPLEINFO,
167*35238bceSAndroid Build Coastguard Worker     TYPE_VALUEINFO,
168*35238bceSAndroid Build Coastguard Worker     TYPE_SAMPLE,
169*35238bceSAndroid Build Coastguard Worker     TYPE_SAMPLEVALUE,
170*35238bceSAndroid Build Coastguard Worker 
171*35238bceSAndroid Build Coastguard Worker     TYPE_LAST
172*35238bceSAndroid Build Coastguard Worker };
173*35238bceSAndroid Build Coastguard Worker 
174*35238bceSAndroid Build Coastguard Worker class NumericValue
175*35238bceSAndroid Build Coastguard Worker {
176*35238bceSAndroid Build Coastguard Worker public:
177*35238bceSAndroid Build Coastguard Worker     enum Type
178*35238bceSAndroid Build Coastguard Worker     {
179*35238bceSAndroid Build Coastguard Worker         NUMVALTYPE_EMPTY = 0,
180*35238bceSAndroid Build Coastguard Worker         NUMVALTYPE_INT64,
181*35238bceSAndroid Build Coastguard Worker         NUMVALTYPE_FLOAT64,
182*35238bceSAndroid Build Coastguard Worker 
183*35238bceSAndroid Build Coastguard Worker         NUMVALTYPE_LAST
184*35238bceSAndroid Build Coastguard Worker     };
185*35238bceSAndroid Build Coastguard Worker 
NumericValue(void)186*35238bceSAndroid Build Coastguard Worker     NumericValue(void) : m_type(NUMVALTYPE_EMPTY)
187*35238bceSAndroid Build Coastguard Worker     {
188*35238bceSAndroid Build Coastguard Worker     }
NumericValue(int64_t value)189*35238bceSAndroid Build Coastguard Worker     NumericValue(int64_t value) : m_type(NUMVALTYPE_INT64)
190*35238bceSAndroid Build Coastguard Worker     {
191*35238bceSAndroid Build Coastguard Worker         m_value.int64 = value;
192*35238bceSAndroid Build Coastguard Worker     }
NumericValue(double value)193*35238bceSAndroid Build Coastguard Worker     NumericValue(double value) : m_type(NUMVALTYPE_FLOAT64)
194*35238bceSAndroid Build Coastguard Worker     {
195*35238bceSAndroid Build Coastguard Worker         m_value.float64 = value;
196*35238bceSAndroid Build Coastguard Worker     }
197*35238bceSAndroid Build Coastguard Worker 
getType(void) const198*35238bceSAndroid Build Coastguard Worker     Type getType(void) const
199*35238bceSAndroid Build Coastguard Worker     {
200*35238bceSAndroid Build Coastguard Worker         return m_type;
201*35238bceSAndroid Build Coastguard Worker     }
getInt64(void) const202*35238bceSAndroid Build Coastguard Worker     int64_t getInt64(void) const
203*35238bceSAndroid Build Coastguard Worker     {
204*35238bceSAndroid Build Coastguard Worker         DE_ASSERT(getType() == NUMVALTYPE_INT64);
205*35238bceSAndroid Build Coastguard Worker         return m_value.int64;
206*35238bceSAndroid Build Coastguard Worker     }
getFloat64(void) const207*35238bceSAndroid Build Coastguard Worker     double getFloat64(void) const
208*35238bceSAndroid Build Coastguard Worker     {
209*35238bceSAndroid Build Coastguard Worker         DE_ASSERT(getType() == NUMVALTYPE_FLOAT64);
210*35238bceSAndroid Build Coastguard Worker         return m_value.float64;
211*35238bceSAndroid Build Coastguard Worker     }
212*35238bceSAndroid Build Coastguard Worker 
213*35238bceSAndroid Build Coastguard Worker private:
214*35238bceSAndroid Build Coastguard Worker     Type m_type;
215*35238bceSAndroid Build Coastguard Worker     union
216*35238bceSAndroid Build Coastguard Worker     {
217*35238bceSAndroid Build Coastguard Worker         int64_t int64;
218*35238bceSAndroid Build Coastguard Worker         double float64;
219*35238bceSAndroid Build Coastguard Worker     } m_value;
220*35238bceSAndroid Build Coastguard Worker };
221*35238bceSAndroid Build Coastguard Worker 
222*35238bceSAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &str, const NumericValue &value);
223*35238bceSAndroid Build Coastguard Worker 
224*35238bceSAndroid Build Coastguard Worker class Item
225*35238bceSAndroid Build Coastguard Worker {
226*35238bceSAndroid Build Coastguard Worker public:
~Item(void)227*35238bceSAndroid Build Coastguard Worker     virtual ~Item(void)
228*35238bceSAndroid Build Coastguard Worker     {
229*35238bceSAndroid Build Coastguard Worker     }
230*35238bceSAndroid Build Coastguard Worker 
getType(void) const231*35238bceSAndroid Build Coastguard Worker     Type getType(void) const
232*35238bceSAndroid Build Coastguard Worker     {
233*35238bceSAndroid Build Coastguard Worker         return m_type;
234*35238bceSAndroid Build Coastguard Worker     }
235*35238bceSAndroid Build Coastguard Worker 
236*35238bceSAndroid Build Coastguard Worker protected:
Item(Type type)237*35238bceSAndroid Build Coastguard Worker     Item(Type type) : m_type(type)
238*35238bceSAndroid Build Coastguard Worker     {
239*35238bceSAndroid Build Coastguard Worker     }
240*35238bceSAndroid Build Coastguard Worker 
241*35238bceSAndroid Build Coastguard Worker private:
242*35238bceSAndroid Build Coastguard Worker     Item(const Item &other);
243*35238bceSAndroid Build Coastguard Worker     Item &operator=(const Item &other);
244*35238bceSAndroid Build Coastguard Worker 
245*35238bceSAndroid Build Coastguard Worker     Type m_type;
246*35238bceSAndroid Build Coastguard Worker };
247*35238bceSAndroid Build Coastguard Worker 
248*35238bceSAndroid Build Coastguard Worker class Result : public Item
249*35238bceSAndroid Build Coastguard Worker {
250*35238bceSAndroid Build Coastguard Worker public:
Result(void)251*35238bceSAndroid Build Coastguard Worker     Result(void) : Item(TYPE_RESULT), statusCode(TESTSTATUSCODE_LAST)
252*35238bceSAndroid Build Coastguard Worker     {
253*35238bceSAndroid Build Coastguard Worker     }
~Result(void)254*35238bceSAndroid Build Coastguard Worker     ~Result(void)
255*35238bceSAndroid Build Coastguard Worker     {
256*35238bceSAndroid Build Coastguard Worker     }
257*35238bceSAndroid Build Coastguard Worker 
258*35238bceSAndroid Build Coastguard Worker     TestStatusCode statusCode;
259*35238bceSAndroid Build Coastguard Worker     std::string details;
260*35238bceSAndroid Build Coastguard Worker };
261*35238bceSAndroid Build Coastguard Worker 
262*35238bceSAndroid Build Coastguard Worker class Text : public Item
263*35238bceSAndroid Build Coastguard Worker {
264*35238bceSAndroid Build Coastguard Worker public:
Text(void)265*35238bceSAndroid Build Coastguard Worker     Text(void) : Item(TYPE_TEXT)
266*35238bceSAndroid Build Coastguard Worker     {
267*35238bceSAndroid Build Coastguard Worker     }
~Text(void)268*35238bceSAndroid Build Coastguard Worker     ~Text(void)
269*35238bceSAndroid Build Coastguard Worker     {
270*35238bceSAndroid Build Coastguard Worker     }
271*35238bceSAndroid Build Coastguard Worker 
272*35238bceSAndroid Build Coastguard Worker     std::string text;
273*35238bceSAndroid Build Coastguard Worker };
274*35238bceSAndroid Build Coastguard Worker 
275*35238bceSAndroid Build Coastguard Worker class Number : public Item
276*35238bceSAndroid Build Coastguard Worker {
277*35238bceSAndroid Build Coastguard Worker public:
Number(void)278*35238bceSAndroid Build Coastguard Worker     Number(void) : Item(TYPE_NUMBER)
279*35238bceSAndroid Build Coastguard Worker     {
280*35238bceSAndroid Build Coastguard Worker     }
~Number(void)281*35238bceSAndroid Build Coastguard Worker     ~Number(void)
282*35238bceSAndroid Build Coastguard Worker     {
283*35238bceSAndroid Build Coastguard Worker     }
284*35238bceSAndroid Build Coastguard Worker 
285*35238bceSAndroid Build Coastguard Worker     std::string name;
286*35238bceSAndroid Build Coastguard Worker     std::string description;
287*35238bceSAndroid Build Coastguard Worker     std::string unit;
288*35238bceSAndroid Build Coastguard Worker     std::string tag;
289*35238bceSAndroid Build Coastguard Worker     NumericValue value;
290*35238bceSAndroid Build Coastguard Worker };
291*35238bceSAndroid Build Coastguard Worker 
292*35238bceSAndroid Build Coastguard Worker class Image : public Item
293*35238bceSAndroid Build Coastguard Worker {
294*35238bceSAndroid Build Coastguard Worker public:
295*35238bceSAndroid Build Coastguard Worker     enum Format
296*35238bceSAndroid Build Coastguard Worker     {
297*35238bceSAndroid Build Coastguard Worker         FORMAT_RGB888,
298*35238bceSAndroid Build Coastguard Worker         FORMAT_RGBA8888,
299*35238bceSAndroid Build Coastguard Worker 
300*35238bceSAndroid Build Coastguard Worker         FORMAT_LAST
301*35238bceSAndroid Build Coastguard Worker     };
302*35238bceSAndroid Build Coastguard Worker 
303*35238bceSAndroid Build Coastguard Worker     enum Compression
304*35238bceSAndroid Build Coastguard Worker     {
305*35238bceSAndroid Build Coastguard Worker         COMPRESSION_NONE = 0,
306*35238bceSAndroid Build Coastguard Worker         COMPRESSION_PNG,
307*35238bceSAndroid Build Coastguard Worker 
308*35238bceSAndroid Build Coastguard Worker         COMPRESSION_LAST
309*35238bceSAndroid Build Coastguard Worker     };
310*35238bceSAndroid Build Coastguard Worker 
Image(void)311*35238bceSAndroid Build Coastguard Worker     Image(void) : Item(TYPE_IMAGE), width(0), height(0), format(FORMAT_LAST), compression(COMPRESSION_LAST)
312*35238bceSAndroid Build Coastguard Worker     {
313*35238bceSAndroid Build Coastguard Worker     }
~Image(void)314*35238bceSAndroid Build Coastguard Worker     ~Image(void)
315*35238bceSAndroid Build Coastguard Worker     {
316*35238bceSAndroid Build Coastguard Worker     }
317*35238bceSAndroid Build Coastguard Worker 
318*35238bceSAndroid Build Coastguard Worker     std::string name;
319*35238bceSAndroid Build Coastguard Worker     std::string description;
320*35238bceSAndroid Build Coastguard Worker     int width;
321*35238bceSAndroid Build Coastguard Worker     int height;
322*35238bceSAndroid Build Coastguard Worker     Format format;
323*35238bceSAndroid Build Coastguard Worker     Compression compression;
324*35238bceSAndroid Build Coastguard Worker     std::vector<uint8_t> data;
325*35238bceSAndroid Build Coastguard Worker };
326*35238bceSAndroid Build Coastguard Worker 
327*35238bceSAndroid Build Coastguard Worker class ImageSet : public Item
328*35238bceSAndroid Build Coastguard Worker {
329*35238bceSAndroid Build Coastguard Worker public:
ImageSet(void)330*35238bceSAndroid Build Coastguard Worker     ImageSet(void) : Item(TYPE_IMAGESET)
331*35238bceSAndroid Build Coastguard Worker     {
332*35238bceSAndroid Build Coastguard Worker     }
~ImageSet(void)333*35238bceSAndroid Build Coastguard Worker     ~ImageSet(void)
334*35238bceSAndroid Build Coastguard Worker     {
335*35238bceSAndroid Build Coastguard Worker     }
336*35238bceSAndroid Build Coastguard Worker 
337*35238bceSAndroid Build Coastguard Worker     std::string name;
338*35238bceSAndroid Build Coastguard Worker     std::string description;
339*35238bceSAndroid Build Coastguard Worker     List images;
340*35238bceSAndroid Build Coastguard Worker };
341*35238bceSAndroid Build Coastguard Worker 
342*35238bceSAndroid Build Coastguard Worker class ShaderSource : public Item
343*35238bceSAndroid Build Coastguard Worker {
344*35238bceSAndroid Build Coastguard Worker public:
ShaderSource(void)345*35238bceSAndroid Build Coastguard Worker     ShaderSource(void) : Item(TYPE_SHADERSOURCE)
346*35238bceSAndroid Build Coastguard Worker     {
347*35238bceSAndroid Build Coastguard Worker     }
~ShaderSource(void)348*35238bceSAndroid Build Coastguard Worker     ~ShaderSource(void)
349*35238bceSAndroid Build Coastguard Worker     {
350*35238bceSAndroid Build Coastguard Worker     }
351*35238bceSAndroid Build Coastguard Worker 
352*35238bceSAndroid Build Coastguard Worker     std::string source;
353*35238bceSAndroid Build Coastguard Worker };
354*35238bceSAndroid Build Coastguard Worker 
355*35238bceSAndroid Build Coastguard Worker class SpirVSource : public Item
356*35238bceSAndroid Build Coastguard Worker {
357*35238bceSAndroid Build Coastguard Worker public:
SpirVSource(void)358*35238bceSAndroid Build Coastguard Worker     SpirVSource(void) : Item(TYPE_SPIRVSOURCE)
359*35238bceSAndroid Build Coastguard Worker     {
360*35238bceSAndroid Build Coastguard Worker     }
~SpirVSource(void)361*35238bceSAndroid Build Coastguard Worker     ~SpirVSource(void)
362*35238bceSAndroid Build Coastguard Worker     {
363*35238bceSAndroid Build Coastguard Worker     }
364*35238bceSAndroid Build Coastguard Worker 
365*35238bceSAndroid Build Coastguard Worker     std::string source;
366*35238bceSAndroid Build Coastguard Worker };
367*35238bceSAndroid Build Coastguard Worker 
368*35238bceSAndroid Build Coastguard Worker class InfoLog : public Item
369*35238bceSAndroid Build Coastguard Worker {
370*35238bceSAndroid Build Coastguard Worker public:
InfoLog(void)371*35238bceSAndroid Build Coastguard Worker     InfoLog(void) : Item(TYPE_INFOLOG)
372*35238bceSAndroid Build Coastguard Worker     {
373*35238bceSAndroid Build Coastguard Worker     }
~InfoLog(void)374*35238bceSAndroid Build Coastguard Worker     ~InfoLog(void)
375*35238bceSAndroid Build Coastguard Worker     {
376*35238bceSAndroid Build Coastguard Worker     }
377*35238bceSAndroid Build Coastguard Worker 
378*35238bceSAndroid Build Coastguard Worker     std::string log;
379*35238bceSAndroid Build Coastguard Worker };
380*35238bceSAndroid Build Coastguard Worker 
381*35238bceSAndroid Build Coastguard Worker class Shader : public Item
382*35238bceSAndroid Build Coastguard Worker {
383*35238bceSAndroid Build Coastguard Worker public:
384*35238bceSAndroid Build Coastguard Worker     enum ShaderType
385*35238bceSAndroid Build Coastguard Worker     {
386*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_VERTEX = 0,
387*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_FRAGMENT,
388*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_GEOMETRY,
389*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_TESS_CONTROL,
390*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_TESS_EVALUATION,
391*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_COMPUTE,
392*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_RAYGEN,
393*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_ANY_HIT,
394*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_CLOSEST_HIT,
395*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_MISS,
396*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_INTERSECTION,
397*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_CALLABLE,
398*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_TASK,
399*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_MESH,
400*35238bceSAndroid Build Coastguard Worker 
401*35238bceSAndroid Build Coastguard Worker         SHADERTYPE_LAST
402*35238bceSAndroid Build Coastguard Worker     };
403*35238bceSAndroid Build Coastguard Worker 
Shader(void)404*35238bceSAndroid Build Coastguard Worker     Shader(void) : Item(TYPE_SHADER), shaderType(SHADERTYPE_LAST), compileStatus(false)
405*35238bceSAndroid Build Coastguard Worker     {
406*35238bceSAndroid Build Coastguard Worker     }
~Shader(void)407*35238bceSAndroid Build Coastguard Worker     ~Shader(void)
408*35238bceSAndroid Build Coastguard Worker     {
409*35238bceSAndroid Build Coastguard Worker     }
410*35238bceSAndroid Build Coastguard Worker 
411*35238bceSAndroid Build Coastguard Worker     ShaderType shaderType;
412*35238bceSAndroid Build Coastguard Worker     bool compileStatus;
413*35238bceSAndroid Build Coastguard Worker     ShaderSource source;
414*35238bceSAndroid Build Coastguard Worker     InfoLog infoLog;
415*35238bceSAndroid Build Coastguard Worker };
416*35238bceSAndroid Build Coastguard Worker 
417*35238bceSAndroid Build Coastguard Worker class ShaderProgram : public Item
418*35238bceSAndroid Build Coastguard Worker {
419*35238bceSAndroid Build Coastguard Worker public:
ShaderProgram(void)420*35238bceSAndroid Build Coastguard Worker     ShaderProgram(void) : Item(TYPE_SHADERPROGRAM), linkStatus(false)
421*35238bceSAndroid Build Coastguard Worker     {
422*35238bceSAndroid Build Coastguard Worker     }
~ShaderProgram(void)423*35238bceSAndroid Build Coastguard Worker     ~ShaderProgram(void)
424*35238bceSAndroid Build Coastguard Worker     {
425*35238bceSAndroid Build Coastguard Worker     }
426*35238bceSAndroid Build Coastguard Worker 
427*35238bceSAndroid Build Coastguard Worker     List shaders;
428*35238bceSAndroid Build Coastguard Worker     bool linkStatus;
429*35238bceSAndroid Build Coastguard Worker     InfoLog linkInfoLog;
430*35238bceSAndroid Build Coastguard Worker };
431*35238bceSAndroid Build Coastguard Worker 
432*35238bceSAndroid Build Coastguard Worker class EglConfig : public Item
433*35238bceSAndroid Build Coastguard Worker {
434*35238bceSAndroid Build Coastguard Worker public:
435*35238bceSAndroid Build Coastguard Worker     EglConfig(void);
~EglConfig(void)436*35238bceSAndroid Build Coastguard Worker     ~EglConfig(void)
437*35238bceSAndroid Build Coastguard Worker     {
438*35238bceSAndroid Build Coastguard Worker     }
439*35238bceSAndroid Build Coastguard Worker 
440*35238bceSAndroid Build Coastguard Worker     int bufferSize;
441*35238bceSAndroid Build Coastguard Worker     int redSize;
442*35238bceSAndroid Build Coastguard Worker     int greenSize;
443*35238bceSAndroid Build Coastguard Worker     int blueSize;
444*35238bceSAndroid Build Coastguard Worker     int luminanceSize;
445*35238bceSAndroid Build Coastguard Worker     int alphaSize;
446*35238bceSAndroid Build Coastguard Worker     int alphaMaskSize;
447*35238bceSAndroid Build Coastguard Worker     bool bindToTextureRGB;
448*35238bceSAndroid Build Coastguard Worker     bool bindToTextureRGBA;
449*35238bceSAndroid Build Coastguard Worker     std::string colorBufferType;
450*35238bceSAndroid Build Coastguard Worker     std::string configCaveat;
451*35238bceSAndroid Build Coastguard Worker     int configID;
452*35238bceSAndroid Build Coastguard Worker     std::string conformant;
453*35238bceSAndroid Build Coastguard Worker     int depthSize;
454*35238bceSAndroid Build Coastguard Worker     int level;
455*35238bceSAndroid Build Coastguard Worker     int maxPBufferWidth;
456*35238bceSAndroid Build Coastguard Worker     int maxPBufferHeight;
457*35238bceSAndroid Build Coastguard Worker     int maxPBufferPixels;
458*35238bceSAndroid Build Coastguard Worker     int maxSwapInterval;
459*35238bceSAndroid Build Coastguard Worker     int minSwapInterval;
460*35238bceSAndroid Build Coastguard Worker     bool nativeRenderable;
461*35238bceSAndroid Build Coastguard Worker     std::string renderableType;
462*35238bceSAndroid Build Coastguard Worker     int sampleBuffers;
463*35238bceSAndroid Build Coastguard Worker     int samples;
464*35238bceSAndroid Build Coastguard Worker     int stencilSize;
465*35238bceSAndroid Build Coastguard Worker     std::string surfaceTypes;
466*35238bceSAndroid Build Coastguard Worker     std::string transparentType;
467*35238bceSAndroid Build Coastguard Worker     int transparentRedValue;
468*35238bceSAndroid Build Coastguard Worker     int transparentGreenValue;
469*35238bceSAndroid Build Coastguard Worker     int transparentBlueValue;
470*35238bceSAndroid Build Coastguard Worker };
471*35238bceSAndroid Build Coastguard Worker 
EglConfig(void)472*35238bceSAndroid Build Coastguard Worker inline EglConfig::EglConfig(void)
473*35238bceSAndroid Build Coastguard Worker     : Item(TYPE_EGLCONFIG)
474*35238bceSAndroid Build Coastguard Worker     , bufferSize(0)
475*35238bceSAndroid Build Coastguard Worker     , redSize(0)
476*35238bceSAndroid Build Coastguard Worker     , greenSize(0)
477*35238bceSAndroid Build Coastguard Worker     , blueSize(0)
478*35238bceSAndroid Build Coastguard Worker     , luminanceSize(0)
479*35238bceSAndroid Build Coastguard Worker     , alphaSize(0)
480*35238bceSAndroid Build Coastguard Worker     , alphaMaskSize(0)
481*35238bceSAndroid Build Coastguard Worker     , bindToTextureRGB(false)
482*35238bceSAndroid Build Coastguard Worker     , bindToTextureRGBA(false)
483*35238bceSAndroid Build Coastguard Worker     , configID(0)
484*35238bceSAndroid Build Coastguard Worker     , depthSize(0)
485*35238bceSAndroid Build Coastguard Worker     , level(0)
486*35238bceSAndroid Build Coastguard Worker     , maxPBufferWidth(0)
487*35238bceSAndroid Build Coastguard Worker     , maxPBufferHeight(0)
488*35238bceSAndroid Build Coastguard Worker     , maxPBufferPixels(0)
489*35238bceSAndroid Build Coastguard Worker     , maxSwapInterval(0)
490*35238bceSAndroid Build Coastguard Worker     , minSwapInterval(0)
491*35238bceSAndroid Build Coastguard Worker     , nativeRenderable(false)
492*35238bceSAndroid Build Coastguard Worker     , sampleBuffers(0)
493*35238bceSAndroid Build Coastguard Worker     , samples(0)
494*35238bceSAndroid Build Coastguard Worker     , stencilSize(0)
495*35238bceSAndroid Build Coastguard Worker     , transparentRedValue(0)
496*35238bceSAndroid Build Coastguard Worker     , transparentGreenValue(0)
497*35238bceSAndroid Build Coastguard Worker     , transparentBlueValue(0)
498*35238bceSAndroid Build Coastguard Worker {
499*35238bceSAndroid Build Coastguard Worker }
500*35238bceSAndroid Build Coastguard Worker 
501*35238bceSAndroid Build Coastguard Worker class EglConfigSet : public Item
502*35238bceSAndroid Build Coastguard Worker {
503*35238bceSAndroid Build Coastguard Worker public:
EglConfigSet(void)504*35238bceSAndroid Build Coastguard Worker     EglConfigSet(void) : Item(TYPE_EGLCONFIGSET)
505*35238bceSAndroid Build Coastguard Worker     {
506*35238bceSAndroid Build Coastguard Worker     }
~EglConfigSet(void)507*35238bceSAndroid Build Coastguard Worker     ~EglConfigSet(void)
508*35238bceSAndroid Build Coastguard Worker     {
509*35238bceSAndroid Build Coastguard Worker     }
510*35238bceSAndroid Build Coastguard Worker 
511*35238bceSAndroid Build Coastguard Worker     std::string name;
512*35238bceSAndroid Build Coastguard Worker     std::string description;
513*35238bceSAndroid Build Coastguard Worker     List configs;
514*35238bceSAndroid Build Coastguard Worker };
515*35238bceSAndroid Build Coastguard Worker 
516*35238bceSAndroid Build Coastguard Worker class Section : public Item
517*35238bceSAndroid Build Coastguard Worker {
518*35238bceSAndroid Build Coastguard Worker public:
Section(void)519*35238bceSAndroid Build Coastguard Worker     Section(void) : Item(TYPE_SECTION)
520*35238bceSAndroid Build Coastguard Worker     {
521*35238bceSAndroid Build Coastguard Worker     }
~Section(void)522*35238bceSAndroid Build Coastguard Worker     ~Section(void)
523*35238bceSAndroid Build Coastguard Worker     {
524*35238bceSAndroid Build Coastguard Worker     }
525*35238bceSAndroid Build Coastguard Worker 
526*35238bceSAndroid Build Coastguard Worker     std::string name;
527*35238bceSAndroid Build Coastguard Worker     std::string description;
528*35238bceSAndroid Build Coastguard Worker     List items;
529*35238bceSAndroid Build Coastguard Worker };
530*35238bceSAndroid Build Coastguard Worker 
531*35238bceSAndroid Build Coastguard Worker class KernelSource : public Item
532*35238bceSAndroid Build Coastguard Worker {
533*35238bceSAndroid Build Coastguard Worker public:
KernelSource(void)534*35238bceSAndroid Build Coastguard Worker     KernelSource(void) : Item(TYPE_KERNELSOURCE)
535*35238bceSAndroid Build Coastguard Worker     {
536*35238bceSAndroid Build Coastguard Worker     }
~KernelSource(void)537*35238bceSAndroid Build Coastguard Worker     ~KernelSource(void)
538*35238bceSAndroid Build Coastguard Worker     {
539*35238bceSAndroid Build Coastguard Worker     }
540*35238bceSAndroid Build Coastguard Worker 
541*35238bceSAndroid Build Coastguard Worker     std::string source;
542*35238bceSAndroid Build Coastguard Worker };
543*35238bceSAndroid Build Coastguard Worker 
544*35238bceSAndroid Build Coastguard Worker class CompileInfo : public Item
545*35238bceSAndroid Build Coastguard Worker {
546*35238bceSAndroid Build Coastguard Worker public:
CompileInfo(void)547*35238bceSAndroid Build Coastguard Worker     CompileInfo(void) : Item(TYPE_COMPILEINFO), compileStatus(false)
548*35238bceSAndroid Build Coastguard Worker     {
549*35238bceSAndroid Build Coastguard Worker     }
~CompileInfo(void)550*35238bceSAndroid Build Coastguard Worker     ~CompileInfo(void)
551*35238bceSAndroid Build Coastguard Worker     {
552*35238bceSAndroid Build Coastguard Worker     }
553*35238bceSAndroid Build Coastguard Worker 
554*35238bceSAndroid Build Coastguard Worker     std::string name;
555*35238bceSAndroid Build Coastguard Worker     std::string description;
556*35238bceSAndroid Build Coastguard Worker     bool compileStatus;
557*35238bceSAndroid Build Coastguard Worker     InfoLog infoLog;
558*35238bceSAndroid Build Coastguard Worker };
559*35238bceSAndroid Build Coastguard Worker 
560*35238bceSAndroid Build Coastguard Worker class ValueInfo : public Item
561*35238bceSAndroid Build Coastguard Worker {
562*35238bceSAndroid Build Coastguard Worker public:
563*35238bceSAndroid Build Coastguard Worker     enum ValueTag
564*35238bceSAndroid Build Coastguard Worker     {
565*35238bceSAndroid Build Coastguard Worker         VALUETAG_PREDICTOR,
566*35238bceSAndroid Build Coastguard Worker         VALUETAG_RESPONSE,
567*35238bceSAndroid Build Coastguard Worker 
568*35238bceSAndroid Build Coastguard Worker         VALUETAG_LAST
569*35238bceSAndroid Build Coastguard Worker     };
570*35238bceSAndroid Build Coastguard Worker 
ValueInfo(void)571*35238bceSAndroid Build Coastguard Worker     ValueInfo(void) : Item(TYPE_VALUEINFO), tag(VALUETAG_LAST)
572*35238bceSAndroid Build Coastguard Worker     {
573*35238bceSAndroid Build Coastguard Worker     }
~ValueInfo(void)574*35238bceSAndroid Build Coastguard Worker     ~ValueInfo(void)
575*35238bceSAndroid Build Coastguard Worker     {
576*35238bceSAndroid Build Coastguard Worker     }
577*35238bceSAndroid Build Coastguard Worker 
578*35238bceSAndroid Build Coastguard Worker     std::string name;
579*35238bceSAndroid Build Coastguard Worker     std::string description;
580*35238bceSAndroid Build Coastguard Worker     std::string unit;
581*35238bceSAndroid Build Coastguard Worker     ValueTag tag;
582*35238bceSAndroid Build Coastguard Worker };
583*35238bceSAndroid Build Coastguard Worker 
584*35238bceSAndroid Build Coastguard Worker class SampleInfo : public Item
585*35238bceSAndroid Build Coastguard Worker {
586*35238bceSAndroid Build Coastguard Worker public:
SampleInfo(void)587*35238bceSAndroid Build Coastguard Worker     SampleInfo(void) : Item(TYPE_SAMPLEINFO)
588*35238bceSAndroid Build Coastguard Worker     {
589*35238bceSAndroid Build Coastguard Worker     }
~SampleInfo(void)590*35238bceSAndroid Build Coastguard Worker     ~SampleInfo(void)
591*35238bceSAndroid Build Coastguard Worker     {
592*35238bceSAndroid Build Coastguard Worker     }
593*35238bceSAndroid Build Coastguard Worker 
594*35238bceSAndroid Build Coastguard Worker     List valueInfos;
595*35238bceSAndroid Build Coastguard Worker };
596*35238bceSAndroid Build Coastguard Worker 
597*35238bceSAndroid Build Coastguard Worker class SampleValue : public Item
598*35238bceSAndroid Build Coastguard Worker {
599*35238bceSAndroid Build Coastguard Worker public:
SampleValue(void)600*35238bceSAndroid Build Coastguard Worker     SampleValue(void) : Item(TYPE_SAMPLEVALUE)
601*35238bceSAndroid Build Coastguard Worker     {
602*35238bceSAndroid Build Coastguard Worker     }
~SampleValue(void)603*35238bceSAndroid Build Coastguard Worker     ~SampleValue(void)
604*35238bceSAndroid Build Coastguard Worker     {
605*35238bceSAndroid Build Coastguard Worker     }
606*35238bceSAndroid Build Coastguard Worker 
607*35238bceSAndroid Build Coastguard Worker     NumericValue value;
608*35238bceSAndroid Build Coastguard Worker };
609*35238bceSAndroid Build Coastguard Worker 
610*35238bceSAndroid Build Coastguard Worker class Sample : public Item
611*35238bceSAndroid Build Coastguard Worker {
612*35238bceSAndroid Build Coastguard Worker public:
Sample(void)613*35238bceSAndroid Build Coastguard Worker     Sample(void) : Item(TYPE_SAMPLE)
614*35238bceSAndroid Build Coastguard Worker     {
615*35238bceSAndroid Build Coastguard Worker     }
~Sample(void)616*35238bceSAndroid Build Coastguard Worker     ~Sample(void)
617*35238bceSAndroid Build Coastguard Worker     {
618*35238bceSAndroid Build Coastguard Worker     }
619*35238bceSAndroid Build Coastguard Worker 
620*35238bceSAndroid Build Coastguard Worker     List values;
621*35238bceSAndroid Build Coastguard Worker };
622*35238bceSAndroid Build Coastguard Worker 
623*35238bceSAndroid Build Coastguard Worker class SampleList : public Item
624*35238bceSAndroid Build Coastguard Worker {
625*35238bceSAndroid Build Coastguard Worker public:
SampleList(void)626*35238bceSAndroid Build Coastguard Worker     SampleList(void) : Item(TYPE_SAMPLELIST)
627*35238bceSAndroid Build Coastguard Worker     {
628*35238bceSAndroid Build Coastguard Worker     }
~SampleList(void)629*35238bceSAndroid Build Coastguard Worker     ~SampleList(void)
630*35238bceSAndroid Build Coastguard Worker     {
631*35238bceSAndroid Build Coastguard Worker     }
632*35238bceSAndroid Build Coastguard Worker 
633*35238bceSAndroid Build Coastguard Worker     std::string name;
634*35238bceSAndroid Build Coastguard Worker     std::string description;
635*35238bceSAndroid Build Coastguard Worker     SampleInfo sampleInfo;
636*35238bceSAndroid Build Coastguard Worker     List samples;
637*35238bceSAndroid Build Coastguard Worker };
638*35238bceSAndroid Build Coastguard Worker 
639*35238bceSAndroid Build Coastguard Worker } // namespace ri
640*35238bceSAndroid Build Coastguard Worker } // namespace xe
641*35238bceSAndroid Build Coastguard Worker 
642*35238bceSAndroid Build Coastguard Worker #endif // _XETESTCASERESULT_HPP
643