Update for GDK October 2025 changes (#634)

This commit is contained in:
Chuck Walbourn 2025-10-14 01:25:15 -07:00 committed by GitHub
parent dafb841055
commit 0b4d5f6541
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 119 additions and 54 deletions

View File

@ -142,7 +142,9 @@ if(DEFINED XBOX_CONSOLE_TARGET)
endif()
elseif((BUILD_XBOX_EXTS_XBOXONE OR BUILD_XBOX_EXTS_SCARLETT) AND WIN32)
if(DEFINED ENV{GameDKLatest})
if(DEFINED ENV{GameDKXboxLatest})
cmake_path(SET GameDK_DIR "$ENV{GameDKXboxLatest}")
elseif(DEFINED ENV{GameDKLatest})
cmake_path(SET GameDK_DIR "$ENV{GameDKLatest}")
endif()
if(DEFINED ENV{XboxOneXDKLatest})
@ -278,9 +280,23 @@ if(ENABLE_OPENEXR_SUPPORT)
endif()
if(BUILD_XBOX_EXTS_SCARLETT AND WIN32)
if(EXISTS "${GameDK_DIR}/GXDK/toolKit/include/gxdk.h")
if(EXISTS "${GameDK_DIR}/xbox/include/devpctools/gxdk.h")
message(STATUS "Building Xbox extensions for Xbox Series X|S")
add_library(Xbox::GDKX SHARED IMPORTED)
set_target_properties(Xbox::GDKX PROPERTIES
IMPORTED_LOCATION "${GameDK_DIR}/xbox/bin/devpctools/gen9/xg_xs.dll"
IMPORTED_IMPLIB "${GameDK_DIR}/xbox/lib/devpctools/gen9/xg_xs.lib"
MAP_IMPORTED_CONFIG_MINSIZEREL ""
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
INTERFACE_COMPILE_DEFINITIONS "_USE_GXDK;_USE_SCARLETT"
INTERFACE_INCLUDE_DIRECTORIES "${GameDK_DIR}/xbox/include/devpctools;${GameDK_DIR}/xbox/include/devpctools/gen9")
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX)
elseif(EXISTS "${GameDK_DIR}/GXDK/toolKit/include/gxdk.h")
message(STATUS "Building Xbox extensions for Xbox Series X|S (old layouts)")
add_library(Xbox::GDKX SHARED IMPORTED)
set_target_properties(Xbox::GDKX PROPERTIES
IMPORTED_LOCATION "${GameDK_DIR}/GXDK/bin/Scarlett/xg_xs.dll"
@ -293,12 +309,26 @@ if(BUILD_XBOX_EXTS_SCARLETT AND WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX)
else()
message(FATAL_ERROR "Building Xbox extensions requires GameDKLatest")
message(FATAL_ERROR "Building Xbox extensions requires GameDKXboxLatest or GameDKLatest")
endif()
elseif(BUILD_XBOX_EXTS_XBOXONE AND WIN32)
if(EXISTS "${GameDK_DIR}/GXDK/toolKit/include/gxdk.h")
if(EXISTS "${GameDK_DIR}/xbox/include/devpctools/gxdk.h")
message(STATUS "Building Xbox extensions for XboxOne using the Microsoft GDK")
add_library(Xbox::GDKX SHARED IMPORTED)
set_target_properties(Xbox::GDKX PROPERTIES
IMPORTED_LOCATION "${GameDK_DIR}/xbox/bin/devpctools/gen8/xg.dll"
IMPORTED_IMPLIB "${GameDK_DIR}/xbox/lib/devpctools/gen8/xg.lib"
MAP_IMPORTED_CONFIG_MINSIZEREL ""
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
INTERFACE_COMPILE_DEFINITIONS "_USE_GXDK"
INTERFACE_INCLUDE_DIRECTORIES "${GameDK_DIR}/xbox/include/devpctools;${GameDK_DIR}/xbox/include/devpctools/gen8")
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX)
elseif(EXISTS "${GameDK_DIR}/GXDK/toolKit/include/gxdk.h")
message(STATUS "Building Xbox extensions for XboxOne using the Microsoft GDK (old layouts)")
add_library(Xbox::GDKX SHARED IMPORTED)
set_target_properties(Xbox::GDKX PROPERTIES
IMPORTED_LOCATION "${GameDK_DIR}/GXDK/bin/XboxOne/xg.dll"
@ -310,7 +340,6 @@ elseif(BUILD_XBOX_EXTS_XBOXONE AND WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX)
elseif(EXISTS "${XboxOneXDK_DIR}/PC/include/xdk.h")
message(STATUS "Building Xbox extensions for XboxOne using the Xbox One XDK")
@ -325,7 +354,7 @@ elseif(BUILD_XBOX_EXTS_XBOXONE AND WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::XDK)
else()
message(FATAL_ERROR "Building Xbox extensions requires GameDKLatest or XboxOneXDKLatest")
message(FATAL_ERROR "Building Xbox extensions requires GameDKXboxLatest, GameDKLatest, or XboxOneXDKLatest")
endif()
endif()

View File

@ -668,7 +668,7 @@ HRESULT DirectX::CompressEx(
ScratchImage& image,
std::function<bool __cdecl(size_t, size_t)> statusCallback)
{
if (IsCompressed(srcImage.format) || !IsCompressed(format))
if (IsCompressed(srcImage.format) || !IsCompressed(format) || !IsValid(srcImage.format))
return E_INVALIDARG;
if (IsTypeless(format)
@ -738,7 +738,7 @@ HRESULT DirectX::CompressEx(
ScratchImage& cImages,
std::function<bool __cdecl(size_t, size_t)> statusCallback)
{
if (!srcImages || !nimages)
if (!srcImages || !nimages || !IsValid(metadata.format))
return E_INVALIDARG;
if (IsCompressed(metadata.format) || !IsCompressed(format))

View File

@ -254,7 +254,7 @@ HRESULT DirectX::CompressEx(
ScratchImage& image,
std::function<bool __cdecl(size_t, size_t)> statusCallback)
{
if (!pDevice || IsCompressed(srcImage.format) || !IsCompressed(format))
if (!pDevice || IsCompressed(srcImage.format) || !IsCompressed(format) || !IsValid(srcImage.format))
return E_INVALIDARG;
if (IsTypeless(format)
@ -329,7 +329,7 @@ HRESULT DirectX::CompressEx(
ScratchImage& cImages,
std::function<bool __cdecl(size_t, size_t)> statusCallback)
{
if (!pDevice || !srcImages || !nimages)
if (!pDevice || !srcImages || !nimages || !IsValid(metadata.format))
return E_INVALIDARG;
if (IsCompressed(metadata.format) || !IsCompressed(format))

View File

@ -5108,7 +5108,9 @@ HRESULT DirectX::ConvertEx(
ScratchImage& image,
std::function<bool __cdecl(size_t, size_t)> statusCallback)
{
if ((srcImage.format == format) || !IsValid(format))
if ((srcImage.format == format)
|| !IsValid(format)
|| !IsValid(srcImage.format))
return E_INVALIDARG;
if (!srcImage.pixels)
@ -5202,7 +5204,10 @@ HRESULT DirectX::ConvertEx(
ScratchImage& result,
std::function<bool __cdecl(size_t, size_t)> statusCallback)
{
if (!srcImages || !nimages || (metadata.format == format) || !IsValid(format))
if (!srcImages || !nimages
|| (metadata.format == format)
|| !IsValid(format)
|| !IsValid(metadata.format))
return E_INVALIDARG;
if (IsCompressed(metadata.format) || IsCompressed(format)
@ -5448,7 +5453,7 @@ HRESULT DirectX::ConvertToSinglePlane(
const TexMetadata& metadata,
ScratchImage& result) noexcept
{
if (!srcImages || !nimages)
if (!srcImages || !nimages || !IsPlanar(metadata.format))
return E_INVALIDARG;
if (metadata.IsVolumemap())

View File

@ -775,7 +775,7 @@ HRESULT DirectX::CreateShaderResourceViewEx(
break;
default:
return E_FAIL;
return E_UNEXPECTED;
}
hr = pDevice->CreateShaderResourceView(resource.Get(), &SRVDesc, ppSRV);

View File

@ -137,11 +137,11 @@ namespace
}
if (!pCommandQ || !pSource || !pStaging)
return E_INVALIDARG;
return E_POINTER;
numberOfPlanes = D3D12GetFormatPlaneCount(device, desc.Format);
if (!numberOfPlanes)
return E_INVALIDARG;
return E_UNEXPECTED;
if ((numberOfPlanes > 1) && IsDepthStencil(desc.Format))
{
@ -588,7 +588,7 @@ HRESULT DirectX::PrepareUpload(
const UINT numberOfPlanes = D3D12GetFormatPlaneCount(pDevice, metadata.format);
if (!numberOfPlanes)
return E_INVALIDARG;
return E_UNEXPECTED;
if ((numberOfPlanes > 1) && IsDepthStencil(metadata.format))
{

View File

@ -962,7 +962,8 @@ HRESULT DirectX::EncodeDDSHeader(
if (metadata.miscFlags & TEX_MISC_TEXTURECUBE)
{
ext->miscFlag |= TEX_MISC_TEXTURECUBE;
assert((metadata.arraySize % 6) == 0);
if ((metadata.arraySize % 6) != 0)
return E_INVALIDARG;
ext->arraySize = static_cast<UINT>(metadata.arraySize / 6);
}
else

View File

@ -101,7 +101,7 @@ namespace
float& exposure) noexcept
{
if (!pSource)
return E_INVALIDARG;
return E_POINTER;
memset(&metadata, 0, sizeof(TexMetadata));

View File

@ -302,7 +302,7 @@ HRESULT DirectX::CopyRectangle(
// Compute source bytes-per-pixel
size_t sbpp = BitsPerPixel(srcImage.format);
if (!sbpp)
return E_FAIL;
return E_INVALIDARG;
if (sbpp < 8)
{
@ -340,7 +340,7 @@ HRESULT DirectX::CopyRectangle(
// Compute destination bytes-per-pixel (not the same format as source)
size_t dbpp = BitsPerPixel(dstImage.format);
if (!dbpp)
return E_FAIL;
return E_INVALIDARG;
if (dbpp < 8)
{

View File

@ -261,7 +261,10 @@ HRESULT DirectX::ComputeNormalMap(
DXGI_FORMAT format,
ScratchImage& normalMap) noexcept
{
if (!srcImage.pixels || !IsValid(format))
if (!srcImage.pixels)
return E_POINTER;
if (!IsValid(srcImage.format) || !IsValid(format))
return E_INVALIDARG;
static_assert(CNMAP_CHANNEL_RED == 0x1, "CNMAP_CHANNEL_ flag values don't match mask");
@ -319,7 +322,7 @@ HRESULT DirectX::ComputeNormalMap(
DXGI_FORMAT format,
ScratchImage& normalMaps) noexcept
{
if (!srcImages || !nimages || !IsValid(format))
if (!srcImages || !nimages || !IsValid(metadata.format) || !IsValid(format))
return E_INVALIDARG;
if (IsCompressed(format) || IsCompressed(metadata.format)

View File

@ -952,7 +952,9 @@ HRESULT DirectX::Resize(
if (!srcImages || !nimages || width == 0 || height == 0)
return E_INVALIDARG;
if ((width > UINT32_MAX) || (height > UINT32_MAX))
if ((width > UINT32_MAX) || (height > UINT32_MAX)
|| (metadata.width > UINT32_MAX)
|| (metadata.height > UINT32_MAX))
return E_INVALIDARG;
TexMetadata mdata2 = metadata;

View File

@ -147,7 +147,7 @@ namespace
_Inout_opt_ uint32_t* convFlags) noexcept
{
if (!pSource)
return E_INVALIDARG;
return E_POINTER;
memset(&metadata, 0, sizeof(TexMetadata));
@ -400,9 +400,9 @@ namespace
_In_ const Image* image,
_In_ uint32_t convFlags) noexcept
{
assert(pSource && size > 0);
assert(size > 0);
if (!image || !image->pixels)
if (!pSource || !image || !image->pixels)
return E_POINTER;
// Compute TGA image data pitch
@ -928,9 +928,9 @@ namespace
_In_ uint32_t convFlags,
_In_opt_ const uint8_t* palette) noexcept
{
assert(pSource && size > 0);
assert(size > 0);
if (!image || !image->pixels)
if (!pSource || !image || !image->pixels)
return E_POINTER;
// Compute TGA image data pitch

View File

@ -977,10 +977,7 @@ namespace
_In_opt_ IPropertyBag2* props,
_In_opt_ const GUID* targetFormat)
{
if (!frame)
return E_INVALIDARG;
if (!image.pixels)
if (!frame || !image.pixels)
return E_POINTER;
WICPixelFormatGUID pfGuid;
@ -1082,7 +1079,7 @@ namespace
_In_ std::function<void(IPropertyBag2*)> setCustomProps)
{
if (!stream)
return E_INVALIDARG;
return E_POINTER;
// Initialize WIC
bool iswic2 = false;
@ -1146,10 +1143,8 @@ namespace
_In_opt_ const GUID* targetFormat,
_In_ std::function<void(IPropertyBag2*)> setCustomProps)
{
if (!stream || nimages < 2)
return E_INVALIDARG;
if (!images)
assert(nimages > 1);
if (!images || !stream)
return E_POINTER;
// Initialize WIC

View File

@ -65,36 +65,48 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(GameDKXboxLatest)'!=''">
<XboxOneIncludePath>$(GameDKXboxLatest)xbox\include\devpctools;$(GameDKXboxLatest)xbox\include\devpctools\gen8</XboxOneIncludePath>
<XboxOneLibPath>$(GameDKXboxLatest)xbox\lib\devpctools\gen8</XboxOneLibPath>
<ScarlettIncludePath>$(GameDKXboxLatest)xbox\include\devpctools;$(GameDKXboxLatest)xbox\include\devpctools\gen9</ScarlettIncludePath>
<ScarlettLibPath>$(GameDKXboxLatest)xbox\lib\devpctools\gen9</ScarlettLibPath>
</PropertyGroup>
<PropertyGroup Condition="'$(GameDKXboxLatest)'==''">
<XboxOneIncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne</XboxOneIncludePath>
<XboxOneLibPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne</XboxOneLibPath>
<ScarlettIncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett</ScarlettIncludePath>
<ScarlettLibPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett</ScarlettLibPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
@ -285,4 +297,7 @@
<Delete Files="@(_ATGShaderHeaders)" />
<Delete Files="@(_ATGShaderSymbols)" />
</Target>
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild">
<Error Condition="'$(GameDKXboxLatest)'=='' AND '$(GameDKLatest)'=='' " Text="GameDKXboxLatest or GameDKLatest property is required" />
</Target>
</Project>

View File

@ -65,36 +65,48 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(GameDKXboxLatest)'!=''">
<XboxOneIncludePath>$(GameDKXboxLatest)xbox\include\devpctools;$(GameDKXboxLatest)xbox\include\devpctools\gen8</XboxOneIncludePath>
<XboxOneLibPath>$(GameDKXboxLatest)xbox\lib\devpctools\gen8</XboxOneLibPath>
<ScarlettIncludePath>$(GameDKXboxLatest)xbox\include\devpctools;$(GameDKXboxLatest)xbox\include\devpctools\gen9</ScarlettIncludePath>
<ScarlettLibPath>$(GameDKXboxLatest)xbox\lib\devpctools\gen9</ScarlettLibPath>
</PropertyGroup>
<PropertyGroup Condition="'$(GameDKXboxLatest)'==''">
<XboxOneIncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne</XboxOneIncludePath>
<XboxOneLibPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne</XboxOneLibPath>
<ScarlettIncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett</ScarlettIncludePath>
<ScarlettLibPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett</ScarlettLibPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
@ -285,4 +297,7 @@
<Delete Files="@(_ATGShaderHeaders)" />
<Delete Files="@(_ATGShaderSymbols)" />
</Target>
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild">
<Error Condition="'$(GameDKXboxLatest)'=='' AND '$(GameDKLatest)'=='' " Text="GameDKXboxLatest or GameDKLatest property is required" />
</Target>
</Project>