Skip to content

Commit 4e0a524

Browse files
committed
Fixed issues.
1 parent 1b797df commit 4e0a524

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+5939
-14836
lines changed

Example/Example.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
88
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
9-
<Configurations>Debug;Release;Standalone</Configurations>
109
</PropertyGroup>
1110

1211
<ItemGroup>

Example/Program.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace Example
22
{
33
using Hexa.NET.DirectXTex;
4+
using HexaGen.Runtime;
45

56
public class Program
67
{
@@ -10,18 +11,17 @@ private static unsafe void Main(string[] args)
1011
TexMetadata metadata = default;
1112

1213
string inputPath = "assets/textures/test.png";
13-
DirectXTex.LoadFromPNGFile(inputPath, ref metadata, ref image);
14-
14+
DirectXTex.LoadFromWICFile(inputPath, WICFlags.None, ref metadata, ref image, default).ThrowIf();
1515
ScratchImage mipChain = DirectXTex.CreateScratchImage();
1616

1717
int mipLevels = 4;
18-
DirectXTex.GenerateMipMaps2(image.GetImages(), 1, ref metadata, TexFilterFlags.ForceNonWic, (ulong)mipLevels, ref mipChain);
18+
DirectXTex.GenerateMipMaps2(image.GetImages(), 1, ref metadata, TexFilterFlags.ForceNonWic, (nuint)mipLevels, ref mipChain).ThrowIf();
1919
image.Release();
2020

2121
metadata = mipChain.GetMetadata();
2222

2323
string outputPath = "test.dds";
24-
DirectXTex.SaveToDDSFile2(mipChain.GetImages(), mipChain.GetImageCount(), ref metadata, DDSFlags.None, outputPath);
24+
DirectXTex.SaveToDDSFile2(mipChain.GetImages(), mipChain.GetImageCount(), ref metadata, DDSFlags.None, outputPath).ThrowIf();
2525

2626
mipChain.Release();
2727
}

Generator/Generator.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Include="HexaGen" Version="1.1.11" />
13+
<PackageReference Include="HexaGen" Version="1.1.14-rc1" />
1414
</ItemGroup>
1515

1616
<ItemGroup>

Generator/Program.cs

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,10 @@
1-
namespace Generator
2-
{
3-
using HexaGen;
4-
using HexaGen.Core;
5-
using System.Text;
1+
using HexaGen;
62

7-
internal class Program
8-
{
9-
private static int Main(string[] args)
10-
{
11-
string headerFile = "DirectXTex/DirectXTex.h";
3+
CsCodeGeneratorConfig config = CsCodeGeneratorConfig.Load("generator.json");
124

13-
CsCodeGeneratorConfig generatorSettings = CsCodeGeneratorConfig.Load("generator.json");
5+
config.SystemIncludeFolders.Add("C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\Llvm\\x64\\lib\\clang\\17\\include");
6+
config.SystemIncludeFolders.Add("C:\\Dev\\vcpkg\\packages\\directxmath_x64-windows\\include\\directxmath");
147

15-
generatorSettings.SystemIncludeFolders.Add("C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\Llvm\\x64\\lib\\clang\\17\\include");
16-
generatorSettings.SystemIncludeFolders.Add("C:\\Dev\\vcpkg\\packages\\directxmath_x64-windows\\include\\directxmath");
17-
18-
generatorSettings.HeaderInjector += Injector;
19-
20-
CsCodeGenerator generator = new(generatorSettings);
21-
generator.LogToConsole();
22-
generator.Generate(headerFile, "../../../../Hexa.NET.DirectXTex/Generated");
23-
24-
25-
return 0;
26-
}
27-
28-
private static void Injector(ICodeWriter codeWriter, StringBuilder builder)
29-
{
30-
if (builder == null)
31-
return;
32-
33-
builder.AppendLine("#if !STANDALONE");
34-
builder.AppendLine("using Silk.NET.DXGI;");
35-
builder.AppendLine("using Silk.NET.Direct2D;");
36-
builder.AppendLine("using Silk.NET.Direct3D11;");
37-
builder.AppendLine("using Silk.NET.Direct3D12;");
38-
builder.AppendLine("#endif");
39-
}
40-
}
41-
}
8+
CsCodeGenerator generator = new(config);
9+
generator.LogToConsole();
10+
generator.Generate("DirectXTex/DirectXTex.h", "../../../../Hexa.NET.DirectXTex/Generated");

Generator/generator.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,7 @@
1010
"GenerateDelegates": true,
1111
"GenerateMetadata": true,
1212
"BoolType": 0,
13-
"KnownConstantNames": {},
1413
"KnownEnumValueNames": { "Blob": "BlobRelease" },
15-
"KnownEnumPrefixes": {},
16-
"KnownExtensionNames": {
17-
},
1814
"KnownMemberFunctions": { "TexMetadata": [ "ComputeIndex", "IsCubemap", "IsPMAlpha", "SetAlphaMode", "GetAlphaMode", "IsVolumemap" ] },
1915
"IgnoredParts": [ "bit" ],
2016
"IgnoredFunctions": [
@@ -36,8 +32,6 @@
3632
"IWICImagingFactory",
3733
"IWICMetadataQueryReader"
3834
],
39-
"PreserveCaps": [ "" ],
40-
"Keywords": [ "object", "event" ],
4135
"TypeMappings": {
4236
"wchar": "char",
4337
"uint8_t": "byte",

Hexa.NET.DirectXTex.Tests/DDSHelperFunctions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public void EncodeDDSHeader()
1919
};
2020

2121
byte[] data = new byte[8192];
22-
ulong required;
22+
nuint required;
2323
fixed (byte* ptr = data)
2424
{
2525
DirectXTex.EncodeDDSHeader(ref metadata, DDSFlags.None, ptr, 8192, &required);

Hexa.NET.DirectXTex.Tests/DXGIFormatUtilities.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,9 @@ public void ComputePitch()
133133
{
134134
uint width = 64;
135135
uint height = 64;
136-
ulong rowPitch = 0;
137-
ulong slicePitch = 0;
138-
var result = DirectXTex.ComputePitch((int)Format.FormatR8G8B8A8Uint, width, height, &rowPitch, &slicePitch, CPFlags.None);
139-
if (!result.IsSuccess)
140-
result.Throw();
136+
nuint rowPitch = 0;
137+
nuint slicePitch = 0;
138+
DirectXTex.ComputePitch((int)Format.FormatR8G8B8A8Uint, width, height, &rowPitch, &slicePitch, CPFlags.None).ThrowIf();
141139

142140
ulong rowPitch2 = width * 4;
143141
ulong slicePitch2 = rowPitch2 * height;
@@ -179,7 +177,7 @@ public void MakeTypelessUNORM()
179177
[Test]
180178
public void MakeTypelessFLOAT()
181179
{
182-
var result = DirectXTex.MakeTypelessFLOA((int)Format.FormatR32G32B32A32Typeless);
180+
var result = DirectXTex.MakeTypelessFLOAT((int)Format.FormatR32G32B32A32Typeless);
183181
Assert.That((Format)result, Is.EqualTo(Format.FormatR32G32B32A32Float));
184182
}
185183
}

Hexa.NET.DirectXTex.Tests/Direct3D11Functions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public void IsSupportedTexture()
132132
MiscFlags = 0,
133133
MiscFlags2 = 0,
134134
};
135-
Assert.True(DirectXTex.IsSupportedTexture(Device, ref metadata));
135+
Assert.True(DirectXTex.IsSupportedTexture((NET.DirectXTex.ID3D11Device*)Device.Handle, ref metadata));
136136
}
137137

138138
[Test]
@@ -154,7 +154,7 @@ public void CreateTexture()
154154
ScratchImage image = DirectXTex.CreateScratchImage();
155155
DirectXTex.Initialize(image, ref metadata, CPFlags.None);
156156
ID3D11Resource* resource;
157-
DirectXTex.CreateTexture(Device, image.GetImages(), image.GetImageCount(), ref metadata, &resource);
157+
DirectXTex.CreateTexture((NET.DirectXTex.ID3D11Device*)Device.Handle, image.GetImages(), image.GetImageCount(), ref metadata, (NET.DirectXTex.ID3D11Resource**)&resource);
158158
if (resource == null)
159159
Assert.Fail("Fail");
160160
resource->Release();
@@ -178,7 +178,7 @@ public void CreateShaderResourceView()
178178
ScratchImage image = DirectXTex.CreateScratchImage();
179179
DirectXTex.Initialize(image, ref metadata, CPFlags.None);
180180
ID3D11ShaderResourceView* srv;
181-
DirectXTex.CreateShaderResourceView(Device, image.GetImages(), image.GetImageCount(), ref metadata, &srv);
181+
DirectXTex.CreateShaderResourceView((NET.DirectXTex.ID3D11Device*)Device.Handle, image.GetImages(), image.GetImageCount(), ref metadata, (NET.DirectXTex.ID3D11ShaderResourceView**)&srv);
182182
if (srv == null)
183183
Assert.Fail("Fail");
184184
srv->Release();
@@ -202,7 +202,7 @@ public void CreateTextureEx()
202202
ScratchImage image = DirectXTex.CreateScratchImage();
203203
DirectXTex.Initialize(image, ref metadata, CPFlags.None);
204204
ID3D11Resource* resource;
205-
DirectXTex.CreateTextureEx(Device, image.GetImages(), image.GetImageCount(), ref metadata, (int)Usage.Immutable, (uint)BindFlag.ShaderResource, (uint)CpuAccessFlag.None, (uint)ResourceMiscFlag.None, CreateTexFlags.Default, &resource);
205+
DirectXTex.CreateTextureEx((NET.DirectXTex.ID3D11Device*)Device.Handle, image.GetImages(), image.GetImageCount(), ref metadata, (int)Usage.Immutable, (uint)BindFlag.ShaderResource, (uint)CpuAccessFlag.None, (uint)ResourceMiscFlag.None, CreateTexFlags.Default, (NET.DirectXTex.ID3D11Resource**)&resource);
206206
if (resource == null)
207207
Assert.Fail("Fail");
208208
resource->Release();
@@ -226,7 +226,7 @@ public void CreateShaderResourceViewEx()
226226
ScratchImage image = DirectXTex.CreateScratchImage();
227227
DirectXTex.Initialize(image, ref metadata, CPFlags.None);
228228
ID3D11ShaderResourceView* srv;
229-
DirectXTex.CreateShaderResourceViewEx(Device, image.GetImages(), image.GetImageCount(), ref metadata, (int)Usage.Immutable, (uint)BindFlag.ShaderResource, (uint)CpuAccessFlag.None, (uint)ResourceMiscFlag.None, CreateTexFlags.Default, &srv);
229+
DirectXTex.CreateShaderResourceViewEx((NET.DirectXTex.ID3D11Device*)Device.Handle, image.GetImages(), image.GetImageCount(), ref metadata, (int)Usage.Immutable, (uint)BindFlag.ShaderResource, (uint)CpuAccessFlag.None, (uint)ResourceMiscFlag.None, CreateTexFlags.Default, (NET.DirectXTex.ID3D11ShaderResourceView**)&srv);
230230
if (srv == null)
231231
Assert.Fail("Fail");
232232
srv->Release();
@@ -240,7 +240,7 @@ public void CaptureTexture()
240240
Device.CreateTexture2D(&desc, (SubresourceData*)null, (ID3D11Texture2D**)&resource);
241241

242242
ScratchImage image = DirectXTex.CreateScratchImage();
243-
DirectXTex.CaptureTexture(Device, DeviceContext, resource, ref image);
243+
DirectXTex.CaptureTexture((NET.DirectXTex.ID3D11Device*)Device.Handle, (NET.DirectXTex.ID3D11DeviceContext*)DeviceContext.Handle, (NET.DirectXTex.ID3D11Resource*)resource, ref image);
244244

245245
resource->Release();
246246

Hexa.NET.DirectXTex.Tests/Hexa.NET.DirectXTex.Tests.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
<PackageReference Include="NUnit3TestAdapter" Version="4.4.2" />
1717
<PackageReference Include="NUnit.Analyzers" Version="3.6.1" />
1818
<PackageReference Include="coverlet.collector" Version="3.2.0" />
19+
<PackageReference Include="Silk.NET.Direct2D" Version="2.17.1" />
20+
<PackageReference Include="Silk.NET.Direct3D11" Version="2.17.1" />
21+
<PackageReference Include="Silk.NET.Direct3D12" Version="2.17.1" />
22+
<PackageReference Include="Silk.NET.DXGI" Version="2.17.1" />
1923
</ItemGroup>
2024

2125
<ItemGroup>

Hexa.NET.DirectXTex.Tests/MiscImageOperations.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void ComputeMSE()
7575

7676
private static Vector4 maxLum = Vector4.Zero;
7777

78-
private static void EvaluateImageFunc(Vector4* pixels, ulong width, ulong y)
78+
private static void EvaluateImageFunc(Vector4* pixels, nuint width, nuint y)
7979
{
8080
for (nuint j = 0; j < width; ++j)
8181
{
@@ -121,7 +121,7 @@ public static bool NearEqual(Vector4 V1, Vector4 V2, Vector4 Epsilon)
121121
[Test]
122122
public void TransformImage()
123123
{
124-
static void func(Vector4* outPixels, Vector4* inPixels, ulong width, ulong y)
124+
static void func(Vector4* outPixels, Vector4* inPixels, nuint width, nuint y)
125125
{
126126
Vector4 s_chromaKey = new(0.0f, 1.0f, 0.0f, 0.0f);
127127
Vector4 s_tolerance = new(0.2f, 0.2f, 0.2f, 0.0f);

0 commit comments

Comments
 (0)