mirror of
https://github.com/microsoft/DirectXTex.git
synced 2026-02-04 04:16:12 +01:00
Support using C++17 std::byte for FromMemory functions (#545)
Some checks are pending
CTest (BVTs) / build (amd64, x64-Release, windows-2019) (push) Waiting to run
CTest (BVTs) / build (amd64, x64-Release, windows-2022) (push) Waiting to run
CodeQL / Analyze (C/C++) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Debug, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Debug-Clang, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Release, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Release-Clang, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64ec-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64ec-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Debug, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Debug-Clang, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Release, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Release-Clang, windows-2022) (push) Waiting to run
MSBuild / build (Debug, ARM64, 2019) (push) Waiting to run
MSBuild / build (Debug, ARM64, 2022) (push) Waiting to run
MSBuild / build (Debug, x64, 2019) (push) Waiting to run
MSBuild / build (Debug, x64, 2022) (push) Waiting to run
MSBuild / build (Debug, x86, 2019) (push) Waiting to run
MSBuild / build (Debug, x86, 2022) (push) Waiting to run
MSBuild / build (Release, ARM64, 2019) (push) Waiting to run
MSBuild / build (Release, ARM64, 2022) (push) Waiting to run
MSBuild / build (Release, x64, 2019) (push) Waiting to run
MSBuild / build (Release, x64, 2022) (push) Waiting to run
MSBuild / build (Release, x86, 2019) (push) Waiting to run
MSBuild / build (Release, x86, 2022) (push) Waiting to run
Microsoft C++ Code Analysis / Analyze (push) Waiting to run
CTest (Windows) / build (amd64, x64-Debug, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Debug-Clang, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Release, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Release-Clang, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64ec-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64ec-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Debug, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Debug-Clang, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Release, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Release-Clang, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64, x64-Debug-Clang-VCPKG, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64, x64-Debug-VCPKG, windows-2019) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64, x64-Debug-VCPKG, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64_arm64, arm64-Debug-VCPKG, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64_x86, x86-Debug-VCPKG, windows-2022) (push) Waiting to run
CMake (WSL) / build (x64-Debug-Linux, 10) (push) Waiting to run
CMake (WSL) / build (x64-Debug-Linux, 11) (push) Waiting to run
CMake (WSL) / build (x64-Debug-Linux, 12) (push) Waiting to run
CMake (WSL) / build (x64-Release-Linux, 10) (push) Waiting to run
CMake (WSL) / build (x64-Release-Linux, 11) (push) Waiting to run
CMake (WSL) / build (x64-Release-Linux, 12) (push) Waiting to run
Some checks are pending
CTest (BVTs) / build (amd64, x64-Release, windows-2019) (push) Waiting to run
CTest (BVTs) / build (amd64, x64-Release, windows-2022) (push) Waiting to run
CodeQL / Analyze (C/C++) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Debug, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Debug-Clang, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Release, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64, x64-Release-Clang, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64ec-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_arm64, arm64ec-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Debug, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Debug, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Debug-Clang, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Release, windows-2019) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Release, windows-2022) (push) Waiting to run
CMake (Windows) / build (amd64_x86, x86-Release-Clang, windows-2022) (push) Waiting to run
MSBuild / build (Debug, ARM64, 2019) (push) Waiting to run
MSBuild / build (Debug, ARM64, 2022) (push) Waiting to run
MSBuild / build (Debug, x64, 2019) (push) Waiting to run
MSBuild / build (Debug, x64, 2022) (push) Waiting to run
MSBuild / build (Debug, x86, 2019) (push) Waiting to run
MSBuild / build (Debug, x86, 2022) (push) Waiting to run
MSBuild / build (Release, ARM64, 2019) (push) Waiting to run
MSBuild / build (Release, ARM64, 2022) (push) Waiting to run
MSBuild / build (Release, x64, 2019) (push) Waiting to run
MSBuild / build (Release, x64, 2022) (push) Waiting to run
MSBuild / build (Release, x86, 2019) (push) Waiting to run
MSBuild / build (Release, x86, 2022) (push) Waiting to run
Microsoft C++ Code Analysis / Analyze (push) Waiting to run
CTest (Windows) / build (amd64, x64-Debug, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Debug-Clang, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Release, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64, x64-Release-Clang, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64ec-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_arm64, arm64ec-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Debug, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Debug, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Debug-Clang, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Release, windows-2019) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Release, windows-2022) (push) Waiting to run
CTest (Windows) / build (amd64_x86, x86-Release-Clang, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64, x64-Debug-Clang-VCPKG, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64, x64-Debug-VCPKG, windows-2019) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64, x64-Debug-VCPKG, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64_arm64, arm64-Debug-VCPKG, windows-2022) (push) Waiting to run
CMake (Windows using VCPKG) / build (amd64_x86, x86-Debug-VCPKG, windows-2022) (push) Waiting to run
CMake (WSL) / build (x64-Debug-Linux, 10) (push) Waiting to run
CMake (WSL) / build (x64-Debug-Linux, 11) (push) Waiting to run
CMake (WSL) / build (x64-Debug-Linux, 12) (push) Waiting to run
CMake (WSL) / build (x64-Release-Linux, 10) (push) Waiting to run
CMake (WSL) / build (x64-Release-Linux, 11) (push) Waiting to run
CMake (WSL) / build (x64-Release-Linux, 12) (push) Waiting to run
This commit is contained in:
@@ -132,6 +132,39 @@ namespace Xbox
|
||||
HRESULT __cdecl SaveToDDSMemory(_In_ const XboxImage& xbox, _Out_ DirectX::Blob& blob);
|
||||
HRESULT __cdecl SaveToDDSFile(_In_ const XboxImage& xbox, _In_z_ const wchar_t* szFile);
|
||||
|
||||
#ifdef __cpp_lib_byte
|
||||
inline HRESULT __cdecl GetMetadataFromDDSMemory(
|
||||
_In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size,
|
||||
_Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox)
|
||||
{
|
||||
return GetMetadataFromDDSMemory(reinterpret_cast<const uint8_t*>(pSource), size, metadata, isXbox);
|
||||
}
|
||||
|
||||
inline HRESULT __cdecl GetMetadataFromDDSMemoryEx(
|
||||
_In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size,
|
||||
_Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox,
|
||||
_Out_opt_ DirectX::DDSMetaData* ddPixelFormat)
|
||||
{
|
||||
return GetMetadataFromDDSMemoryEx(reinterpret_cast<const uint8_t*>(pSource), size, metadata, isXbox, ddPixelFormat);
|
||||
}
|
||||
|
||||
inline HRESULT __cdecl LoadFromDDSMemory(
|
||||
_In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size,
|
||||
_Out_opt_ DirectX::TexMetadata* metadata, _Out_ XboxImage& image)
|
||||
{
|
||||
return LoadFromDDSMemory(reinterpret_cast<const uint8_t*>(pSource), size, metadata, image);
|
||||
}
|
||||
|
||||
inline HRESULT __cdecl LoadFromDDSMemoryEx(
|
||||
_In_reads_bytes_(size) const std::byte* pSource, _In_ size_t size,
|
||||
_Out_opt_ DirectX::TexMetadata* metadata,
|
||||
_Out_opt_ DirectX::DDSMetaData* ddPixelFormat,
|
||||
_Out_ XboxImage& image)
|
||||
{
|
||||
return LoadFromDDSMemoryEx(reinterpret_cast<const uint8_t*>(pSource), size, metadata, ddPixelFormat, image);
|
||||
}
|
||||
#endif // __cpp_lib_byte
|
||||
|
||||
//---------------------------------------------------------------------------------
|
||||
// Xbox Texture Tiling / Detiling (requires XG DLL to be present at runtime)
|
||||
|
||||
@@ -178,4 +211,20 @@ namespace Xbox
|
||||
const XboxImage& xbox,
|
||||
_Out_writes_bytes_(maxsize) uint8_t* pDestination, _In_ size_t maxsize) noexcept;
|
||||
|
||||
#ifdef __cpp_lib_byte
|
||||
inline HRESULT __cdecl EncodeDDSHeader(
|
||||
const XboxImage& xbox,
|
||||
_Out_writes_bytes_(maxsize) std::byte* pDestination, _In_ size_t maxsize) noexcept
|
||||
{
|
||||
return EncodeDDSHeader(xbox, reinterpret_cast<uint8_t*>(pDestination), maxsize);
|
||||
}
|
||||
|
||||
inline HRESULT __cdecl EncodeDDSHeader(
|
||||
const XboxImage& xbox,
|
||||
_Reserved_ std::nullptr_t, _In_ size_t maxsize) noexcept
|
||||
{
|
||||
return EncodeDDSHeader(xbox, static_cast<uint8_t*>(nullptr), maxsize);
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user