Add checks for OGLES when testing for driver names in test utils
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@3833 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
095bc0d9d9
commit
b48ed15144
|
@ -22,11 +22,11 @@ bool binaryCompareFiles(const char * fileName1, const char * fileName2)
|
|||
{
|
||||
assert(fileName1);
|
||||
assert(fileName2);
|
||||
if(!fileName1 || !fileName2)
|
||||
if (!fileName1 || !fileName2)
|
||||
return false;
|
||||
|
||||
FILE * file1 = fopen(fileName1, "rb");
|
||||
if(!file1)
|
||||
if (!file1)
|
||||
{
|
||||
logTestString("binaryCompareFiles: File '%s' cannot be opened\n", fileName1);
|
||||
assert(file1);
|
||||
|
@ -34,7 +34,7 @@ bool binaryCompareFiles(const char * fileName1, const char * fileName2)
|
|||
}
|
||||
|
||||
FILE * file2 = fopen(fileName2, "rb");
|
||||
if(!file2)
|
||||
if (!file2)
|
||||
{
|
||||
logTestString("binaryCompareFiles: File '%s' cannot be opened\n", fileName2);
|
||||
(void)fclose(file1);
|
||||
|
@ -47,7 +47,7 @@ bool binaryCompareFiles(const char * fileName1, const char * fileName2)
|
|||
(void)fseek(file2, 0, SEEK_END);
|
||||
const size_t file1Size = ftell(file1);
|
||||
const size_t file2Size = ftell(file2);
|
||||
if(file1Size != file2Size)
|
||||
if (file1Size != file2Size)
|
||||
{
|
||||
logTestString("binaryCompareFiles: Files are different sizes: %d vs %d\n",
|
||||
file1Size, file2Size);
|
||||
|
@ -62,9 +62,9 @@ bool binaryCompareFiles(const char * fileName1, const char * fileName2)
|
|||
char file1Buffer[8196];
|
||||
char file2Buffer[8196];
|
||||
|
||||
while(!feof(file1))
|
||||
while (!feof(file1))
|
||||
{
|
||||
if(feof(file2)
|
||||
if (feof(file2)
|
||||
||(fread(file1Buffer, sizeof(file1Buffer), 1, file1) !=
|
||||
fread(file2Buffer, sizeof(file2Buffer), 1, file2)))
|
||||
{
|
||||
|
@ -72,7 +72,7 @@ bool binaryCompareFiles(const char * fileName1, const char * fileName2)
|
|||
break;
|
||||
}
|
||||
|
||||
if(memcmp(file1Buffer, file2Buffer, sizeof(file1Buffer)))
|
||||
if (memcmp(file1Buffer, file2Buffer, sizeof(file1Buffer)))
|
||||
{
|
||||
logTestString("binaryCompareFiles: files are different\n");
|
||||
break;
|
||||
|
@ -96,24 +96,24 @@ static float fuzzyCompareImages(irr::video::IImage * image1,
|
|||
{
|
||||
assert(image1);
|
||||
assert(image2);
|
||||
if(!image1 || !image2)
|
||||
if (!image1 || !image2)
|
||||
return 0.f;
|
||||
|
||||
if(image1->getDimension() != image2->getDimension())
|
||||
if (image1->getDimension() != image2->getDimension())
|
||||
{
|
||||
logTestString("fuzzyCompareImages: images are different sizes\n");
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
video::ECOLOR_FORMAT format1 = image1->getColorFormat();
|
||||
if(video::ECF_R8G8B8 != format1)
|
||||
if (video::ECF_R8G8B8 != format1)
|
||||
{
|
||||
logTestString("fuzzyCompareImages: image 1 must be ECF_R8G8B8\n");
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
video::ECOLOR_FORMAT format2 = image2->getColorFormat();
|
||||
if(video::ECF_A8R8G8B8 != format2 && video::ECF_R8G8B8 != format2)
|
||||
if (video::ECF_A8R8G8B8 != format2 && video::ECF_R8G8B8 != format2)
|
||||
{
|
||||
logTestString("fuzzyCompareImages: image 2 must be ECF_AR8G8B8 or ECF_R8G8B8\n");
|
||||
return 0.f;
|
||||
|
@ -124,7 +124,7 @@ static float fuzzyCompareImages(irr::video::IImage * image1,
|
|||
|
||||
const u32 pixels = (image1->getPitch() * image1->getDimension().Height) / 4;
|
||||
u32 mismatchedColours = 0;
|
||||
for(u32 pixel = 0; pixel < pixels; ++pixel)
|
||||
for (u32 pixel = 0; pixel < pixels; ++pixel)
|
||||
{
|
||||
const u8 r1 = *(image1Data++);
|
||||
const u8 g1 = *(image1Data++);
|
||||
|
@ -153,7 +153,7 @@ bool takeScreenshotAndCompareAgainstReference(irr::video::IVideoDriver * driver,
|
|||
irr::f32 requiredMatch)
|
||||
{
|
||||
irr::video::IImage * screenshot = driver->createScreenShot();
|
||||
if(!screenshot)
|
||||
if (!screenshot)
|
||||
{
|
||||
logTestString("Failed to take screenshot\n");
|
||||
assert(false);
|
||||
|
@ -161,13 +161,13 @@ bool takeScreenshotAndCompareAgainstReference(irr::video::IVideoDriver * driver,
|
|||
}
|
||||
|
||||
const video::ECOLOR_FORMAT format = screenshot->getColorFormat();
|
||||
if(format != video::ECF_R8G8B8)
|
||||
if (format != video::ECF_R8G8B8)
|
||||
{
|
||||
irr::video::IImage * fixedScreenshot = driver->createImage(video::ECF_R8G8B8, screenshot->getDimension());
|
||||
screenshot->copyTo(fixedScreenshot);
|
||||
screenshot->drop();
|
||||
|
||||
if(!fixedScreenshot)
|
||||
if (!fixedScreenshot)
|
||||
{
|
||||
logTestString("Failed to convert screenshot to ECF_A8R8G8B8\n");
|
||||
assert(false);
|
||||
|
@ -182,9 +182,13 @@ bool takeScreenshotAndCompareAgainstReference(irr::video::IVideoDriver * driver,
|
|||
// For OpenGL and Burning, chop the version number out. Other drivers have more stable version numbers.
|
||||
// TA: Sorry Rogerborg. burnings video also has the version number inside;-)
|
||||
// maybe you sould take the getDriverType Info for this
|
||||
if(driverName.find("OpenGL") > -1)
|
||||
if (driverName.find("OpenGL ES 2") > -1)
|
||||
driverName = "OGLES2";
|
||||
else if (driverName.find("OpenGL ES 1") > -1)
|
||||
driverName = "OGLES1";
|
||||
else if (driverName.find("OpenGL") > -1)
|
||||
driverName = "OpenGL";
|
||||
else if(driverName.find("Burning's Video") > -1)
|
||||
else if (driverName.find("Burning's Video") > -1)
|
||||
driverName = "Burning's Video";
|
||||
|
||||
irr::core::stringc referenceFilename = "media/";
|
||||
|
|
Loading…
Reference in New Issue