Skip to content

Commit 10babd2

Browse files
authored
feat: Adjust DirectTex to all platforms 2 (#2338)
1 parent 2556707 commit 10babd2

8 files changed

Lines changed: 107 additions & 55 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:ccbef484862a90f89c08cbf247bd4e6ba3c126637b6e08e902512427ba6e44e2
3+
size 2389936
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
project(DxtWrapper)
2+
cmake_minimum_required(VERSION 3.10)
3+
file(GLOB SRCS *.cpp *.h)
4+
5+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ../../../../../deps/TextureWrappers/Release/linux-x64)
6+
7+
find_package(directxtex CONFIG REQUIRED)
8+
9+
add_library(${PROJECT_NAME} SHARED ${SRCS} )
10+
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
11+
12+
target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft::DirectXTex)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Make sure to install package required packages : vcpkg install directxtex
2+
3+
param (
4+
[string]$vcpkg_dir
5+
)
6+
7+
if(!$vcpkg_dir)
8+
{
9+
Write-Error "Please provide vpckg directory path"
10+
return;
11+
}
12+
13+
cmake -B "build" -S . -DCMAKE_TOOLCHAIN_FILE="$vcpkg_dir/scripts/buildsystems/vcpkg.cmake";
14+
cd build;
15+
make;
16+
cd ..;

sources/tools/Stride.TextureConverter.Wrappers/DxtWrapper/dxt_wrapper.cpp

Lines changed: 44 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,46 @@
11
// Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp)
22
// Distributed under the MIT license. See the LICENSE.md file in the project root for more information.
33
#include "dxt_wrapper.h"
4+
#include <string>
45

56
// Utilities functions
6-
void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, int flags = DirectX::CP_FLAGS_NONE )
7+
void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, DirectX::CP_FLAGS flags = DirectX::CP_FLAGS_NONE )
78
{
89
size_t rowPitchT, slicePitchT;
910
DirectX::ComputePitch(fmt, width, height, rowPitchT, slicePitchT, flags);
1011
rowPitch = rowPitchT;
1112
slicePitch = slicePitchT;
1213
}
1314

15+
// For handling different encodings
16+
const wchar_t* narrowToWideString(const char* szFile)
17+
{
18+
std::string nstr(szFile);
19+
std::wstring wstr = std::wstring(nstr.begin(), nstr.end());
20+
wchar_t* filePath = new wchar_t[wstr.size() + 1];
21+
std::copy(wstr.begin(), wstr.end(), filePath);
22+
filePath[wstr.size()] = L'\0'; // Null-terminate the wide string
23+
return filePath;
24+
}
25+
1426
bool dxtIsCompressed(DXGI_FORMAT fmt) { return DirectX::IsCompressed(fmt); }
1527

16-
HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage )
28+
HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage )
1729
{
1830
return DirectX::Convert(srcImage, format, filter, threshold, cImage);
1931
}
2032

21-
HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage )
33+
HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage )
2234
{
2335
return DirectX::Convert(srcImages, nimages, metadata, format, filter, threshold, cImage);
2436
}
2537

26-
HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImage )
38+
HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImage )
2739
{
2840
return DirectX::Compress(srcImage, format, compress, alphaRef, cImage);
2941
}
3042

31-
HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImages )
43+
HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImages )
3244
{
3345
return DirectX::Compress(srcImages, nimages, metadata, format, compress, alphaRef, cImages);
3446
}
@@ -43,66 +55,74 @@ HRESULT dxtDecompressArray( const DirectX::Image* cImages, int nimages, const Di
4355
return DirectX::Decompress(cImages, nimages, metadata, format, images);
4456
}
4557

46-
HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, int filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D = false)
58+
HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D = false)
4759
{
4860
return DirectX::GenerateMipMaps(baseImage, filter, levels, mipChain, allow1D);
4961
}
5062

51-
HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain )
63+
HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain )
5264
{
5365
return DirectX::GenerateMipMaps(srcImages, nimages, metadata, filter, levels, mipChain);
5466
}
5567

56-
HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, int filter, int levels, DirectX::ScratchImage& mipChain )
68+
HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain )
5769
{
5870
return DirectX::GenerateMipMaps3D(baseImages, depth, filter, levels, mipChain);
5971
}
6072

61-
HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain )
73+
HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain )
6274
{
6375
return DirectX::GenerateMipMaps3D(srcImages, nimages, metadata, filter, levels, mipChain);
6476
}
6577

66-
HRESULT dxtResize(const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, int filter, DirectX::ScratchImage& result )
78+
HRESULT dxtResize( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, DirectX::TEX_FILTER_FLAGS filter, DirectX::ScratchImage& result )
6779
{
6880
return DirectX::Resize(srcImages, nimages, metadata, width, height, filter, result);
6981
}
7082

71-
HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps )
83+
HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::CNMAP_FLAGS flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps )
7284
{
7385
return DirectX::ComputeNormalMap(srcImages, nimages, metadata, flags, amplitude, format, normalMaps);
7486
}
7587

76-
HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, DirectX::ScratchImage& result )
88+
HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_PMALPHA_FLAGS flags, DirectX::ScratchImage& result )
7789
{
7890
return DirectX::PremultiplyAlpha(srcImages, nimages, metadata, flags, result);
7991
}
8092

8193

8294
// I/O functions
83-
HRESULT dxtLoadDDSFile(LPCWSTR szFile, int flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
95+
HRESULT dxtLoadDDSFile( const char* szFile, DirectX::DDS_FLAGS flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
8496
{
85-
return DirectX::LoadFromDDSFile(szFile, flags, metadata, image);
97+
const wchar_t* filePath = narrowToWideString(szFile);
98+
auto result = DirectX::LoadFromDDSFile(filePath, flags, metadata, image);
99+
delete[] filePath;
100+
return result;
86101
}
87102

88-
HRESULT dxtLoadTGAFile(LPCWSTR szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
89-
{
90-
return DirectX::LoadFromTGAFile(szFile, metadata, image);
91-
}
92103

93-
HRESULT dxtLoadWICFile(LPCWSTR szFile, int flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
104+
HRESULT dxtLoadTGAFile( const char* szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
94105
{
95-
return DirectX::LoadFromWICFile(szFile, flags, metadata, image);
106+
const wchar_t* filePath = narrowToWideString(szFile);
107+
auto result = DirectX::LoadFromTGAFile(filePath, metadata, image);
108+
delete[] filePath;
109+
return result;
96110
}
97111

98-
HRESULT dxtSaveToDDSFile( const DirectX::Image& image, int flags, LPCWSTR szFile )
112+
HRESULT dxtSaveToDDSFile( const DirectX::Image& image, DirectX::DDS_FLAGS flags, const char* szFile )
99113
{
100-
return DirectX::SaveToDDSFile(image, flags, szFile);
114+
const wchar_t* filePath = narrowToWideString(szFile);
115+
auto result = DirectX::SaveToDDSFile(image, flags, filePath);
116+
delete[] filePath;
117+
return result;
101118
}
102119

103-
HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, int flags, LPCWSTR szFile )
120+
HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, DirectX::DDS_FLAGS flags, const char* szFile )
104121
{
105-
return DirectX::SaveToDDSFile(images, nimages, metadata, flags, szFile);
122+
const wchar_t* filePath = narrowToWideString(szFile);
123+
auto result = DirectX::SaveToDDSFile(images, nimages, metadata, flags, filePath);
124+
delete[] filePath;
125+
return result;
106126
}
107127

108128
// Scratch Image

sources/tools/Stride.TextureConverter.Wrappers/DxtWrapper/dxt_wrapper.h

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,43 @@
33
#ifndef DXT_WRAPPER_H
44
#define DXT_WRAPPER_H
55

6+
#ifdef _MSC_VER
67
#define DXT_API __declspec(dllexport)
8+
#else
9+
#if __GNUC__ >= 4
10+
#define DXT_API __attribute__ ((visibility("default")))
11+
#else
12+
#define DXT_API
13+
#endif
14+
#endif
715

816
#include "DirectXTex.h"
17+
#include <string>
918

1019
extern "C" {
1120

1221
// Utilities functions
13-
DXT_API void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, int flags );
22+
DXT_API void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, DirectX::CP_FLAGS flags );
1423
DXT_API bool dxtIsCompressed(DXGI_FORMAT fmt);
15-
DXT_API HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage );
16-
DXT_API HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage );
17-
DXT_API HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImage );
18-
DXT_API HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImages );
19-
DXT_API HRESULT dxtDecompress( const DirectX::Image& cImage, DXGI_FORMAT format, DirectX::ScratchImage& image );
24+
DXT_API HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage );
25+
DXT_API HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage );
26+
DXT_API HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImage );
27+
DXT_API HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImages );
28+
DXT_API HRESULT dxtDecompress( const DirectX::Image& cImage, DXGI_FORMAT format, DirectX::ScratchImage& image );
2029
DXT_API HRESULT dxtDecompressArray( const DirectX::Image* cImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::ScratchImage& images );
21-
DXT_API HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, int filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D);
22-
DXT_API HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain );
23-
DXT_API HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, int filter, int levels, DirectX::ScratchImage& mipChain );
24-
DXT_API HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain );
25-
DXT_API HRESULT dxtResize(const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, int filter, DirectX::ScratchImage& result );
26-
DXT_API HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps );
27-
DXT_API HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, DirectX::ScratchImage& result );
30+
DXT_API HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D);
31+
DXT_API HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain );
32+
DXT_API HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain );
33+
DXT_API HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain );
34+
DXT_API HRESULT dxtResize(const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, DirectX::TEX_FILTER_FLAGS filter, DirectX::ScratchImage& result );
35+
DXT_API HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::CNMAP_FLAGS flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps );
36+
DXT_API HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_PMALPHA_FLAGS flags, DirectX::ScratchImage& result );
2837

2938
// I/O functions
30-
DXT_API HRESULT dxtLoadTGAFile(LPCWSTR szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
31-
DXT_API HRESULT dxtLoadWICFile(LPCWSTR szFile, int wicflags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
32-
DXT_API HRESULT dxtLoadDDSFile(LPCWSTR szFile, int ddsflags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
33-
DXT_API HRESULT dxtSaveToDDSFile( const DirectX::Image& image, int flags, LPCWSTR szFile );
34-
DXT_API HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, int flags, LPCWSTR szFile );
39+
DXT_API HRESULT dxtLoadTGAFile(const char* szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
40+
DXT_API HRESULT dxtLoadDDSFile(const char* szFile, DirectX::DDS_FLAGS flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
41+
DXT_API HRESULT dxtSaveToDDSFile( const DirectX::Image& image, DirectX::DDS_FLAGS flags, const char* szFile );
42+
DXT_API HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, DirectX::DDS_FLAGS flags, const char* szFile );
3543

3644
// Scratch Image
3745
DXT_API DirectX::ScratchImage * dxtCreateScratchImage();

sources/tools/Stride.TextureConverter/Backend/Wrappers/DxtNetWrapper.cs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -516,13 +516,10 @@ internal class Utilities
516516
private extern static void dxtComputePitch(DXGI_FORMAT fmt, int width, int height, out int rowPitch, out int slicePitch, CP_FLAGS flags);
517517

518518
[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
519-
private extern static uint dxtLoadDDSFile(String filePath, DDS_FLAGS flags, out TexMetadata metadata, IntPtr image);
519+
private extern static uint dxtLoadDDSFile(string filePath, DDS_FLAGS flags, out TexMetadata metadata, IntPtr image);
520520

521521
[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
522-
private extern static uint dxtLoadTGAFile(String filePath, out TexMetadata metadata, IntPtr image);
523-
524-
[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
525-
private extern static uint dxtLoadWICFile(String filePath, WIC_FLAGS flags, out TexMetadata metadata, IntPtr image);
522+
private extern static uint dxtLoadTGAFile(string filePath, out TexMetadata metadata, IntPtr image);
526523

527524
[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
528525
private extern static bool dxtIsCompressed(DXGI_FORMAT fmt);
@@ -577,21 +574,16 @@ public static void ComputePitch(DXGI_FORMAT fmt, int width, int height, out int
577574
dxtComputePitch(fmt, width, height, out rowPitch, out slicePitch, flags);
578575
}
579576

580-
public static HRESULT LoadDDSFile(String filePath, DDS_FLAGS flags, out TexMetadata metadata, ScratchImage image)
577+
public static HRESULT LoadDDSFile(string filePath, DDS_FLAGS flags, out TexMetadata metadata, ScratchImage image)
581578
{
582579
return HandleHRESULT(dxtLoadDDSFile(filePath, flags, out metadata, image.ptr));
583580
}
584581

585-
public static HRESULT LoadTGAFile(String filePath, out TexMetadata metadata, ScratchImage image)
582+
public static HRESULT LoadTGAFile(string filePath, out TexMetadata metadata, ScratchImage image)
586583
{
587584
return HandleHRESULT(dxtLoadTGAFile(filePath, out metadata, image.ptr));
588585
}
589586

590-
public static HRESULT LoadWICFile(String filePath, WIC_FLAGS flags, out TexMetadata metadata, ScratchImage image)
591-
{
592-
return HandleHRESULT(dxtLoadWICFile(filePath, flags, out metadata, image.ptr));
593-
}
594-
595587
public static HRESULT SaveToDDSFile(ref DxtImage dxtImage, DDS_FLAGS flags, string szFile)
596588
{
597589
return HandleHRESULT(dxtSaveToDDSFile(ref dxtImage, flags, szFile));

sources/tools/Stride.TextureConverter/Stride.TextureConverter.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\FreeImage\Release\**\*.dll">
1717
<Link>runtimes\%(RecursiveDir)native\%(Filename)%(Extension)</Link>
1818
</StrideNativeLib>
19-
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\TextureWrappers\Release\**\*.dll">
19+
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\TextureWrappers\Release\**\*.dll;$(MSBuildThisFileDirectory)..\..\..\deps\TextureWrappers\Release\**\*.so">
2020
<Link>runtimes\%(RecursiveDir)native\%(Filename)%(Extension)</Link>
2121
</StrideNativeLib>
2222
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\PVRTT\**\*.dll">

0 commit comments

Comments
 (0)