initial commit-moved from vulkan_guide
This commit is contained in:
95
third_party/SDL/visualtest/src/variators.c
vendored
Normal file
95
third_party/SDL/visualtest/src/variators.c
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
/* See LICENSE.txt for the full license governing this code. */
|
||||
/**
|
||||
* \file variators.c
|
||||
*
|
||||
* Source file for the operations that act on variators.
|
||||
*/
|
||||
|
||||
#include <SDL_test.h>
|
||||
#include "SDL_visualtest_variators.h"
|
||||
|
||||
int
|
||||
SDLVisualTest_InitVariator(SDLVisualTest_Variator* variator,
|
||||
SDLVisualTest_SUTConfig* config,
|
||||
SDLVisualTest_VariatorType type,
|
||||
Uint64 seed)
|
||||
{
|
||||
if(!variator)
|
||||
{
|
||||
SDLTest_LogError("variator argument cannot be NULL");
|
||||
return 0;
|
||||
}
|
||||
if(!config)
|
||||
{
|
||||
SDLTest_LogError("config argument cannot be NULL");
|
||||
return 0;
|
||||
}
|
||||
|
||||
variator->type = type;
|
||||
switch(type)
|
||||
{
|
||||
case SDL_VARIATOR_EXHAUSTIVE:
|
||||
return SDLVisualTest_InitExhaustiveVariator(&variator->data.exhaustive,
|
||||
config);
|
||||
break;
|
||||
|
||||
case SDL_VARIATOR_RANDOM:
|
||||
return SDLVisualTest_InitRandomVariator(&variator->data.random,
|
||||
config, seed);
|
||||
break;
|
||||
|
||||
default:
|
||||
SDLTest_LogError("Invalid value for variator type");
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
char*
|
||||
SDLVisualTest_GetNextVariation(SDLVisualTest_Variator* variator)
|
||||
{
|
||||
if(!variator)
|
||||
{
|
||||
SDLTest_LogError("variator argument cannot be NULL");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
switch(variator->type)
|
||||
{
|
||||
case SDL_VARIATOR_EXHAUSTIVE:
|
||||
return SDLVisualTest_GetNextExhaustiveVariation(&variator->data.exhaustive);
|
||||
break;
|
||||
|
||||
case SDL_VARIATOR_RANDOM:
|
||||
return SDLVisualTest_GetNextRandomVariation(&variator->data.random);
|
||||
break;
|
||||
|
||||
default:
|
||||
SDLTest_LogError("Invalid value for variator type");
|
||||
return NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void SDLVisualTest_FreeVariator(SDLVisualTest_Variator* variator)
|
||||
{
|
||||
if(!variator)
|
||||
{
|
||||
SDLTest_LogError("variator argument cannot be NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
switch(variator->type)
|
||||
{
|
||||
case SDL_VARIATOR_EXHAUSTIVE:
|
||||
SDLVisualTest_FreeExhaustiveVariator(&variator->data.exhaustive);
|
||||
break;
|
||||
|
||||
case SDL_VARIATOR_RANDOM:
|
||||
SDLVisualTest_FreeRandomVariator(&variator->data.random);
|
||||
break;
|
||||
|
||||
default:
|
||||
SDLTest_LogError("Invalid value for variator type");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user