diff --git a/CMakeLists.txt b/CMakeLists.txt index a12ab4a..7e9234f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,8 @@ option(BC_USE_OPENMP "Build with OpenMP support" ON) option(ENABLE_CODE_ANALYSIS "Use Static Code Analysis on build" OFF) +option(USE_PREBUILT_SHADERS "Use externally built HLSL shaders" OFF) + # Includes the functions for loading/saving OpenEXR files at runtime # NOTE requires adding DirectXTexEXR.h/.cpp source files (vcpkg does this automatically) option(ENABLE_OPENEXR_SUPPORT "Build with OpenEXR support" OFF) @@ -97,21 +99,36 @@ if(ENABLE_OPENEXR_SUPPORT) endif() if(BUILD_DX11 AND WIN32) - set(LIBRARY_SOURCES ${LIBRARY_SOURCES} - DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.inc) + if (NOT COMPILED_SHADERS) + if (USE_PREBUILT_SHADERS) + message(FATAL_ERROR "ERROR: Using prebuilt shaders requires the COMPILED_SHADERS variable is set") + endif() + set(COMPILED_SHADERS ${CMAKE_CURRENT_BINARY_DIR}/Shaders/Compiled) + file(MAKE_DIRECTORY ${COMPILED_SHADERS}) + endif() - add_custom_command( - OUTPUT "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders/Compiled/BC6HEncode_EncodeBlockCS.inc" - MAIN_DEPENDENCY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders/CompileShaders.cmd" - DEPENDS ${SHADER_SOURCES} - COMMENT "Generating HLSL shaders..." - COMMAND "CompileShaders.cmd" - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders" - USES_TERMINAL) + set(LIBRARY_SOURCES ${LIBRARY_SOURCES} + ${COMPILED_SHADERS}/BC6HEncode_EncodeBlockCS.inc) + + if (NOT USE_PREBUILT_SHADERS) + add_custom_command( + OUTPUT "${COMPILED_SHADERS}/BC6HEncode_EncodeBlockCS.inc" + MAIN_DEPENDENCY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders/CompileShaders.cmd" + DEPENDS ${SHADER_SOURCES} + COMMENT "Generating HLSL shaders..." + COMMAND set CompileShadersOutput=${COMPILED_SHADERS} + COMMAND CompileShaders.cmd + WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders" + USES_TERMINAL) + endif() endif() add_library(${PROJECT_NAME} STATIC ${LIBRARY_SOURCES} ${LIBRARY_HEADERS}) +if(BUILD_DX11 AND WIN32) + target_include_directories(${PROJECT_NAME} PRIVATE ${COMPILED_SHADERS}) +endif() + source_group(${PROJECT_NAME} REGULAR_EXPRESSION DirectXTex/*.*) target_include_directories(${PROJECT_NAME} PUBLIC diff --git a/DirectXTex/BCDirectCompute.cpp b/DirectXTex/BCDirectCompute.cpp index bc96965..61a9c3f 100644 --- a/DirectXTex/BCDirectCompute.cpp +++ b/DirectXTex/BCDirectCompute.cpp @@ -20,13 +20,13 @@ using Microsoft::WRL::ComPtr; namespace { - #include "Shaders\Compiled\BC7Encode_EncodeBlockCS.inc" - #include "Shaders\Compiled\BC7Encode_TryMode02CS.inc" - #include "Shaders\Compiled\BC7Encode_TryMode137CS.inc" - #include "Shaders\Compiled\BC7Encode_TryMode456CS.inc" - #include "Shaders\Compiled\BC6HEncode_EncodeBlockCS.inc" - #include "Shaders\Compiled\BC6HEncode_TryModeG10CS.inc" - #include "Shaders\Compiled\BC6HEncode_TryModeLE10CS.inc" + #include "BC7Encode_EncodeBlockCS.inc" + #include "BC7Encode_TryMode02CS.inc" + #include "BC7Encode_TryMode137CS.inc" + #include "BC7Encode_TryMode456CS.inc" + #include "BC6HEncode_EncodeBlockCS.inc" + #include "BC6HEncode_TryModeG10CS.inc" + #include "BC6HEncode_TryModeLE10CS.inc" struct BufferBC6HBC7 { diff --git a/DirectXTex/DirectXTex_Desktop_2017.vcxproj b/DirectXTex/DirectXTex_Desktop_2017.vcxproj index 116ebda..9915af3 100644 --- a/DirectXTex/DirectXTex_Desktop_2017.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2017.vcxproj @@ -134,6 +134,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -165,6 +166,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -196,6 +198,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -228,6 +231,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -261,6 +265,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -293,6 +298,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true diff --git a/DirectXTex/DirectXTex_Desktop_2017_Win10.vcxproj b/DirectXTex/DirectXTex_Desktop_2017_Win10.vcxproj index dcd45ae..6eb1aea 100644 --- a/DirectXTex/DirectXTex_Desktop_2017_Win10.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2017_Win10.vcxproj @@ -188,6 +188,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -219,6 +220,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -250,6 +252,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -281,6 +284,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -313,6 +317,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -345,6 +350,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -378,6 +384,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -410,6 +417,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -442,6 +450,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true diff --git a/DirectXTex/DirectXTex_Desktop_2019.vcxproj b/DirectXTex/DirectXTex_Desktop_2019.vcxproj index 8c9eb0d..be0cffc 100644 --- a/DirectXTex/DirectXTex_Desktop_2019.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2019.vcxproj @@ -134,6 +134,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -166,6 +167,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -198,6 +200,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -231,6 +234,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -265,6 +269,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -298,6 +303,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN7_PLATFORM_UPDATE;_WIN32_WINNT=0x0601;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true diff --git a/DirectXTex/DirectXTex_Desktop_2019_Win10.vcxproj b/DirectXTex/DirectXTex_Desktop_2019_Win10.vcxproj index 647eaf9..fd9d6c9 100644 --- a/DirectXTex/DirectXTex_Desktop_2019_Win10.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2019_Win10.vcxproj @@ -188,6 +188,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -220,6 +221,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -252,6 +254,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -284,6 +287,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -317,6 +321,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -350,6 +355,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -384,6 +390,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -417,6 +424,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -450,6 +458,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true diff --git a/DirectXTex/DirectXTex_Desktop_2022_Win10.vcxproj b/DirectXTex/DirectXTex_Desktop_2022_Win10.vcxproj index 169af50..f9839be 100644 --- a/DirectXTex/DirectXTex_Desktop_2022_Win10.vcxproj +++ b/DirectXTex/DirectXTex_Desktop_2022_Win10.vcxproj @@ -188,6 +188,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -220,6 +221,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -252,6 +254,7 @@ _UNICODE;UNICODE;WIN32;_DEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -284,6 +287,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -317,6 +321,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -350,6 +355,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -384,6 +390,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -417,6 +424,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true @@ -450,6 +458,7 @@ _UNICODE;UNICODE;WIN32;NDEBUG;PROFILE;_LIB;_WIN32_WINNT=0x0A00;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) $(IntDir)$(TargetName).pdb true true diff --git a/DirectXTex/DirectXTex_GDK_2017.vcxproj b/DirectXTex/DirectXTex_GDK_2017.vcxproj index 823a875..974481f 100644 --- a/DirectXTex/DirectXTex_GDK_2017.vcxproj +++ b/DirectXTex/DirectXTex_GDK_2017.vcxproj @@ -238,6 +238,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;_LIB;%(PreprocessorDefinitions) EnableAllWarnings @@ -262,6 +263,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions) EnableAllWarnings @@ -286,6 +288,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions) EnableAllWarnings @@ -310,6 +313,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;_LIB;PROFILE;%(PreprocessorDefinitions) EnableAllWarnings @@ -334,6 +338,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;PROFILE;%(PreprocessorDefinitions) EnableAllWarnings @@ -358,6 +363,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;PROFILE;%(PreprocessorDefinitions) EnableAllWarnings @@ -379,6 +385,7 @@ DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) Use false EnableAllWarnings @@ -400,6 +407,7 @@ DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) Use false EnableAllWarnings @@ -421,6 +429,7 @@ DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) Use false EnableAllWarnings diff --git a/DirectXTex/DirectXTex_GDK_2019.vcxproj b/DirectXTex/DirectXTex_GDK_2019.vcxproj index c6342ff..f5c20a4 100644 --- a/DirectXTex/DirectXTex_GDK_2019.vcxproj +++ b/DirectXTex/DirectXTex_GDK_2019.vcxproj @@ -238,6 +238,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;_LIB;%(PreprocessorDefinitions) EnableAllWarnings @@ -263,6 +264,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions) EnableAllWarnings @@ -288,6 +290,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions) EnableAllWarnings @@ -313,6 +316,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;_LIB;PROFILE;%(PreprocessorDefinitions) EnableAllWarnings @@ -338,6 +342,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;PROFILE;%(PreprocessorDefinitions) EnableAllWarnings @@ -363,6 +368,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;PROFILE;%(PreprocessorDefinitions) EnableAllWarnings @@ -385,6 +391,7 @@ DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) Use false EnableAllWarnings @@ -407,6 +414,7 @@ DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) Use false EnableAllWarnings @@ -429,6 +437,7 @@ DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) Use false EnableAllWarnings diff --git a/DirectXTex/DirectXTex_Windows10_2017.vcxproj b/DirectXTex/DirectXTex_Windows10_2017.vcxproj index b3683b6..b7878ee 100644 --- a/DirectXTex/DirectXTex_Windows10_2017.vcxproj +++ b/DirectXTex/DirectXTex_Windows10_2017.vcxproj @@ -233,6 +233,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -256,6 +257,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -277,6 +279,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -300,6 +303,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -322,6 +326,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -344,6 +349,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -365,6 +371,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -387,6 +394,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) diff --git a/DirectXTex/DirectXTex_Windows10_2019.vcxproj b/DirectXTex/DirectXTex_Windows10_2019.vcxproj index 035198a..5e02c44 100644 --- a/DirectXTex/DirectXTex_Windows10_2019.vcxproj +++ b/DirectXTex/DirectXTex_Windows10_2019.vcxproj @@ -233,6 +233,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -257,6 +258,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -279,6 +281,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -303,6 +306,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -326,6 +330,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -349,6 +354,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -371,6 +377,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) @@ -394,6 +401,7 @@ $(IntDir)$(TargetName).pdb EnableAllWarnings DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) _CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions) true /Zc:twoPhase- /Zc:__cplusplus %(AdditionalOptions) diff --git a/DirectXTex/DirectXTex_XboxOneXDK_2017.vcxproj b/DirectXTex/DirectXTex_XboxOneXDK_2017.vcxproj index 66d6384..11517a3 100644 --- a/DirectXTex/DirectXTex_XboxOneXDK_2017.vcxproj +++ b/DirectXTex/DirectXTex_XboxOneXDK_2017.vcxproj @@ -155,6 +155,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed @@ -181,6 +182,7 @@ Use DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) MaxSpeed @@ -202,6 +204,7 @@ DirectXTexP.h + $(ProjectDir);$(ProjectDir)Shaders\Compiled;%(AdditionalIncludeDirectories) Use false diff --git a/DirectXTex/Shaders/CompileShaders.cmd b/DirectXTex/Shaders/CompileShaders.cmd index 15a58a3..3ce5e6b 100644 --- a/DirectXTex/Shaders/CompileShaders.cmd +++ b/DirectXTex/Shaders/CompileShaders.cmd @@ -17,7 +17,8 @@ if exist %PCFXC% goto continue set PCFXC=fxc.exe :continue -@if not exist Compiled mkdir Compiled +@if %CompileShadersOutput%.==. set CompileShadersOutput=Compiled +@if not exist %CompileShadersOutput% mkdir %CompileShadersOutput% call :CompileShader BC7Encode TryMode456CS call :CompileShader BC7Encode TryMode137CS call :CompileShader BC7Encode TryMode02CS @@ -39,7 +40,7 @@ endlocal exit /b :CompileShader -set fxc=%PCFXC% %1.hlsl %FXCOPTS% /Tcs_4_0 /E%2 /FhCompiled\%1_%2.inc /FdCompiled\%1_%2.pdb /Vn%1_%2 +set fxc=%PCFXC% %1.hlsl %FXCOPTS% /Tcs_4_0 /E%2 /Fh%CompileShadersOutput%\%1_%2.inc /Fd%CompileShadersOutput%\%1_%2.pdb /Vn%1_%2 echo. echo %fxc% %fxc% || set error=1