Skip to content

Commit c13577a

Browse files
committed
Update for recent tool improvements
1 parent a0eba39 commit c13577a

12 files changed

+72
-23
lines changed

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -428,10 +428,9 @@ if(BUILD_TOOLS AND BUILD_DX11 AND WIN32)
428428
add_custom_command(
429429
OUTPUT "${COMPILED_SHADERS}/Texenvmap_VSBasic.inc"
430430
MAIN_DEPENDENCY "${PROJECT_SOURCE_DIR}/Texenvmap/Shaders/CompileShaders.cmd"
431-
DEPENDS "${PROJECT_SOURCE_DIR}/Texenvmap/Shaders/Texenvmap.fx"
431+
DEPENDS "Texenvmap/Shaders/Texenvmap.hlsl"
432432
COMMENT "Generating HLSL shaders for texenvmap..."
433-
COMMAND set CompileShadersOutput=${COMPILED_SHADERS}
434-
COMMAND CompileShaders.cmd
433+
COMMAND ${CMAKE_COMMAND} -E env CompileShadersOutput="${COMPILED_SHADERS}" $<$<BOOL:${DIRECTX_FXC_TOOL}>:LegacyShaderCompiler=${DIRECTX_FXC_TOOL}> CompileShaders.cmd > "${COMPILED_SHADERS}/compileshaders_envmap.log"
435434
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/Texenvmap/Shaders"
436435
USES_TERMINAL)
437436
endif()

Texenvmap/Shaders/CompileShaders.cmd

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ if %PROCESSOR_ARCHITECTURE%.==ARM64. (set FXCARCH=arm64) else (if %PROCESSOR_ARC
99

1010
set FXCOPTS=/nologo /WX /Ges /Zi /Zpc /Qstrip_reflect /Qstrip_debug
1111

12+
if defined LegacyShaderCompiler goto fxcviaenv
1213
set PCFXC="%WindowsSdkVerBinPath%%FXCARCH%\fxc.exe"
1314
if exist %PCFXC% goto continue
1415
set PCFXC="%WindowsSdkBinPath%%WindowsSDKVersion%\%FXCARCH%\fxc.exe"
@@ -17,6 +18,12 @@ set PCFXC="%WindowsSdkDir%bin\%WindowsSDKVersion%\%FXCARCH%\fxc.exe"
1718
if exist %PCFXC% goto continue
1819

1920
set PCFXC=fxc.exe
21+
goto continue
22+
23+
:fxcviaenv
24+
set PCFXC="%LegacyShaderCompiler%"
25+
if not exist %PCFXC% goto needfxc
26+
goto continue
2027

2128
:continue
2229
if not defined CompileShadersOutput set CompileShadersOutput=Compiled
@@ -42,8 +49,12 @@ endlocal
4249
exit /b 0
4350

4451
:CompileShader
45-
set fxc=%PCFXC% %1.fx %FXCOPTS% /T%2_4_0 /E%3 /Fh%CompileShadersOutput%\%1_%3.inc /Fd%CompileShadersOutput%\%1_%3.pdb /Vn%1_%3
52+
set fxc=%PCFXC% "%1.hlsl" %FXCOPTS% /T%2_4_0 /E%3 "/Fh%CompileShadersOutput%\%1_%3.inc" "/Fd%CompileShadersOutput%\%1_%3.pdb" /Vn%1_%3
4653
echo.
4754
echo %fxc%
4855
%fxc% || set error=1
4956
exit /b
57+
58+
:needfxc
59+
echo ERROR: CompileShaders requires FXC.EXE
60+
exit /b 1
File renamed without changes.

Texenvmap/Texenvmap_Desktop_2019.vcxproj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,17 +299,23 @@
299299
<ItemGroup>
300300
<Manifest Include="settings.manifest" />
301301
</ItemGroup>
302+
<ItemGroup>
303+
<None Include="Shaders\Texenvmap.hlsl" />
304+
</ItemGroup>
302305
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
303306
<ImportGroup Label="ExtensionTargets" />
304307
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
305308
<PropertyGroup>
306309
<_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])</_ATGFXCPath>
307310
<_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))</_ATGFXCPath>
308311
<_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\</_ATGFXCPath>
312+
<_ATGFXCVer>$([System.Text.RegularExpressions.Regex]::Match($(_ATGFXCPath), `10\.0\.\d+\.0`))</_ATGFXCVer>
313+
<_ATGFXCVer Condition="'$(_ATGFXCVer)' != '' and !HasTrailingSlash('$(_ATGFXCVer)')">$(_ATGFXCVer)\</_ATGFXCVer>
309314
</PropertyGroup>
310-
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath)" />
315+
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath);WindowsSDKVersion=$(_ATGFXCVer);CompileShadersOutput=$(ProjectDir)Shaders/Compiled" LogStandardErrorAsError="true" />
311316
<PropertyGroup>
312317
<_ATGFXCPath />
318+
<_ATGFXCVer />
313319
</PropertyGroup>
314320
</Target>
315321
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
@@ -319,5 +325,5 @@
319325
</ItemGroup>
320326
<Delete Files="@(_ATGShaderHeaders)" />
321327
<Delete Files="@(_ATGShaderSymbols)" />
322-
</Target>
328+
</Target>
323329
</Project>

Texenvmap/Texenvmap_Desktop_2019.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,7 @@
1919
<Filter>Resource Files</Filter>
2020
</Manifest>
2121
</ItemGroup>
22+
<ItemGroup>
23+
<None Include="Shaders\Texenvmap.hlsl" />
24+
</ItemGroup>
2225
</Project>

Texenvmap/Texenvmap_Desktop_2019_Win10.vcxproj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,17 +429,23 @@
429429
<ItemGroup>
430430
<Manifest Include="settings.manifest" />
431431
</ItemGroup>
432+
<ItemGroup>
433+
<None Include="Shaders\Texenvmap.hlsl" />
434+
</ItemGroup>
432435
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
433436
<ImportGroup Label="ExtensionTargets" />
434437
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
435438
<PropertyGroup>
436439
<_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])</_ATGFXCPath>
437440
<_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))</_ATGFXCPath>
438441
<_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\</_ATGFXCPath>
442+
<_ATGFXCVer>$([System.Text.RegularExpressions.Regex]::Match($(_ATGFXCPath), `10\.0\.\d+\.0`))</_ATGFXCVer>
443+
<_ATGFXCVer Condition="'$(_ATGFXCVer)' != '' and !HasTrailingSlash('$(_ATGFXCVer)')">$(_ATGFXCVer)\</_ATGFXCVer>
439444
</PropertyGroup>
440-
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath)" />
445+
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath);WindowsSDKVersion=$(_ATGFXCVer);CompileShadersOutput=$(ProjectDir)Shaders/Compiled" LogStandardErrorAsError="true" />
441446
<PropertyGroup>
442447
<_ATGFXCPath />
448+
<_ATGFXCVer />
443449
</PropertyGroup>
444450
</Target>
445451
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
@@ -449,5 +455,5 @@
449455
</ItemGroup>
450456
<Delete Files="@(_ATGShaderHeaders)" />
451457
<Delete Files="@(_ATGShaderSymbols)" />
452-
</Target>
458+
</Target>
453459
</Project>

Texenvmap/Texenvmap_Desktop_2019_Win10.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,7 @@
1919
<Filter>Resource Files</Filter>
2020
</Manifest>
2121
</ItemGroup>
22+
<ItemGroup>
23+
<None Include="Shaders\Texenvmap.hlsl" />
24+
</ItemGroup>
2225
</Project>

Texenvmap/Texenvmap_Desktop_2022.vcxproj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,17 +299,23 @@
299299
<ItemGroup>
300300
<Manifest Include="settings.manifest" />
301301
</ItemGroup>
302+
<ItemGroup>
303+
<None Include="Shaders\Texenvmap.hlsl" />
304+
</ItemGroup>
302305
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
303306
<ImportGroup Label="ExtensionTargets" />
304307
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
305308
<PropertyGroup>
306309
<_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])</_ATGFXCPath>
307310
<_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))</_ATGFXCPath>
308311
<_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\</_ATGFXCPath>
312+
<_ATGFXCVer>$([System.Text.RegularExpressions.Regex]::Match($(_ATGFXCPath), `10\.0\.\d+\.0`))</_ATGFXCVer>
313+
<_ATGFXCVer Condition="'$(_ATGFXCVer)' != '' and !HasTrailingSlash('$(_ATGFXCVer)')">$(_ATGFXCVer)\</_ATGFXCVer>
309314
</PropertyGroup>
310-
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath)" />
315+
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath);WindowsSDKVersion=$(_ATGFXCVer);CompileShadersOutput=$(ProjectDir)Shaders/Compiled" LogStandardErrorAsError="true" />
311316
<PropertyGroup>
312317
<_ATGFXCPath />
318+
<_ATGFXCVer />
313319
</PropertyGroup>
314320
</Target>
315321
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
@@ -319,5 +325,5 @@
319325
</ItemGroup>
320326
<Delete Files="@(_ATGShaderHeaders)" />
321327
<Delete Files="@(_ATGShaderSymbols)" />
322-
</Target>
328+
</Target>
323329
</Project>

Texenvmap/Texenvmap_Desktop_2022.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,7 @@
1919
<Filter>Resource Files</Filter>
2020
</Manifest>
2121
</ItemGroup>
22+
<ItemGroup>
23+
<None Include="Shaders\Texenvmap.hlsl" />
24+
</ItemGroup>
2225
</Project>

Texenvmap/Texenvmap_Desktop_2022_Win10.vcxproj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,17 +429,23 @@
429429
<ItemGroup>
430430
<Manifest Include="settings.manifest" />
431431
</ItemGroup>
432+
<ItemGroup>
433+
<None Include="Shaders\Texenvmap.hlsl" />
434+
</ItemGroup>
432435
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
433436
<ImportGroup Label="ExtensionTargets" />
434437
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
435438
<PropertyGroup>
436439
<_ATGFXCPath>$(WindowsSDK_ExecutablePath_x64.Split(';')[0])</_ATGFXCPath>
437440
<_ATGFXCPath>$(_ATGFXCPath.Replace("x64",""))</_ATGFXCPath>
438441
<_ATGFXCPath Condition="'$(_ATGFXCPath)' != '' and !HasTrailingSlash('$(_ATGFXCPath)')">$(_ATGFXCPath)\</_ATGFXCPath>
442+
<_ATGFXCVer>$([System.Text.RegularExpressions.Regex]::Match($(_ATGFXCPath), `10\.0\.\d+\.0`))</_ATGFXCVer>
443+
<_ATGFXCVer Condition="'$(_ATGFXCVer)' != '' and !HasTrailingSlash('$(_ATGFXCVer)')">$(_ATGFXCVer)\</_ATGFXCVer>
439444
</PropertyGroup>
440-
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath)" />
445+
<Exec Condition="!Exists('Shaders/Compiled/Texenvmap_VSBasic.inc')" WorkingDirectory="$(ProjectDir)Shaders" Command="CompileShaders" EnvironmentVariables="WindowsSdkVerBinPath=$(_ATGFXCPath);WindowsSDKVersion=$(_ATGFXCVer);CompileShadersOutput=$(ProjectDir)Shaders/Compiled" LogStandardErrorAsError="true" />
441446
<PropertyGroup>
442447
<_ATGFXCPath />
448+
<_ATGFXCVer />
443449
</PropertyGroup>
444450
</Target>
445451
<Target Name="ATGDeleteShaders" AfterTargets="Clean">
@@ -449,5 +455,5 @@
449455
</ItemGroup>
450456
<Delete Files="@(_ATGShaderHeaders)" />
451457
<Delete Files="@(_ATGShaderSymbols)" />
452-
</Target>
458+
</Target>
453459
</Project>

0 commit comments

Comments
 (0)