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