From: Giovanni Mascellani giovanni@mascellani.eu
--- Makefile.am | 4 ++-- tests/shader_runner.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am index ee1c49e5..1322b78d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -455,7 +455,7 @@ $(CROSS32_EXEFILES): %.cross32.exe: %.c $(CROSS32_IMPLIBS) $(widl_headers)
tests/shader_runner.cross32.exe: $(shader_runner_cross_sources) $(CROSS32_IMPLIBS) $(widl_headers) $(AM_V_CCLD)depbase=`echo $@ | sed 's![^/]*$$!$(DEPDIR)/&!;s!.exe$$!!'`; \ - $(CROSS32_CC) $(CROSS_CFLAGS) -MT $@ -MD -MP -MF $$depbase.Tpo -o $@ $(shader_runner_cross_sources) $(CROSS32_IMPLIBS) -ldxgi -lgdi32 -ld3dcompiler_47 && \ + $(CROSS32_CC) $(CROSS_CFLAGS) -MT $@ -MD -MP -MF $$depbase.Tpo -o $@ $(shader_runner_cross_sources) $(CROSS32_IMPLIBS) -ldxgi -lgdi32 -ld3dcompiler_47 -lversion && \ $(am__mv) $$depbase.Tpo $$depbase.Po
else @@ -496,7 +496,7 @@ $(CROSS64_EXEFILES): %.cross64.exe: %.c $(CROSS64_IMPLIBS) $(widl_headers)
tests/shader_runner.cross64.exe: $(shader_runner_cross_sources) $(CROSS64_IMPLIBS) $(widl_headers) $(AM_V_CCLD)depbase=`echo $@ | sed 's![^/]*$$!$(DEPDIR)/&!;s!.exe$$!!'`; \ - $(CROSS64_CC) $(CROSS_CFLAGS) -MT $@ -MD -MP -MF $$depbase.Tpo -o $@ $(shader_runner_cross_sources) $(CROSS64_IMPLIBS) -ldxgi -lgdi32 -ld3dcompiler_47 && \ + $(CROSS64_CC) $(CROSS_CFLAGS) -MT $@ -MD -MP -MF $$depbase.Tpo -o $@ $(shader_runner_cross_sources) $(CROSS64_IMPLIBS) -ldxgi -lgdi32 -ld3dcompiler_47 -lversion && \ $(am__mv) $$depbase.Tpo $$depbase.Po
else diff --git a/tests/shader_runner.c b/tests/shader_runner.c index 56ac82f2..c9d04c7e 100644 --- a/tests/shader_runner.c +++ b/tests/shader_runner.c @@ -1064,9 +1064,42 @@ out: vkd3d_test_set_context(NULL); }
+#ifdef VKD3D_CROSSTEST +static void print_dll_version(const char *file_name) +{ + DWORD size, handle; + bool done = false; + + size = GetFileVersionInfoSizeA(file_name, &handle); + if (size) + { + char *data = malloc(size); + + if (GetFileVersionInfoA(file_name, handle, size, data)) + { + VS_FIXEDFILEINFO *pFixedVersionInfo; + UINT len; + + if (VerQueryValueA(data, "\", (LPVOID *)&pFixedVersionInfo, &len)) + { + trace("%s version: %ld.%ld.%ld.%ld\n", file_name, + pFixedVersionInfo->dwFileVersionMS >> 16, pFixedVersionInfo->dwFileVersionMS & 0xffff, + pFixedVersionInfo->dwFileVersionLS >> 16, pFixedVersionInfo->dwFileVersionLS & 0xffff); + done = true; + } + } + free(data); + } + + if (!done) + trace("%s version: unknown\n", file_name); +} +#endif + START_TEST(shader_runner) { #ifdef VKD3D_CROSSTEST + print_dll_version("d3dcompiler_47.dll"); run_shader_tests_d3d9(argc, argv); run_shader_tests_d3d11(argc, argv); #else