diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2020-07-03 17:16:10 +0100 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2020-07-07 19:34:34 +0100 |
commit | 6c5a246ebe922e94df2e5f5cdd7d01ca86762cb3 (patch) | |
tree | 8fe7fb386c4de0e4c46e04f6c56f2b38ecf6c4e8 /toolbin | |
parent | db8f3a277d0ae43cf5cffea16ee1c9149d4eb3de (diff) | |
download | ghostpdl-6c5a246ebe922e94df2e5f5cdd7d01ca86762cb3.tar.gz |
Rename displaydev_test to api_test.
Move it into the new "demos" directory, and expand it to cope
with testing run_string too.
Diffstat (limited to 'toolbin')
-rw-r--r-- | toolbin/displaydev_test.c | 772 | ||||
-rw-r--r-- | toolbin/displaydev_test.vcxproj | 237 | ||||
-rw-r--r-- | toolbin/displaydev_test.vcxproj.filters | 22 |
3 files changed, 0 insertions, 1031 deletions
diff --git a/toolbin/displaydev_test.c b/toolbin/displaydev_test.c deleted file mode 100644 index d0080fa71..000000000 --- a/toolbin/displaydev_test.c +++ /dev/null @@ -1,772 +0,0 @@ -#ifdef _WIN32 -/* Stop windows builds complaining about sprintf being insecure. */ -#define _CRT_SECURE_NO_WARNINGS -/* Ensure the dll import works correctly. */ -#define _WINDOWS_ -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <memory.h> -#include <assert.h> -#include <limits.h> - -//#include "pcl/pl/plapi.h" /* GSAPI - gpdf version */ -#include "psi/iapi.h" /* GSAPI - ghostscript version */ -#include "devices/gdevdsp.h" - -/* In order to get consistent printing of pointers, we can't just - * use %p, as this includes the 0x on some platforms, and not on - * others. We therefore use a bit of #ifdeffery to get us a - * consistent result. */ -#if defined(_WIN64) || defined(_WIN32) - #define FMT_PTR "I64x" - #define PTR_CAST (__int64)(size_t)(intptr_t) - #define FMT_Z "I64d" - #define Z_CAST (__int64) -#else - #define FMT_PTR "llx" - #define PTR_CAST (long long)(size_t)(intptr_t) - #define FMT_Z "lld" - #define Z_CAST (long long) -#endif - -#define INSTANCE_HANDLE ((void *)1234) -#define SANITY_CHECK_VALUE 0x12345678 - -#define SANITY_CHECK(ts) assert(ts->sanity_check_value == SANITY_CHECK_VALUE) - -/* All the state for a given test is contained within the following - * structure. */ -typedef struct { - /* This value should always be set to SANITY_CHECK_VALUE. It - * allows us to check we have a valid (or at least plausible) - * teststate_t pointer by checking its value. */ - int sanity_check_value; - - int use_clist; - int legacy; - - int w; - int h; - int r; - int pr; - int bh; - int y; - int lines_requested; - int format; - int align; - - int n; - void *mem; - FILE *file; - const char *fname; -} teststate_t; - -/*--------------------------------------------------------------------*/ -/* First off, we have a set of functions that cope with dumping lines - * of rendered data to file. We use pnm formats for their simplicity. */ - -/* This function opens the file, named appropriately, and writes the - * header. */ -static FILE *save_header(teststate_t *ts) -{ - char text[32]; - const char *suffix; - const char *align_str; - - /* Only output the header once. */ - if (ts->file != NULL) - return ts->file; - - switch (ts->n) - { - case 1: - suffix = "pgm"; - break; - case 3: - suffix = "ppm"; - break; - case 4: - default: - suffix = "pam"; - break; - } - - switch (ts->format & DISPLAY_ROW_ALIGN_MASK) { - default: - case DISPLAY_ROW_ALIGN_DEFAULT: - align_str = ""; - break; - case DISPLAY_ROW_ALIGN_4: - align_str = "_4"; - break; - case DISPLAY_ROW_ALIGN_8: - align_str = "_8"; - break; - case DISPLAY_ROW_ALIGN_16: - align_str = "_16"; - break; - case DISPLAY_ROW_ALIGN_32: - align_str = "_32"; - break; - case DISPLAY_ROW_ALIGN_64: - align_str = "_64"; - break; - } - - sprintf(text, "%s%s%s%s.%s", - ts->fname, - ts->use_clist ? "_c" : "", - ts->legacy ? "_l" : "", - align_str, - suffix); - ts->file = fopen(text, "wb"); - if (ts->file == NULL) { - fprintf(stderr, "Fatal error: couldn't open %s for writing.\n", text); - exit(1); - } - - switch (ts->n) - { - case 1: - fprintf(ts->file, - "P5\n%d %d\n255\n", - ts->w, ts->h); - break; - case 3: - fprintf(ts->file, - "P6\n%d %d\n255\n", - ts->w, ts->h); - break; - case 4: - default: - fprintf(ts->file, - "P7\nWIDTH %d\nHEIGHT %d\nDEPTH %d\nMAXVAL 255\n" - "%s" - "ENDHDR\n", - ts->w, ts->h, ts->n, ts->n == 4 ? "TUPLTYPE CMYK\n" : ""); - break; - } - - /* If we're getting the lines in BOTTOMFIRST order, then pad out - * the file to the required length. We'll gradually backtrack - * through the file filling it in with real data as it arrives. */ - if (ts->format && DISPLAY_BOTTOMFIRST) { - static const char blank[256] = { 0 }; - int n = ts->w * ts->h * ts->n; - while (n > 0) { - int i = n; - if (i > sizeof(blank)) - i = sizeof(blank); - fwrite(blank, 1, i, ts->file); - n -= i; - } - } - - return ts->file; -} - -/* Write out the next h lines from the buffer. */ -static void save_lines(teststate_t *ts, int h) -{ - int i, j, k; - const char *m = ts->mem; - int w = ts->w; - int n = ts->n; - int r = ts->r; - int pr = ts->pr; - int wn = w*n; - /* Make sure we've put a header on the file. */ - FILE *file = save_header(ts); - - /* If the data is being given in "little endian" format then - * reorder it as we write it out. This is required to cope with - * the fact that windows bitmaps prefer BGR over RGB. - * - * If we are getting data BOTTOMFIRST, then we will already be - * positioned at the end of the file. Backtrack through the file - * as we go so that the lines appear in a sane order. - */ - if (ts->format & (DISPLAY_PLANAR | DISPLAY_PLANAR_INTERLEAVED)) { - /* Planar */ - if (ts->format & DISPLAY_LITTLEENDIAN) { - for (i = 0; i < h; i++) { - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - for (j = 0; j < w; j++) { - for (k = n; k > 0;) - fputc(m[--k * pr], file); - m++; - } - m += r - w; - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - } - } else { - for (i = 0; i < h; i++) { - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - for (j = 0; j < w; j++) { - for (k = 0; k < n; k++) - fputc(m[k * pr], file); - m++; - } - m += r - w; - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - } - } - } else { - /* Chunky */ - if (ts->format & DISPLAY_LITTLEENDIAN) { - for (i = 0; i < h; i++) { - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - for (j = 0; j < w; j++) { - for (k = n; k > 0;) - fputc(m[--k], file); - m += n; - } - m += r - wn; - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - } - } else { - for (i = 0; i < h; i++) { - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - fwrite(m, 1, wn, file); - m += r; - if (ts->format & DISPLAY_BOTTOMFIRST) - fseek(file, -wn, SEEK_CUR); - } - } - } -} - -/* Finish writing out. */ -static void save_end(teststate_t *ts) -{ - fclose(ts->file); - ts->file = NULL; -} - -/*--------------------------------------------------------------------*/ -/* Next we have the implementations of the callback functions. */ - -static int -open(void *handle, void *device) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("open\n"); - - return 0; -} - -static int -preclose(void *handle, void *device) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("preclose\n"); - - return 0; -} - -static int -close(void *handle, void *device) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("close\n"); - - return 0; -} - -static int -presize(void *handle, void *device, - int width, int height, int raster, unsigned int format) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("presize: w=%d h=%d r=%d f=%x\n", - width, height, raster, format); - - ts->w = width; - ts->h = height; - ts->r = raster; - ts->bh = 0; - ts->y = 0; - ts->format = format; - - if (ts->format & DISPLAY_COLORS_GRAY) - ts->n = 1; - if (ts->format & DISPLAY_COLORS_RGB) - ts->n = 3; - if (ts->format & DISPLAY_COLORS_CMYK) - ts->n = 4; - if (ts->format & DISPLAY_COLORS_SEPARATION) - ts->n = 0; - if ((ts->format & DISPLAY_DEPTH_MASK) != DISPLAY_DEPTH_8) - return -1; /* Haven't written code for that! */ - - return 0; -} - -static int -size(void *handle, void *device, int width, int height, - int raster, unsigned int format, unsigned char *pimage) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("size: w=%d h=%d r=%d f=%x m=%p\n", - width, height, raster, format, pimage); - ts->w = width; - ts->h = height; - ts->r = raster; - ts->format = format; - ts->mem = pimage; - - if (ts->format & DISPLAY_PLANAR) - ts->pr = ts->r * height; - /* When running with spots, n is not known yet. */ - if (ts->n != 0 && ts->format & DISPLAY_PLANAR_INTERLEAVED) - ts->pr = ts->r / ts->n; - - return 0; -} - -static int -sync(void *handle, void *device) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("sync\n"); - - return 0; -} - -static int -page(void *handle, void *device, int copies, int flush) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("page: c=%d f=%d\n", copies, flush); - - save_lines(ts, ts->h); - save_end(ts); - - return 0; -} - -static int -update(void *handle, void *device, int x, int y, int w, int h) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - /* This print statement just makes too much noise :) */ - /* printf("update: x=%d y=%d w=%d h=%d\n", x, y, w, h); */ - - return 0; -} - -static void * -memalloc(void *handle, void *device, size_t size) -{ - void *ret = NULL; - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - - if (ts->use_clist) { - printf("memalloc: asked for %"FMT_Z" but requesting clist\n", Z_CAST size); - return 0; - } - - ret = malloc(size); - printf("memalloc: %"FMT_Z" -> %p\n", Z_CAST size, ret); - - return ret; -} - -static int -memfree(void *handle, void *device, void *mem) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("memfree: %p\n", mem); - free(mem); - - return 0; -} - -static int -separation(void *handle, void *device, - int component, const char *component_name, - unsigned short c, unsigned short m, - unsigned short y, unsigned short k) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("separation: %d %s (%x,%x,%x,%x)\n", - component, component_name ? component_name : "<NULL>", - c, m, y, k); - ts->n++; - - /* Update the plane_raster as n has changed. */ - if (ts->format & DISPLAY_PLANAR_INTERLEAVED) - ts->pr = ts->r / ts->n; - - return 0; -} - -static int -adjust_band_height(void *handle, void *device, int bandheight) -{ - teststate_t *ts = (teststate_t *)handle; - - SANITY_CHECK(ts); - printf("adjust_band_height: %d - >", bandheight); - - if (bandheight > ts->h / 4) - bandheight = ts->h / 4; - - printf("%d\n", bandheight); - - ts->bh = bandheight; - - return bandheight; -} - -static int -rectangle_request(void *handle, void *device, - void **memory, int *ox, int *oy, - int *raster, int *plane_raster, - int *x, int *y, int *w, int *h) -{ - teststate_t *ts = (teststate_t *)handle; - size_t size; - - SANITY_CHECK(ts); - printf("rectangle_request:"); - - if (ts->mem) { - /* Rectangle returned */ - save_lines(ts, ts->lines_requested); - free(ts->mem); - ts->mem = NULL; - ts->y += ts->lines_requested; - ts->lines_requested = 0; - } - - if (ts->y >= ts->h) - { - /* All banded out */ - printf("Finished!\n"); - *ox = 0; - *oy = 0; - *raster = 0; - *plane_raster = 0; - *x = 0; - *y = 0; - *w = 0; - *h = 0; - *memory = NULL; - save_end(ts); - return 0; - } - *ox = 0; - *oy = ts->y; - *x = 0; - *y = ts->y; - *w = ts->w; - *h = ts->bh; - if (ts->y + ts->bh > ts->h) - *h = ts->h - ts->y; - ts->lines_requested = *h; - switch (ts->format & (DISPLAY_PLANAR | DISPLAY_PLANAR_INTERLEAVED)) { - case DISPLAY_CHUNKY: - ts->r = (ts->w * ts->n + ts->align-1) & ~(ts->align-1); - ts->pr = 0; - size = ts->r * *h; - break; - case DISPLAY_PLANAR: - ts->r = (ts->w + ts->align-1) & ~(ts->align-1); - ts->pr = ts->r * *h; - size = ts->pr * ts->n; - break; - case DISPLAY_PLANAR_INTERLEAVED: - ts->pr = (ts->w + ts->align-1) & ~(ts->align-1); - ts->r = ts->pr * ts->n; - size = ts->r * *h; - break; - } - *raster = ts->r; - *plane_raster = ts->pr; - ts->mem = malloc(size); - *memory = ts->mem; - - printf("x=%d y=%d w=%d h=%d mem=%p\n", *x, *y, *w, *h, *memory); - if (ts->mem == NULL) - return -1; - - return 0; -} - -/*--------------------------------------------------------------------*/ -/* All those callback functions live in a display_callback structure - * that we return to the main code. This can be done using the modern - * "callout" method, or by using the legacy (deprecated) direct - * registration method. We strongly prefer the callout method as it - * avoids the need to pass a pointer using -sDisplayHandle. */ -static display_callback callbacks = -{ - sizeof(callbacks), - DISPLAY_VERSION_MAJOR, - DISPLAY_VERSION_MINOR, - open, - preclose, - close, - presize, - size, - sync, - page, - update, - memalloc, - memfree, - separation, - adjust_band_height, - rectangle_request -}; - -/*--------------------------------------------------------------------*/ -/* This is our callout handler. It handles callouts from devices within - * Ghostscript. It only handles a single callout, from the display - * device, to return the callback handler and callback handle. */ -static int -callout(void *instance, - void *callout_handle, - const char *device_name, - int id, - int size, - void *data) -{ - teststate_t *ts = (teststate_t *)callout_handle; - - SANITY_CHECK(ts); - - /* We are only interested in callouts from the display device. */ - if (strcmp(device_name, "display")) - return -1; - - if (id == DISPLAY_CALLOUT_GET_CALLBACK) - { - /* Fill in the supplied block with the details of our callback - * handler, and the handle to use. In this instance, the handle - * is the pointer to our test structure. */ - gs_display_get_callback_t *cb = (gs_display_get_callback_t *)data; - cb->callback = &callbacks; - cb->caller_handle = ts; - return 0; - } - return -1; -} - -/*--------------------------------------------------------------------*/ -/* This is the function that actually runs a test. */ -static int do_test(const char *title, int format, - int use_clist, int legacy, - const char *fname) -{ - int code; - void *instance = NULL; - char *clist_str = use_clist ? " (clist)" : ""; - char *legacy_str = legacy ? " (legacy)" : ""; - char *align_str = ""; - char format_arg[64]; - char handle_arg[64]; - - /* Make the teststate a blank slate for us to work with. */ - teststate_t teststate = { SANITY_CHECK_VALUE }; - - /* Construct the argc/argv to pass to ghostscript. */ - int argc = 0; - char *argv[10]; - - argv[argc++] = "gs"; - argv[argc++] = "-sDEVICE=display"; - argv[argc++] = "-dNOPAUSE"; - argv[argc++] = format_arg; - if (legacy) - argv[argc++] = handle_arg; - if (format & DISPLAY_COLORS_SEPARATION) - argv[argc++] = "examples/spots.ps"; - else - argv[argc++] = "examples/tiger.eps"; - - sprintf(format_arg, "-dDisplayFormat=16#%x", format); - sprintf(handle_arg, "-sDisplayHandle=16#%" FMT_PTR, PTR_CAST &teststate); - - /* Setup the details to control the test. */ - teststate.use_clist = use_clist; - teststate.legacy = legacy; - teststate.fname = fname; - - switch (format & DISPLAY_ROW_ALIGN_MASK) { - default: - case DISPLAY_ROW_ALIGN_DEFAULT: - align_str = " (default alignment)"; - teststate.align = 0; - break; - case DISPLAY_ROW_ALIGN_4: - align_str = " (align % 4)"; - teststate.align = 4; - break; - case DISPLAY_ROW_ALIGN_8: - align_str = " (align % 8)"; - teststate.align = 8; - break; - case DISPLAY_ROW_ALIGN_16: - align_str = " (align % 16)"; - teststate.align = 16; - break; - case DISPLAY_ROW_ALIGN_32: - align_str = " (align % 32)"; - teststate.align = 32; - break; - case DISPLAY_ROW_ALIGN_64: - align_str = " (align % 64)"; - teststate.align = 64; - break; - } - /* Special case: alignments are always at least pointer sized. */ - if (teststate.align <= sizeof(void *)) - teststate.align = 8; - - /* Print the test title. */ - printf("%s%s%s%s\n", title, clist_str, legacy_str, align_str); - - /* Create a GS instance. */ - code = gsapi_new_instance(&instance, INSTANCE_HANDLE); - if (code < 0) { - printf("Error %d in gsapi_new_instance\n", code); - goto failearly; - } - - if (legacy) { - /* Directly pass in the callback structure. This relies on the - * handle being passed using -sDisplayHandle above. */ - code = gsapi_set_display_callback(instance, &callbacks); - if (code < 0) { - printf("Error %d in gsapi_set_display_callback\n", code); - goto fail; - } - } else { - /* Register our callout handler. This will pass the display - * device the callback structure and handle when requested. */ - code = gsapi_register_callout(instance, callout, &teststate); - if (code < 0) { - printf("Error %d in gsapi_register_callout\n", code); - goto fail; - } - } - - /* Run our test. */ - code = gsapi_init_with_args(instance, argc, argv); - if ((format & DISPLAY_ROW_ALIGN_MASK) == DISPLAY_ROW_ALIGN_4 && - sizeof(void *) > 4) { - if (code == -100) { - printf("Got expected failure!\n"); - code = 0; - goto fail; - } else if (code == 0) { - printf("Failed to get expected failure!\n"); - code = -1; - goto fail; - } - } - if (code < 0) { - printf("Error %d in gsapi_init_with_args\n", code); - goto fail; - } - - /* Close the interpreter down (important, or we will leak!) */ - code = gsapi_exit(instance); - if (code < 0) { - printf("Error %d in gsapi_exit\n", code); - goto fail; - } - -fail: - /* Delete the gs instance. */ - gsapi_delete_instance(instance); - -failearly: - /* All done! */ - printf("%s%s%s%s %s\n", title, clist_str, legacy_str, align_str, - (code < 0) ? "failed" : "complete"); - - return code; -} - -static int test(const char *title, int format, const char *fname) -{ - int use_clist, legacy, align, code; - - code = 0; - for (use_clist = 0; use_clist <= 1; use_clist++) { - for (legacy = 0; legacy <= 1; legacy++) { - for (align = 2; align <= 7; align++) { - int form = format; - if (align != 2) { - form |= align<<20; - } - code = do_test(title, form, use_clist, legacy, fname); - if (code < 0) - return code; - } - } - } - return code; -} - -int main(int argc, char *argv[]) -{ - int code = 0; - -#define RUNTEST(STR, FMT, FILE)\ - if (code >= 0) code = test(STR, FMT, FILE) - - /* Run a variety of tests. */ - RUNTEST("Chunky Windows Gray", 0x030802, "ddtest0"); - RUNTEST("Chunky Windows RGB", 0x030804, "ddtest1"); - /* Display device does no support "little endian" CMYK */ - RUNTEST("Chunky Windows CMYK", 0x020808, "ddtest2"); - - RUNTEST("Planar Windows Gray", 0x830802, "ddtest3"); - RUNTEST("Planar Windows RGB", 0x830804, "ddtest4"); - RUNTEST("Planar Windows CMYK", 0x820808, "ddtest5"); - - RUNTEST("Planar Interleaved Windows Gray", 0x1030802, "ddtest6"); - RUNTEST("Planar Interleaved Windows RGB", 0x1030804, "ddtest7"); - RUNTEST("Planar Interleaved Windows CMYK", 0x1020808, "ddtest8"); - - RUNTEST("Chunky Spots", 0x0A0800, "ddtest9"); - RUNTEST("Planar Spots", 0x8A0800, "ddtest10"); - RUNTEST("Planar Interleaved Spots", 0x10A0800, "ddtest11"); - - return 0; -} diff --git a/toolbin/displaydev_test.vcxproj b/toolbin/displaydev_test.vcxproj deleted file mode 100644 index f042214f2..000000000 --- a/toolbin/displaydev_test.vcxproj +++ /dev/null @@ -1,237 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Memento|Win32"> - <Configuration>Memento</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Memento|x64"> - <Configuration>Memento</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <VCProjectVersion>16.0</VCProjectVersion> - <Keyword>Win32Proj</Keyword> - <ProjectGuid>{113ad66f-3533-47e5-8aa8-973d804443a0}</ProjectGuid> - <RootNamespace>displaydevtest</RootNamespace> - <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(ProjectDir)..\debugbin\</OutDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(ProjectDir)..\membin\</OutDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(ProjectDir)..\bin\</OutDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <TargetName>$(ProjectName)64</TargetName> - <OutDir>$(ProjectDir)..\debugbin\</OutDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(ProjectDir)..\membin\</OutDir> - <TargetName>$(ProjectName)64</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(ProjectDir)..\bin\</OutDir> - <TargetName>$(ProjectName)64</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>gsdll32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <AdditionalLibraryDirectories>..\debugbin</AdditionalLibraryDirectories> - <OutputFile>$(ProjectDir)..\debugbin\$(TargetName)$(TargetExt)</OutputFile> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>MEMENTO;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>gsdll32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <AdditionalLibraryDirectories>..\membin</AdditionalLibraryDirectories> - </Link> - <PostBuildEvent> - <Command> - </Command> - </PostBuildEvent> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>gsdll32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <AdditionalLibraryDirectories>../bin</AdditionalLibraryDirectories> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>gsdll64.lib;%(AdditionalDependencies)</AdditionalDependencies> - <AdditionalLibraryDirectories>..\debugbin</AdditionalLibraryDirectories> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>MEMENTO;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <AdditionalIncludeDirectories>..</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>gsdll64.lib;%(AdditionalDependencies)</AdditionalDependencies> - <AdditionalLibraryDirectories>..\membin</AdditionalLibraryDirectories> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalLibraryDirectories>..\bin</AdditionalLibraryDirectories> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="displaydev_test.c" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project>
\ No newline at end of file diff --git a/toolbin/displaydev_test.vcxproj.filters b/toolbin/displaydev_test.vcxproj.filters deleted file mode 100644 index 552395419..000000000 --- a/toolbin/displaydev_test.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> - </Filter> - <Filter Include="Resource Files"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="displaydev_test.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> -</Project>
\ No newline at end of file |