2406 release update (#42)
This commit is contained in:
Родитель
41b5942c4f
Коммит
3e11735ae0
|
@ -7,7 +7,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#pragma warning(push)
|
#pragma warning(push)
|
||||||
#pragma warning(disable : 4316 4324) // We don't care that ShaderRecord (or derived types) are potentially unaligned or padded. They won't be in the Upload Heap
|
#pragma warning(disable : 4062 4316 4324) // We don't care that ShaderRecord (or derived types) are potentially unaligned or padded. They won't be in the Upload Heap
|
||||||
|
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
|
@ -71,7 +71,7 @@ namespace DirectX
|
||||||
{
|
{
|
||||||
inline namespace DX12
|
inline namespace DX12
|
||||||
{
|
{
|
||||||
namespace Internal
|
namespace ToolKitInternal
|
||||||
{
|
{
|
||||||
// Reuse the WIC factory function from the DirectX Tool Kit. For implementation details, see WICTextureLoader.cpp
|
// Reuse the WIC factory function from the DirectX Tool Kit. For implementation details, see WICTextureLoader.cpp
|
||||||
extern IWICImagingFactory2* GetWIC();
|
extern IWICImagingFactory2* GetWIC();
|
||||||
|
@ -79,7 +79,7 @@ namespace DirectX
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace DirectX::DX12::Internal;
|
using namespace DirectX::DX12::ToolKitInternal;
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------
|
||||||
// FrontPanelDisplay methods
|
// FrontPanelDisplay methods
|
||||||
|
|
|
@ -149,9 +149,9 @@ float3 MapHDRSceneToDisplayCapabilities(float3 normalizedLinearValue, float soft
|
||||||
const float max = maxBrightnessOfHDRScene2084; // To determine range, use max brightness of HDR scene
|
const float max = maxBrightnessOfHDRScene2084; // To determine range, use max brightness of HDR scene
|
||||||
|
|
||||||
float3 t = saturate((ST2084 - p0) / (max - p0)); // Amount to lerp wrt current value
|
float3 t = saturate((ST2084 - p0) / (max - p0)); // Amount to lerp wrt current value
|
||||||
float3 b0 = (p0 * (1 - t)) + (p1 * t); // Lerp between p0 and p1
|
float3 b0 = lerp(p0, p1, t); // Lerp between p0 and p1
|
||||||
float3 b1 = (p1 * (1 - t)) + (p2 * t); // Lerp between p1 and p2
|
float3 b1 = lerp(p1, p2, t); // Lerp between p1 and p2
|
||||||
float3 mappedValue = (b0 * (1 - t)) + (b1 * t); // Final lerp for Bezier
|
float3 mappedValue = lerp(b0, b1, t); // Final lerp for Bezier
|
||||||
|
|
||||||
mappedValue = min(mappedValue, ST2084); // If HDR scene max luminance is too close to shoulders, then it could end up producing a higher value than the ST.2084 curve,
|
mappedValue = min(mappedValue, ST2084); // If HDR scene max luminance is too close to shoulders, then it could end up producing a higher value than the ST.2084 curve,
|
||||||
// which will saturate colors, i.e. the opposite of what HDR display mapping should do, therefore always take minimum of the two
|
// which will saturate colors, i.e. the opposite of what HDR display mapping should do, therefore always take minimum of the two
|
||||||
|
@ -206,8 +206,8 @@ float3 ExpandColorGamut(float3 color, float start, float stop)
|
||||||
|
|
||||||
// Interpolate between Rec.709 and P3-D65, but only for bright HDR values, we don't want to change the overall look of the image
|
// Interpolate between Rec.709 and P3-D65, but only for bright HDR values, we don't want to change the overall look of the image
|
||||||
float lum = max(max(color.r, color.g), color.b);
|
float lum = max(max(color.r, color.g), color.b);
|
||||||
float lerp = saturate((lum - start) / (stop - start));
|
float t = saturate((lum - start) / (stop - start));
|
||||||
float3 expandedColorInP3 = ((1.0f - lerp) * Rec709) + (lerp * P3);
|
float3 expandedColorInP3 = lerp(Rec709, P3, t);
|
||||||
|
|
||||||
return expandedColorInP3;
|
return expandedColorInP3;
|
||||||
}
|
}
|
||||||
|
|
1714
Kits/ATGTK/d3dx12.h
1714
Kits/ATGTK/d3dx12.h
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1483,7 +1483,7 @@ X3DAUDIO_HANDLE& AudioEngine::Get3DHandle() const noexcept
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma comment(lib,"runtimeobject.lib")
|
#pragma comment(lib,"runtimeobject.lib")
|
||||||
#pragma warning(push)
|
#pragma warning(push)
|
||||||
#pragma warning(disable: 4471 5204 5256)
|
#pragma warning(disable: 4471 5204 5256 6553)
|
||||||
#endif
|
#endif
|
||||||
#ifdef __clang__
|
#ifdef __clang__
|
||||||
#pragma clang diagnostic ignored "-Wnonportable-system-include-path"
|
#pragma clang diagnostic ignored "-Wnonportable-system-include-path"
|
||||||
|
|
|
@ -644,12 +644,12 @@ void DirectX::CreateXMA2(
|
||||||
throw std::invalid_argument("XMA2WAVEFORMATEX");
|
throw std::invalid_argument("XMA2WAVEFORMATEX");
|
||||||
}
|
}
|
||||||
|
|
||||||
int blockAlign = (channels * XMA_OUTPUT_SAMPLE_BITS) / 8;
|
unsigned int blockAlign = (static_cast<unsigned int>(channels) * XMA_OUTPUT_SAMPLE_BITS) / 8u;
|
||||||
|
|
||||||
wfx->wFormatTag = WAVE_FORMAT_XMA2;
|
wfx->wFormatTag = WAVE_FORMAT_XMA2;
|
||||||
wfx->nChannels = static_cast<WORD>(channels);
|
wfx->nChannels = static_cast<WORD>(channels);
|
||||||
wfx->nSamplesPerSec = static_cast<WORD>(sampleRate);
|
wfx->nSamplesPerSec = static_cast<WORD>(sampleRate);
|
||||||
wfx->nAvgBytesPerSec = static_cast<DWORD>(blockAlign * sampleRate);
|
wfx->nAvgBytesPerSec = static_cast<DWORD>(blockAlign * static_cast<unsigned int>(sampleRate));
|
||||||
wfx->nBlockAlign = static_cast<WORD>(blockAlign);
|
wfx->nBlockAlign = static_cast<WORD>(blockAlign);
|
||||||
wfx->wBitsPerSample = XMA_OUTPUT_SAMPLE_BITS;
|
wfx->wBitsPerSample = XMA_OUTPUT_SAMPLE_BITS;
|
||||||
wfx->cbSize = sizeof(XMA2WAVEFORMATEX) - sizeof(WAVEFORMATEX);
|
wfx->cbSize = sizeof(XMA2WAVEFORMATEX) - sizeof(WAVEFORMATEX);
|
||||||
|
|
|
@ -73,7 +73,6 @@ namespace DirectX
|
||||||
size_t count,
|
size_t count,
|
||||||
size_t stride,
|
size_t stride,
|
||||||
_COM_Outptr_ ID3D12Resource** pBuffer,
|
_COM_Outptr_ ID3D12Resource** pBuffer,
|
||||||
D3D12_RESOURCE_STATES initialState = D3D12_RESOURCE_STATE_GENERIC_READ,
|
|
||||||
D3D12_RESOURCE_FLAGS resFlags = D3D12_RESOURCE_FLAG_NONE) noexcept;
|
D3D12_RESOURCE_FLAGS resFlags = D3D12_RESOURCE_FLAG_NONE) noexcept;
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
@ -81,21 +80,19 @@ namespace DirectX
|
||||||
_In_reads_(count) T const* data,
|
_In_reads_(count) T const* data,
|
||||||
size_t count,
|
size_t count,
|
||||||
_COM_Outptr_ ID3D12Resource** pBuffer,
|
_COM_Outptr_ ID3D12Resource** pBuffer,
|
||||||
D3D12_RESOURCE_STATES initialState = D3D12_RESOURCE_STATE_GENERIC_READ,
|
|
||||||
D3D12_RESOURCE_FLAGS resFlags = D3D12_RESOURCE_FLAG_NONE) noexcept
|
D3D12_RESOURCE_FLAGS resFlags = D3D12_RESOURCE_FLAG_NONE) noexcept
|
||||||
{
|
{
|
||||||
return CreateUploadBuffer(device, data, count, sizeof(T), pBuffer, initialState, resFlags);
|
return CreateUploadBuffer(device, data, count, sizeof(T), pBuffer, resFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
HRESULT CreateUploadBuffer(_In_ ID3D12Device* device,
|
HRESULT CreateUploadBuffer(_In_ ID3D12Device* device,
|
||||||
T const& data,
|
T const& data,
|
||||||
_COM_Outptr_ ID3D12Resource** pBuffer,
|
_COM_Outptr_ ID3D12Resource** pBuffer,
|
||||||
D3D12_RESOURCE_STATES initialState = D3D12_RESOURCE_STATE_GENERIC_READ,
|
|
||||||
D3D12_RESOURCE_FLAGS resFlags = D3D12_RESOURCE_FLAG_NONE) noexcept
|
D3D12_RESOURCE_FLAGS resFlags = D3D12_RESOURCE_FLAG_NONE) noexcept
|
||||||
{
|
{
|
||||||
return CreateUploadBuffer(device, data.data(), data.size(), sizeof(typename T::value_type),
|
return CreateUploadBuffer(device, data.data(), data.size(), sizeof(typename T::value_type),
|
||||||
pBuffer, initialState, resFlags);
|
pBuffer, resFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Helpers for creating texture from memory arrays.
|
// Helpers for creating texture from memory arrays.
|
||||||
|
|
|
@ -6,7 +6,7 @@ http://go.microsoft.com/fwlink/?LinkID=615561
|
||||||
|
|
||||||
Copyright (c) Microsoft Corporation.
|
Copyright (c) Microsoft Corporation.
|
||||||
|
|
||||||
**February 21, 2024**
|
**June 4, 2024**
|
||||||
|
|
||||||
This package contains the "DirectX Tool Kit", a collection of helper classes for writing Direct3D 12 C++ code for Universal Windows Platform (UWP) apps for Windows 11 and Windows 10, game titles for Xbox Series X\|S and Xbox One, and Win32 desktop applications for Windows 11 and Windows 10.
|
This package contains the "DirectX Tool Kit", a collection of helper classes for writing Direct3D 12 C++ code for Universal Windows Platform (UWP) apps for Windows 11 and Windows 10, game titles for Xbox Series X\|S and Xbox One, and Win32 desktop applications for Windows 11 and Windows 10.
|
||||||
|
|
||||||
|
@ -84,11 +84,17 @@ For the latest version of DirectXTK12, bug reports, etc. please visit the projec
|
||||||
|
|
||||||
## Release Notes
|
## Release Notes
|
||||||
|
|
||||||
|
FOR SECURITY ADVISORIES, see [GitHub](https://github.com/microsoft/DirectXTK12/security/advisories).
|
||||||
|
|
||||||
|
For a full change history, see [CHANGELOG.md](https://github.com/microsoft/DirectXTK12/blob/main/CHANGELOG.md).
|
||||||
|
|
||||||
|
* In the June 2024 release, the defaulted parameter `initialState` for the ``CreateUploadBuffer`` function in *BufferHelpers* was removed. Per the DirectX 12 validation layer, the only valid initial state for an upload buffer is ``D3D12_RESOURCE_STATE_GENERIC_READ``.
|
||||||
|
|
||||||
* Starting with the February 2023 release, the Mouse class implementation of relative mouse movement was updated to accumulate changes between calls to ``GetState``. By default, each time you call ``GetState`` the deltas are reset which works for scenarios where you use relative movement but only call the method once per frame. If you call it more than once per frame, then add an explicit call to ``EndOfInputFrame`` to use an explicit reset model instead.
|
* Starting with the February 2023 release, the Mouse class implementation of relative mouse movement was updated to accumulate changes between calls to ``GetState``. By default, each time you call ``GetState`` the deltas are reset which works for scenarios where you use relative movement but only call the method once per frame. If you call it more than once per frame, then add an explicit call to ``EndOfInputFrame`` to use an explicit reset model instead.
|
||||||
|
|
||||||
* As of the September 2022 release, the library makes use of C++11 inline namespaces for differing types that have the same names in the DirectX 11 and DirectX 12 version of the *DirectX Tool Kit*. This provides a link-unique name such as ``DirectX::DX12::SpriteBatch`` that will appear in linker output messages. In most use cases, however, there is no need to add explicit ``DX12`` namespace resolution in client code.
|
* As of the September 2022 release, the library makes use of C++11 inline namespaces for differing types that have the same names in the DirectX 11 and DirectX 12 version of the *DirectX Tool Kit*. This provides a link-unique name such as ``DirectX::DX12::SpriteBatch`` that will appear in linker output messages. In most use cases, however, there is no need to add explicit ``DX12`` namespace resolution in client code.
|
||||||
|
|
||||||
* In the June 2021 release or later, the VS 2019 projects of this library build the HLSL shaders with Shader Model 6 via DXC. Since the NuGet still builds using VS 2017, the build-in shaders in that version are currently Shader Model 5.1. See [this wiki page](https://github.com/microsoft/DirectXTK12/wiki/Shader-Model-6) for more information. The Microsoft GDK projects always use Shader Model 6.
|
* Starting with the June 2021 release, this library builds the HLSL shaders with Shader Model 6 via DXC. See [this wiki page](https://github.com/microsoft/DirectXTK12/wiki/Shader-Model-6) for more information. The Microsoft GDK projects have always used Shader Model 6.
|
||||||
|
|
||||||
* Starting with the June 2020 release, this library makes use of [typed enum bitmask flags](https://walbourn.github.io/modern-c++-bitmask-types/) per the recommendation of the _C++ Standard_ section *17.5.2.1.3 Bitmask types*. This may have *breaking change* impacts to client code:
|
* Starting with the June 2020 release, this library makes use of [typed enum bitmask flags](https://walbourn.github.io/modern-c++-bitmask-types/) per the recommendation of the _C++ Standard_ section *17.5.2.1.3 Bitmask types*. This may have *breaking change* impacts to client code:
|
||||||
|
|
||||||
|
@ -114,6 +120,8 @@ This project welcomes contributions and suggestions. Most contributions require
|
||||||
|
|
||||||
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
|
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
|
||||||
|
|
||||||
|
Tests for new features should also be submitted as a PR to the [Test Suite](https://github.com/walbourn/directxtk12test/wiki) repository.
|
||||||
|
|
||||||
## Code of Conduct
|
## Code of Conduct
|
||||||
|
|
||||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more informatsion see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more informatsion see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||||
|
|
|
@ -140,7 +140,6 @@ HRESULT DirectX::CreateUploadBuffer(
|
||||||
size_t count,
|
size_t count,
|
||||||
size_t stride,
|
size_t stride,
|
||||||
ID3D12Resource** pBuffer,
|
ID3D12Resource** pBuffer,
|
||||||
D3D12_RESOURCE_STATES initialState,
|
|
||||||
D3D12_RESOURCE_FLAGS resFlags) noexcept
|
D3D12_RESOURCE_FLAGS resFlags) noexcept
|
||||||
{
|
{
|
||||||
if (!pBuffer)
|
if (!pBuffer)
|
||||||
|
@ -170,7 +169,7 @@ HRESULT DirectX::CreateUploadBuffer(
|
||||||
&heapProperties,
|
&heapProperties,
|
||||||
D3D12_HEAP_FLAG_NONE,
|
D3D12_HEAP_FLAG_NONE,
|
||||||
&desc,
|
&desc,
|
||||||
initialState,
|
D3D12_RESOURCE_STATE_GENERIC_READ,
|
||||||
nullptr,
|
nullptr,
|
||||||
IID_GRAPHICS_PPV_ARGS(res.GetAddressOf()));
|
IID_GRAPHICS_PPV_ARGS(res.GetAddressOf()));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
|
|
@ -422,7 +422,7 @@ bool GamePad::GetDevice(int player, _Outptr_ IGameInputDevice * *device) noexcep
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(push)
|
#pragma warning(push)
|
||||||
#pragma warning(disable : 4471 5204 5256)
|
#pragma warning(disable : 4471 5204 5256 6553)
|
||||||
#endif
|
#endif
|
||||||
#include <windows.gaming.input.h>
|
#include <windows.gaming.input.h>
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
|
|
@ -443,7 +443,7 @@ namespace DirectX
|
||||||
{
|
{
|
||||||
inline namespace DX12
|
inline namespace DX12
|
||||||
{
|
{
|
||||||
namespace Internal
|
namespace ToolKitInternal
|
||||||
{
|
{
|
||||||
extern IWICImagingFactory2* GetWIC() noexcept;
|
extern IWICImagingFactory2* GetWIC() noexcept;
|
||||||
}
|
}
|
||||||
|
@ -462,7 +462,7 @@ HRESULT DirectX::SaveWICTextureToFile(
|
||||||
std::function<void(IPropertyBag2*)> setCustomProps,
|
std::function<void(IPropertyBag2*)> setCustomProps,
|
||||||
bool forceSRGB)
|
bool forceSRGB)
|
||||||
{
|
{
|
||||||
using namespace DirectX::DX12::Internal;
|
using namespace DirectX::DX12::ToolKitInternal;
|
||||||
|
|
||||||
if (!fileName)
|
if (!fileName)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
|
@ -18,7 +18,7 @@ exit /b
|
||||||
|
|
||||||
:continuexbox
|
:continuexbox
|
||||||
set XBOXPREFIX=XboxOne
|
set XBOXPREFIX=XboxOne
|
||||||
set XBOXOPTS=/D__XBOX_DISABLE_SHADER_NAME_EMPLACEMENT
|
set XBOXOPTS=/D__XBOX_DISABLE_SHADER_NAME_EMPLACEMENT /D__XBOX_PER_THREAD_SCRATCH_SIZE_LIMIT_IN_BYTES=0
|
||||||
if NOT %2.==noprecompile. goto skipnoprecompile
|
if NOT %2.==noprecompile. goto skipnoprecompile
|
||||||
set XBOXOPTS=%XBOXOPTS% /D__XBOX_DISABLE_PRECOMPILE=1
|
set XBOXOPTS=%XBOXOPTS% /D__XBOX_DISABLE_PRECOMPILE=1
|
||||||
:skipnoprecompile
|
:skipnoprecompile
|
||||||
|
@ -34,6 +34,7 @@ if not exist %XBOXFXC% goto needxdk
|
||||||
goto continue
|
goto continue
|
||||||
|
|
||||||
:continuegxdk
|
:continuegxdk
|
||||||
|
set XBOXOPTS=/D__XBOX_PER_THREAD_SCRATCH_SIZE_LIMIT_IN_BYTES=0
|
||||||
if %2.==scarlett. (
|
if %2.==scarlett. (
|
||||||
set XBOXPREFIX=XboxGamingScarlett
|
set XBOXPREFIX=XboxGamingScarlett
|
||||||
set XBOXDXC="%GameDKLatest%\GXDK\bin\Scarlett\DXC.exe"
|
set XBOXDXC="%GameDKLatest%\GXDK\bin\Scarlett\DXC.exe"
|
||||||
|
@ -334,14 +335,14 @@ echo %fxc%
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
:CompileShadergxdk
|
:CompileShadergxdk
|
||||||
set dxc=%XBOXDXC% "%1.fx" %FXCOPTS% -HV 2021 /T%2_6_0 /E%3 "/Fh%CompileShadersOutput%\%XBOXPREFIX%%1_%3.inc" "/Fd%CompileShadersOutput%\%XBOXPREFIX%%1_%3.pdb" /Vn%1_%3
|
set dxc=%XBOXDXC% "%1.fx" %FXCOPTS% -HV 2021 /T%2_6_0 %XBOXOPTS% /E%3 "/Fh%CompileShadersOutput%\%XBOXPREFIX%%1_%3.inc" "/Fd%CompileShadersOutput%\%XBOXPREFIX%%1_%3.pdb" /Vn%1_%3
|
||||||
echo.
|
echo.
|
||||||
echo %dxc%
|
echo %dxc%
|
||||||
%dxc% || set error=1
|
%dxc% || set error=1
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
:CompileComputeShadergxdk
|
:CompileComputeShadergxdk
|
||||||
set dxc=%XBOXDXC% "%1.hlsl" %FXCOPTS% -HV 2021 /Tcs_6_0 /E%2 "/Fh%CompileShadersOutput%\%XBOXPREFIX%%1_%2.inc" "/Fd%CompileShadersOutput%\%XBOXPREFIX%%1_%2.pdb" /Vn%1_%2
|
set dxc=%XBOXDXC% "%1.hlsl" %FXCOPTS% -HV 2021 /Tcs_6_0 %XBOXOPTS% /E%2 "/Fh%CompileShadersOutput%\%XBOXPREFIX%%1_%2.inc" "/Fd%CompileShadersOutput%\%XBOXPREFIX%%1_%2.pdb" /Vn%1_%2
|
||||||
echo.
|
echo.
|
||||||
echo %dxc%
|
echo %dxc%
|
||||||
%dxc% || set error=1
|
%dxc% || set error=1
|
||||||
|
|
|
@ -164,7 +164,7 @@ namespace DirectX
|
||||||
{
|
{
|
||||||
inline namespace DX12
|
inline namespace DX12
|
||||||
{
|
{
|
||||||
namespace Internal
|
namespace ToolKitInternal
|
||||||
{
|
{
|
||||||
IWICImagingFactory2* GetWIC() noexcept;
|
IWICImagingFactory2* GetWIC() noexcept;
|
||||||
// Also used by ScreenGrab
|
// Also used by ScreenGrab
|
||||||
|
@ -172,7 +172,7 @@ namespace DirectX
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IWICImagingFactory2* DirectX::DX12::Internal::GetWIC() noexcept
|
IWICImagingFactory2* DirectX::DX12::ToolKitInternal::GetWIC() noexcept
|
||||||
{
|
{
|
||||||
static INIT_ONCE s_initOnce = INIT_ONCE_STATIC_INIT;
|
static INIT_ONCE s_initOnce = INIT_ONCE_STATIC_INIT;
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ IWICImagingFactory2* DirectX::DX12::Internal::GetWIC() noexcept
|
||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace DirectX::DX12::Internal;
|
using namespace DirectX::DX12::ToolKitInternal;
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
|
@ -289,18 +289,6 @@ namespace
|
||||||
|
|
||||||
auto xboxext = reinterpret_cast<const DDS_HEADER_XBOX*>(reinterpret_cast<const uint8_t*>(header) + sizeof(DDS_HEADER));
|
auto xboxext = reinterpret_cast<const DDS_HEADER_XBOX*>(reinterpret_cast<const uint8_t*>(header) + sizeof(DDS_HEADER));
|
||||||
|
|
||||||
#if !defined(NDEBUG) && defined(_GXDK_VER)
|
|
||||||
if (xboxext->xdkVer < _GXDK_VER)
|
|
||||||
{
|
|
||||||
OutputDebugStringA("WARNING: DDS XBOX file may be outdated and need regeneration\n");
|
|
||||||
}
|
|
||||||
#elif !defined(NDEBUG) && defined(_XDK_VER)
|
|
||||||
if (xboxext->xdkVer < _XDK_VER)
|
|
||||||
{
|
|
||||||
OutputDebugStringA("WARNING: DDS XBOX file may be outdated and need regeneration\n");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uint32_t arraySize = xboxext->arraySize;
|
uint32_t arraySize = xboxext->arraySize;
|
||||||
if (arraySize == 0)
|
if (arraySize == 0)
|
||||||
{
|
{
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -238,7 +238,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#pragma warning(push)
|
#pragma warning(push)
|
||||||
#pragma warning(disable : 4467 5038 5204 5220)
|
#pragma warning(disable : 4467 4986 5038 5204 5220 6101)
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
#include <wrl/client.h>
|
#include <wrl/client.h>
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -47,7 +47,7 @@ struct IWICImagingFactory;
|
||||||
struct IWICMetadataQueryReader;
|
struct IWICMetadataQueryReader;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DIRECTX_TEX_VERSION 203
|
#define DIRECTX_TEX_VERSION 204
|
||||||
|
|
||||||
|
|
||||||
namespace DirectX
|
namespace DirectX
|
||||||
|
|
|
@ -163,7 +163,8 @@ namespace
|
||||||
formatFound = true;
|
formatFound = true;
|
||||||
|
|
||||||
const size_t len = FindEOL(info, size);
|
const size_t len = FindEOL(info, size);
|
||||||
if (len == size_t(-1))
|
if (len == size_t(-1)
|
||||||
|
|| len < 1)
|
||||||
{
|
{
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
@ -207,7 +208,8 @@ namespace
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const size_t len = FindEOL(info, size);
|
const size_t len = FindEOL(info, size);
|
||||||
if (len == size_t(-1))
|
if (len == size_t(-1)
|
||||||
|
|| len < 1)
|
||||||
{
|
{
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ namespace
|
||||||
_In_ IWICBitmap* src,
|
_In_ IWICBitmap* src,
|
||||||
_In_ TEX_FILTER_FLAGS filter,
|
_In_ TEX_FILTER_FLAGS filter,
|
||||||
_In_ const WICPixelFormatGUID& desiredPixelFormat,
|
_In_ const WICPixelFormatGUID& desiredPixelFormat,
|
||||||
_COM_Outptr_ IWICBitmap** dest) noexcept
|
__RPC__deref_out_opt /* needed to match WIC annotation */ IWICBitmap** dest) noexcept
|
||||||
{
|
{
|
||||||
if (!dest)
|
if (!dest)
|
||||||
return E_POINTER;
|
return E_POINTER;
|
||||||
|
|
|
@ -27,6 +27,10 @@ static_assert(WIN10_DXGI_FORMAT_V208 == DXGI_FORMAT_V208, "Windows SDK mismatch
|
||||||
static_assert(WIN10_DXGI_FORMAT_V408 == DXGI_FORMAT_V408, "Windows SDK mismatch detected");
|
static_assert(WIN10_DXGI_FORMAT_V408 == DXGI_FORMAT_V408, "Windows SDK mismatch detected");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(NTDDI_WIN11_GE) && !defined(_GAMING_XBOX)
|
||||||
|
static_assert(WIN11_DXGI_FORMAT_A4B4G4R4_UNORM == DXGI_FORMAT_A4B4G4R4_UNORM, "Windows SDK mismatch detected");
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace DirectX;
|
using namespace DirectX;
|
||||||
using Microsoft::WRL::ComPtr;
|
using Microsoft::WRL::ComPtr;
|
||||||
|
|
||||||
|
|
|
@ -128,18 +128,6 @@ namespace
|
||||||
auto xboxext = reinterpret_cast<const DDS_HEADER_XBOX*>(
|
auto xboxext = reinterpret_cast<const DDS_HEADER_XBOX*>(
|
||||||
reinterpret_cast<const uint8_t*>(pSource) + sizeof(uint32_t) + sizeof(DDS_HEADER));
|
reinterpret_cast<const uint8_t*>(pSource) + sizeof(uint32_t) + sizeof(DDS_HEADER));
|
||||||
|
|
||||||
#ifdef _GXDK_VER
|
|
||||||
if (xboxext->xdkVer < _GXDK_VER)
|
|
||||||
{
|
|
||||||
OutputDebugStringA("WARNING: DDS XBOX file may be outdated and need regeneration\n");
|
|
||||||
}
|
|
||||||
#elif defined(_XDK_VER)
|
|
||||||
if (xboxext->xdkVer < _XDK_VER)
|
|
||||||
{
|
|
||||||
OutputDebugStringA("WARNING: DDS XBOX file may be outdated and need regeneration\n");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
metadata.arraySize = xboxext->arraySize;
|
metadata.arraySize = xboxext->arraySize;
|
||||||
if (metadata.arraySize == 0)
|
if (metadata.arraySize == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,7 @@ http://go.microsoft.com/fwlink/?LinkId=248926
|
||||||
|
|
||||||
Copyright (c) Microsoft Corporation.
|
Copyright (c) Microsoft Corporation.
|
||||||
|
|
||||||
**March 6, 2024**
|
**June 4, 2024**
|
||||||
|
|
||||||
This package contains DirectXTex, a shared source library for reading and writing ``.DDS`` files, and performing various texture content processing operations including resizing, format conversion, mip-map generation, block compression for Direct3D runtime texture resources, and height-map to normal-map conversion. This library makes use of the Windows Image Component (WIC) APIs. It also includes ``.TGA`` and ``.HDR`` readers and writers since these image file formats are commonly used for texture content processing pipelines, but are not currently supported by a built-in WIC codec.
|
This package contains DirectXTex, a shared source library for reading and writing ``.DDS`` files, and performing various texture content processing operations including resizing, format conversion, mip-map generation, block compression for Direct3D runtime texture resources, and height-map to normal-map conversion. This library makes use of the Windows Image Component (WIC) APIs. It also includes ``.TGA`` and ``.HDR`` readers and writers since these image file formats are commonly used for texture content processing pipelines, but are not currently supported by a built-in WIC codec.
|
||||||
|
|
||||||
|
@ -76,6 +76,10 @@ For the latest version of DirectXTex, bug reports, etc. please visit the project
|
||||||
|
|
||||||
## Release Notes
|
## Release Notes
|
||||||
|
|
||||||
|
FOR SECURITY ADVISORIES, see [GitHub](https://github.com/microsoft/DirectXTex/security/advisories).
|
||||||
|
|
||||||
|
For a full change history, see [CHANGELOG.md](https://github.com/microsoft/DirectXTex/blob/main/CHANGELOG.md).
|
||||||
|
|
||||||
* Starting with the July 2022 release, the ``bool forceSRGB`` parameter for the CreateTextureEx and CreateShaderResourceViewEx functions is now a ``CREATETEX_FLAGS`` typed enum bitmask flag parameter. This may have a *breaking change* impact to client code. Replace ``true`` with ``CREATETEX_FORCE_SRGB`` and ``false`` with ``CREATETEX_DEFAULT``.
|
* Starting with the July 2022 release, the ``bool forceSRGB`` parameter for the CreateTextureEx and CreateShaderResourceViewEx functions is now a ``CREATETEX_FLAGS`` typed enum bitmask flag parameter. This may have a *breaking change* impact to client code. Replace ``true`` with ``CREATETEX_FORCE_SRGB`` and ``false`` with ``CREATETEX_DEFAULT``.
|
||||||
|
|
||||||
* Starting with the June 2020 release, this library makes use of typed enum bitmask flags per the recommendation of the _C++ Standard_ section *17.5.2.1.3 Bitmask types*. This is consistent with Direct3D 12's use of the ``DEFINE_ENUM_FLAG_OPERATORS`` macro. This may have *breaking change* impacts to client code:
|
* Starting with the June 2020 release, this library makes use of typed enum bitmask flags per the recommendation of the _C++ Standard_ section *17.5.2.1.3 Bitmask types*. This is consistent with Direct3D 12's use of the ``DEFINE_ENUM_FLAG_OPERATORS`` macro. This may have *breaking change* impacts to client code:
|
||||||
|
@ -106,6 +110,8 @@ This project welcomes contributions and suggestions. Most contributions require
|
||||||
|
|
||||||
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
|
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
|
||||||
|
|
||||||
|
Tests for new features should also be submitted as a PR to the [Test Suite](https://github.com/walbourn/directxtextest/wiki) repository.
|
||||||
|
|
||||||
## Code of Conduct
|
## Code of Conduct
|
||||||
|
|
||||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -220,21 +220,21 @@ void LiveInfoHUD::Render(ID3D12GraphicsCommandList *commandList)
|
||||||
DirectX::XMMatrixAffineTransformation2D(XMVectorSet(m_scaleWidth, m_scaleHeight, 0, 0), XMVectorZero(), 0.f, XMVectorZero())
|
DirectX::XMMatrixAffineTransformation2D(XMVectorSet(m_scaleWidth, m_scaleHeight, 0, 0), XMVectorZero(), 0.f, XMVectorZero())
|
||||||
);
|
);
|
||||||
|
|
||||||
m_titleFont->DrawString(m_batch.get(), m_sampleTitle.c_str(), XMFLOAT2(60.f, c_HeaderBarCoordinate), ATG::Colors::OffWhite, 0.0f);
|
m_titleFont->DrawString(m_batch.get(), m_sampleTitle.c_str(), XMFLOAT2(60.f, c_HeaderBarCoordinate), ATG::Colors::White, 0.0f);
|
||||||
|
|
||||||
m_boldFont->DrawString(m_batch.get(), "Sandbox Id:", XMFLOAT2(270.f, c_StatusBarCoordinate), ATG::Colors::OffWhite, 0.0f);
|
m_boldFont->DrawString(m_batch.get(), "Sandbox Id:", XMFLOAT2(270.f, c_StatusBarCoordinate), ATG::Colors::White, 0.0f);
|
||||||
m_smallFont->DrawString(m_batch.get(), m_sandboxId.c_str(), XMFLOAT2(410.f, c_StatusBarCoordinate), ATG::Colors::OffWhite, 0.0f);
|
m_smallFont->DrawString(m_batch.get(), m_sandboxId.c_str(), XMFLOAT2(410.f, c_StatusBarCoordinate), ATG::Colors::White, 0.0f);
|
||||||
|
|
||||||
m_boldFont->DrawString(m_batch.get(), "Title Id:", XMFLOAT2(590.f, c_StatusBarCoordinate), ATG::Colors::OffWhite, 0.0f);
|
m_boldFont->DrawString(m_batch.get(), "Title Id:", XMFLOAT2(590.f, c_StatusBarCoordinate), ATG::Colors::White, 0.0f);
|
||||||
m_smallFont->DrawString(m_batch.get(), m_titleId.c_str(), XMFLOAT2(680.f, c_StatusBarCoordinate), ATG::Colors::OffWhite, 0.0f);
|
m_smallFont->DrawString(m_batch.get(), m_titleId.c_str(), XMFLOAT2(680.f, c_StatusBarCoordinate), ATG::Colors::White, 0.0f);
|
||||||
|
|
||||||
m_boldFont->DrawString(m_batch.get(), "Service Config Id:", XMFLOAT2(950.f, c_StatusBarCoordinate), ATG::Colors::OffWhite, 0.0f);
|
m_boldFont->DrawString(m_batch.get(), "Service Config Id:", XMFLOAT2(950.f, c_StatusBarCoordinate), ATG::Colors::White, 0.0f);
|
||||||
m_smallFont->DrawString(m_batch.get(), m_serviceConfigId.c_str(), XMFLOAT2(1155.f, c_StatusBarCoordinate), ATG::Colors::OffWhite, 0.0f);
|
m_smallFont->DrawString(m_batch.get(), m_serviceConfigId.c_str(), XMFLOAT2(1155.f, c_StatusBarCoordinate), ATG::Colors::White, 0.0f);
|
||||||
|
|
||||||
auto pos = XMFLOAT2(1770.f, c_HeaderBarCoordinate + 26.0f);
|
auto pos = XMFLOAT2(1770.f, c_HeaderBarCoordinate + 26.0f);
|
||||||
pos.x -= XMVectorGetX(m_smallFont->MeasureString(m_gamerTag.c_str()));
|
pos.x -= XMVectorGetX(m_smallFont->MeasureString(m_gamerTag.c_str()));
|
||||||
|
|
||||||
m_smallFont->DrawString(m_batch.get(), m_gamerTag.c_str(), pos, ATG::Colors::OffWhite, 0.0f);
|
m_smallFont->DrawString(m_batch.get(), m_gamerTag.c_str(), pos, ATG::Colors::White, 0.0f);
|
||||||
|
|
||||||
static const RECT gamerPicRect = { 1780, c_GamerPicCoordinate, 1780 + 64, c_GamerPicCoordinate + 64 };
|
static const RECT gamerPicRect = { 1780, c_GamerPicCoordinate, 1780 + 64, c_GamerPicCoordinate + 64 };
|
||||||
|
|
||||||
|
|
|
@ -871,12 +871,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -469,12 +469,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -656,6 +656,7 @@ void Sample::CreateDeviceDependentResources()
|
||||||
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -582,12 +582,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -417,12 +417,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -245,6 +245,7 @@ void ParticleSystem::ReloadPipelineState(DX::DeviceResources& deviceResources)
|
||||||
psoDesc.DepthStencilState = CommonStates::DepthRead;
|
psoDesc.DepthStencilState = CommonStates::DepthRead;
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -181,7 +181,7 @@ void Sample::Update(DX::StepTimer const& timer)
|
||||||
m_bShowOnlyPaperWhite = false;
|
m_bShowOnlyPaperWhite = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto gamepad = m_gamePad->GetState(0);
|
auto gamepad = m_gamePad->GetState(DirectX::GamePad::c_MergedInput);
|
||||||
|
|
||||||
if (gamepad.IsConnected())
|
if (gamepad.IsConnected())
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,6 +56,7 @@ void DrawCullDataEffect::CreateDeviceResources(DeviceResources& deviceResources)
|
||||||
// Cone lines are drawn opaquely
|
// Cone lines are drawn opaquely
|
||||||
psoDesc.MS = { normalConeMs.data(), normalConeMs.size() };
|
psoDesc.MS = { normalConeMs.data(), normalConeMs.size() };
|
||||||
psoDesc.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT); // Opaque
|
psoDesc.BlendState = CD3DX12_BLEND_DESC(D3D12_DEFAULT); // Opaque
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
@ -81,6 +82,7 @@ void DrawCullDataEffect::CreateDeviceResources(DeviceResources& deviceResources)
|
||||||
|
|
||||||
psoDesc.MS = { boundingSphereMs.data(), boundingSphereMs.size() };
|
psoDesc.MS = { boundingSphereMs.data(), boundingSphereMs.size() };
|
||||||
psoDesc.BlendState = blendDesc;
|
psoDesc.BlendState = blendDesc;
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ void DrawFrustumEffect::CreateDeviceResources(DeviceResources& deviceResources)
|
||||||
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -809,6 +809,7 @@ void Sample::CreateDeviceDependentResources()
|
||||||
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -720,12 +720,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -590,6 +590,7 @@ void Sample::CreateDeviceDependentResources()
|
||||||
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -567,12 +567,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -48,6 +48,7 @@ void DrawFrustumEffect::CreateDeviceResources(DeviceResources& deviceResources,
|
||||||
psoDesc.DepthStencilState = commonStates.DepthDefault;
|
psoDesc.DepthStencilState = commonStates.DepthDefault;
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -604,6 +604,7 @@ void Sample::CreateDeviceDependentResources()
|
||||||
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -545,12 +545,12 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -687,7 +687,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="ATGEnsureDir" BeforeTargets="PrepareForBuild">
|
<Target Name="ATGEnsureDir" BeforeTargets="PrepareForBuild">
|
||||||
<MakeDir Directories="$(IntDir)Compiled" />
|
<MakeDir Directories="$(IntDir)Compiled" />
|
||||||
|
@ -696,6 +696,6 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props')" />
|
<Import Project="..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props')" />
|
||||||
<Import Project="..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props')" />
|
<Import Project="..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props')" />
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Gaming.Xbox.Scarlett.x64">
|
<ProjectConfiguration Include="Debug|Gaming.Xbox.Scarlett.x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
|
@ -127,9 +127,9 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
<Import Project="..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
<Import Project="..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets')" />
|
<Import Project="..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets')" />
|
||||||
<Import Project="..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets')" />
|
<Import Project="..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets" Condition="Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.XboxOne.x64'" Label="PropertySheets">
|
||||||
|
@ -806,10 +806,10 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props'))" />
|
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props'))" />
|
||||||
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets'))" />
|
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets'))" />
|
||||||
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props'))" />
|
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props'))" />
|
||||||
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets'))" />
|
<Error Condition="!Exists('..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Microsoft.Direct3D.D3D12" version="1.613.0" targetFramework="native" />
|
<package id="Microsoft.Direct3D.D3D12" version="1.613.3" targetFramework="native" />
|
||||||
<package id="Microsoft.Direct3D.DXC" version="1.8.2403.18" targetFramework="native" />
|
<package id="Microsoft.Direct3D.DXC" version="1.8.2403.24" targetFramework="native" />
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props" Condition="Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props')" />
|
<Import Project="..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props" Condition="Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props')" />
|
||||||
<Import Project="..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props" Condition="Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props')" />
|
<Import Project="..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props" Condition="Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props')" />
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Debug|Gaming.Xbox.Scarlett.x64">
|
<ProjectConfiguration Include="Debug|Gaming.Xbox.Scarlett.x64">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
|
@ -600,9 +600,9 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
<Import Project="..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets" Condition="Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets')" />
|
<Import Project="..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets" Condition="Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets')" />
|
||||||
<Import Project="..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets" Condition="Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets')" />
|
<Import Project="..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets" Condition="Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureGDK" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch('$(Platform)', 'Gaming\..+\.x64'))">
|
<Target Name="EnsureGDK" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch('$(Platform)', 'Gaming\..+\.x64'))">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -615,10 +615,10 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.props'))" />
|
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.props'))" />
|
||||||
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.D3D12.1.613.0\build\native\Microsoft.Direct3D.D3D12.targets'))" />
|
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.D3D12.1.613.3\build\native\Microsoft.Direct3D.D3D12.targets'))" />
|
||||||
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.props'))" />
|
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.props'))" />
|
||||||
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.18\build\native\Microsoft.Direct3D.DXC.targets'))" />
|
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.DXC.1.8.2403.24\build\native\Microsoft.Direct3D.DXC.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Microsoft.Direct3D.D3D12" version="1.613.0" targetFramework="native" />
|
<package id="Microsoft.Direct3D.D3D12" version="1.613.3" targetFramework="native" />
|
||||||
<package id="Microsoft.Direct3D.DXC" version="1.8.2403.18" targetFramework="native" />
|
<package id="Microsoft.Direct3D.DXC" version="1.8.2403.24" targetFramework="native" />
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -290,6 +290,7 @@ void Sample::CreateDeviceDependentResources()
|
||||||
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
psoDesc.DepthStencilState = CD3DX12_DEPTH_STENCIL_DESC(D3D12_DEFAULT); // Less-equal depth test w/ writes; no stencil
|
||||||
psoDesc.SampleMask = UINT_MAX;
|
psoDesc.SampleMask = UINT_MAX;
|
||||||
psoDesc.SampleDesc = DefaultSampleDesc();
|
psoDesc.SampleDesc = DefaultSampleDesc();
|
||||||
|
psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
|
||||||
|
|
||||||
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
auto meshStreamDesc = CD3DX12_PIPELINE_MESH_STATE_STREAM(psoDesc);
|
||||||
|
|
||||||
|
|
|
@ -402,7 +402,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="EnsureGDK" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch('$(Platform)', 'Gaming\..+\.x64'))">
|
<Target Name="EnsureGDK" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch('$(Platform)', 'Gaming\..+\.x64'))">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -415,6 +415,6 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -245,7 +245,7 @@ makepkg.exe localize /d "$(OutDir)" /pd "$(OutDir)" /gc "%(Identity)"</Command>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" />
|
<Import Project="..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets" Condition="Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild">
|
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild">
|
||||||
<Error Condition="'$(GameDK)'==''" Text="GameDK property is required" />
|
<Error Condition="'$(GameDK)'==''" Text="GameDK property is required" />
|
||||||
|
@ -258,6 +258,6 @@ makepkg.exe localize /d "$(OutDir)" /pd "$(OutDir)" /gc "%(Identity)"</Command>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.231030001\build\WinPixEventRuntime.targets'))" />
|
<Error Condition="!Exists('..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WinPixEventRuntime.1.0.240308001\build\WinPixEventRuntime.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="WinPixEventRuntime" version="1.0.231030001" targetFramework="native" />
|
<package id="WinPixEventRuntime" version="1.0.240308001" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
|
@ -196,9 +196,6 @@ void Sample::Update(DX::StepTimer const& timer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto mouse = m_mouse->GetState();
|
|
||||||
mouse;
|
|
||||||
|
|
||||||
m_liveInfoHUD->Update(m_deviceResources->GetCommandQueue());
|
m_liveInfoHUD->Update(m_deviceResources->GetCommandQueue());
|
||||||
|
|
||||||
m_inputState.Update(elapsedTime, *m_gamePad, *m_keyboard, *m_mouse);
|
m_inputState.Update(elapsedTime, *m_gamePad, *m_keyboard, *m_mouse);
|
||||||
|
|
|
@ -198,9 +198,6 @@ void Sample::Update(DX::StepTimer const& timer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto mouse = m_mouse->GetState();
|
|
||||||
mouse;
|
|
||||||
|
|
||||||
m_liveInfoHUD->Update(m_deviceResources->GetCommandQueue());
|
m_liveInfoHUD->Update(m_deviceResources->GetCommandQueue());
|
||||||
|
|
||||||
m_inputState.Update(elapsedTime, *m_gamePad, *m_keyboard, *m_mouse);
|
m_inputState.Update(elapsedTime, *m_gamePad, *m_keyboard, *m_mouse);
|
||||||
|
|
|
@ -233,7 +233,7 @@
|
||||||
"id": "MenuFocusedButtonStyle",
|
"id": "MenuFocusedButtonStyle",
|
||||||
"inheritsFromId": "BasicButtonStyle",
|
"inheritsFromId": "BasicButtonStyle",
|
||||||
"classId": "SpriteStyle",
|
"classId": "SpriteStyle",
|
||||||
"color": [ 255, 255, 0, 1.0 ]
|
"color": [ 136, 0, 21, 1.0 ]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "MenuHoveredButtonStyle",
|
"id": "MenuHoveredButtonStyle",
|
||||||
|
|
|
@ -220,7 +220,7 @@ void Sample::RefreshUserList()
|
||||||
auto profilePicsToGet = std::vector<uint64_t>();
|
auto profilePicsToGet = std::vector<uint64_t>();
|
||||||
for (unsigned x = 0; x < c_listSize; x++)
|
for (unsigned x = 0; x < c_listSize; x++)
|
||||||
{
|
{
|
||||||
if (x < static_cast<int>(count))
|
if (x < count)
|
||||||
{
|
{
|
||||||
auto userXuid = m_userList[x]->xboxUserId;
|
auto userXuid = m_userList[x]->xboxUserId;
|
||||||
users.push_back(std::make_shared<UserListItem>(m_userList[x]));
|
users.push_back(std::make_shared<UserListItem>(m_userList[x]));
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
// GlyphCacheCombo.cpp
|
// ModernGamerTag.cpp
|
||||||
//
|
//
|
||||||
// Advanced Technology Group (ATG)
|
// Advanced Technology Group (ATG)
|
||||||
// Copyright (C) Microsoft Corporation. All rights reserved.
|
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
// GlyphCacheCombo.h
|
// ModernGamerTag.h
|
||||||
//
|
//
|
||||||
// Advanced Technology Group (ATG)
|
// Advanced Technology Group (ATG)
|
||||||
// Copyright (C) Microsoft Corporation. All rights reserved.
|
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
<TargetRuntime>Native</TargetRuntime>
|
<TargetRuntime>Native</TargetRuntime>
|
||||||
<GDKExtLibNames>Xbox.Services.API.C</GDKExtLibNames>
|
<GDKExtLibNames>Xbox.Services.API.C</GDKExtLibNames>
|
||||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Condition="Exists($(ATGBuildProps))" Project="$(ATGBuildProps)" />
|
<Import Condition="Exists($(ATGBuildProps))" Project="$(ATGBuildProps)" />
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
@ -88,7 +89,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
<Import Project="..\..\packages\Microsoft.Direct3D.DirectStorage.1.1.1\build\native\targets\Microsoft.Direct3D.DirectStorage.targets" Condition="Exists('..\..\packages\Microsoft.Direct3D.DirectStorage.1.1.1\build\native\targets\Microsoft.Direct3D.DirectStorage.targets')" />
|
<Import Project="..\..\packages\Microsoft.Direct3D.DirectStorage.1.2.2\build\native\targets\Microsoft.Direct3D.DirectStorage.targets" Condition="Exists('..\..\packages\Microsoft.Direct3D.DirectStorage.1.2.2\build\native\targets\Microsoft.Direct3D.DirectStorage.targets')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Xbox.Scarlett.x64'" Label="PropertySheets">
|
||||||
|
@ -538,6 +539,6 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.DirectStorage.1.1.1\build\native\targets\Microsoft.Direct3D.DirectStorage.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.DirectStorage.1.1.1\build\native\targets\Microsoft.Direct3D.DirectStorage.targets'))" />
|
<Error Condition="!Exists('..\..\packages\Microsoft.Direct3D.DirectStorage.1.2.2\build\native\targets\Microsoft.Direct3D.DirectStorage.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Direct3D.DirectStorage.1.2.2\build\native\targets\Microsoft.Direct3D.DirectStorage.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
|
@ -248,11 +248,11 @@
|
||||||
<None Include="..\..\..\Media\Fonts\SegoeUI_18.spritefont">
|
<None Include="..\..\..\Media\Fonts\SegoeUI_18.spritefont">
|
||||||
<Filter>Assets</Filter>
|
<Filter>Assets</Filter>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Readme.docx" />
|
|
||||||
<None Include="Readme_ja-JP.docx" />
|
|
||||||
<None Include="Readme_ko-KR.docx" />
|
|
||||||
<None Include="Readme_zh-CN.docx" />
|
|
||||||
<None Include="..\..\NuGet.config" />
|
<None Include="..\..\NuGet.config" />
|
||||||
|
<None Include="readme.md" />
|
||||||
|
<None Include="readme_ja-jp.md" />
|
||||||
|
<None Include="readme_ko-kr.md" />
|
||||||
|
<None Include="readme_zh-cn.md" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Microsoft.Direct3D.DirectStorage" version="1.1.1" targetFramework="native" />
|
<package id="Microsoft.Direct3D.DirectStorage" version="1.2.2" targetFramework="native" />
|
||||||
</packages>
|
</packages>
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -162,10 +162,8 @@ message("CRT Platform Toolset = ${CRTPlatformToolset}")
|
||||||
|
|
||||||
set(CppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.CRT")
|
set(CppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.CRT")
|
||||||
set(OpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.OpenMP")
|
set(OpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.OpenMP")
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
set(DebugCppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugCRT")
|
||||||
set(DebugCppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugCRT")
|
set(DebugOpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugOpenMP")
|
||||||
set(DebugOpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugOpenMP")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#--- Tools
|
#--- Tools
|
||||||
find_program(MAKEPKG_TOOL makepkg.exe
|
find_program(MAKEPKG_TOOL makepkg.exe
|
||||||
|
|
|
@ -162,10 +162,8 @@ message("CRT Platform Toolset = ${CRTPlatformToolset}")
|
||||||
|
|
||||||
set(CppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.CRT")
|
set(CppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.CRT")
|
||||||
set(OpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.OpenMP")
|
set(OpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.OpenMP")
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
set(DebugCppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugCRT")
|
||||||
set(DebugCppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugCRT")
|
set(DebugOpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugOpenMP")
|
||||||
set(DebugOpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugOpenMP")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#--- Tools
|
#--- Tools
|
||||||
find_program(MAKEPKG_TOOL makepkg.exe
|
find_program(MAKEPKG_TOOL makepkg.exe
|
||||||
|
|
|
@ -63,55 +63,70 @@ endif()
|
||||||
set(Console_GRDKExtLibRoot "${Console_SdkRoot}/${XdkEditionTarget}/GRDK/ExtensionLibraries")
|
set(Console_GRDKExtLibRoot "${Console_SdkRoot}/${XdkEditionTarget}/GRDK/ExtensionLibraries")
|
||||||
set(ExtensionPlatformToolset 142)
|
set(ExtensionPlatformToolset 142)
|
||||||
|
|
||||||
|
set(Console_GRDKExtIncludePath "DesignTime/CommonConfiguration/neutral/Include")
|
||||||
|
set(Console_GRDKExtLibPath "DesignTime/CommonConfiguration/neutral/Lib")
|
||||||
|
set(Console_GRDKExtDLLPath "Redist/CommonConfiguration/neutral")
|
||||||
|
|
||||||
# XCurl
|
# XCurl
|
||||||
add_library(Xbox::XCurl SHARED IMPORTED)
|
add_library(Xbox::XCurl SHARED IMPORTED)
|
||||||
set_target_properties(Xbox::XCurl PROPERTIES
|
set_target_properties(Xbox::XCurl PROPERTIES
|
||||||
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/Xbox.XCurl.API/Redist/CommonConfiguration/neutral/XCurl.dll"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/Xbox.XCurl.API/${Console_GRDKExtDLLPath}/XCurl.dll"
|
||||||
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/Xbox.XCurl.API/DesignTime/CommonConfiguration/neutral/lib/XCurl.lib"
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/Xbox.XCurl.API/${Console_GRDKExtLibPath}/XCurl.lib"
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/Xbox.XCurl.API/DesignTime/CommonConfiguration/neutral/Include")
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/Xbox.XCurl.API/${Console_GRDKExtIncludePath}")
|
||||||
|
|
||||||
# Xbox.Services.API.C (requires XCurl)
|
# Xbox.Services.API.C (requires XCurl)
|
||||||
add_library(Xbox::XSAPI STATIC IMPORTED)
|
add_library(Xbox::XSAPI STATIC IMPORTED)
|
||||||
set_target_properties(Xbox::XSAPI PROPERTIES
|
set_target_properties(Xbox::XSAPI PROPERTIES
|
||||||
IMPORTED_LOCATION_RELEASE "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/DesignTime/CommonConfiguration/Neutral/Lib/Release/v${ExtensionPlatformToolset}/Microsoft.Xbox.Services.${ExtensionPlatformToolset}.GDK.C.lib"
|
IMPORTED_LOCATION_RELEASE "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/${Console_GRDKExtLibPath}/Release/v${ExtensionPlatformToolset}/Microsoft.Xbox.Services.${ExtensionPlatformToolset}.GDK.C.lib"
|
||||||
IMPORTED_LOCATION_DEBUG "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/DesignTime/CommonConfiguration/Neutral/Lib/Debug/v${ExtensionPlatformToolset}/Microsoft.Xbox.Services.${ExtensionPlatformToolset}.GDK.C.lib"
|
IMPORTED_LOCATION_DEBUG "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/${Console_GRDKExtLibPath}/Debug/v${ExtensionPlatformToolset}/Microsoft.Xbox.Services.${ExtensionPlatformToolset}.GDK.C.lib"
|
||||||
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/DesignTime/CommonConfiguration/Neutral/Include"
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/${Console_GRDKExtIncludePath}"
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
||||||
|
|
||||||
add_library(Xbox::HTTPClient STATIC IMPORTED)
|
# Xbox::HTTPClient (prior to June 2024 was included as part of Xbox.Services.API.C)
|
||||||
set_target_properties(Xbox::HTTPClient PROPERTIES
|
if(XdkEditionTarget GREATER_EQUAL 240600)
|
||||||
IMPORTED_LOCATION_RELEASE "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/DesignTime/CommonConfiguration/Neutral/Lib/Release/v${ExtensionPlatformToolset}/libHttpClient.${ExtensionPlatformToolset}.GDK.C.lib"
|
add_library(Xbox::HTTPClient SHARED IMPORTED)
|
||||||
IMPORTED_LOCATION_DEBUG "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/DesignTime/CommonConfiguration/Neutral/Lib/Debug/v${ExtensionPlatformToolset}/libHttpClient.${ExtensionPlatformToolset}.GDK.C.lib"
|
set_target_properties(Xbox::HTTPClient PROPERTIES
|
||||||
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/Xbox.LibHttpClient/${Console_GRDKExtDLLPath}/libHttpClient.GDK.dll"
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/Xbox.LibHttpClient/${Console_GRDKExtLibPath}/libHttpClient.GDK.lib"
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/Xbox.LibHttpClient/${Console_GRDKExtIncludePath}")
|
||||||
|
else()
|
||||||
|
add_library(Xbox::HTTPClient STATIC IMPORTED)
|
||||||
|
set_target_properties(Xbox::HTTPClient PROPERTIES
|
||||||
|
IMPORTED_LOCATION_RELEASE "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/${Console_GRDKExtLibPath}/Release/v${ExtensionPlatformToolset}/libHttpClient.${ExtensionPlatformToolset}.GDK.C.lib"
|
||||||
|
IMPORTED_LOCATION_DEBUG "${Console_GRDKExtLibRoot}/Xbox.Services.API.C/${Console_GRDKExtLibPath}/Debug/v${ExtensionPlatformToolset}/libHttpClient.${ExtensionPlatformToolset}.GDK.C.lib"
|
||||||
|
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||||||
|
MAP_IMPORTED_CONFIG_MINSIZEREL Release
|
||||||
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(Xbox::XSAPI INTERFACE Xbox::HTTPClient Xbox::XCurl appnotify.lib winhttp.lib crypt32.lib)
|
target_link_libraries(Xbox::XSAPI INTERFACE Xbox::HTTPClient Xbox::XCurl appnotify.lib winhttp.lib crypt32.lib)
|
||||||
|
|
||||||
# GameChat2
|
# GameChat2
|
||||||
add_library(Xbox::GameChat2 SHARED IMPORTED)
|
add_library(Xbox::GameChat2 SHARED IMPORTED)
|
||||||
set_target_properties(Xbox::GameChat2 PROPERTIES
|
set_target_properties(Xbox::GameChat2 PROPERTIES
|
||||||
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/Xbox.Game.Chat.2.Cpp.API/Redist/CommonConfiguration/neutral/GameChat2.dll"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/Xbox.Game.Chat.2.Cpp.API/${Console_GRDKExtDLLPath}/GameChat2.dll"
|
||||||
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/Xbox.Game.Chat.2.Cpp.API/DesignTime/CommonConfiguration/neutral/lib/GameChat2.lib"
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/Xbox.Game.Chat.2.Cpp.API/${Console_GRDKExtLibPath}/GameChat2.lib"
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/Xbox.Game.Chat.2.Cpp.API/DesignTime/CommonConfiguration/neutral/Include")
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/Xbox.Game.Chat.2.Cpp.API/${Console_GRDKExtIncludePath}")
|
||||||
|
|
||||||
# PlayFab Multiplayer (requires XCurl)
|
# PlayFab Multiplayer (requires XCurl)
|
||||||
add_library(Xbox::PlayFabMultiplayer SHARED IMPORTED)
|
add_library(Xbox::PlayFabMultiplayer SHARED IMPORTED)
|
||||||
set_target_properties(Xbox::PlayFabMultiplayer PROPERTIES
|
set_target_properties(Xbox::PlayFabMultiplayer PROPERTIES
|
||||||
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Multiplayer.Cpp/Redist/CommonConfiguration/neutral/PlayFabMultiplayerGDK.dll"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Multiplayer.Cpp/${Console_GRDKExtDLLPath}/PlayFabMultiplayerGDK.dll"
|
||||||
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Multiplayer.Cpp/DesignTime/CommonConfiguration/neutral/Lib/PlayFabMultiplayerGDK.lib"
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Multiplayer.Cpp/${Console_GRDKExtLibPath}/PlayFabMultiplayerGDK.lib"
|
||||||
IMPORTED_LINK_DEPENDENT_LIBRARIES Xbox::XCurl
|
IMPORTED_LINK_DEPENDENT_LIBRARIES Xbox::XCurl
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.Multiplayer.Cpp/DesignTime/CommonConfiguration/neutral/Include")
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.Multiplayer.Cpp/${Console_GRDKExtIncludePath}")
|
||||||
|
|
||||||
target_link_libraries(Xbox::PlayFabMultiplayer INTERFACE Xbox::XCurl)
|
target_link_libraries(Xbox::PlayFabMultiplayer INTERFACE Xbox::XCurl)
|
||||||
|
|
||||||
|
@ -119,18 +134,18 @@ target_link_libraries(Xbox::PlayFabMultiplayer INTERFACE Xbox::XCurl)
|
||||||
if(XdkEditionTarget GREATER_EQUAL 230300)
|
if(XdkEditionTarget GREATER_EQUAL 230300)
|
||||||
add_library(Xbox::PlayFabServices SHARED IMPORTED)
|
add_library(Xbox::PlayFabServices SHARED IMPORTED)
|
||||||
set_target_properties(Xbox::PlayFabServices PROPERTIES
|
set_target_properties(Xbox::PlayFabServices PROPERTIES
|
||||||
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Services.C/Redist/CommonConfiguration/neutral/PlayFabServices.GDK.dll"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Services.C/${Console_GRDKExtDLLPath}/PlayFabServices.GDK.dll"
|
||||||
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Services.C/DesignTime/CommonConfiguration/neutral/Lib/PlayFabServices.GDK.lib"
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Services.C/${Console_GRDKExtLibPath}/PlayFabServices.GDK.lib"
|
||||||
IMPORTED_LINK_DEPENDENT_LIBRARIES Xbox::XCurl
|
IMPORTED_LINK_DEPENDENT_LIBRARIES Xbox::XCurl
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.Services.C/DesignTime/CommonConfiguration/neutral/Include"
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.Services.C/${Console_GRDKExtIncludePath}"
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
||||||
|
|
||||||
add_library(Xbox::PlayFabCore SHARED IMPORTED)
|
add_library(Xbox::PlayFabCore SHARED IMPORTED)
|
||||||
set_target_properties(Xbox::PlayFabCore PROPERTIES
|
set_target_properties(Xbox::PlayFabCore PROPERTIES
|
||||||
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Services.C/Redist/CommonConfiguration/neutral/PlayFabCore.GDK.dll"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Services.C/${Console_GRDKExtDLLPath}/PlayFabCore.GDK.dll"
|
||||||
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Services.C/DesignTime/CommonConfiguration/neutral/Lib/PlayFabCore.GDK.lib"
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Services.C/${Console_GRDKExtLibPath}/PlayFabCore.GDK.lib"
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX")
|
||||||
|
@ -141,21 +156,21 @@ endif()
|
||||||
# PlayFab Party
|
# PlayFab Party
|
||||||
add_library(Xbox::PlayFabParty SHARED IMPORTED)
|
add_library(Xbox::PlayFabParty SHARED IMPORTED)
|
||||||
set_target_properties(Xbox::PlayFabParty PROPERTIES
|
set_target_properties(Xbox::PlayFabParty PROPERTIES
|
||||||
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Party.Cpp/Redist/CommonConfiguration/neutral/Party.dll"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.Party.Cpp/${Console_GRDKExtDLLPath}/Party.dll"
|
||||||
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Party.Cpp/DesignTime/CommonConfiguration/neutral/Lib/Party.lib"
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.Party.Cpp/${Console_GRDKExtLibPath}/Party.lib"
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.Party.Cpp/DesignTime/CommonConfiguration/neutral/Include")
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.Party.Cpp/${Console_GRDKExtIncludePath}")
|
||||||
|
|
||||||
# PlayFab Party Xbox LIVE (requires PlayFab Party)
|
# PlayFab Party Xbox LIVE (requires PlayFab Party)
|
||||||
add_library(Xbox::PlayFabPartyLIVE SHARED IMPORTED)
|
add_library(Xbox::PlayFabPartyLIVE SHARED IMPORTED)
|
||||||
set_target_properties(Xbox::PlayFabPartyLIVE PROPERTIES
|
set_target_properties(Xbox::PlayFabPartyLIVE PROPERTIES
|
||||||
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.PartyXboxLive.Cpp/Redist/CommonConfiguration/neutral/PartyXboxLive.dll"
|
IMPORTED_LOCATION "${Console_GRDKExtLibRoot}/PlayFab.PartyXboxLive.Cpp/${Console_GRDKExtDLLPath}/PartyXboxLive.dll"
|
||||||
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.PartyXboxLive.Cpp/DesignTime/CommonConfiguration/neutral/Lib/PartyXboxLive.lib"
|
IMPORTED_IMPLIB "${Console_GRDKExtLibRoot}/PlayFab.PartyXboxLive.Cpp/${Console_GRDKExtLibPath}/PartyXboxLive.lib"
|
||||||
IMPORTED_LINK_DEPENDENT_LIBRARIES Xbox::PlayFabParty
|
IMPORTED_LINK_DEPENDENT_LIBRARIES Xbox::PlayFabParty
|
||||||
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
MAP_IMPORTED_CONFIG_MINSIZEREL ""
|
||||||
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
MAP_IMPORTED_CONFIG_RELWITHDEBINFO ""
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.PartyXboxLive.Cpp/DesignTime/CommonConfiguration/neutral/Include")
|
INTERFACE_INCLUDE_DIRECTORIES "${Console_GRDKExtLibRoot}/PlayFab.PartyXboxLive.Cpp/${Console_GRDKExtIncludePath}")
|
||||||
|
|
||||||
target_link_libraries(Xbox::PlayFabPartyLIVE INTERFACE Xbox::PlayFabParty)
|
target_link_libraries(Xbox::PlayFabPartyLIVE INTERFACE Xbox::PlayFabParty)
|
||||||
|
|
||||||
|
|
|
@ -175,10 +175,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
elseif(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
elseif(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
||||||
# /GL (Whole Program Optimization)
|
# /GL (Whole Program Optimization)
|
||||||
# /Gw (Optimize Global Data)
|
# /Gw (Optimize Global Data)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Gw)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Gw>)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:checkGwOdr)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Zc:checkGwOdr>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# /LTCG (Link-time Code Generation)
|
# /LTCG (Link-time Code Generation)
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
"hidden": true,
|
"hidden": true,
|
||||||
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"XdkEditionTarget": "231000",
|
"XdkEditionTarget": "240600",
|
||||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
|
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -138,10 +138,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
elseif(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
elseif(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
||||||
# /GL (Whole Program Optimization)
|
# /GL (Whole Program Optimization)
|
||||||
# /Gw (Optimize Global Data)
|
# /Gw (Optimize Global Data)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Gw)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Gw>)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:checkGwOdr)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Zc:checkGwOdr>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# /LTCG (Link-time Code Generation)
|
# /LTCG (Link-time Code Generation)
|
||||||
|
@ -192,7 +192,8 @@ add_custom_command(
|
||||||
$<TARGET_FILE_DIR:${PROJECT_NAME}>
|
$<TARGET_FILE_DIR:${PROJECT_NAME}>
|
||||||
)
|
)
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
|
if((CMAKE_BUILD_TYPE MATCHES "Debug") OR is_multi_config)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${PROJECT_NAME} POST_BUILD
|
TARGET ${PROJECT_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy
|
COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
"hidden": true,
|
"hidden": true,
|
||||||
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"XdkEditionTarget": "231000",
|
"XdkEditionTarget": "240600",
|
||||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
|
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -138,10 +138,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
elseif(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
elseif(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
||||||
# /GL (Whole Program Optimization)
|
# /GL (Whole Program Optimization)
|
||||||
# /Gw (Optimize Global Data)
|
# /Gw (Optimize Global Data)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Gw)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Gw>)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:checkGwOdr)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Zc:checkGwOdr>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# /LTCG (Link-time Code Generation)
|
# /LTCG (Link-time Code Generation)
|
||||||
|
@ -192,7 +192,8 @@ add_custom_command(
|
||||||
$<TARGET_FILE_DIR:${PROJECT_NAME}>
|
$<TARGET_FILE_DIR:${PROJECT_NAME}>
|
||||||
)
|
)
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
|
if((CMAKE_BUILD_TYPE MATCHES "Debug") OR is_multi_config)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${PROJECT_NAME} POST_BUILD
|
TARGET ${PROJECT_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy
|
COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
"hidden": true,
|
"hidden": true,
|
||||||
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"XdkEditionTarget": "231000",
|
"XdkEditionTarget": "240600",
|
||||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
|
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# CMake Example
|
# CMake Example
|
||||||
|
|
||||||
*This sample is compatible with the Microsoft Game Development Kit (March 2022)*
|
*This sample is compatible with the Microsoft Game Development Kit (March 2023)*
|
||||||
|
|
||||||
# Description
|
# Description
|
||||||
|
|
||||||
|
@ -248,3 +248,5 @@ See the **BWOIExample** for more details.
|
||||||
|March 2023|Updated to add new target for Playfab.Services.C extension library.|
|
|March 2023|Updated to add new target for Playfab.Services.C extension library.|
|
||||||
|June 2023|Xbox One titles need to use `/d2vzeroupper-` with VS 2022 or later as the default behavior has flipped from VS 2019.|
|
|June 2023|Xbox One titles need to use `/d2vzeroupper-` with VS 2022 or later as the default behavior has flipped from VS 2019.|
|
||||||
|October 2023|The Microsoft GDK now requires Windows 11 SDK (22000) or later.|
|
|October 2023|The Microsoft GDK now requires Windows 11 SDK (22000) or later.|
|
||||||
|
|June 2024|Minor update for multi-config generators.|
|
||||||
|
|
||||||
|
|
|
@ -105,6 +105,20 @@ if((MSVC_VERSION GREATER_EQUAL 1924)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /ZH:SHA_256)
|
target_compile_options(${PROJECT_NAME} PRIVATE /ZH:SHA_256)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE OR CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO)
|
||||||
|
# /GL (Whole Program Optimization)
|
||||||
|
# /Gw (Optimize Global Data)
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Gw>)
|
||||||
|
|
||||||
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Zc:checkGwOdr>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# /LTCG (Link-time Code Generation)
|
||||||
|
# Ignores warning from CMake generator use of /INCREMENTAL
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE /IGNORE:4075)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Set link libraries
|
# Set link libraries
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE xgameruntime.lib)
|
target_link_libraries(${PROJECT_NAME} PRIVATE xgameruntime.lib)
|
||||||
|
|
||||||
|
@ -142,7 +156,13 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY VS_GLOBAL_GDKExtLibNames Xbox.Servi
|
||||||
# VC++ binary compatibility means we can use the VS 2019 version with VS 2019 or VS 2022
|
# VC++ binary compatibility means we can use the VS 2019 version with VS 2019 or VS 2022
|
||||||
set(ExtensionPlatformToolset 142)
|
set(ExtensionPlatformToolset 142)
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE "libHttpClient.${ExtensionPlatformToolset}.GDK.C.lib" "Microsoft.Xbox.Services.${ExtensionPlatformToolset}.GDK.C.lib" winhttp.lib crypt32.lib)
|
target_link_libraries(${PROJECT_NAME} PRIVATE "Microsoft.Xbox.Services.${ExtensionPlatformToolset}.GDK.C.lib" winhttp.lib crypt32.lib)
|
||||||
|
|
||||||
|
if(XdkEditionTarget GREATER_EQUAL 240600)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE "libHttpClient.GDK.lib")
|
||||||
|
else()
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE "libHttpClient.${ExtensionPlatformToolset}.GDK.C.lib")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CMAKE_VS_PLATFORM_NAME STREQUAL "Gaming.Desktop.x64")
|
if(CMAKE_VS_PLATFORM_NAME STREQUAL "Gaming.Desktop.x64")
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE appnotify.lib)
|
target_link_libraries(${PROJECT_NAME} PRIVATE appnotify.lib)
|
||||||
|
|
|
@ -13,8 +13,9 @@
|
||||||
"hidden": true,
|
"hidden": true,
|
||||||
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"XdkEditionTarget": "231000",
|
"XdkEditionTarget": "240600",
|
||||||
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
|
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
|
||||||
|
"CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -296,5 +296,5 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY VS_GLOBAL_VCToolsVersion "14.20.275
|
||||||
|October 2022|Removed VS 2017 support.<br />Fixed bugs with the CmakePresets.json|
|
|October 2022|Removed VS 2017 support.<br />Fixed bugs with the CmakePresets.json|
|
||||||
|November 2022|Requires March 2022 GDK or later as it’s now using the .mgc file extension.<br /> Updated to require CMake 3.20 now that VS 2019 16.10 and earlier are out of their support lifecycle.|
|
|November 2022|Requires March 2022 GDK or later as it’s now using the .mgc file extension.<br /> Updated to require CMake 3.20 now that VS 2019 16.10 and earlier are out of their support lifecycle.|
|
||||||
|March 2023|Updated to add new target for Playfab.Services.C extension library.|
|
|March 2023|Updated to add new target for Playfab.Services.C extension library.|
|
||||||
|January 2024|Fixed issue with non-Debug configurations using /RTC1|
|
|January 2024|Fixed issue with non-Debug configurations using /RTC1.|
|
||||||
|
|June 2024|Update Whole Program Optimization support.|
|
||||||
|
|
|
@ -159,10 +159,8 @@ message("CRT Platform Toolset = ${CRTPlatformToolset}")
|
||||||
|
|
||||||
set(CppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.CRT")
|
set(CppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.CRT")
|
||||||
set(OpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.OpenMP")
|
set(OpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/x64/Microsoft.VC${CRTPlatformToolset}.OpenMP")
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
set(DebugCppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugCRT")
|
||||||
set(DebugCppRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugCRT")
|
set(DebugOpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugOpenMP")
|
||||||
set(DebugOpenMPRuntimeFilesPath "${VCInstallDir}/redist/MSVC/${VCToolsRedistVersion}/onecore/Debug_NonRedist/x64/Microsoft.VC${CRTPlatformToolset}.DebugOpenMP")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#--- Build options
|
#--- Build options
|
||||||
# Required preprocessor defines
|
# Required preprocessor defines
|
||||||
|
|
|
@ -74,11 +74,11 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:lambda)
|
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:lambda)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if((NOT (CMAKE_BUILD_TYPE MATCHES "Debug")) AND CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Gw)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Gw>)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:checkGwOdr)
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<NOT:$<CONFIG:Debug>>:/Zc:checkGwOdr>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_options(${PROJECT_NAME} PRIVATE /IGNORE:4075 ${Console_ArchOptions_LTCG})
|
target_link_options(${PROJECT_NAME} PRIVATE /IGNORE:4075 ${Console_ArchOptions_LTCG})
|
||||||
|
@ -112,7 +112,8 @@ add_custom_command(
|
||||||
$<TARGET_FILE_DIR:${PROJECT_NAME}>
|
$<TARGET_FILE_DIR:${PROJECT_NAME}>
|
||||||
)
|
)
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||||
|
if((CMAKE_BUILD_TYPE MATCHES "Debug") OR is_multi_config)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${PROJECT_NAME} POST_BUILD
|
TARGET ${PROJECT_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy
|
COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
# Copyright (C) Microsoft Corporation. All rights reserved.
|
||||||
|
|
||||||
|
cmake_minimum_required (VERSION 3.20)
|
||||||
|
|
||||||
|
project(xbdepends
|
||||||
|
DESCRIPTION "Microsoft Xbox Binary Dependencies Tool"
|
||||||
|
LANGUAGES CXX)
|
||||||
|
|
||||||
|
if(NOT WIN32)
|
||||||
|
message(FATAL_ERROR "This tool is compatible with Windows 10")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((NOT MSVC) OR (CMAKE_SIZEOF_VOID_P EQUAL 4))
|
||||||
|
message(FATAL_ERROR "ERROR: This tool requires MSVC or MSVC-like 64-bit compiler")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||||
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||||
|
|
||||||
|
# Always use retail static CRT for this tool
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME}
|
||||||
|
xbdepends.cpp
|
||||||
|
GameOSAPIs.h
|
||||||
|
KnownDLLs.h)
|
||||||
|
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE _CONSOLE _UNICODE UNICODE _WIN32_WINNT=0x0A00)
|
||||||
|
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE /W4 /GR- /fp:fast /GS /Gy)
|
||||||
|
|
||||||
|
# Don't link with kernel32.lib, etc.
|
||||||
|
set(CMAKE_CXX_STANDARD_LIBRARIES "")
|
||||||
|
set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "")
|
||||||
|
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE onecore_apiset.lib)
|
||||||
|
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE /SUBSYSTEM:CONSOLE,10.0 /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:onecore.lib)
|
||||||
|
|
||||||
|
if((MSVC_VERSION GREATER_EQUAL 1924)
|
||||||
|
AND ((NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)))
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE /ZH:SHA_256)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE /permissive- /Zc:__cplusplus /Zc:inline)
|
||||||
|
|
||||||
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.26)
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:preprocessor)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.27)
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE /CETCOMPAT)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE
|
||||||
|
-Wno-c++98-compat
|
||||||
|
-Wno-c++98-compat-pedantic
|
||||||
|
-Wno-gnu-anonymous-struct
|
||||||
|
-Wno-language-extension-token
|
||||||
|
-Wno-nested-anon-types
|
||||||
|
-Wno-reserved-id-macro
|
||||||
|
-Wno-unknown-pragmas)
|
||||||
|
endif()
|
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"configurePresets": [
|
||||||
|
{
|
||||||
|
"name": "base",
|
||||||
|
"displayName": "Basic Config",
|
||||||
|
"description": "Basic build using Ninja generator",
|
||||||
|
"generator": "Ninja",
|
||||||
|
"architecture": {
|
||||||
|
"value": "x64",
|
||||||
|
"strategy": "external"
|
||||||
|
},
|
||||||
|
"hidden": true,
|
||||||
|
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
||||||
|
"cacheVariables": { "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}" }
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "Debug",
|
||||||
|
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" },
|
||||||
|
"hidden": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Release",
|
||||||
|
"cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" },
|
||||||
|
"hidden": true
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"name": "MSVC",
|
||||||
|
"hidden": true,
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_CXX_COMPILER": "cl.exe"
|
||||||
|
},
|
||||||
|
"toolset": {
|
||||||
|
"value": "host=x64",
|
||||||
|
"strategy": "external"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Clang",
|
||||||
|
"hidden": true,
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_CXX_COMPILER": "clang-cl.exe"
|
||||||
|
},
|
||||||
|
"toolset": {
|
||||||
|
"value": "host=x64",
|
||||||
|
"strategy": "external"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{ "name": "x64-Debug" , "description": "MSVC for x64 (Debug)", "inherits": [ "base", "Debug", "MSVC" ] },
|
||||||
|
{ "name": "x64-Release" , "description": "MSVC for x64 (Release)", "inherits": [ "base", "Release", "MSVC" ] },
|
||||||
|
|
||||||
|
{ "name": "x64-Debug-Clang" , "description": "Clang/LLVM for x64 (Debug)", "inherits": [ "base", "Debug", "Clang" ] },
|
||||||
|
{ "name": "x64-Release-Clang" , "description": "Clang/LLVM for x64 (Release)", "inherits": [ "base", "Release", "Clang" ] }
|
||||||
|
]
|
||||||
|
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,391 @@
|
||||||
|
//--------------------------------------------------------------------------------------
|
||||||
|
// File: KnownDLLs.h
|
||||||
|
//
|
||||||
|
// Microsoft Xbox Binary Dependencies Tool - Known DLLs data
|
||||||
|
//
|
||||||
|
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||||||
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
//
|
||||||
|
// This is not a list of all DLLs in the OS images. Rather, it is s a list of DLLs known to
|
||||||
|
// be linked by EXEs or DLLs.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace KnownDLLs
|
||||||
|
{
|
||||||
|
// All versions of Windows 10
|
||||||
|
const char* c_CoreOS[] =
|
||||||
|
{
|
||||||
|
"avrt.dll",
|
||||||
|
"bcrypt.dll",
|
||||||
|
"Cabinet.dll",
|
||||||
|
"cfgmgr32.dll",
|
||||||
|
"combase.dll",
|
||||||
|
"crypt32.dll",
|
||||||
|
"D3DCompiler_47.dll",
|
||||||
|
"dbghelp.dll",
|
||||||
|
"dhcpcsvc.dll",
|
||||||
|
"dnsapi.dll",
|
||||||
|
"imagehlp.dll",
|
||||||
|
"IPHLPAPI.DLL",
|
||||||
|
"MFPlat.DLL",
|
||||||
|
"mfreadwrite.dll",
|
||||||
|
"MMDevAPI.dll",
|
||||||
|
"msvcp_win.dll",
|
||||||
|
"msvcrt.dll",
|
||||||
|
"mswsock.dll",
|
||||||
|
"ncrypt.dll",
|
||||||
|
"ntdll.dll",
|
||||||
|
"oleaut32.dll",
|
||||||
|
"powrprof.dll",
|
||||||
|
"rpcrt4.dll",
|
||||||
|
"secur32.dll",
|
||||||
|
"sspicli.dll",
|
||||||
|
"ucrtbase.dll",
|
||||||
|
"userenv.dll",
|
||||||
|
"WindowsCodecs.dll",
|
||||||
|
"winhttp.dll",
|
||||||
|
"Wldap32.dll",
|
||||||
|
"ws2_32.dll",
|
||||||
|
"wsock32.dll",
|
||||||
|
"XAudio2_9.dll",
|
||||||
|
"xcrdapi.dll",
|
||||||
|
"xmllite.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_Win32[] =
|
||||||
|
{
|
||||||
|
"ADVAPI32.dll",
|
||||||
|
"kernel32.dll",
|
||||||
|
"ole32.dll",
|
||||||
|
"SHELL32.dll",
|
||||||
|
"USER32.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_GameOSOnly[] =
|
||||||
|
{
|
||||||
|
"AcpHal.dll",
|
||||||
|
"chad.dll",
|
||||||
|
"pixevt.dll",
|
||||||
|
"xapu.dll",
|
||||||
|
"xfrontpaneldisplay.dll",
|
||||||
|
"xmem.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_SystemOS[] =
|
||||||
|
{
|
||||||
|
"credui.dll",
|
||||||
|
"dxva2.dll",
|
||||||
|
"esent.dll",
|
||||||
|
"gdi32.dll",
|
||||||
|
"hid.dll",
|
||||||
|
"mf.dll",
|
||||||
|
"mscoree.dll",
|
||||||
|
"msvcp110_win.dll",
|
||||||
|
"normaliz.dll",
|
||||||
|
"propsys.dll",
|
||||||
|
"UIAutomationCore.dll",
|
||||||
|
"urlmon.dll",
|
||||||
|
"wininet.dll",
|
||||||
|
"wintrust.dll",
|
||||||
|
"winusb.dll",
|
||||||
|
"XInputUap.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_PCOnly[] =
|
||||||
|
{
|
||||||
|
"BluetoothApis.dll",
|
||||||
|
"bthprops.cpl",
|
||||||
|
"COMCTL32.dll",
|
||||||
|
"COMDLG32.dll",
|
||||||
|
"CRYPTUI.dll",
|
||||||
|
"d3dcsx_47.dll",
|
||||||
|
"DDRAW.dll",
|
||||||
|
"dinput.dll",
|
||||||
|
"dinput8.dll",
|
||||||
|
"dsound.dll",
|
||||||
|
"dwmapi.dll",
|
||||||
|
"gdiplus.dll",
|
||||||
|
"IMM32.dll",
|
||||||
|
"msi.dll",
|
||||||
|
"ndfapi.dll",
|
||||||
|
"netapi32.dll",
|
||||||
|
"OLEACC.dll",
|
||||||
|
"OPENGL32.dll",
|
||||||
|
"pdh.dll",
|
||||||
|
"SETUPAPI.dll",
|
||||||
|
"SHLWAPI.dll",
|
||||||
|
"USP10.dll",
|
||||||
|
"UxTheme.dll",
|
||||||
|
"version.dll",
|
||||||
|
"WINMM.dll",
|
||||||
|
"WINSPOOL.DRV",
|
||||||
|
"WTSAPI32.dll",
|
||||||
|
"XAudio2_8.dll",
|
||||||
|
"XINPUT1_4.dll",
|
||||||
|
"XInput9_1_0.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
// Vendor DLLs that are not deploy side-by-side
|
||||||
|
const char* c_PCVendor[] =
|
||||||
|
{
|
||||||
|
"mantle64.dll",
|
||||||
|
"nvcuda.dll",
|
||||||
|
"nvfatbinaryLoader.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_LegacyERA[] =
|
||||||
|
{
|
||||||
|
"kernelx.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_LegacyDXSDK[] =
|
||||||
|
{
|
||||||
|
"D3DCompiler_33.dll",
|
||||||
|
"D3DCompiler_34.dll",
|
||||||
|
"D3DCompiler_35.dll",
|
||||||
|
"D3DCompiler_36.dll",
|
||||||
|
"D3DCompiler_37.dll",
|
||||||
|
"D3DCompiler_38.dll",
|
||||||
|
"D3DCompiler_39.dll",
|
||||||
|
"D3DCompiler_40.dll",
|
||||||
|
"D3DCompiler_41.dll",
|
||||||
|
"D3DCompiler_42.dll",
|
||||||
|
"D3DCompiler_43.dll",
|
||||||
|
"d3dx10.dll",
|
||||||
|
"d3dx10_33.dll",
|
||||||
|
"d3dx10_34.dll",
|
||||||
|
"d3dx10_35.dll",
|
||||||
|
"d3dx10_36.dll",
|
||||||
|
"d3dx10_37.dll",
|
||||||
|
"d3dx10_38.dll",
|
||||||
|
"d3dx10_39.dll",
|
||||||
|
"d3dx10_40.dll",
|
||||||
|
"d3dx10_41.dll",
|
||||||
|
"d3dx10_42.dll",
|
||||||
|
"d3dx10_43.dll",
|
||||||
|
"d3dx11_42.dll",
|
||||||
|
"d3dx11_43.dll",
|
||||||
|
"d3dx9_24.dll",
|
||||||
|
"d3dx9_25.dll",
|
||||||
|
"d3dx9_26.dll",
|
||||||
|
"d3dx9_27.dll",
|
||||||
|
"d3dx9_28.dll",
|
||||||
|
"d3dx9_29.dll",
|
||||||
|
"d3dx9_30.dll",
|
||||||
|
"d3dx9_31.dll",
|
||||||
|
"d3dx9_32.dll",
|
||||||
|
"d3dx9_33.dll",
|
||||||
|
"d3dx9_34.dll",
|
||||||
|
"d3dx9_35.dll",
|
||||||
|
"d3dx9_36.dll",
|
||||||
|
"D3DX9_37.dll",
|
||||||
|
"D3DX9_38.dll",
|
||||||
|
"D3DX9_39.dll",
|
||||||
|
"D3DX9_40.dll",
|
||||||
|
"D3DX9_41.dll",
|
||||||
|
"D3DX9_42.dll",
|
||||||
|
"D3DX9_43.dll",
|
||||||
|
"x3daudio1_0.dll",
|
||||||
|
"x3daudio1_1.dll",
|
||||||
|
"x3daudio1_2.dll",
|
||||||
|
"X3DAudio1_3.dll",
|
||||||
|
"X3DAudio1_4.dll",
|
||||||
|
"X3DAudio1_5.dll",
|
||||||
|
"X3DAudio1_6.dll",
|
||||||
|
"X3DAudio1_7.dll",
|
||||||
|
"xactengine2_0.dll",
|
||||||
|
"xactengine2_1.dll",
|
||||||
|
"xactengine2_10.dll",
|
||||||
|
"xactengine2_2.dll",
|
||||||
|
"xactengine2_3.dll",
|
||||||
|
"xactengine2_4.dll",
|
||||||
|
"xactengine2_5.dll",
|
||||||
|
"xactengine2_6.dll",
|
||||||
|
"xactengine2_7.dll",
|
||||||
|
"xactengine2_8.dll",
|
||||||
|
"xactengine2_9.dll",
|
||||||
|
"xactengine3_0.dll",
|
||||||
|
"xactengine3_1.dll",
|
||||||
|
"xactengine3_2.dll",
|
||||||
|
"xactengine3_3.dll",
|
||||||
|
"xactengine3_4.dll",
|
||||||
|
"xactengine3_5.dll",
|
||||||
|
"xactengine3_6.dll",
|
||||||
|
"xactengine3_7.dll",
|
||||||
|
"XAPOFX1_0.dll",
|
||||||
|
"XAPOFX1_1.dll",
|
||||||
|
"XAPOFX1_2.dll",
|
||||||
|
"XAPOFX1_3.dll",
|
||||||
|
"XAPOFX1_4.dll",
|
||||||
|
"XAPOFX1_5.dll",
|
||||||
|
"XAudio2_0.dll",
|
||||||
|
"XAudio2_1.dll",
|
||||||
|
"XAudio2_2.dll",
|
||||||
|
"XAudio2_3.dll",
|
||||||
|
"XAudio2_4.dll",
|
||||||
|
"XAudio2_5.dll",
|
||||||
|
"XAudio2_6.dll",
|
||||||
|
"XAudio2_7.dll",
|
||||||
|
"xinput1_1.dll",
|
||||||
|
"xinput1_2.dll",
|
||||||
|
"xinput1_3.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_LegacyDXSDKDebug[] =
|
||||||
|
{
|
||||||
|
"d3d8d.dll",
|
||||||
|
"d3d9d.dll",
|
||||||
|
"d3dx10d.dll",
|
||||||
|
"d3dx10d_33.dll",
|
||||||
|
"d3dx10d_34.dll",
|
||||||
|
"d3dx10d_35.dll",
|
||||||
|
"d3dx10d_36.dll",
|
||||||
|
"d3dx10d_37.dll",
|
||||||
|
"d3dx10d_38.dll",
|
||||||
|
"d3dx10d_39.dll",
|
||||||
|
"d3dx10d_40.dll",
|
||||||
|
"d3dx10d_41.dll",
|
||||||
|
"d3dx10d_42.dll",
|
||||||
|
"d3dx10d_43.dll",
|
||||||
|
"d3dx11d_42.dll",
|
||||||
|
"d3dx11d_43.dll",
|
||||||
|
"d3dx9d_24.dll",
|
||||||
|
"d3dx9d_25.dll",
|
||||||
|
"d3dx9d_26.dll",
|
||||||
|
"d3dx9d_27.dll",
|
||||||
|
"d3dx9d_28.dll",
|
||||||
|
"d3dx9d_29.dll",
|
||||||
|
"d3dx9d_30.dll",
|
||||||
|
"d3dx9d_31.dll",
|
||||||
|
"d3dx9d_32.dll",
|
||||||
|
"d3dx9d_33.dll",
|
||||||
|
"d3dx9d_34.dll",
|
||||||
|
"d3dx9d_35.dll",
|
||||||
|
"d3dx9d_36.dll",
|
||||||
|
"D3DX9d_37.dll",
|
||||||
|
"D3DX9d_38.dll",
|
||||||
|
"D3DX9d_39.dll",
|
||||||
|
"D3DX9d_40.dll",
|
||||||
|
"D3DX9d_41.dll",
|
||||||
|
"D3DX9d_42.dll",
|
||||||
|
"D3DX9d_43.dll",
|
||||||
|
"x3daudiod1_0.dll",
|
||||||
|
"x3daudiod1_1.dll",
|
||||||
|
"x3daudiod1_2.dll",
|
||||||
|
"X3DAudiod1_3.dll",
|
||||||
|
"X3DAudiod1_4.dll",
|
||||||
|
"X3DAudiod1_5.dll",
|
||||||
|
"X3DAudiod1_6.dll",
|
||||||
|
"X3DAudiod1_7.dll",
|
||||||
|
"xactengineA2_0.dll",
|
||||||
|
"xactengineA2_1.dll",
|
||||||
|
"xactengineA2_10.dll",
|
||||||
|
"xactengineA2_2.dll",
|
||||||
|
"xactengineA2_3.dll",
|
||||||
|
"xactengineA2_4.dll",
|
||||||
|
"xactengineA2_5.dll",
|
||||||
|
"xactengineA2_6.dll",
|
||||||
|
"xactengineA2_7.dll",
|
||||||
|
"xactengineA2_8.dll",
|
||||||
|
"xactengineA2_9.dll",
|
||||||
|
"xactengineA3_0.dll",
|
||||||
|
"xactengineA3_1.dll",
|
||||||
|
"xactengineA3_2.dll",
|
||||||
|
"xactengineA3_3.dll",
|
||||||
|
"xactengineA3_4.dll",
|
||||||
|
"xactengineA3_5.dll",
|
||||||
|
"xactengineA3_6.dll",
|
||||||
|
"xactengineA3_7.dll",
|
||||||
|
"xactengineD2_0.dll",
|
||||||
|
"xactengineD2_1.dll",
|
||||||
|
"xactengineD2_10.dll",
|
||||||
|
"xactengineD2_2.dll",
|
||||||
|
"xactengineD2_3.dll",
|
||||||
|
"xactengineD2_4.dll",
|
||||||
|
"xactengineD2_5.dll",
|
||||||
|
"xactengineD2_6.dll",
|
||||||
|
"xactengineD2_7.dll",
|
||||||
|
"xactengineD2_8.dll",
|
||||||
|
"xactengineD2_9.dll",
|
||||||
|
"xactengineD3_0.dll",
|
||||||
|
"xactengineD3_1.dll",
|
||||||
|
"xactengineD3_2.dll",
|
||||||
|
"xactengineD3_3.dll",
|
||||||
|
"xactengineD3_4.dll",
|
||||||
|
"xactengineD3_5.dll",
|
||||||
|
"xactengineD3_6.dll",
|
||||||
|
"xactengineD3_7.dll",
|
||||||
|
"XAPOFXd1_0.dll",
|
||||||
|
"XAPOFXd1_1.dll",
|
||||||
|
"XAPOFXd1_2.dll",
|
||||||
|
"XAPOFXd1_3.dll",
|
||||||
|
"XAPOFXd1_4.dll",
|
||||||
|
"XAPOFXd1_5.dll",
|
||||||
|
"XAudiod2_0.dll",
|
||||||
|
"XAudiod2_1.dll",
|
||||||
|
"XAudiod2_2.dll",
|
||||||
|
"XAudiod2_3.dll",
|
||||||
|
"XAudiod2_4.dll",
|
||||||
|
"XAudiod2_5.dll",
|
||||||
|
"XAudiod2_6.dll",
|
||||||
|
"XAudiod2_7.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_GDK[] =
|
||||||
|
{
|
||||||
|
"GameChat2.dll",
|
||||||
|
"GameInput.dll",
|
||||||
|
"gameruntime.dll",
|
||||||
|
"libHttpClient.GDK.dll",
|
||||||
|
"Party.dll",
|
||||||
|
"PartyXboxLive.dll",
|
||||||
|
"PlayFabMultiplayerGDK.dll",
|
||||||
|
"PlayFabCore.GDK.dll",
|
||||||
|
"PlayFabServices.GDK.dll",
|
||||||
|
"XCurl.dll",
|
||||||
|
"xsapi.dll",
|
||||||
|
"Microsoft.Xbox.Services.GDK.C.Thunks.dll",
|
||||||
|
"xgameruntime.thunks.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_DevOnlyGDK[] =
|
||||||
|
{
|
||||||
|
"pgort140.dll",
|
||||||
|
"psapi.dll",
|
||||||
|
"xg.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_Direct3D_Legacy[] =
|
||||||
|
{
|
||||||
|
"d3d10.dll",
|
||||||
|
"d3d8.dll",
|
||||||
|
"d3d9.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_Direct3D_Stock[] =
|
||||||
|
{
|
||||||
|
"d2d1.dll",
|
||||||
|
"d3d11.dll",
|
||||||
|
"D3D12.dll",
|
||||||
|
"DWrite.dll",
|
||||||
|
"dxgi.dll",
|
||||||
|
"dxgidebug.dll",
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_Direct3D_XboxOne[] =
|
||||||
|
{
|
||||||
|
"d3d12_x.dll",
|
||||||
|
"dxcompiler_x.dll",
|
||||||
|
"xg_x.dll"
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* c_Direct3D_Scarlett[] =
|
||||||
|
{
|
||||||
|
"d3d12_xs.dll",
|
||||||
|
"dxcompiler_xs.dll",
|
||||||
|
"xg_xs.dll"
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
---
|
||||||
|
page_type: sample
|
||||||
|
languages:
|
||||||
|
- cpp
|
||||||
|
products:
|
||||||
|
- gdk
|
||||||
|
urlFragment: "xbdepends"
|
||||||
|
extendedZipContent:
|
||||||
|
- path: LICENSE
|
||||||
|
target: LICENSE
|
||||||
|
- path: Kits
|
||||||
|
target: Kits
|
||||||
|
- path: Media
|
||||||
|
target: Media
|
||||||
|
description: "This is a command-line for Windows 10 machines intended to help diagnose build and launch issues for GDKX titles."
|
||||||
|
---
|
||||||
|
|
||||||
|
# xbdepends
|
||||||
|
|
||||||
|
For more information see:
|
||||||
|
- [Readme](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Tools/xbdepends/readme_en-us.md)
|
||||||
|
- [Readme 日本語](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Tools/xbdepends/readme_ja-jp.md)
|
||||||
|
- [Readme 한국어](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Tools/xbdepends/readme_ko-kr.md)
|
||||||
|
- [Readme 中文 (简体)](https://github.com/microsoft/Xbox-GDK-Samples/blob/main/Samples/Tools/xbdepends/readme_zh-cn.md)
|
||||||
|
|
||||||
|
## Privacy statement
|
||||||
|
|
||||||
|
For more information about Microsoft's privacy policies in general, see the [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement/).
|
||||||
|
|
||||||
|
## Trademarks
|
||||||
|
|
||||||
|
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 147 KiB |
|
@ -0,0 +1,163 @@
|
||||||
|
# xbdepends Sample
|
||||||
|
|
||||||
|
*This sample is compatible with the Microsoft Game Development Kit (March 2023)*
|
||||||
|
|
||||||
|
# Description
|
||||||
|
|
||||||
|
This is a command-line for Windows 10/Windows 11 machines intended to help diagnose
|
||||||
|
build & launch issues for GDK titles. In particular, it analyzes import
|
||||||
|
modules for EXEs and DLLs, categorizes them, and provides diagnostic
|
||||||
|
output. For Xbox One and Scarlett binaries, it also outputs a list of
|
||||||
|
any OS APIs used but not included in the xgameplatform.lib umbrella
|
||||||
|
library.
|
||||||
|
|
||||||
|
Running without any command-line options produces this output:
|
||||||
|
|
||||||
|
![Text Description automatically generated](./media/image1.png)
|
||||||
|
|
||||||
|
# Building the sample
|
||||||
|
|
||||||
|
As a simple command-line tool, you can build directly using the *Gaming
|
||||||
|
Command Prompt*:
|
||||||
|
|
||||||
|
```
|
||||||
|
cl /EHsc /D_WIN32_WINNT=0x0A00 /Ox /MT xbdepends.cpp onecore.lib
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use CMake 3.20 or later:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake -B out .
|
||||||
|
cmake --build out
|
||||||
|
```
|
||||||
|
|
||||||
|
There are CMake Presets as well:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake --list-presets
|
||||||
|
cmake --preset=x64-Debug
|
||||||
|
cmake --build out\build\x64-Debug
|
||||||
|
```
|
||||||
|
|
||||||
|
Or you can open the CMakeLists.txt from the VS IDE (VS 2019 16.11 or
|
||||||
|
VS 2022 is required).
|
||||||
|
|
||||||
|
- We build with the static Visual C++ Runtime to make the tool trivial
|
||||||
|
to deploy. Generally, we recommend using /MD for the DLL-based
|
||||||
|
runtime for titles.
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
For a simple test, we will use the basic templates in the Microsoft GDK.
|
||||||
|
Create a **Direct3D 12 Xbox Game** project and build it. Then run
|
||||||
|
**xbdepends** pointing to the layout directory:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
This produces the following output:
|
||||||
|
|
||||||
|
```
|
||||||
|
Microsoft (R) Xbox Binary Dependencies Tool
|
||||||
|
Copyright (C) Microsoft Corp.
|
||||||
|
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
A more verbose output is triggered by the -v switch:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -v Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
This produces the following output:
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
Linker: 14.00
|
||||||
|
OS: 6.00
|
||||||
|
Subsystem: 2 (6.00)
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
DLL 'api-ms-win-core-debug-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-errorhandling-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-handle-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-heap-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-interlocked-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-libraryloader-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-localization-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-memory-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-profile-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l2-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-rtlsupport-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-string-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-synch-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-sysinfo-l1-1-0.dll' (OS)
|
||||||
|
DLL 'd3d12_xs.dll' (D3D)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-message-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-ansi-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-l1-1-0.dll' (OS)
|
||||||
|
DLL 'PIXEvt.dll' (GameOS)
|
||||||
|
DLL 'ucrtbased.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140_1D.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140D.dll' (CRT)
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also run with /retail switch and it will warn you that this
|
||||||
|
build is using Debug CRT items:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -retail Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
This produces the following output:
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
ERROR: Using development only DLLs not for use in retail:
|
||||||
|
ucrtbased.dll
|
||||||
|
VCRUNTIME140_1D.dll
|
||||||
|
VCRUNTIME140D.dll
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
The tool also accepts wildcards and can be done recursively:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -r Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\*.dll
|
||||||
|
```
|
||||||
|
|
||||||
|
# Implementation
|
||||||
|
|
||||||
|
In practice, this tool does the same kinds of operations the Microsoft
|
||||||
|
DUMPBIN tool can do with respect to scanning PE import tables. The
|
||||||
|
primary difference is that this tool applies some basic rules and
|
||||||
|
knowledge about GDK titles to generate diagnostic output.
|
||||||
|
|
||||||
|
For more information on PE import tables, see:
|
||||||
|
|
||||||
|
"*Inside Windows: An In-Depth Look into the Win32 Portable Executable
|
||||||
|
File Format, Part 2*". MSDN Magazine (March 2002)
|
||||||
|
|
||||||
|
<https://docs.microsoft.com/en-us/archive/msdn-magazine/2002/march/inside-windows-an-in-depth-look-into-the-win32-portable-executable-file-format-part-2>
|
||||||
|
|
||||||
|
# Update History
|
||||||
|
|
||||||
|
|Date|Notes|
|
||||||
|
|---|---|
|
||||||
|
|May 2021|Initial release using the xgameplatform.lib from the April 2021 GDK release.|
|
||||||
|
|January 2022|CMake cleanup and added presets file|
|
||||||
|
|November 2022|Updated to CMake 3.20|
|
||||||
|
|June 2024|Update for recent DLL additions|
|
|
@ -0,0 +1,158 @@
|
||||||
|
# xbdepends サンプル
|
||||||
|
|
||||||
|
*このサンプルは、Microsoft Game Development Kit と互換性があります (2022 年 3 月)*
|
||||||
|
|
||||||
|
# 説明
|
||||||
|
|
||||||
|
これは、GDK タイトルのビルドと起動の問題の診断に役立つ、Windows 10/Windows 11 マシンのコマンド ラインです。 特に、EXE と DLL のインポート モジュールを分析し、それらを分類し、診断出力を提供します。 Xbox One および Scarlett バイナリの場合、xgameplatform.lib アンブレラ ライブラリには含まれていない OS API のリストも出力されます。
|
||||||
|
|
||||||
|
コマンド ライン オプションを指定せずに実行すると、次の出力が生成されます:
|
||||||
|
|
||||||
|
![説明は自動で生成されたものです](./media/image1.png)
|
||||||
|
|
||||||
|
# サンプルのビルド
|
||||||
|
|
||||||
|
単純なコマンドライン ツールとして、*ゲーム コマンド プロンプト*を使用して直接ビルドできます:
|
||||||
|
|
||||||
|
```
|
||||||
|
cl /EHsc /D_WIN32_WINNT=0x0A00 /Ox /MT xbdepends.cpp onecore.lib
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
CMake 3.20 以降を使用できます:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake -B out .
|
||||||
|
cmake --build out
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
CMake プリセットもあります:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake --list-presets
|
||||||
|
cmake --preset=x64-Debug
|
||||||
|
cmake --build out\build\x64-Debug
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
または、VS IDE から CMakeLists.txt を開くことができます (VS 2019 16.11 または VS 2022 が必要です)。
|
||||||
|
|
||||||
|
- ツールをデプロイしやすくするために、静的Visual C++ ランタイムを使用してビルドします。 一般に、タイトルの DLL ベースのランタイムには /MD を使用することをお勧めします。
|
||||||
|
|
||||||
|
# 使用法
|
||||||
|
|
||||||
|
簡単なテストでは、Microsoft GDK の基本的なテンプレートを使用します。 **Direct3D 12 Xbox Game** プロジェクトを作成してビルドします。 次に、レイアウト ディレクトリを指す **xbdepends** を実行します。
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
次の出力が生成されます:
|
||||||
|
|
||||||
|
```
|
||||||
|
Microsoft (R) Xbox Binary Dependencies Tool
|
||||||
|
Copyright (C) Microsoft Corp.
|
||||||
|
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
より詳細な出力は、-v スイッチによってトリガーされます:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -v Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
次の出力が生成されます:
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
Linker: 14.00
|
||||||
|
OS: 6.00
|
||||||
|
Subsystem: 2 (6.00)
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
DLL 'api-ms-win-core-debug-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-errorhandling-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-handle-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-heap-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-interlocked-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-libraryloader-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-localization-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-memory-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-profile-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l2-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-rtlsupport-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-string-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-synch-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-sysinfo-l1-1-0.dll' (OS)
|
||||||
|
DLL 'd3d12_xs.dll' (D3D)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-message-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-ansi-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-l1-1-0.dll' (OS)
|
||||||
|
DLL 'PIXEvt.dll' (GameOS)
|
||||||
|
DLL 'ucrtbased.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140_1D.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140D.dll' (CRT)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
/retail スイッチを使用して実行することもできます。このビルドでは Debug CRT 項目が使用されていることが警告されます。
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -retail Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
次の出力が生成されます:
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
ERROR: Using development only DLLs not for use in retail:
|
||||||
|
ucrtbased.dll
|
||||||
|
VCRUNTIME140_1D.dll
|
||||||
|
VCRUNTIME140D.dll
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
このツールはワイルドカードも受け入れ、再帰的に実行できます:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -r Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\*.dll
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# 実装
|
||||||
|
|
||||||
|
実際には、このツールは、PE インポート テーブルのスキャンに関して Microsoft DUMPBIN ツールで実行できる操作と同じ種類の操作を行います。 主な違いは、このツールが GDK タイトルに関するいくつかの基本的なルールと知識を適用して診断出力を生成することです。
|
||||||
|
|
||||||
|
PE インポート テーブルの詳細については、以下を参照してください:
|
||||||
|
|
||||||
|
「*Windows の内部: Win32 ポータブル実行可能ファイル形式の詳細、パート 2*」。 MSDN マガジン (2002 年 3 月)
|
||||||
|
|
||||||
|
<https://docs.microsoft.com/en-us/archive/msdn-magazine/2002/march/inside-windows-an-in-depth-look-into-the-win32-portable-executable-file-format-part-2>
|
||||||
|
|
||||||
|
# 更新履歴
|
||||||
|
|
||||||
|
| 日付 | 注意 |
|
||||||
|
|---|---|
|
||||||
|
| 2021 年 5 月 | April 2021 GDK リリースの xgameplatform.lib を使用した初期リリース。 |
|
||||||
|
| 2022 年 1 月 | CMake クリーンアップとプリセット ファイルの追加 |
|
||||||
|
| 2022 年 11 月 | CMake 3.20 に更新されました |
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,158 @@
|
||||||
|
# xbdepends 샘플
|
||||||
|
|
||||||
|
*이 샘플은 Microsoft 게임 개발 키트(2022년 3월)와 호환됩니다.*
|
||||||
|
|
||||||
|
# 설명
|
||||||
|
|
||||||
|
GDK 타이틀에 대한 빌드 및 시작 문제의 진단에 도움이 되는 Windows 10/Windows 11 컴퓨터용 명령줄입니다. 특히 EXE 및 DLL에 대한 가져오기 모듈을 분석하고 분류하며 진단 출력을 제공합니다. Xbox One 및 Scarlett 이진 파일의 경우 xgameplatform.lib 우산 라이브러리에 포함되지 않았지만 사용된 OS API 목록도 출력합니다.
|
||||||
|
|
||||||
|
명령줄 옵션 없이 실행하면 다음 출력이 생성됩니다.
|
||||||
|
|
||||||
|
![자동으로 생성된 텍스트 설명](./media/image1.png)
|
||||||
|
|
||||||
|
# 샘플 빌드
|
||||||
|
|
||||||
|
간단한 명령줄 도구로 *게임 명령 프롬프트*를 사용하여 직접 빌드할 수 있습니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
cl /EHsc /D_WIN32_WINNT=0x0A00 /Ox /MT xbdepends.cpp onecore.lib
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
CMake 3.20 이상을 사용할 수 있습니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake -B out .
|
||||||
|
cmake --build out
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
CMake 사전 설정도 있습니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake --list-presets
|
||||||
|
cmake --preset=x64-Debug
|
||||||
|
cmake --build out\build\x64-Debug
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
또는 VS IDE에서 CMakeLists.txt를 열 수 있습니다(VS 2019 16.11 또는 VS 2022가 필요함).
|
||||||
|
|
||||||
|
- 정적 Visual C++ 런타임으로 빌드하여 도구를 배포하기에 사소하게 만듭니다. 일반적으로 타이틀의 DLL 기반 런타임에는 /MD를 사용하는 것이 좋습니다.
|
||||||
|
|
||||||
|
# 사용법
|
||||||
|
|
||||||
|
간단한 테스트를 위해 Microsoft GDK의 기본 템플릿을 사용합니다. **Direct3D 12 Xbox 게임** 프로젝트를 만들고 빌드합니다. 그런 다음 레이아웃 디렉터리를 가리키는 **xbdepends**를 실행합니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
이렇게 하면 다음 출력이 생성됩니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
Microsoft (R) Xbox Binary Dependencies Tool
|
||||||
|
Copyright (C) Microsoft Corp.
|
||||||
|
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
자세한 정보 출력은 -v 스위치에 의해 트리거됩니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -v Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
이렇게 하면 다음 출력이 생성됩니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
Linker: 14.00
|
||||||
|
OS: 6.00
|
||||||
|
Subsystem: 2 (6.00)
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
DLL 'api-ms-win-core-debug-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-errorhandling-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-handle-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-heap-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-interlocked-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-libraryloader-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-localization-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-memory-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-profile-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l2-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-rtlsupport-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-string-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-synch-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-sysinfo-l1-1-0.dll' (OS)
|
||||||
|
DLL 'd3d12_xs.dll' (D3D)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-message-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-ansi-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-l1-1-0.dll' (OS)
|
||||||
|
DLL 'PIXEvt.dll' (GameOS)
|
||||||
|
DLL 'ucrtbased.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140_1D.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140D.dll' (CRT)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
/retail 스위치를 사용하여 실행할 수도 있는데, 그러면 이 빌드에서 디버그 CRT 항목을 사용 중임을 경고합니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -retail Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
이렇게 하면 다음 출력이 생성됩니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
ERROR: Using development only DLLs not for use in retail:
|
||||||
|
ucrtbased.dll
|
||||||
|
VCRUNTIME140_1D.dll
|
||||||
|
VCRUNTIME140D.dll
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
또한 이 도구는 와일드카드를 허용하며 재귀적으로 수행할 수 있습니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -r Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\*.dll
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# 구현
|
||||||
|
|
||||||
|
실제로 이 도구는 PE 가져오기 테이블 검사와 관련하여 Microsoft DUMPBIN 도구에서 수행 가능한 것과 동일한 종류의 작업을 수행합니다. 주요 차이점은 이 도구가 GDK 타이틀에 대한 몇 가지 기본 규칙과 지식을 적용하여 진단 출력을 생성한다는 점입니다.
|
||||||
|
|
||||||
|
PE 가져오기 테이블에 대한 자세한 내용은 다음을 참조하세요.
|
||||||
|
|
||||||
|
"*윈도우 내부: Win32 이동 가능 실행 파일 형식에 대한 심층 분석, 2부*". MSDN 매거진(2002년 3월)
|
||||||
|
|
||||||
|
<https://docs.microsoft.com/en-us/archive/msdn-magazine/2002/march/inside-windows-an-in-depth-look-into-the-win32-portable-executable-file-format-part-2>
|
||||||
|
|
||||||
|
# 업데이트 내역
|
||||||
|
|
||||||
|
| 날짜 | 참고 |
|
||||||
|
|---|---|
|
||||||
|
| 2021년 5월 | 2021년 4월 GDK 릴리스의 xgameplatform.lib를 사용한 초기 릴리스입니다. |
|
||||||
|
| 2022년 1월 | CMake 정리 및 사전 설정 파일 추가 |
|
||||||
|
| 2022년 11월 | CMake 3.20으로 업데이트됨 |
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,158 @@
|
||||||
|
# xbdepends 示例
|
||||||
|
|
||||||
|
*此示例可用于 Microsoft 游戏开发工具包 (2022 年 3 月)*
|
||||||
|
|
||||||
|
# 说明
|
||||||
|
|
||||||
|
这是用于 Windows 10/Windows 11 计算机的命令行,旨在帮助诊断 GDK 游戏的生成和启动问题。 具体而言,它分析 EXE 和 DLL 的导入模块,对其进行分类,并提供诊断输出。 对于 Xbox One 和 Scarlett 二进制文件,它还输出 xgameplatform.lib umbrella 库中使用但不包括的任何 OS API 的列表。
|
||||||
|
|
||||||
|
不带任何命令行选项运行将生成以下输出:
|
||||||
|
|
||||||
|
![文本说明已自动生成](./media/image1.png)
|
||||||
|
|
||||||
|
# 生成示例
|
||||||
|
|
||||||
|
作为一个简单的命令行工具,可以使用*游戏命令提示符*直接生成:
|
||||||
|
|
||||||
|
```
|
||||||
|
cl /EHsc /D_WIN32_WINNT=0x0A00 /Ox /MT xbdepends.cpp onecore.lib
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
可以使用 CMake 3.20 或更高版本:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake -B out .
|
||||||
|
cmake --build out
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
还有 CMake 预设:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake --list-presets
|
||||||
|
cmake --preset=x64-Debug
|
||||||
|
cmake --build out\build\x64-Debug
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
或者,可以从 VS IDE 打开 CMakeLists.txt(需要 VS 2019 16.11 或 VS 2022)。
|
||||||
|
|
||||||
|
- 我们使用静态 Visual C++ Runtime 进行生成,以使该工具易于部署。 通常,我们建议将 /MD 用于面向游戏的基于 DLL 的运行时。
|
||||||
|
|
||||||
|
# 用法
|
||||||
|
|
||||||
|
对于简单的测试,我们将使用 Microsoft GDK 中的基本模板。 创建 **Direct3D 12 Xbox Game** 项目并生成它。 然后运行指向布局目录的 **xbdepends**:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
这将生成以下输出:
|
||||||
|
|
||||||
|
```
|
||||||
|
Microsoft (R) Xbox Binary Dependencies Tool
|
||||||
|
Copyright (C) Microsoft Corp.
|
||||||
|
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
-v 开关会触发更详细的输出:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -v Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
这将生成以下输出:
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
Linker: 14.00
|
||||||
|
OS: 6.00
|
||||||
|
Subsystem: 2 (6.00)
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
DLL 'api-ms-win-core-debug-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-errorhandling-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-handle-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-heap-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-interlocked-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-libraryloader-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-localization-l1-2-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-memory-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-processthreads-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-profile-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-psm-appnotify-l1-1-1.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-registry-l2-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-rtlsupport-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-string-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-synch-l1-1-0.dll' (OS)
|
||||||
|
DLL 'api-ms-win-core-sysinfo-l1-1-0.dll' (OS)
|
||||||
|
DLL 'd3d12_xs.dll' (D3D)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-message-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-ansi-l1-1-0.dll' (OS)
|
||||||
|
DLL 'ext-ms-win-rtcore-ntuser-window-l1-1-0.dll' (OS)
|
||||||
|
DLL 'PIXEvt.dll' (GameOS)
|
||||||
|
DLL 'ucrtbased.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140_1D.dll' (CRT)
|
||||||
|
DLL 'VCRUNTIME140D.dll' (CRT)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
还可以使用 /retail 开关运行,它会警告你此生成正在使用调试 CRT 项:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -retail Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\Direct3DGame1.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
这将生成以下输出:
|
||||||
|
|
||||||
|
```
|
||||||
|
reading 'Direct3DGame1.exe' [EXE]
|
||||||
|
INFO: Found 27 import modules
|
||||||
|
INFO: Use of Direct3D 12.X_S implies Scarlett target
|
||||||
|
ERROR: Using development only DLLs not for use in retail:
|
||||||
|
ucrtbased.dll
|
||||||
|
VCRUNTIME140_1D.dll
|
||||||
|
VCRUNTIME140D.dll
|
||||||
|
INFO: Dependencies require 'VS 2019 (16.0)' or later C/C++ Runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
该工具还接受通配符,并且可以通过递归方式执行:
|
||||||
|
|
||||||
|
```
|
||||||
|
xbdepends -r Direct3DGame1\Gaming.Xbox.Scarlett.x64\Layout\Image\Loose\*.dll
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# 实现
|
||||||
|
|
||||||
|
实际上,在扫描 PE 导入表方面,此工具执行的操作类型与 Microsoft DUMPBIN 工具相同。 主要区别在于,此工具采用有关 GDK 游戏的一些基本规则和知识来生成诊断输出。
|
||||||
|
|
||||||
|
有关 PE 导入表的详细信息,请参阅:
|
||||||
|
|
||||||
|
“*在 Windows 内部:深入了解 Win32 可移植可执行文件格式,第 2 部分*”。 MSDN 杂志(2002 年 3 月)
|
||||||
|
|
||||||
|
<https://docs.microsoft.com/en-us/archive/msdn-magazine/2002/march/inside-windows-an-in-depth-look-into-the-win32-portable-executable-file-format-part-2>
|
||||||
|
|
||||||
|
# 更新历史记录
|
||||||
|
|
||||||
|
| 日期 | 说明 |
|
||||||
|
|---|---|
|
||||||
|
| 2021 年 5 月 | 使用 2021 年 4 月 GDK 版本中的 xgameplatform.lib 的初始版本。 |
|
||||||
|
| 2022 年 1 月 | CMake 清理并添加了预设文件 |
|
||||||
|
| 2022 年 11 月 | 已更新到 CMake 3.20 |
|
||||||
|
|
||||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
Ссылка в новой задаче