13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#ifndef _XETESTCASERESULT_HPP
23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define _XETESTCASERESULT_HPP
33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*-------------------------------------------------------------------------
43c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program Test Executor
53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * ------------------------------------------
63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Copyright 2014 The Android Open Source Project
83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Licensed under the Apache License, Version 2.0 (the "License");
103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * you may not use this file except in compliance with the License.
113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * You may obtain a copy of the License at
123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *      http://www.apache.org/licenses/LICENSE-2.0
143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Unless required by applicable law or agreed to in writing, software
163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * distributed under the License is distributed on an "AS IS" BASIS,
173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * See the License for the specific language governing permissions and
193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * limitations under the License.
203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*!
223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \file
233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \brief Test case result models.
243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*--------------------------------------------------------------------*/
253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "xeDefs.hpp"
273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "xeTestCase.hpp"
283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include <string>
303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include <vector>
313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include <ostream>
323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
333c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace xe
343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
363c827367444ee418f129b2c238299f49d3264554Jarkko Poyryenum TestStatusCode
373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_PASS,					//!< Test case passed.
393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_FAIL,					//!< Test case failed (not passed).
403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_QUALITY_WARNING,			//!< Result within specification, but suspicious quality wise
413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_COMPATIBILITY_WARNING,	//!< Result within specification, but likely to cause fragmentation
423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_PENDING,					//!< Not yet started.
433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_RUNNING,					//!< Currently running (not stored in database).
443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_NOT_SUPPORTED,			//!< Some feature was not supported in the implementation.
453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_RESOURCE_ERROR,			//!< A resource error has occurred.
463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_INTERNAL_ERROR,			//!< An internal error has occurred.
473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_CANCELED,				//!< User canceled the execution
483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_TIMEOUT,					//!< Test was killed because of watch dog timeout.
493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_CRASH,					//!< Test executable crashed before finishing the test.
503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_DISABLED,				//!< Test case disabled (for current target)
513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_TERMINATED,				//!< Terminated for other reason.
523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TESTSTATUSCODE_LAST
543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
563c827367444ee418f129b2c238299f49d3264554Jarkko Poyryconst char* getTestStatusCodeName (TestStatusCode statusCode);
573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
583c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace ri
593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
613c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Item;
623c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Result;
633c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Text;
643c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Number;
653c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Image;
663c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ImageSet;
673c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass VertexShader;
683c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass FragmentShader;
693c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderProgram;
703c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderSource;
713c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass InfoLog;
723c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass EglConfig;
733c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass EglConfigSet;
743c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Section;
753c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass KernelSource;
763c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass CompileInfo;
773c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SampleList;
783c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SampleInfo;
793c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ValueInfo;
803c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Sample;
813c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SampleValue;
823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// \todo [2014-02-28 pyry] Make List<T> for items that have only specific subitems.
843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
853c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass List
863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
873c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry							List			(void);
893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry							~List			(void);
903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int						getNumItems		(void) const	{ return (int)m_items.size();	}
923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	const Item&				getItem			(int ndx) const	{ return *m_items[ndx];			}
933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Item&					getItem			(int ndx)		{ return *m_items[ndx];			}
943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	template <typename T>
963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	T*						allocItem		(void);
973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
983c827367444ee418f129b2c238299f49d3264554Jarkko Poyryprivate:
993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::vector<Item*>		m_items;
1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyrytemplate <typename T>
1033c827367444ee418f129b2c238299f49d3264554Jarkko PoyryT* List::allocItem (void)
1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	m_items.reserve(m_items.size()+1);
1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	T* item = new T();
1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	m_items.push_back(static_cast<ri::Item*>(item));
1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	return item;
1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}
1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // ri
1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass TestCaseResultHeader
1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						TestCaseResultHeader	(void) : caseType(TESTCASETYPE_LAST), statusCode(TESTSTATUSCODE_LAST) {}
1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			casePath;				//!< Full test case path.
1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TestCaseType		caseType;				//!< Test case type.
1203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TestStatusCode		statusCode;				//!< Test status code.
1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			statusDetails;			//!< Status description.
1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass TestCaseResult : public TestCaseResultHeader
1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ri::List			resultItems;			//!< Test log items.
1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// Result items.
1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace ri
1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry// Result item type.
1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyryenum Type
1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_RESULT = 0,
1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_TEXT,
1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_NUMBER,
1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_IMAGE,
1413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_IMAGESET,
1423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SHADER,
1433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SHADERPROGRAM,
1443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SHADERSOURCE,
145133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski	TYPE_SPIRVSOURCE,
1463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_INFOLOG,
1473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_EGLCONFIG,
1483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_EGLCONFIGSET,
1493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SECTION,
1503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_KERNELSOURCE,
1513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_COMPILEINFO,
1523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SAMPLELIST,
1533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SAMPLEINFO,
1543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_VALUEINFO,
1553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SAMPLE,
1563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_SAMPLEVALUE,
1573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TYPE_LAST
1593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1613c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass NumericValue
1623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1633c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	enum Type
1653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		TYPE_EMPTY = 0,
1673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		TYPE_INT64,
1683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		TYPE_FLOAT64,
1693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		TYPE_LAST
1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	};
1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry					NumericValue	(void)			: m_type(TYPE_EMPTY)	{}
1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry					NumericValue	(deInt64 value)	: m_type(TYPE_INT64)	{ m_value.int64 = value;	}
1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry					NumericValue	(double value)	: m_type(TYPE_FLOAT64)	{ m_value.float64 = value;	}
1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Type			getType			(void) const	{ return m_type; }
1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	deInt64			getInt64		(void) const	{ DE_ASSERT(getType() == TYPE_INT64);	return m_value.int64;	}
1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	double			getFloat64		(void) const	{ DE_ASSERT(getType() == TYPE_FLOAT64);	return m_value.float64;	}
1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyryprivate:
1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Type			m_type;
1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	union
1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		deInt64		int64;
1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		double		float64;
1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	} m_value;
1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyrystd::ostream& operator<< (std::ostream& str, const NumericValue& value);
1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Item
1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
1943c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	virtual			~Item				(void) {}
1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Type			getType				(void) const { return m_type; }
1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2003c827367444ee418f129b2c238299f49d3264554Jarkko Poyryprotected:
2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry					Item				(Type type) : m_type(type) {}
2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyryprivate:
2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry					Item				(const Item& other);
2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Item&			operator=			(const Item& other);
2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Type			m_type;
2083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2103c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Result : public Item
2113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2123c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						Result			(void) : Item(TYPE_RESULT), statusCode(TESTSTATUSCODE_LAST) {}
2143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~Result			(void) {}
2153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	TestStatusCode		statusCode;
2173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			details;
2183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2203c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Text : public Item
2213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2223c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						Text			(void) : Item(TYPE_TEXT) {}
2243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~Text			(void) {}
2253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			text;
2273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2293c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Number : public Item
2303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2313c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						Number			(void) : Item(TYPE_NUMBER) {}
2333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~Number			(void) {}
2343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			name;
2363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			description;
2373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			unit;
2383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			tag;
2393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	NumericValue		value;
2403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2423c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Image : public Item
2433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2443c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	enum Format
2463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		FORMAT_RGB888,
2483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		FORMAT_RGBA8888,
2493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		FORMAT_LAST
2513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	};
2523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	enum Compression
2543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
2553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		COMPRESSION_NONE = 0,
2563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		COMPRESSION_PNG,
2573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		COMPRESSION_LAST
2593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	};
2603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry							Image		(void) : Item(TYPE_IMAGE), width(0), height(0), format(FORMAT_LAST), compression(COMPRESSION_LAST) {}
2623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry							~Image		(void) {}
2633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string				name;
2653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string				description;
2663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int						width;
2673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int						height;
2683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Format					format;
2693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	Compression				compression;
2703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::vector<deUint8>	data;
2713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2733c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ImageSet : public Item
2743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2753c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						ImageSet		(void) : Item(TYPE_IMAGESET) {}
2773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~ImageSet		(void) {}
2783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			name;
2803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			description;
2813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	List				images;
2823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
2833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2843c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderSource : public Item
2853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2863c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
2873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						ShaderSource		(void) : Item(TYPE_SHADERSOURCE) {}
2883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~ShaderSource		(void) {}
2893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			source;
291133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski};
292133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski
293133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevskiclass SpirVSource : public Item
294133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski{
295133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevskipublic:
296133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski						SpirVSource			(void) : Item(TYPE_SPIRVSOURCE) {}
297133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski						~SpirVSource		(void) {}
298133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski
299133cd2f4e4966f3df1ebea16ca33ef571e7b37dbDejan Mircevski	std::string			source;
3003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
3013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3023c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass InfoLog : public Item
3033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
3043c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
3053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						InfoLog				(void) : Item(TYPE_INFOLOG) {}
3063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~InfoLog			(void) {}
3073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			log;
3093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
3103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3113c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Shader : public Item
3123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
3133c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
3143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	enum ShaderType
3153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
3163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		SHADERTYPE_VERTEX = 0,
3173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		SHADERTYPE_FRAGMENT,
3183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		SHADERTYPE_GEOMETRY,
3193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		SHADERTYPE_TESS_CONTROL,
3203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		SHADERTYPE_TESS_EVALUATION,
3213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		SHADERTYPE_COMPUTE,
3223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		SHADERTYPE_LAST
3243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	};
3253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						Shader				(void) : Item(TYPE_SHADER), shaderType(SHADERTYPE_LAST), compileStatus(false) {}
3273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~Shader				(void) {}
3283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderType			shaderType;
3303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	bool				compileStatus;
3313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ShaderSource		source;
3323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	InfoLog				infoLog;
3333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
3343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3353c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ShaderProgram : public Item
3363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
3373c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
3383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						ShaderProgram		(void) : Item(TYPE_SHADERPROGRAM), linkStatus(false) {}
3393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~ShaderProgram		(void) {}
3403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	List				shaders;
3423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	bool				linkStatus;
3433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	InfoLog				linkInfoLog;
3443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
3453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3463c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass EglConfig : public Item
3473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
3483c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
3493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						EglConfig			(void);
3503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~EglConfig			(void) {}
3513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					bufferSize;
3533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					redSize;
3543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					greenSize;
3553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					blueSize;
3563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					luminanceSize;
3573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					alphaSize;
3583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					alphaMaskSize;
3593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	bool				bindToTextureRGB;
3603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	bool				bindToTextureRGBA;
3613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			colorBufferType;
3623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			configCaveat;
3633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					configID;
3643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			conformant;
3653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					depthSize;
3663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					level;
3673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					maxPBufferWidth;
3683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					maxPBufferHeight;
3693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					maxPBufferPixels;
3703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					maxSwapInterval;
3713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					minSwapInterval;
3723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	bool				nativeRenderable;
3733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			renderableType;
3743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					sampleBuffers;
3753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					samples;
3763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					stencilSize;
3773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			surfaceTypes;
3783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			transparentType;
3793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					transparentRedValue;
3803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					transparentGreenValue;
3813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	int					transparentBlueValue;
3823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
3833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3843c827367444ee418f129b2c238299f49d3264554Jarkko Poyryinline EglConfig::EglConfig (void)
3853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	: Item					(TYPE_EGLCONFIG)
3863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, bufferSize			(0)
3873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, redSize				(0)
3883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, greenSize				(0)
3893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, blueSize				(0)
3903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, luminanceSize			(0)
3913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, alphaSize				(0)
3923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, alphaMaskSize			(0)
3933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, bindToTextureRGB		(false)
3943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, bindToTextureRGBA		(false)
3953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, configID				(0)
3963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, depthSize				(0)
3973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, level					(0)
3983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, maxPBufferWidth		(0)
3993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, maxPBufferHeight		(0)
4003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, maxPBufferPixels		(0)
4013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, maxSwapInterval		(0)
4023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, minSwapInterval		(0)
4033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, nativeRenderable		(false)
4043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, sampleBuffers			(0)
4053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, samples				(0)
4063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, stencilSize			(0)
4073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, transparentRedValue	(0)
4083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, transparentGreenValue	(0)
4093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	, transparentBlueValue	(0)
4103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}
4123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4133c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass EglConfigSet : public Item
4143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4153c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						EglConfigSet		(void) : Item(TYPE_EGLCONFIGSET) {}
4173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~EglConfigSet		(void) {}
4183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			name;
4203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			description;
4213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	List				configs;
4223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
4233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4243c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Section : public Item
4253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4263c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						Section			(void) : Item(TYPE_SECTION) {}
4283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~Section		(void) {}
4293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			name;
4313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			description;
4323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	List				items;
4333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
4343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4353c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass KernelSource : public Item
4363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4373c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						KernelSource	(void) : Item(TYPE_KERNELSOURCE) {}
4393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~KernelSource	(void) {}
4403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			source;
4423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
4433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4443c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass CompileInfo : public Item
4453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4463c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						CompileInfo		(void) : Item(TYPE_COMPILEINFO), compileStatus(false) {}
4483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~CompileInfo	(void) {}
4493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			name;
4513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			description;
4523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	bool				compileStatus;
4533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	InfoLog				infoLog;
4543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
4553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4563c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass ValueInfo : public Item
4573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4583c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	enum ValueTag
4603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{
4613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		VALUETAG_PREDICTOR,
4623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		VALUETAG_RESPONSE,
4633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		VALUETAG_LAST
4653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	};
4663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						ValueInfo		(void) : Item(TYPE_VALUEINFO), tag(VALUETAG_LAST) {}
4683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~ValueInfo		(void) {}
4693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			name;
4713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			description;
4723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			unit;
4733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ValueTag			tag;
4743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
4753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4763c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SampleInfo : public Item
4773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4783c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						SampleInfo		(void) : Item(TYPE_SAMPLEINFO) {}
4803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~SampleInfo		(void) {}
4813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	List				valueInfos;
4833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
4843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4853c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SampleValue : public Item
4863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4873c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						SampleValue		(void) : Item(TYPE_SAMPLEVALUE) {}
4893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~SampleValue	(void) {}
4903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	NumericValue		value;
4923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
4933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4943c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Sample : public Item
4953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
4963c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
4973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						Sample			(void) : Item(TYPE_SAMPLE) {}
4983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~Sample			(void) {}
4993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	List				values;
5013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
5023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5033c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass SampleList : public Item
5043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
5053c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic:
5063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						SampleList		(void) : Item(TYPE_SAMPLELIST) {}
5073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry						~SampleList		(void) {}
5083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			name;
5103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	std::string			description;
5113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	SampleInfo			sampleInfo;
5123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	List				samples;
5133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
5143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // ri
5163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // xe
5173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#endif // _XETESTCASERESULT_HPP
519