#include "xsDefs.hpp"
#include "xsProtocol.hpp"
#include "deSocket.hpp"
+#include "deUniquePtr.hpp"
#include "deString.h"
namespace xs
{
-typedef std::auto_ptr<Message> ScopedMsgPtr;
+typedef de::UniquePtr<Message> ScopedMsgPtr;
class SocketError : public Error
{
#include "deBlockBuffer.hpp"
#include "deThread.hpp"
#include "deStringUtil.hpp"
+#include "deUniquePtr.hpp"
#include "deClock.h"
#include "deProcess.h"
namespace xs
{
-typedef std::auto_ptr<Message> ScopedMsgPtr;
+typedef de::UniquePtr<Message> ScopedMsgPtr;
class SocketError : public Error
{
#include "deCommandLine.hpp"
#include "deDirectoryIterator.hpp"
#include "deStringUtil.hpp"
+#include "deUniquePtr.hpp"
#include "deString.h"
readLogFile(&batchResult, cmdLine.inFile.c_str());
// Initialize commLink.
- std::auto_ptr<xe::CommLink> commLink(createCommLink(cmdLine));
+ de::UniquePtr<xe::CommLink> commLink(createCommLink(cmdLine));
xe::BatchExecutor executor(cmdLine.targetCfg, commLink.get(), &root, testSet, &batchResult, &infoLog);
}
}
- if (limits->viewportBoundsRange[0] > -2 * limits->maxViewportDimensions[0])
+ if (limits->viewportBoundsRange[0] > float(-2 * limits->maxViewportDimensions[0]))
{
log << TestLog::Message << "limit validation failed, viewPortBoundsRange[0] of " << limits->viewportBoundsRange[0]
<< "is larger than -2*maxViewportDimension[0] of " << -2*limits->maxViewportDimensions[0] << TestLog::EndMessage;
limitsOk = false;
}
- if (limits->viewportBoundsRange[1] < 2 * limits->maxViewportDimensions[1] - 1)
+ if (limits->viewportBoundsRange[1] < float(2 * limits->maxViewportDimensions[1] - 1))
{
log << TestLog::Message << "limit validation failed, viewportBoundsRange[1] of " << limits->viewportBoundsRange[1]
<< "is less than 2*maxViewportDimension[1] of " << 2*limits->maxViewportDimensions[1] << TestLog::EndMessage;
template <typename T0 = Void, typename T1 = Void, typename T2 = Void, typename T3 = Void>
struct Tuple4
{
- explicit Tuple4 (const T0& e0 = T0(),
- const T1& e1 = T1(),
- const T2& e2 = T2(),
- const T3& e3 = T3())
+ explicit Tuple4 (const T0 e0 = T0(),
+ const T1 e1 = T1(),
+ const T2 e2 = T2(),
+ const T3 e3 = T3())
: a (e0)
, b (e1)
, c (e2)
else
throw tcu::TestError("invalid data type for u_arr");
- instance.addUniform(5u, vk::VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, sizeof(Vec4) * 4, arr[0].getPtr());
+ instance.addUniform(5u, vk::VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, sizeof(Vec4) * 4, arr[0].getPtr());
}
}
static inline int mirror (int a)
{
- return a >= 0.0f ? a : -(1 + a);
+ return a >= 0 ? a : -(1 + a);
}
int wrap (Sampler::WrapMode mode, int c, int size)
static inline int mirror (int a)
{
- return a >= 0.0f ? a : -(1 + a);
+ return a >= 0 ? a : -(1 + a);
}
// Nearest-even rounding in case of tie (fractional part 0.5), otherwise ordinary rounding.
set(WARNING_FLAGS "-Wall -Wextra -Wno-long-long -Wshadow -Wundef -Wconversion -Wno-sign-conversion")
set(CMAKE_C_FLAGS "${TARGET_FLAGS} ${WARNING_FLAGS} ${CMAKE_C_FLAGS} -std=c90 -pedantic ")
- set(CMAKE_CXX_FLAGS "${TARGET_FLAGS} ${WARNING_FLAGS} ${CMAKE_CXX_FLAGS} -Wno-delete-non-virtual-dtor")
+ set(CMAKE_CXX_FLAGS "${TARGET_FLAGS} ${WARNING_FLAGS} ${CMAKE_CXX_FLAGS} -std=c++03 -Wno-delete-non-virtual-dtor")
# Force compiler to generate code where integers have well defined overflow
# Turn on -Wstrict-overflow=5 and check all warnings before removing
if (texObj->getType() == Texture::TYPE_2D_ARRAY || texObj->getType() == Texture::TYPE_CUBE_MAP_ARRAY)
{
RC_IF_ERROR((layer < 0) || (layer >= GL_MAX_ARRAY_TEXTURE_LAYERS), GL_INVALID_VALUE, RC_RET_VOID);
- RC_IF_ERROR((level < 0) || (level > deFloatLog2(GL_MAX_TEXTURE_SIZE)), GL_INVALID_VALUE, RC_RET_VOID);
+ RC_IF_ERROR((level < 0) || (level > deLog2Floor32(GL_MAX_TEXTURE_SIZE)),GL_INVALID_VALUE, RC_RET_VOID);
}
else if (texObj->getType() == Texture::TYPE_3D)
{
RC_IF_ERROR((layer < 0) || (layer >= GL_MAX_3D_TEXTURE_SIZE), GL_INVALID_VALUE, RC_RET_VOID);
- RC_IF_ERROR((level < 0) || (level > deFloatLog2(GL_MAX_3D_TEXTURE_SIZE)), GL_INVALID_VALUE, RC_RET_VOID);
+ RC_IF_ERROR((level < 0) || (level > deLog2Floor32(GL_MAX_3D_TEXTURE_SIZE)), GL_INVALID_VALUE, RC_RET_VOID);
}
}
void start (void);
void join (void);
- void log (TestLog& log);
bool resultOk (void) { return m_isOk; }
m_contexts.clear();
}
-void TestThread::log (TestLog& testLog)
-{
- if (!m_isOk)
- testLog << TestLog::Message << "Thread failed: " << m_errorString << TestLog::EndMessage;
-}
-
void TestThread::start (void)
{
m_startBeginUs = deGetMicroseconds();
try
{
- std::auto_ptr<eglu::NativePixmap> pixmap (pixmapFactory.createPixmap(&nativeDisplay, display, config, DE_NULL, width, height));
+ de::UniquePtr<eglu::NativePixmap> pixmap (pixmapFactory.createPixmap(&nativeDisplay, display, config, DE_NULL, width, height));
EGLSurface eglSurface = createPixmapSurface(nativeDisplay, *pixmap, display, config, DE_NULL);
eglu::UniqueSurface surface (egl, display, eglSurface);
if (!state.verifyValidity(testCtx))
return;
- if (GLuint(state) < GLfloat(reference))
+ if (state < GLfloat(reference))
{
- testCtx.getLog() << TestLog::Message << "// ERROR: expected greater or equal to " << GLfloat(reference) << "; got " << GLuint(state) << TestLog::EndMessage;
+ testCtx.getLog() << TestLog::Message << "// ERROR: expected greater or equal to " << GLfloat(reference) << "; got " << state << TestLog::EndMessage;
if (testCtx.getTestResult() == QP_TEST_RESULT_PASS)
testCtx.setTestResult(QP_TEST_RESULT_FAIL, "Got invalid float value");
}
{
public:
BasicInvarianceTest (Context& ctx, const char* name, const char* desc, const std::string& vertexShader1, const std::string& vertexShader2);
- BasicInvarianceTest (Context& ctx, const char* name, const char* desc, const std::string& vertexShader1, const std::string& vertexShader2, const std::string& fragmentShader);
ShaderPair genShaders (void) const;
private:
{
}
-BasicInvarianceTest::BasicInvarianceTest (Context& ctx, const char* name, const char* desc, const std::string& vertexShader1, const std::string& vertexShader2, const std::string& fragmentShader)
- : InvarianceTest (ctx, name, desc)
- , m_vertexShader1 (vertexShader1)
- , m_vertexShader2 (vertexShader2)
- , m_fragmentShader (fragmentShader)
-{
-}
-
BasicInvarianceTest::ShaderPair BasicInvarianceTest::genShaders (void) const
{
ShaderPair retVal;
FEATURE_ARRAY_FIRST_ELEM_NAME_NO_INDEX = 1<<7
};
- UniformCase (Context& context, const char* name, const char* description, CaseShaderType caseType, const SharedPtr<const UniformCollection>& uniformCollection);
UniformCase (Context& context, const char* name, const char* description, CaseShaderType caseType, const SharedPtr<const UniformCollection>& uniformCollection, deUint32 features);
UniformCase (Context& context, const char* name, const char* description, deUint32 seed); // \note Randomizes caseType, uniformCollection and features.
virtual ~UniformCase (void);
{
}
-UniformCase::UniformCase (Context& context, const char* const name, const char* const description, const CaseShaderType caseShaderType, const SharedPtr<const UniformCollection>& uniformCollection)
- : TestCase (context, name, description)
- , CallLogWrapper (context.getRenderContext().getFunctions(), m_testCtx.getLog())
- , m_features (0)
- , m_uniformCollection (uniformCollection)
- , m_caseShaderType (caseShaderType)
-{
-}
-
UniformCase::UniformCase (Context& context, const char* name, const char* description, const deUint32 seed)
: TestCase (context, name, description)
, CallLogWrapper (context.getRenderContext().getFunctions(), m_testCtx.getLog())
template <typename T>
static tcu::Vector<T, 4> castVectorSaturate (const tcu::Vec4& in)
{
- return tcu::Vector<T, 4>((in.x() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.x() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.x()))),
- (in.y() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.y() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.y()))),
- (in.z() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.z() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.z()))),
- (in.w() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.w() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.w()))));
+ return tcu::Vector<T, 4>(((double)in.x() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.x() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.x()))),
+ ((double)in.y() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.y() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.y()))),
+ ((double)in.z() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.z() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.z()))),
+ ((double)in.w() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.w() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.w()))));
}
FlatColorShader::FlatColorShader (glu::DataType outputType)
if (!state.verifyValidity(testCtx))
return;
- if (GLuint(state) < GLfloat(reference))
+ if (state < GLfloat(reference))
{
- testCtx.getLog() << TestLog::Message << "// ERROR: expected greater or equal to " << GLfloat(reference) << "; got " << GLuint(state) << TestLog::EndMessage;
+ testCtx.getLog() << TestLog::Message << "// ERROR: expected greater or equal to " << GLfloat(reference) << "; got " << state << TestLog::EndMessage;
if (testCtx.getTestResult() == QP_TEST_RESULT_PASS)
testCtx.setTestResult(QP_TEST_RESULT_FAIL, "Got invalid float value");
}
{
public:
BasicInvarianceTest (Context& ctx, const char* name, const char* desc, const std::string& vertexShader1, const std::string& vertexShader2);
- BasicInvarianceTest (Context& ctx, const char* name, const char* desc, const std::string& vertexShader1, const std::string& vertexShader2, const std::string& fragmentShader);
ShaderPair genShaders (void) const;
private:
{
}
-BasicInvarianceTest::BasicInvarianceTest (Context& ctx, const char* name, const char* desc, const std::string& vertexShader1, const std::string& vertexShader2, const std::string& fragmentShader)
- : InvarianceTest (ctx, name, desc)
- , m_vertexShader1 (vertexShader1)
- , m_vertexShader2 (vertexShader2)
- , m_fragmentShader (fragmentShader)
-{
-}
-
BasicInvarianceTest::ShaderPair BasicInvarianceTest::genShaders (void) const
{
ShaderPair retVal;
FEATURE_ARRAY_FIRST_ELEM_NAME_NO_INDEX = 1<<9
};
- UniformCase (Context& context, const char* name, const char* description, CaseShaderType caseType, const SharedPtr<const UniformCollection>& uniformCollection);
UniformCase (Context& context, const char* name, const char* description, CaseShaderType caseType, const SharedPtr<const UniformCollection>& uniformCollection, deUint32 features);
UniformCase (Context& context, const char* name, const char* description, deUint32 seed); // \note Randomizes caseType, uniformCollection and features.
virtual ~UniformCase (void);
{
}
-UniformCase::UniformCase (Context& context, const char* const name, const char* const description, const CaseShaderType caseShaderType, const SharedPtr<const UniformCollection>& uniformCollection)
- : TestCase (context, name, description)
- , CallLogWrapper (context.getRenderContext().getFunctions(), m_testCtx.getLog())
- , m_features (0)
- , m_uniformCollection (uniformCollection)
- , m_caseShaderType (caseShaderType)
-{
-}
-
UniformCase::UniformCase (Context& context, const char* name, const char* description, const deUint32 seed)
: TestCase (context, name, description)
, CallLogWrapper (context.getRenderContext().getFunctions(), m_testCtx.getLog())
template <typename T>
static tcu::Vector<T, 4> castVectorSaturate (const tcu::Vec4& in)
{
- return tcu::Vector<T, 4>((in.x() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.x() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.x()))),
- (in.y() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.y() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.y()))),
- (in.z() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.z() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.z()))),
- (in.w() + 0.5f >= std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : ((in.w() - 0.5f <= std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.w()))));
+ return tcu::Vector<T, 4>(((double)in.x() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.x() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.x()))),
+ ((double)in.y() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.y() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.y()))),
+ ((double)in.z() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.z() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.z()))),
+ ((double)in.w() + 0.5 >= (double)std::numeric_limits<T>::max()) ? (std::numeric_limits<T>::max()) : (((double)in.w() - 0.5 <= (double)std::numeric_limits<T>::min()) ? (std::numeric_limits<T>::min()) : (T(in.w()))));
}
static string genTexFragmentShader (const vector<glu::DataType>& samplerTypes, glu::DataType outputType)
protected:
void renderTriangle (const Vec3& p0, const Vec3& p1, const Vec3& p2, const Vec4& c0, const Vec4& c1, const Vec4& c2) const;
- void renderTriangle (const Vec3& p0, const Vec3& p1, const Vec3& p2, const Vec4& color) const;
void renderTriangle (const Vec2& p0, const Vec2& p1, const Vec2& p2, const Vec4& c0, const Vec4& c1, const Vec4& c2) const;
void renderTriangle (const Vec2& p0, const Vec2& p1, const Vec2& p2, const Vec4& color) const;
void renderQuad (const Vec2& p0, const Vec2& p1, const Vec2& p2, const Vec2& p3, const Vec4& c0, const Vec4& c1, const Vec4& c2, const Vec4& c3) const;
GLU_EXPECT_NO_ERROR(gl.getError(), "drawArrays");
}
-void DefaultFBOMultisampleCase::renderTriangle (const Vec3& p0, const Vec3& p1, const Vec3& p2, const Vec4& color) const
-{
- renderTriangle(p0, p1, p2, color, color, color);
-}
-
void DefaultFBOMultisampleCase::renderTriangle (const Vec2& p0, const Vec2& p1, const Vec2& p2, const Vec4& c0, const Vec4& c1, const Vec4& c2) const
{
renderTriangle(Vec3(p0.x(), p0.y(), 0.0f),
bool isStagePresent (glu::ShaderType stage) const;
bool isStageReferencing (glu::ShaderType stage) const;
- deUint32 getPresentMask (void) const;
deUint32 getReferencingMask (void) const;
const glu::GLSLVersion m_version;
return m_stageReferencing[stage];
}
-deUint32 ShaderSet::getPresentMask (void) const
-{
- deUint32 mask = 0;
- for (deUint32 stage = 0; stage < glu::SHADERTYPE_LAST; ++stage)
- {
- if (m_stagePresent[stage])
- mask |= (1u << stage);
- }
- return mask;
-}
-
deUint32 ShaderSet::getReferencingMask (void) const
{
deUint32 mask = 0;
FEATURE_ARRAY_FIRST_ELEM_NAME_NO_INDEX = 1<<8
};
- UniformCase (Context& context, const char* name, const char* description, CaseShaderType caseType, const SharedPtr<const UniformCollection>& uniformCollection);
UniformCase (Context& context, const char* name, const char* description, CaseShaderType caseType, const SharedPtr<const UniformCollection>& uniformCollection, deUint32 features);
virtual ~UniformCase (void);
{
}
-UniformCase::UniformCase (Context& context, const char* const name, const char* const description, const CaseShaderType caseShaderType, const SharedPtr<const UniformCollection>& uniformCollection)
- : TestCase (context, name, description)
- , CallLogWrapper (context.getRenderContext().getFunctions(), m_testCtx.getLog())
- , m_features (0)
- , m_uniformCollection (uniformCollection)
- , m_caseShaderType (caseShaderType)
-{
-}
-
void UniformCase::init (void)
{
{
template <typename T0 = Void, typename T1 = Void, typename T2 = Void, typename T3 = Void>
struct Tuple4
{
- explicit Tuple4 (const T0& e0 = T0(),
- const T1& e1 = T1(),
- const T2& e2 = T2(),
- const T3& e3 = T3())
+ explicit Tuple4 (const T0 e0 = T0(),
+ const T1 e1 = T1(),
+ const T2 e2 = T2(),
+ const T3 e3 = T3())
: a (e0)
, b (e1)
, c (e2)
return GLValue::Half::create(std::fabs(val.to<float>()));
}
-// AttriuteArray
+// AttributeArray
class AttributeArray
{
~AttributeArray (void);
void data (DrawTestSpec::Target target, size_t size, const char* data, DrawTestSpec::Usage usage);
- void subdata (DrawTestSpec::Target target, int offset, int size, const char* data);
void setupArray (bool bound, int offset, int size, DrawTestSpec::InputType inType, DrawTestSpec::OutputType outType, bool normalized, int stride, int instanceDivisor, const rr::GenericVec4& defaultAttrib, bool isPositionAttr, bool bgraComponentOrder);
void bindAttribute (deUint32 loc);
void bindIndexArray (DrawTestSpec::Target storage);
DE_ASSERT(false);
}
-void AttributeArray::subdata (DrawTestSpec::Target target, int offset, int size, const char* ptr)
-{
- m_target = target;
-
- if (m_storage == DrawTestSpec::STORAGE_BUFFER)
- {
- m_ctx.bindBuffer(targetToGL(target), m_glBuffer);
- GLU_EXPECT_NO_ERROR(m_ctx.getError(), "glBindBuffer()");
-
- m_ctx.bufferSubData(targetToGL(target), offset, size, ptr);
- GLU_EXPECT_NO_ERROR(m_ctx.getError(), "glBufferSubData()");
- }
- else if (m_storage == DrawTestSpec::STORAGE_USER)
- std::memcpy(m_data + offset, ptr, size);
- else
- DE_ASSERT(false);
-}
-
void AttributeArray::setupArray (bool bound, int offset, int size, DrawTestSpec::InputType inputType, DrawTestSpec::OutputType outType, bool normalized, int stride, int instanceDivisor, const rr::GenericVec4& defaultAttrib, bool isPositionAttr, bool bgraComponentOrder)
{
m_componentCount = size;
private:
template<typename T>
static char* createIndices (int seed, int elementCount, int offset, int min, int max, int indexBase);
- static void setData (char* data, DrawTestSpec::InputType type, deRandom& rnd, GLValue min, GLValue max);
static char* generateBasicArray (int seed, int elementCount, int componentCount, int offset, int stride, DrawTestSpec::InputType type);
template<typename T, typename GLType>
static char* generatePackedArray (int seed, int elementCount, int componentCount, int offset, int stride);
};
-void RandomArrayGenerator::setData (char* data, DrawTestSpec::InputType type, deRandom& rnd, GLValue min, GLValue max)
-{
- switch (type)
- {
- case DrawTestSpec::INPUTTYPE_FLOAT:
- {
- alignmentSafeAssignment<float>(data, getRandom<GLValue::Float>(rnd, min.fl, max.fl));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_SHORT:
- {
- alignmentSafeAssignment<deInt16>(data, getRandom<GLValue::Short>(rnd, min.s, max.s));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_UNSIGNED_SHORT:
- {
- alignmentSafeAssignment<deUint16>(data, getRandom<GLValue::Ushort>(rnd, min.us, max.us));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_BYTE:
- {
- alignmentSafeAssignment<deInt8>(data, getRandom<GLValue::Byte>(rnd, min.b, max.b));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_UNSIGNED_BYTE:
- {
- alignmentSafeAssignment<deUint8>(data, getRandom<GLValue::Ubyte>(rnd, min.ub, max.ub));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_FIXED:
- {
- alignmentSafeAssignment<deInt32>(data, getRandom<GLValue::Fixed>(rnd, min.fi, max.fi));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_INT:
- {
- alignmentSafeAssignment<deInt32>(data, getRandom<GLValue::Int>(rnd, min.i, max.i));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_UNSIGNED_INT:
- {
- alignmentSafeAssignment<deUint32>(data, getRandom<GLValue::Uint>(rnd, min.ui, max.ui));
- break;
- }
-
- case DrawTestSpec::INPUTTYPE_HALF:
- {
- alignmentSafeAssignment<deFloat16>(data, getRandom<GLValue::Half>(rnd, min.h, max.h).getValue());
- break;
- }
-
- default:
- DE_ASSERT(false);
- break;
- }
-}
-
char* RandomArrayGenerator::generateArray (int seed, int elementCount, int componentCount, int offset, int stride, DrawTestSpec::InputType type)
{
if (type == DrawTestSpec::INPUTTYPE_INT_2_10_10_10 || type == DrawTestSpec::INPUTTYPE_UNSIGNED_INT_2_10_10_10)