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() endif()
elseif((BUILD_XBOX_EXTS_XBOXONE OR BUILD_XBOX_EXTS_SCARLETT) AND WIN32) 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}") cmake_path(SET GameDK_DIR "$ENV{GameDKLatest}")
endif() endif()
if(DEFINED ENV{XboxOneXDKLatest}) if(DEFINED ENV{XboxOneXDKLatest})
@ -278,9 +280,23 @@ if(ENABLE_OPENEXR_SUPPORT)
endif() endif()
if(BUILD_XBOX_EXTS_SCARLETT AND WIN32) 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") 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) add_library(Xbox::GDKX SHARED IMPORTED)
set_target_properties(Xbox::GDKX PROPERTIES set_target_properties(Xbox::GDKX PROPERTIES
IMPORTED_LOCATION "${GameDK_DIR}/GXDK/bin/Scarlett/xg_xs.dll" 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_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX) target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX)
else() else()
message(FATAL_ERROR "Building Xbox extensions requires GameDKLatest") message(FATAL_ERROR "Building Xbox extensions requires GameDKXboxLatest or GameDKLatest")
endif() endif()
elseif(BUILD_XBOX_EXTS_XBOXONE AND WIN32) 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") 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) add_library(Xbox::GDKX SHARED IMPORTED)
set_target_properties(Xbox::GDKX PROPERTIES set_target_properties(Xbox::GDKX PROPERTIES
IMPORTED_LOCATION "${GameDK_DIR}/GXDK/bin/XboxOne/xg.dll" 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_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX) target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::GDKX)
elseif(EXISTS "${XboxOneXDK_DIR}/PC/include/xdk.h") elseif(EXISTS "${XboxOneXDK_DIR}/PC/include/xdk.h")
message(STATUS "Building Xbox extensions for XboxOne using the Xbox One XDK") 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_compile_definitions(${PROJECT_NAME} PRIVATE USE_XBOX_EXTS)
target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::XDK) target_link_libraries(${PROJECT_NAME} PUBLIC Xbox::XDK)
else() else()
message(FATAL_ERROR "Building Xbox extensions requires GameDKLatest or XboxOneXDKLatest") message(FATAL_ERROR "Building Xbox extensions requires GameDKXboxLatest, GameDKLatest, or XboxOneXDKLatest")
endif() endif()
endif() endif()

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -962,7 +962,8 @@ HRESULT DirectX::EncodeDDSHeader(
if (metadata.miscFlags & TEX_MISC_TEXTURECUBE) if (metadata.miscFlags & TEX_MISC_TEXTURECUBE)
{ {
ext->miscFlag |= 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); ext->arraySize = static_cast<UINT>(metadata.arraySize / 6);
} }
else else

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -977,10 +977,7 @@ namespace
_In_opt_ IPropertyBag2* props, _In_opt_ IPropertyBag2* props,
_In_opt_ const GUID* targetFormat) _In_opt_ const GUID* targetFormat)
{ {
if (!frame) if (!frame || !image.pixels)
return E_INVALIDARG;
if (!image.pixels)
return E_POINTER; return E_POINTER;
WICPixelFormatGUID pfGuid; WICPixelFormatGUID pfGuid;
@ -1082,7 +1079,7 @@ namespace
_In_ std::function<void(IPropertyBag2*)> setCustomProps) _In_ std::function<void(IPropertyBag2*)> setCustomProps)
{ {
if (!stream) if (!stream)
return E_INVALIDARG; return E_POINTER;
// Initialize WIC // Initialize WIC
bool iswic2 = false; bool iswic2 = false;
@ -1146,10 +1143,8 @@ namespace
_In_opt_ const GUID* targetFormat, _In_opt_ const GUID* targetFormat,
_In_ std::function<void(IPropertyBag2*)> setCustomProps) _In_ std::function<void(IPropertyBag2*)> setCustomProps)
{ {
if (!stream || nimages < 2) assert(nimages > 1);
return E_INVALIDARG; if (!images || !stream)
if (!images)
return E_POINTER; return E_POINTER;
// Initialize WIC // 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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <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'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Scarlett|X64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Scarlett|X64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2019\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
@ -285,4 +297,7 @@
<Delete Files="@(_ATGShaderHeaders)" /> <Delete Files="@(_ATGShaderHeaders)" />
<Delete Files="@(_ATGShaderSymbols)" /> <Delete Files="@(_ATGShaderSymbols)" />
</Target> </Target>
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild">
<Error Condition="'$(GameDKXboxLatest)'=='' AND '$(GameDKLatest)'=='' " Text="GameDKXboxLatest or GameDKLatest property is required" />
</Target>
</Project> </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" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <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'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Scarlett|X64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\XboxOne;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(XboxOneIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\XboxOne;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(XboxOneLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Scarlett|X64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Scarlett|X64'">
<OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir> <OutDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir> <IntDir>Bin\GXDKPC_2022\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTex</TargetName> <TargetName>DirectXTex</TargetName>
<IncludePath>$(GameDKLatest)GXDK\toolKit\include;$(GameDKLatest)GXDK\toolKit\include\Scarlett;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>$(ScarlettIncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(GameDKLatest)GXDK\toolKit\lib\amd64\Scarlett;$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath> <LibraryPath>$(ScarlettLibPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
<GenerateManifest>true</GenerateManifest> <GenerateManifest>true</GenerateManifest>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
@ -285,4 +297,7 @@
<Delete Files="@(_ATGShaderHeaders)" /> <Delete Files="@(_ATGShaderHeaders)" />
<Delete Files="@(_ATGShaderSymbols)" /> <Delete Files="@(_ATGShaderSymbols)" />
</Target> </Target>
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild">
<Error Condition="'$(GameDKXboxLatest)'=='' AND '$(GameDKLatest)'=='' " Text="GameDKXboxLatest or GameDKLatest property is required" />
</Target>
</Project> </Project>