CMAKE_DEPENDENT_OPTION(VKVG_USE_FONTCONFIG "use FontConfig to resolve font names" ON "Fontconfig_FOUND" OFF)
CMAKE_DEPENDENT_OPTION(VKVG_USE_HARFBUZZ "use Harbuzz for text layouting" ON "HarfBuzz_FOUND" OFF)
CMAKE_DEPENDENT_OPTION(VKVG_BUILD_TESTS "build tests with glfw" ON "GLFW3_FOUND" OFF)
-CMAKE_DEPENDENT_OPTION(VKVG_BUILD_OFFSCREEN_TEST "build offscreen test" ON "NOT VKVG_BUILD_TESTS" OFF)
CMAKE_DEPENDENT_OPTION(VKVG_BUILD_DOCS "build documentation" OFF "DOXYGEN_FOUND" OFF)
CMAKE_DEPENDENT_OPTION(VKVG_LCD_FONT_FILTER "enable freetype lcd font filtering" OFF "VKVG_USE_FONTCONFIG" OFF)
ELSE ()
MESSAGE(STATUS "Build tests\t\t= false.")
ENDIF ()
-IF (VKVG_TEST_OFFSCREEN)
- MESSAGE(STATUS "Offscreen\t\t= true.")
-ENDIF ()
IF (VKVG_DBG_STATS)
MESSAGE(STATUS "Debug statistics\t= enabled.")
ELSE ()
static bool paused = false;
+static bool offscreen = false;
static VkSampleCountFlags samples = VK_SAMPLE_COUNT_1_BIT;
static VkPhysicalDeviceType preferedPhysicalDeviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
static vk_engine_t* e;
printf("\t-q:\t\tQuiet, don't print measures table head row, usefull for batch tests.\n");
printf("\t-p:\t\tPrint test details and exit without performing test, usefull to print details in logs.\n");
printf("\t-vsync:\t\tEnable VSync, disabled by default.\n");
- printf("\t-w filepath:\t\twrite last image to png.\n");
+ printf("\t-o:\t\tPerform test offscreen.\n");
+ printf("\t-w filepath:\twrite last image to png.\n");
printf("\t-h:\t\tThis help message.\n");
printf("\n");
exit(-1);
line_width = atoi (argv[i]);
}else if (strcmp (argv[i], "-d\0") == 0) {
dashes_count = 2;
+ } else if (strcmp (argv[i], "-o\0") == 0) {
+ offscreen = true;
}else if (strcmp (argv[i], "-j\0") == 0) {
if (argc -1 < ++i)
_print_usage_and_exit();
printf("CPU\n");
break;
}
-
- #ifdef VKVG_TEST_OFFSCREEN
- printf("Offscreen:\ttrue\n");
- #else
- printf("Offscreen:\tfalse\n");
- #endif
+ if (offscreen)
+ printf("Offscreen:\ttrue\n");
+ else
+ printf("Offscreen:\tfalse\n");
printf("\n");
exit(0);
}
}
#endif
+void perform_test (void(*testfunc)(void), const char *testName, int argc, char* argv[]) {
+ _parse_args (argc, argv);
+ if (offscreen)
+ perform_test_offscreen(testfunc, testName, argc, argv);
+ else
+ perform_test_onscreen(testfunc, testName, argc, argv);
+}
+
void perform_test_offscreen (void(*testfunc)(void), const char *testName, int argc, char* argv[]) {
//init random gen
struct timeval currentTime;
//dumpLayerExts();
- _parse_args (argc, argv);
-
if (single_test >= 0 && test_index != single_test){
test_index++;
return;
test_index++;
}
-void perform_test (void(*testfunc)(void), const char *testName, int argc, char* argv[]) {
+void perform_test_onscreen (void(*testfunc)(void), const char *testName, int argc, char* argv[]) {
//init random gen
struct timeval currentTime;
gettimeofday(¤tTime, NULL);
#ifndef MAX
# define MAX(a,b) (((a) > (b)) ? (a) : (b))
#endif
-#ifdef VKVG_TEST_OFFSCREEN
-#define PERFORM_TEST(testName, argc, argv) perform_test_offscreen(testName, #testName, argc, argv);
-#else
+
#define PERFORM_TEST(testName, argc, argv) perform_test(testName, #testName, argc, argv);
-#endif
+
#if defined(_WIN32) || defined(_WIN64)
#define WIN32_LEAN_AND_MEAN
#define NOMINMAX
//run test in one step
void perform_test (void(*testfunc)(), const char* testName, int argc, char *argv[]);
+void perform_test_onscreen (void(*testfunc)(void), const char *testName, int argc, char* argv[]);
void perform_test_offscreen (void(*testfunc)(void), const char *testName, int argc, char* argv[]);
void randomize_color (VkvgContext ctx);