mirror of
https://github.com/amerkoleci/Vortice.Win32.git
synced 2026-01-14 16:16:04 +08:00
More generaton and handle Graphics.Direct2D.Common.json generation + more D3D11 helpers.
This commit is contained in:
@@ -20,7 +20,9 @@ public static class Program
|
|||||||
"Graphics.Direct3D11.json",
|
"Graphics.Direct3D11.json",
|
||||||
"Graphics.Direct3D12.json",
|
"Graphics.Direct3D12.json",
|
||||||
"Graphics.Direct3D.Dxc.json",
|
"Graphics.Direct3D.Dxc.json",
|
||||||
|
"Graphics.Direct2D.Common.json",
|
||||||
//"Graphics.Imaging.json",
|
//"Graphics.Imaging.json",
|
||||||
|
//"Graphics.DirectWrite.json",
|
||||||
};
|
};
|
||||||
|
|
||||||
private static readonly Dictionary<string, string> s_csNameMappings = new()
|
private static readonly Dictionary<string, string> s_csNameMappings = new()
|
||||||
@@ -75,6 +77,15 @@ public static class Program
|
|||||||
|
|
||||||
{ "Graphics.Direct3D.D3DVECTOR", "Vector3" },
|
{ "Graphics.Direct3D.D3DVECTOR", "Vector3" },
|
||||||
{ "Graphics.Direct3D.D3DMATRIX", "Matrix4x4" },
|
{ "Graphics.Direct3D.D3DMATRIX", "Matrix4x4" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_MATRIX_3X2_F", "Matrix3x2" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_MATRIX_4X3_F", "Matrix4x3" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_MATRIX_4X4_F", "Matrix4x4" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_MATRIX_5X4_F", "Matrix5x4" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_POINT_2F", "System.Drawing.PointF" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_VECTOR_2F", "Vector2" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_VECTOR_3F", "Vector3" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_VECTOR_4F", "Vector4" },
|
||||||
|
{ "Graphics.Direct2D.Common.D2D_SIZE_F", "System.Drawing.SizeF" },
|
||||||
|
|
||||||
// TODO: Understand those ->
|
// TODO: Understand those ->
|
||||||
{ "Foundation.RECT", "RawRect" },
|
{ "Foundation.RECT", "RawRect" },
|
||||||
@@ -488,6 +499,14 @@ public static class Program
|
|||||||
"SourceNot2D",
|
"SourceNot2D",
|
||||||
"DestinationNot2D",
|
"DestinationNot2D",
|
||||||
"CreateFence",
|
"CreateFence",
|
||||||
|
"SynchronizedChannel",
|
||||||
|
"DecoderBeginFrame",
|
||||||
|
"VideoProcessorGetStreamMirror",
|
||||||
|
"BackbufferNotSupported",
|
||||||
|
"DimensionsTooLarge",
|
||||||
|
"InvalidMipLevel",
|
||||||
|
"ColorMatrix",
|
||||||
|
"StencilOp",
|
||||||
};
|
};
|
||||||
|
|
||||||
private static readonly HashSet<string> s_preserveCaps = new(StringComparer.OrdinalIgnoreCase)
|
private static readonly HashSet<string> s_preserveCaps = new(StringComparer.OrdinalIgnoreCase)
|
||||||
@@ -516,6 +535,9 @@ public static class Program
|
|||||||
"D3D",
|
"D3D",
|
||||||
"D3D11",
|
"D3D11",
|
||||||
"D3D12",
|
"D3D12",
|
||||||
|
"D2D",
|
||||||
|
"D2D1",
|
||||||
|
"DWRITE",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -610,6 +632,9 @@ public static class Program
|
|||||||
"D3D10",
|
"D3D10",
|
||||||
"D3D11",
|
"D3D11",
|
||||||
"D3D12",
|
"D3D12",
|
||||||
|
"D2D",
|
||||||
|
"D2D1",
|
||||||
|
"DWRITE",
|
||||||
};
|
};
|
||||||
|
|
||||||
private static readonly HashSet<string> s_ignoredParts = new(StringComparer.OrdinalIgnoreCase)
|
private static readonly HashSet<string> s_ignoredParts = new(StringComparer.OrdinalIgnoreCase)
|
||||||
@@ -734,6 +759,7 @@ public static class Program
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Generate docs
|
// Generate docs
|
||||||
|
//DocGenerator.Generate(new[] { "DWRITE" }, Path.Combine(outputPath, "DirectWrite.xml"));
|
||||||
//DocGenerator.Generate(new[] { "D3D" }, Path.Combine(outputPath, "Direct3D.xml"));
|
//DocGenerator.Generate(new[] { "D3D" }, Path.Combine(outputPath, "Direct3D.xml"));
|
||||||
//DocGenerator.Generate(new[] { "DXGI" }, Path.Combine(outputPath, "Dxgi.xml"));
|
//DocGenerator.Generate(new[] { "DXGI" }, Path.Combine(outputPath, "Dxgi.xml"));
|
||||||
//DocGenerator.Generate(new[] { "D3D11" }, Path.Combine(outputPath, "Direct3D11.xml"));
|
//DocGenerator.Generate(new[] { "D3D11" }, Path.Combine(outputPath, "Direct3D11.xml"));
|
||||||
@@ -965,7 +991,8 @@ public static class Program
|
|||||||
foreach (ApiType structType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "struct"))
|
foreach (ApiType structType in api.Types.Where(item => item.Kind.ToLowerInvariant() == "struct"))
|
||||||
{
|
{
|
||||||
if (structType.Name.StartsWith("D3DX11") ||
|
if (structType.Name.StartsWith("D3DX11") ||
|
||||||
structType.Name.StartsWith("CD3D11"))
|
structType.Name.StartsWith("CD3D11") ||
|
||||||
|
structType.Name == "D2D_COLOR_F")
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -1298,6 +1325,11 @@ public static class Program
|
|||||||
writer.WriteLine("[StructLayout(LayoutKind.Explicit)]");
|
writer.WriteLine("[StructLayout(LayoutKind.Explicit)]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (structType.Name == "D2D_MATRIX_3X2_F")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
using (writer.PushBlock($"public partial struct {csTypeName}"))
|
using (writer.PushBlock($"public partial struct {csTypeName}"))
|
||||||
{
|
{
|
||||||
int fieldIndex = 0;
|
int fieldIndex = 0;
|
||||||
@@ -1409,6 +1441,9 @@ public static class Program
|
|||||||
{
|
{
|
||||||
writer.WriteLine("[FieldOffset(0)]");
|
writer.WriteLine("[FieldOffset(0)]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fieldValueName = CleanupName(fieldValueName);
|
||||||
|
|
||||||
writer.WriteLine($"public {unsafePrefix}{fieldTypeName} {fieldValueName};");
|
writer.WriteLine($"public {unsafePrefix}{fieldTypeName} {fieldValueName};");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1661,6 +1696,8 @@ public static class Program
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
parameterName = CleanupName(parameterName);
|
||||||
|
|
||||||
argumentBuilder.Append(parameterType).Append(' ').Append(parameterName);
|
argumentBuilder.Append(parameterType).Append(' ').Append(parameterName);
|
||||||
//if (isOptional == true)
|
//if (isOptional == true)
|
||||||
//{
|
//{
|
||||||
@@ -1761,6 +1798,16 @@ public static class Program
|
|||||||
return typeName.Replace(api + ".", "");
|
return typeName.Replace(api + ".", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string CleanupName(string name)
|
||||||
|
{
|
||||||
|
if (name == "string")
|
||||||
|
{
|
||||||
|
return "@string";
|
||||||
|
}
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
private static string GetDataTypeName(string typeName, out string prefix)
|
private static string GetDataTypeName(string typeName, out string prefix)
|
||||||
{
|
{
|
||||||
prefix = typeName;
|
prefix = typeName;
|
||||||
|
|||||||
485
src/Vortice.Win32/Generated/Graphics/Direct2D.Common.cs
Normal file
485
src/Vortice.Win32/Generated/Graphics/Direct2D.Common.cs
Normal file
@@ -0,0 +1,485 @@
|
|||||||
|
// ------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
// ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
|
||||||
|
#if !NET6_0_OR_GREATER
|
||||||
|
using MemoryMarshal = Win32.MemoryMarshal;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct2D.Common;
|
||||||
|
|
||||||
|
public static partial class Apis
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Enums
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_ALPHA_MODE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_ALPHA_MODE</unmanaged>
|
||||||
|
public enum AlphaMode : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_ALPHA_MODE::D2D1_ALPHA_MODE_UNKNOWN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_ALPHA_MODE_UNKNOWN</unmanaged>
|
||||||
|
Unknown = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_ALPHA_MODE::D2D1_ALPHA_MODE_PREMULTIPLIED"]/*' />
|
||||||
|
/// <unmanaged>D2D1_ALPHA_MODE_PREMULTIPLIED</unmanaged>
|
||||||
|
Premultiplied = 1,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_ALPHA_MODE::D2D1_ALPHA_MODE_STRAIGHT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_ALPHA_MODE_STRAIGHT</unmanaged>
|
||||||
|
Straight = 2,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_ALPHA_MODE::D2D1_ALPHA_MODE_IGNORE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_ALPHA_MODE_IGNORE</unmanaged>
|
||||||
|
Ignore = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FIGURE_BEGIN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FIGURE_BEGIN</unmanaged>
|
||||||
|
public enum FigureBegin : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FIGURE_BEGIN::D2D1_FIGURE_BEGIN_FILLED"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FIGURE_BEGIN_FILLED</unmanaged>
|
||||||
|
Filled = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FIGURE_BEGIN::D2D1_FIGURE_BEGIN_HOLLOW"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FIGURE_BEGIN_HOLLOW</unmanaged>
|
||||||
|
Hollow = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FIGURE_END"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FIGURE_END</unmanaged>
|
||||||
|
public enum FigureEnd : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FIGURE_END::D2D1_FIGURE_END_OPEN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FIGURE_END_OPEN</unmanaged>
|
||||||
|
Open = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FIGURE_END::D2D1_FIGURE_END_CLOSED"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FIGURE_END_CLOSED</unmanaged>
|
||||||
|
Closed = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_PATH_SEGMENT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_PATH_SEGMENT</unmanaged>
|
||||||
|
[Flags]
|
||||||
|
public enum PathSegment : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_PATH_SEGMENT::D2D1_PATH_SEGMENT_NONE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_PATH_SEGMENT_NONE</unmanaged>
|
||||||
|
None = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_PATH_SEGMENT::D2D1_PATH_SEGMENT_FORCE_UNSTROKED"]/*' />
|
||||||
|
/// <unmanaged>D2D1_PATH_SEGMENT_FORCE_UNSTROKED</unmanaged>
|
||||||
|
ForceUnstroked = 1,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_PATH_SEGMENT::D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN</unmanaged>
|
||||||
|
ForceRoundLineJoin = 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FILL_MODE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FILL_MODE</unmanaged>
|
||||||
|
public enum FillMode : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FILL_MODE::D2D1_FILL_MODE_ALTERNATE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FILL_MODE_ALTERNATE</unmanaged>
|
||||||
|
Alternate = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_FILL_MODE::D2D1_FILL_MODE_WINDING"]/*' />
|
||||||
|
/// <unmanaged>D2D1_FILL_MODE_WINDING</unmanaged>
|
||||||
|
Winding = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BORDER_MODE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BORDER_MODE</unmanaged>
|
||||||
|
public enum BorderMode : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BORDER_MODE::D2D1_BORDER_MODE_SOFT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BORDER_MODE_SOFT</unmanaged>
|
||||||
|
Soft = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BORDER_MODE::D2D1_BORDER_MODE_HARD"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BORDER_MODE_HARD</unmanaged>
|
||||||
|
Hard = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE</unmanaged>
|
||||||
|
public enum BlendMode : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_MULTIPLY"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_MULTIPLY</unmanaged>
|
||||||
|
Multiply = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_SCREEN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_SCREEN</unmanaged>
|
||||||
|
Screen = 1,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_DARKEN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_DARKEN</unmanaged>
|
||||||
|
Darken = 2,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_LIGHTEN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_LIGHTEN</unmanaged>
|
||||||
|
Lighten = 3,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_DISSOLVE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_DISSOLVE</unmanaged>
|
||||||
|
Dissolve = 4,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_COLOR_BURN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_COLOR_BURN</unmanaged>
|
||||||
|
ColorBurn = 5,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_LINEAR_BURN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_LINEAR_BURN</unmanaged>
|
||||||
|
LinearBurn = 6,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_DARKER_COLOR"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_DARKER_COLOR</unmanaged>
|
||||||
|
DarkerColor = 7,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_LIGHTER_COLOR"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_LIGHTER_COLOR</unmanaged>
|
||||||
|
LighterColor = 8,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_COLOR_DODGE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_COLOR_DODGE</unmanaged>
|
||||||
|
ColorDodge = 9,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_LINEAR_DODGE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_LINEAR_DODGE</unmanaged>
|
||||||
|
LinearDodge = 10,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_OVERLAY"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_OVERLAY</unmanaged>
|
||||||
|
Overlay = 11,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_SOFT_LIGHT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_SOFT_LIGHT</unmanaged>
|
||||||
|
SoftLight = 12,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_HARD_LIGHT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_HARD_LIGHT</unmanaged>
|
||||||
|
HardLight = 13,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_VIVID_LIGHT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_VIVID_LIGHT</unmanaged>
|
||||||
|
VividLight = 14,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_LINEAR_LIGHT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_LINEAR_LIGHT</unmanaged>
|
||||||
|
LinearLight = 15,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_PIN_LIGHT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_PIN_LIGHT</unmanaged>
|
||||||
|
PinLight = 16,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_HARD_MIX"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_HARD_MIX</unmanaged>
|
||||||
|
HardMix = 17,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_DIFFERENCE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_DIFFERENCE</unmanaged>
|
||||||
|
Difference = 18,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_EXCLUSION"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_EXCLUSION</unmanaged>
|
||||||
|
Exclusion = 19,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_HUE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_HUE</unmanaged>
|
||||||
|
Hue = 20,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_SATURATION"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_SATURATION</unmanaged>
|
||||||
|
Saturation = 21,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_COLOR"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_COLOR</unmanaged>
|
||||||
|
Color = 22,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_LUMINOSITY"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_LUMINOSITY</unmanaged>
|
||||||
|
Luminosity = 23,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_SUBTRACT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_SUBTRACT</unmanaged>
|
||||||
|
Subtract = 24,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BLEND_MODE::D2D1_BLEND_MODE_DIVISION"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BLEND_MODE_DIVISION</unmanaged>
|
||||||
|
Division = 25,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLORMATRIX_ALPHA_MODE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COLORMATRIX_ALPHA_MODE</unmanaged>
|
||||||
|
public enum ColorMatrixAlphaMode : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLORMATRIX_ALPHA_MODE::D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED</unmanaged>
|
||||||
|
Premultiplied = 1,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLORMATRIX_ALPHA_MODE::D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT</unmanaged>
|
||||||
|
Straight = 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_TURBULENCE_NOISE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_TURBULENCE_NOISE</unmanaged>
|
||||||
|
public enum TurbulenceNoise : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_TURBULENCE_NOISE::D2D1_TURBULENCE_NOISE_FRACTAL_SUM"]/*' />
|
||||||
|
/// <unmanaged>D2D1_TURBULENCE_NOISE_FRACTAL_SUM</unmanaged>
|
||||||
|
FractalSum = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_TURBULENCE_NOISE::D2D1_TURBULENCE_NOISE_TURBULENCE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_TURBULENCE_NOISE_TURBULENCE</unmanaged>
|
||||||
|
Turbulence = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE</unmanaged>
|
||||||
|
public enum CompositeMode : uint
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_SOURCE_OVER"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_SOURCE_OVER</unmanaged>
|
||||||
|
SourceOver = 0,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_DESTINATION_OVER"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_DESTINATION_OVER</unmanaged>
|
||||||
|
DestinationOver = 1,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_SOURCE_IN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_SOURCE_IN</unmanaged>
|
||||||
|
SourceIn = 2,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_DESTINATION_IN"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_DESTINATION_IN</unmanaged>
|
||||||
|
DestinationIn = 3,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_SOURCE_OUT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_SOURCE_OUT</unmanaged>
|
||||||
|
SourceOut = 4,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_DESTINATION_OUT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_DESTINATION_OUT</unmanaged>
|
||||||
|
DestinationOut = 5,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_SOURCE_ATOP"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_SOURCE_ATOP</unmanaged>
|
||||||
|
SourceAtop = 6,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_DESTINATION_ATOP"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_DESTINATION_ATOP</unmanaged>
|
||||||
|
DestinationAtop = 7,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_XOR"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_XOR</unmanaged>
|
||||||
|
Xor = 8,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_PLUS"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_PLUS</unmanaged>
|
||||||
|
Plus = 9,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_SOURCE_COPY"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_SOURCE_COPY</unmanaged>
|
||||||
|
SourceCopy = 10,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY</unmanaged>
|
||||||
|
BoundedSourceCopy = 11,
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COMPOSITE_MODE::D2D1_COMPOSITE_MODE_MASK_INVERT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COMPOSITE_MODE_MASK_INVERT</unmanaged>
|
||||||
|
MaskInvert = 12,
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Enums
|
||||||
|
|
||||||
|
#region Structs
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLOR_F"]/*' />
|
||||||
|
/// <unmanaged>D2D1_COLOR_F</unmanaged>
|
||||||
|
public partial struct ColorF
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLOR_F::r"]/*' />
|
||||||
|
public float r;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLOR_F::g"]/*' />
|
||||||
|
public float g;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLOR_F::b"]/*' />
|
||||||
|
public float b;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_COLOR_F::a"]/*' />
|
||||||
|
public float a;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_PIXEL_FORMAT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_PIXEL_FORMAT</unmanaged>
|
||||||
|
public partial struct PixelFormat
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_PIXEL_FORMAT::format"]/*' />
|
||||||
|
public Graphics.Dxgi.Common.Format format;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_PIXEL_FORMAT::alphaMode"]/*' />
|
||||||
|
public AlphaMode alphaMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_POINT_2U"]/*' />
|
||||||
|
/// <unmanaged>D2D_POINT_2U</unmanaged>
|
||||||
|
public partial struct Point2u
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_POINT_2U::x"]/*' />
|
||||||
|
public uint x;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_POINT_2U::y"]/*' />
|
||||||
|
public uint y;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_F"]/*' />
|
||||||
|
/// <unmanaged>D2D_RECT_F</unmanaged>
|
||||||
|
public partial struct RectF
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_F::left"]/*' />
|
||||||
|
public float left;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_F::top"]/*' />
|
||||||
|
public float top;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_F::right"]/*' />
|
||||||
|
public float right;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_F::bottom"]/*' />
|
||||||
|
public float bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_U"]/*' />
|
||||||
|
/// <unmanaged>D2D_RECT_U</unmanaged>
|
||||||
|
public partial struct RectU
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_U::left"]/*' />
|
||||||
|
public uint left;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_U::top"]/*' />
|
||||||
|
public uint top;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_U::right"]/*' />
|
||||||
|
public uint right;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_RECT_U::bottom"]/*' />
|
||||||
|
public uint bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_SIZE_U"]/*' />
|
||||||
|
/// <unmanaged>D2D_SIZE_U</unmanaged>
|
||||||
|
public partial struct SizeU
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_SIZE_U::width"]/*' />
|
||||||
|
public uint width;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D_SIZE_U::height"]/*' />
|
||||||
|
public uint height;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BEZIER_SEGMENT"]/*' />
|
||||||
|
/// <unmanaged>D2D1_BEZIER_SEGMENT</unmanaged>
|
||||||
|
public partial struct BezierSegment
|
||||||
|
{
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BEZIER_SEGMENT::point1"]/*' />
|
||||||
|
public System.Drawing.PointF point1;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BEZIER_SEGMENT::point2"]/*' />
|
||||||
|
public System.Drawing.PointF point2;
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="D2D1_BEZIER_SEGMENT::point3"]/*' />
|
||||||
|
public System.Drawing.PointF point3;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Structs
|
||||||
|
|
||||||
|
#region COM Types
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink"]/*' />
|
||||||
|
/// <unmanaged>ID2D1SimplifiedGeometrySink</unmanaged>
|
||||||
|
[Guid("2cd9069e-12e2-11dc-9fed-001143a055f9")]
|
||||||
|
[NativeTypeName("struct ID2D1SimplifiedGeometrySink : IUnknown")]
|
||||||
|
[NativeInheritance("IUnknown")]
|
||||||
|
public unsafe partial struct ID2D1SimplifiedGeometrySink
|
||||||
|
{
|
||||||
|
public static ref readonly Guid IID_ID2D1SimplifiedGeometrySink
|
||||||
|
{
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
ReadOnlySpan<byte> data = new byte[] {
|
||||||
|
0x9E, 0x06, 0xD9, 0x2C,
|
||||||
|
0xE2, 0x12,
|
||||||
|
0xDC, 0x11,
|
||||||
|
0x9F,
|
||||||
|
0xED,
|
||||||
|
0x00,
|
||||||
|
0x11,
|
||||||
|
0x43,
|
||||||
|
0xA0,
|
||||||
|
0x55,
|
||||||
|
0xF9
|
||||||
|
};
|
||||||
|
|
||||||
|
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
|
||||||
|
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SimplifiedGeometrySink));
|
||||||
|
|
||||||
|
public void** lpVtbl;
|
||||||
|
|
||||||
|
/// <inheritdoc cref="IUnknown.QueryInterface" />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(0)]
|
||||||
|
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
|
||||||
|
{
|
||||||
|
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc cref="IUnknown.AddRef" />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(1)]
|
||||||
|
[return: NativeTypeName("ULONG")]
|
||||||
|
public uint AddRef()
|
||||||
|
{
|
||||||
|
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc cref="IUnknown.Release" />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(2)]
|
||||||
|
[return: NativeTypeName("ULONG")]
|
||||||
|
public uint Release()
|
||||||
|
{
|
||||||
|
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink::SetFillMode"]/*' />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(3)]
|
||||||
|
public void SetFillMode(FillMode fillMode)
|
||||||
|
{
|
||||||
|
((delegate* unmanaged[Stdcall]<ID2D1SimplifiedGeometrySink*, FillMode, void>)(lpVtbl[3]))((ID2D1SimplifiedGeometrySink*)Unsafe.AsPointer(ref this), fillMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink::SetSegmentFlags"]/*' />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(4)]
|
||||||
|
public void SetSegmentFlags(PathSegment vertexFlags)
|
||||||
|
{
|
||||||
|
((delegate* unmanaged[Stdcall]<ID2D1SimplifiedGeometrySink*, PathSegment, void>)(lpVtbl[4]))((ID2D1SimplifiedGeometrySink*)Unsafe.AsPointer(ref this), vertexFlags);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink::BeginFigure"]/*' />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(5)]
|
||||||
|
public void BeginFigure(System.Drawing.PointF* startPoint, FigureBegin figureBegin)
|
||||||
|
{
|
||||||
|
((delegate* unmanaged[Stdcall]<ID2D1SimplifiedGeometrySink*, System.Drawing.PointF*, FigureBegin, void>)(lpVtbl[5]))((ID2D1SimplifiedGeometrySink*)Unsafe.AsPointer(ref this), startPoint, figureBegin);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink::AddLines"]/*' />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(6)]
|
||||||
|
public void AddLines(System.Drawing.PointF** points, uint pointsCount)
|
||||||
|
{
|
||||||
|
((delegate* unmanaged[Stdcall]<ID2D1SimplifiedGeometrySink*, System.Drawing.PointF**, uint, void>)(lpVtbl[6]))((ID2D1SimplifiedGeometrySink*)Unsafe.AsPointer(ref this), points, pointsCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink::AddBeziers"]/*' />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(7)]
|
||||||
|
public void AddBeziers(BezierSegment* beziers, uint beziersCount)
|
||||||
|
{
|
||||||
|
((delegate* unmanaged[Stdcall]<ID2D1SimplifiedGeometrySink*, BezierSegment*, uint, void>)(lpVtbl[7]))((ID2D1SimplifiedGeometrySink*)Unsafe.AsPointer(ref this), beziers, beziersCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink::EndFigure"]/*' />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(8)]
|
||||||
|
public void EndFigure(FigureEnd figureEnd)
|
||||||
|
{
|
||||||
|
((delegate* unmanaged[Stdcall]<ID2D1SimplifiedGeometrySink*, FigureEnd, void>)(lpVtbl[8]))((ID2D1SimplifiedGeometrySink*)Unsafe.AsPointer(ref this), figureEnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <include file='../Direct2D.xml' path='doc/member[@name="ID2D1SimplifiedGeometrySink::Close"]/*' />
|
||||||
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
[VtblIndex(9)]
|
||||||
|
public HResult Close()
|
||||||
|
{
|
||||||
|
return ((delegate* unmanaged[Stdcall]<ID2D1SimplifiedGeometrySink*, int>)(lpVtbl[9]))((ID2D1SimplifiedGeometrySink*)Unsafe.AsPointer(ref this));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Com Types
|
||||||
|
|
||||||
@@ -6407,10 +6407,10 @@ public enum MessageId : int
|
|||||||
ReleasedecoderbufferNotlocked = 3145783,
|
ReleasedecoderbufferNotlocked = 3145783,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM</unmanaged>
|
||||||
DecoderbeginframeNullParam = 3145784,
|
DecoderBeginFrameNullParam = 3145784,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD</unmanaged>
|
||||||
DecoderbeginframeHazard = 3145785,
|
DecoderBeginFrameHazard = 3145785,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM</unmanaged>
|
||||||
DecoderendframeNullParam = 3145786,
|
DecoderendframeNullParam = 3145786,
|
||||||
@@ -7370,7 +7370,7 @@ public enum MessageId : int
|
|||||||
Videoprocessorgetstreamcolorspace1NullParam = 3146104,
|
Videoprocessorgetstreamcolorspace1NullParam = 3146104,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM</unmanaged>
|
||||||
VideoprocessorgetstreammirrorNullParam = 3146105,
|
VideoProcessorGetStreamMirrorNullParam = 3146105,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM</unmanaged>
|
||||||
RecommendvideodecoderdownsamplingNullParam = 3146106,
|
RecommendvideodecoderdownsamplingNullParam = 3146106,
|
||||||
@@ -7553,7 +7553,7 @@ public enum MessageId : int
|
|||||||
JpegDecodeNotSupported = 3146169,
|
JpegDecodeNotSupported = 3146169,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE</unmanaged>
|
||||||
JpegDecodeDimensionstoolarge = 3146170,
|
JpegDecodeDimensionsTooLarge = 3146170,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS</unmanaged>
|
||||||
JpegDecodeInvalidComponents = 3146171,
|
JpegDecodeInvalidComponents = 3146171,
|
||||||
@@ -7574,7 +7574,7 @@ public enum MessageId : int
|
|||||||
JpegDecodeInvalidSubresource = 3146176,
|
JpegDecodeInvalidSubresource = 3146176,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL</unmanaged>
|
||||||
JpegDecodeInvalidmiplevel = 3146177,
|
JpegDecodeInvalidMipLevel = 3146177,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX</unmanaged>
|
||||||
JpegDecodeEmptydestbox = 3146178,
|
JpegDecodeEmptydestbox = 3146178,
|
||||||
@@ -7649,7 +7649,7 @@ public enum MessageId : int
|
|||||||
JpegDecodeUnsupporteddsttextureusage = 3146201,
|
JpegDecodeUnsupporteddsttextureusage = 3146201,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED</unmanaged>
|
||||||
JpegDecodeBackbuffernotsupported = 3146202,
|
JpegDecodeBackbufferNotSupported = 3146202,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS</unmanaged>
|
||||||
JpegDecodeUnsupprtedcopyflags = 3146203,
|
JpegDecodeUnsupprtedcopyflags = 3146203,
|
||||||
@@ -7685,10 +7685,10 @@ public enum MessageId : int
|
|||||||
JpegEncodeInvalidSubresource = 3146213,
|
JpegEncodeInvalidSubresource = 3146213,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL</unmanaged>
|
||||||
JpegEncodeInvalidmiplevel = 3146214,
|
JpegEncodeInvalidMipLevel = 3146214,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE</unmanaged>
|
||||||
JpegEncodeDimensionstoolarge = 3146215,
|
JpegEncodeDimensionsTooLarge = 3146215,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_HAZARD"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_HAZARD"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_HAZARD</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_HAZARD</unmanaged>
|
||||||
JpegEncodeHazard = 3146216,
|
JpegEncodeHazard = 3146216,
|
||||||
@@ -7703,7 +7703,7 @@ public enum MessageId : int
|
|||||||
JpegEncodeUnsupportedsrctextureusage = 3146219,
|
JpegEncodeUnsupportedsrctextureusage = 3146219,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED</unmanaged>
|
||||||
JpegEncodeBackbuffernotsupported = 3146220,
|
JpegEncodeBackbufferNotSupported = 3146220,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY</unmanaged>
|
||||||
CreateQueryOrPredicateUnsupportedcontextttypeforquery = 3146221,
|
CreateQueryOrPredicateUnsupportedcontextttypeforquery = 3146221,
|
||||||
@@ -7787,7 +7787,7 @@ public enum MessageId : int
|
|||||||
Videoprocessorgetstreamcolorspace1InvalidStream = 3146247,
|
Videoprocessorgetstreamcolorspace1InvalidStream = 3146247,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM</unmanaged>
|
||||||
VideoprocessorgetstreammirrorInvalidStream = 3146248,
|
VideoProcessorGetStreamMirrorInvalidStream = 3146248,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATE_FENCE"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATE_FENCE"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_CREATE_FENCE</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_CREATE_FENCE</unmanaged>
|
||||||
CreateFence = 3146249,
|
CreateFence = 3146249,
|
||||||
@@ -7799,13 +7799,13 @@ public enum MessageId : int
|
|||||||
DestroyFence = 3146251,
|
DestroyFence = 3146251,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATE_SYNCHRONIZEDCHANNEL"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATE_SYNCHRONIZEDCHANNEL"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_CREATE_SYNCHRONIZEDCHANNEL</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_CREATE_SYNCHRONIZEDCHANNEL</unmanaged>
|
||||||
CreateSynchronizedchannel = 3146252,
|
CreateSynchronizedChannel = 3146252,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_LIVE_SYNCHRONIZEDCHANNEL"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_LIVE_SYNCHRONIZEDCHANNEL"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_LIVE_SYNCHRONIZEDCHANNEL</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_LIVE_SYNCHRONIZEDCHANNEL</unmanaged>
|
||||||
LiveSynchronizedchannel = 3146253,
|
LiveSynchronizedChannel = 3146253,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DESTROY_SYNCHRONIZEDCHANNEL"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DESTROY_SYNCHRONIZEDCHANNEL"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DESTROY_SYNCHRONIZEDCHANNEL</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DESTROY_SYNCHRONIZEDCHANNEL</unmanaged>
|
||||||
DestroySynchronizedchannel = 3146254,
|
DestroySynchronizedChannel = 3146254,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATEFENCE_INVALIDFLAGS"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATEFENCE_INVALIDFLAGS"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_CREATEFENCE_INVALIDFLAGS</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_CREATEFENCE_INVALIDFLAGS</unmanaged>
|
||||||
CreateFenceInvalidFlags = 3146255,
|
CreateFenceInvalidFlags = 3146255,
|
||||||
@@ -7817,22 +7817,22 @@ public enum MessageId : int
|
|||||||
NegotiatecryptosessionkeyexchangemtNotSupported = 3146259,
|
NegotiatecryptosessionkeyexchangemtNotSupported = 3146259,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT_COUNT"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT_COUNT"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT_COUNT</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT_COUNT</unmanaged>
|
||||||
DecoderbeginframeInvalidHistogramComponentCount = 3146260,
|
DecoderBeginFrameInvalidHistogramComponentCount = 3146260,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_COMPONENT</unmanaged>
|
||||||
DecoderbeginframeInvalidHistogramComponent = 3146261,
|
DecoderBeginFrameInvalidHistogramComponent = 3146261,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_SIZE"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_SIZE"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_SIZE</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_SIZE</unmanaged>
|
||||||
DecoderbeginframeInvalidHistogramBufferSize = 3146262,
|
DecoderBeginFrameInvalidHistogramBufferSize = 3146262,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_USAGE"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_USAGE"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_USAGE</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_USAGE</unmanaged>
|
||||||
DecoderbeginframeInvalidHistogramBufferUsage = 3146263,
|
DecoderBeginFrameInvalidHistogramBufferUsage = 3146263,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_MISC_FLAGS"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_MISC_FLAGS"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_MISC_FLAGS</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_MISC_FLAGS</unmanaged>
|
||||||
DecoderbeginframeInvalidHistogramBufferMiscFlags = 3146264,
|
DecoderBeginFrameInvalidHistogramBufferMiscFlags = 3146264,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_OFFSET"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_OFFSET"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_OFFSET</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_DECODERBEGINFRAME_INVALID_HISTOGRAM_BUFFER_OFFSET</unmanaged>
|
||||||
DecoderbeginframeInvalidHistogramBufferOffset = 3146265,
|
DecoderBeginFrameInvalidHistogramBufferOffset = 3146265,
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATE_TRACKEDWORKLOAD"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_MESSAGE_ID::D3D11_MESSAGE_ID_CREATE_TRACKEDWORKLOAD"]/*' />
|
||||||
/// <unmanaged>D3D11_MESSAGE_ID_CREATE_TRACKEDWORKLOAD</unmanaged>
|
/// <unmanaged>D3D11_MESSAGE_ID_CREATE_TRACKEDWORKLOAD</unmanaged>
|
||||||
CreateTrackedworkload = 3146266,
|
CreateTrackedworkload = 3146266,
|
||||||
@@ -8571,7 +8571,7 @@ public partial struct Box
|
|||||||
|
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC"]/*' />
|
||||||
/// <unmanaged>D3D11_DEPTH_STENCILOP_DESC</unmanaged>
|
/// <unmanaged>D3D11_DEPTH_STENCILOP_DESC</unmanaged>
|
||||||
public partial struct DepthStencilopDescription
|
public partial struct DepthStencilOpDescription
|
||||||
{
|
{
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC::StencilFailOp"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCILOP_DESC::StencilFailOp"]/*' />
|
||||||
public StencilOp StencilFailOp;
|
public StencilOp StencilFailOp;
|
||||||
@@ -8609,10 +8609,10 @@ public partial struct DepthStencilDescription
|
|||||||
public byte StencilWriteMask;
|
public byte StencilWriteMask;
|
||||||
|
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::FrontFace"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::FrontFace"]/*' />
|
||||||
public DepthStencilopDescription FrontFace;
|
public DepthStencilOpDescription FrontFace;
|
||||||
|
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::BackFace"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_DEPTH_STENCIL_DESC::BackFace"]/*' />
|
||||||
public DepthStencilopDescription BackFace;
|
public DepthStencilOpDescription BackFace;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC"]/*' />
|
/// <include file='../Direct3D11.xml' path='doc/member[@name="D3D11_RENDER_TARGET_BLEND_DESC"]/*' />
|
||||||
|
|||||||
@@ -7043,7 +7043,7 @@ public partial struct Box
|
|||||||
|
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCILOP_DESC"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCILOP_DESC"]/*' />
|
||||||
/// <unmanaged>D3D12_DEPTH_STENCILOP_DESC</unmanaged>
|
/// <unmanaged>D3D12_DEPTH_STENCILOP_DESC</unmanaged>
|
||||||
public partial struct DepthStencilopDescription
|
public partial struct DepthStencilOpDescription
|
||||||
{
|
{
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCILOP_DESC::StencilFailOp"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCILOP_DESC::StencilFailOp"]/*' />
|
||||||
public StencilOp StencilFailOp;
|
public StencilOp StencilFailOp;
|
||||||
@@ -7081,10 +7081,10 @@ public partial struct DepthStencilDescription
|
|||||||
public byte StencilWriteMask;
|
public byte StencilWriteMask;
|
||||||
|
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC::FrontFace"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC::FrontFace"]/*' />
|
||||||
public DepthStencilopDescription FrontFace;
|
public DepthStencilOpDescription FrontFace;
|
||||||
|
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC::BackFace"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC::BackFace"]/*' />
|
||||||
public DepthStencilopDescription BackFace;
|
public DepthStencilOpDescription BackFace;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1"]/*' />
|
||||||
@@ -7110,10 +7110,10 @@ public partial struct DepthStencilDescription1
|
|||||||
public byte StencilWriteMask;
|
public byte StencilWriteMask;
|
||||||
|
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1::FrontFace"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1::FrontFace"]/*' />
|
||||||
public DepthStencilopDescription FrontFace;
|
public DepthStencilOpDescription FrontFace;
|
||||||
|
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1::BackFace"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1::BackFace"]/*' />
|
||||||
public DepthStencilopDescription BackFace;
|
public DepthStencilOpDescription BackFace;
|
||||||
|
|
||||||
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1::DepthBoundsTestEnable"]/*' />
|
/// <include file='../Direct3D12.xml' path='doc/member[@name="D3D12_DEPTH_STENCIL_DESC1::DepthBoundsTestEnable"]/*' />
|
||||||
public Bool32 DepthBoundsTestEnable;
|
public Bool32 DepthBoundsTestEnable;
|
||||||
|
|||||||
198
src/Vortice.Win32/Graphics/Direct2D/Matrix4x3.cs
Normal file
198
src/Vortice.Win32/Graphics/Direct2D/Matrix4x3.cs
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct2D.Common;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Describes a 4-by-3 floating point matrix.
|
||||||
|
/// </summary>
|
||||||
|
[StructLayout(LayoutKind.Sequential, Pack = 4)]
|
||||||
|
public readonly struct Matrix4x3 : IEquatable<Matrix4x3>, IFormattable
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 1 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M11;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 1 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M12;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 1 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M13;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 2 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M21;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 2 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M22;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 2 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M23;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 3 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M31;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 3 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M32;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 3 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M33;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 4 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M41;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 4 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M42;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 4 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M43;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Matrix3x3"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="value">The value that will be assigned to all components.</param>
|
||||||
|
public Matrix4x3(float value)
|
||||||
|
{
|
||||||
|
M11 = M12 = M13 =
|
||||||
|
M21 = M22 = M23 =
|
||||||
|
M31 = M32 = M33 =
|
||||||
|
M41 = M42 = M43 = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Matrix4x3"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="m11">The value to assign at row 1 column 1 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m12">The value to assign at row 1 column 2 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m13">The value to assign at row 1 column 3 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m21">The value to assign at row 2 column 1 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m22">The value to assign at row 2 column 2 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m23">The value to assign at row 2 column 3 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m31">The value to assign at row 3 column 1 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m32">The value to assign at row 3 column 2 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m33">The value to assign at row 3 column 3 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m41">The value to assign at row 4 column 1 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m42">The value to assign at row 4 column 2 of the Matrix4x3.</param>
|
||||||
|
/// <param name="m43">The value to assign at row 4 column 3 of the Matrix4x3.</param>
|
||||||
|
public Matrix4x3(
|
||||||
|
float m11, float m12, float m13,
|
||||||
|
float m21, float m22, float m23,
|
||||||
|
float m31, float m32, float m33,
|
||||||
|
float m41, float m42, float m43)
|
||||||
|
{
|
||||||
|
M11 = m11; M12 = m12; M13 = m13;
|
||||||
|
M21 = m21; M22 = m22; M23 = m23;
|
||||||
|
M31 = m31; M32 = m32; M33 = m33;
|
||||||
|
M41 = m41; M42 = m42; M43 = m43;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Compares two <see cref="Matrix4x3"/> objects for equality.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="left">The <see cref="Matrix4x3"/> on the left hand of the operand.</param>
|
||||||
|
/// <param name="right">The <see cref="Matrix4x3"/> on the right hand of the operand.</param>
|
||||||
|
/// <returns>
|
||||||
|
/// True if the current left is equal to the <paramref name="right"/> parameter; otherwise, false.
|
||||||
|
/// </returns>
|
||||||
|
public static bool operator ==(Matrix4x3 left, Matrix4x3 right)
|
||||||
|
{
|
||||||
|
return (left.M11 == right.M11) && (left.M12 == right.M12) && (left.M13 == right.M13)
|
||||||
|
&& (left.M21 == right.M21) && (left.M22 == right.M22) && (left.M23 == right.M23)
|
||||||
|
&& (left.M31 == right.M31) && (left.M32 == right.M32) && (left.M33 == right.M33)
|
||||||
|
&& (left.M41 == right.M41) && (left.M42 == right.M42) && (left.M43 == right.M43);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Compares two <see cref="Matrix4x3"/> objects for inequality.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="left">The <see cref="Matrix4x3"/> on the left hand of the operand.</param>
|
||||||
|
/// <param name="right">The <see cref="Matrix4x3"/> on the right hand of the operand.</param>
|
||||||
|
/// <returns>
|
||||||
|
/// True if the current left is unequal to the <paramref name="right"/> parameter; otherwise, false.
|
||||||
|
/// </returns>
|
||||||
|
public static bool operator !=(Matrix4x3 left, Matrix4x3 right)
|
||||||
|
{
|
||||||
|
return (left.M11 != right.M11) || (left.M12 != right.M12) || (left.M13 != right.M13)
|
||||||
|
|| (left.M21 != right.M21) || (left.M22 != right.M22) || (left.M23 != right.M23)
|
||||||
|
|| (left.M31 != right.M31) || (left.M32 != right.M32) || (left.M33 != right.M33)
|
||||||
|
|| (left.M41 != right.M41) || (left.M42 != right.M42) || (left.M43 != right.M43);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override bool Equals(object? obj) => (obj is Matrix4x3 other) && Equals(other);
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public bool Equals(Matrix4x3 other) => this == other;
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
var hashCode = new HashCode();
|
||||||
|
{
|
||||||
|
hashCode.Add(M11);
|
||||||
|
hashCode.Add(M12);
|
||||||
|
hashCode.Add(M13);
|
||||||
|
hashCode.Add(M21);
|
||||||
|
hashCode.Add(M22);
|
||||||
|
hashCode.Add(M23);
|
||||||
|
hashCode.Add(M31);
|
||||||
|
hashCode.Add(M32);
|
||||||
|
hashCode.Add(M33);
|
||||||
|
hashCode.Add(M41);
|
||||||
|
hashCode.Add(M42);
|
||||||
|
hashCode.Add(M43);
|
||||||
|
}
|
||||||
|
return hashCode.ToHashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override string ToString() => ToString(format: null, formatProvider: null);
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public string ToString(string? format, IFormatProvider? formatProvider)
|
||||||
|
{
|
||||||
|
var separator = NumberFormatInfo.GetInstance(formatProvider).NumberGroupSeparator;
|
||||||
|
|
||||||
|
return new StringBuilder()
|
||||||
|
.Append('<')
|
||||||
|
.Append(M11.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M12.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M13.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M21.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M22.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M23.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M31.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M32.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M33.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M41.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M42.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M43.ToString(format, formatProvider))
|
||||||
|
.Append('>')
|
||||||
|
.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
217
src/Vortice.Win32/Graphics/Direct2D/Matrix5x4.cs
Normal file
217
src/Vortice.Win32/Graphics/Direct2D/Matrix5x4.cs
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct2D.Common;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Describes a 5-by-4 floating point matrix.
|
||||||
|
/// </summary>
|
||||||
|
[StructLayout(LayoutKind.Sequential, Pack = 4)]
|
||||||
|
public readonly struct Matrix5x4 : IEquatable<Matrix5x4>, IFormattable
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 1 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M11;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 1 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M12;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 1 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M13;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 1 column 4.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M14;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 2 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M21;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 2 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M22;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 2 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M23;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 2 column 4.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M24;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 3 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M31;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 3 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M32;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 3 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M33;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 3 column 4.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M34;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 4 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M41;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 4 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M42;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 4 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M43;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 4 column 4.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M44;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 5 column 1.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M51;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 5 column 2.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M52;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 5 column 3.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M53;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Value at row 5 column 4.
|
||||||
|
/// </summary>
|
||||||
|
public readonly float M54;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Compares two <see cref="Matrix5x4"/> objects for equality.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="left">The <see cref="Matrix5x4"/> on the left hand of the operand.</param>
|
||||||
|
/// <param name="right">The <see cref="Matrix5x4"/> on the right hand of the operand.</param>
|
||||||
|
/// <returns>
|
||||||
|
/// True if the current left is equal to the <paramref name="right"/> parameter; otherwise, false.
|
||||||
|
/// </returns>
|
||||||
|
public static bool operator ==(Matrix5x4 left, Matrix5x4 right)
|
||||||
|
{
|
||||||
|
return (left.M11 == right.M11) && (left.M12 == right.M12) && (left.M13 == right.M13) && (left.M14 == right.M14)
|
||||||
|
&& (left.M21 == right.M21) && (left.M22 == right.M22) && (left.M23 == right.M23) && (left.M24 == right.M24)
|
||||||
|
&& (left.M31 == right.M31) && (left.M32 == right.M32) && (left.M33 == right.M33) && (left.M34 == right.M34)
|
||||||
|
&& (left.M41 == right.M41) && (left.M42 == right.M42) && (left.M43 == right.M43) && (left.M44 == right.M44)
|
||||||
|
&& (left.M51 == right.M51) && (left.M52 == right.M52) && (left.M53 == right.M53) && (left.M54 == right.M54);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Compares two <see cref="Matrix5x4"/> objects for inequality.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="left">The <see cref="Matrix5x4"/> on the left hand of the operand.</param>
|
||||||
|
/// <param name="right">The <see cref="Matrix5x4"/> on the right hand of the operand.</param>
|
||||||
|
/// <returns>
|
||||||
|
/// True if the current left is unequal to the <paramref name="right"/> parameter; otherwise, false.
|
||||||
|
/// </returns>
|
||||||
|
public static bool operator !=(Matrix5x4 left, Matrix5x4 right)
|
||||||
|
{
|
||||||
|
return (left.M11 != right.M11) || (left.M12 != right.M12) || (left.M13 != right.M13) || (left.M14 != right.M14)
|
||||||
|
|| (left.M21 != right.M21) || (left.M22 != right.M22) || (left.M23 != right.M23) || (left.M24 != right.M24)
|
||||||
|
|| (left.M31 != right.M31) || (left.M32 != right.M32) || (left.M33 != right.M33) || (left.M34 != right.M34)
|
||||||
|
|| (left.M41 != right.M41) || (left.M42 != right.M42) || (left.M43 != right.M43) || (left.M44 != right.M44)
|
||||||
|
|| (left.M51 != right.M51) || (left.M52 != right.M52) || (left.M53 != right.M53) || (left.M54 != right.M54);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override bool Equals(object? obj) => (obj is Matrix5x4 other) && Equals(other);
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public bool Equals(Matrix5x4 other) => this == other;
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
var hashCode = new HashCode();
|
||||||
|
{
|
||||||
|
hashCode.Add(M11);
|
||||||
|
hashCode.Add(M12);
|
||||||
|
hashCode.Add(M13);
|
||||||
|
hashCode.Add(M14);
|
||||||
|
hashCode.Add(M21);
|
||||||
|
hashCode.Add(M22);
|
||||||
|
hashCode.Add(M23);
|
||||||
|
hashCode.Add(M24);
|
||||||
|
hashCode.Add(M31);
|
||||||
|
hashCode.Add(M32);
|
||||||
|
hashCode.Add(M33);
|
||||||
|
hashCode.Add(M34);
|
||||||
|
hashCode.Add(M41);
|
||||||
|
hashCode.Add(M42);
|
||||||
|
hashCode.Add(M43);
|
||||||
|
hashCode.Add(M44);
|
||||||
|
hashCode.Add(M51);
|
||||||
|
hashCode.Add(M52);
|
||||||
|
hashCode.Add(M53);
|
||||||
|
hashCode.Add(M54);
|
||||||
|
}
|
||||||
|
return hashCode.ToHashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public override string ToString() => ToString(format: null, formatProvider: null);
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public string ToString(string? format, IFormatProvider? formatProvider)
|
||||||
|
{
|
||||||
|
var separator = NumberFormatInfo.GetInstance(formatProvider).NumberGroupSeparator;
|
||||||
|
|
||||||
|
return new StringBuilder()
|
||||||
|
.Append('<')
|
||||||
|
.Append(M11.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M12.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M13.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M14.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M21.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M22.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M23.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M24.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M31.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M32.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M33.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M34.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M41.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M42.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M43.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M44.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M51.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M52.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M53.ToString(format, formatProvider)).Append(separator).Append(' ')
|
||||||
|
.Append(M54.ToString(format, formatProvider))
|
||||||
|
.Append('>')
|
||||||
|
.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
30
src/Vortice.Win32/Graphics/Direct2D/PixelFormat.cs
Normal file
30
src/Vortice.Win32/Graphics/Direct2D/PixelFormat.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
using Win32.Graphics.Dxgi.Common;
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct2D.Common;
|
||||||
|
|
||||||
|
public partial struct PixelFormat
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// An unkown <see cref="PixelFormat"/> with <see cref="Format"/> to <see cref="Format.Unknown"/> and <see cref="DCommon.AlphaMode"/> to <see cref="AlphaMode.Unknown"/>.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly PixelFormat Unknown = new(Format.Unknown, AlphaMode.Unknown);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A Premultiplied <see cref="PixelFormat"/> with <see cref="Format"/> to <see cref="Format.Unknown"/> and <see cref="DCommon.AlphaMode"/> to <see cref="AlphaMode.Premultiplied"/>.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly PixelFormat Premultiplied = new(Format.Unknown, AlphaMode.Premultiplied);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="PixelFormat"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="format">The <see cref="Format"/> to use.</param>
|
||||||
|
/// <param name="alphaMode">A value that specifies whether the alpha channel is using pre-multiplied alpha, straight alpha, whether it should be ignored and considered opaque, or whether it is unknown.</param>
|
||||||
|
public PixelFormat(Format format, AlphaMode alphaMode)
|
||||||
|
{
|
||||||
|
this.format = format;
|
||||||
|
this.alphaMode = alphaMode;
|
||||||
|
}
|
||||||
|
}
|
||||||
31
src/Vortice.Win32/Graphics/Direct3D11/BufferDescription.cs
Normal file
31
src/Vortice.Win32/Graphics/Direct3D11/BufferDescription.cs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct3D11;
|
||||||
|
|
||||||
|
public unsafe partial struct BufferDescription
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="BufferDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="byteWidth">The size in bytes.</param>
|
||||||
|
/// <param name="bindFlags">The bind flags.</param>
|
||||||
|
/// <param name="usage">The usage.</param>
|
||||||
|
/// <param name="cpuAccessFlags">The CPU access flags.</param>
|
||||||
|
/// <param name="miscFlags">The option flags.</param>
|
||||||
|
/// <param name="structureByteStride">The structure byte stride.</param>
|
||||||
|
public BufferDescription(uint byteWidth,
|
||||||
|
BindFlags bindFlags,
|
||||||
|
Usage usage = Usage.Default,
|
||||||
|
CpuAccessFlags cpuAccessFlags = CpuAccessFlags.None,
|
||||||
|
ResourceMiscFlags miscFlags = ResourceMiscFlags.None,
|
||||||
|
uint structureByteStride = 0)
|
||||||
|
{
|
||||||
|
ByteWidth = byteWidth;
|
||||||
|
BindFlags = bindFlags;
|
||||||
|
Usage = usage;
|
||||||
|
CPUAccessFlags = cpuAccessFlags;
|
||||||
|
MiscFlags = miscFlags;
|
||||||
|
StructureByteStride = structureByteStride;
|
||||||
|
}
|
||||||
|
}
|
||||||
101
src/Vortice.Win32/Graphics/Direct3D11/DepthStencilDescription.cs
Normal file
101
src/Vortice.Win32/Graphics/Direct3D11/DepthStencilDescription.cs
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
using static Win32.Graphics.Direct3D11.Apis;
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct3D11;
|
||||||
|
|
||||||
|
public unsafe partial struct DepthStencilDescription
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// A built-in description with settings for not using a depth stencil buffer.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly DepthStencilDescription None = new(false, DepthWriteMask.Zero);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A built-in description with default settings for using a depth stencil buffer.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly DepthStencilDescription Default = new(true, DepthWriteMask.All);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A built-in description with settings for enabling a read-only depth stencil buffer.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly DepthStencilDescription DepthRead = new(true, DepthWriteMask.Zero);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A built-in description with settings for using a reverse depth stencil buffer.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly DepthStencilDescription DepthReverseZ = new(true, DepthWriteMask.All, ComparisonFunc.GreaterEqual);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A built-in description with settings for enabling a read-only reverse depth stencil buffer.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly DepthStencilDescription DepthReadReverseZ = new(true, DepthWriteMask.Zero, ComparisonFunc.GreaterEqual);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="DepthStencilDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="depthEnable">Enable depth testing.</param>
|
||||||
|
/// <param name="depthWriteMask">Identify a portion of the depth-stencil buffer that can be modified by depth data.</param>
|
||||||
|
/// <param name="depthFunc">A function that compares depth data against existing depth data. </param>
|
||||||
|
public DepthStencilDescription(bool depthEnable, DepthWriteMask depthWriteMask, ComparisonFunc depthFunc = ComparisonFunc.LessEqual)
|
||||||
|
{
|
||||||
|
DepthEnable = depthEnable;
|
||||||
|
DepthWriteMask = depthWriteMask;
|
||||||
|
DepthFunc = depthFunc;
|
||||||
|
StencilEnable = false;
|
||||||
|
StencilReadMask = (byte)D3D11_DEFAULT_STENCIL_READ_MASK;
|
||||||
|
StencilWriteMask = (byte)D3D11_DEFAULT_STENCIL_WRITE_MASK;
|
||||||
|
FrontFace = DepthStencilOpDescription.Default;
|
||||||
|
BackFace = DepthStencilOpDescription.Default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="DepthStencilDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="depthEnable">Specifies whether to enable depth testing. Set this member to <b>true</b> to enable depth testing.</param>
|
||||||
|
/// <param name="depthWriteEnable">Specifies a value that identifies a portion of the depth-stencil buffer that can be modified by depth data.</param>
|
||||||
|
/// <param name="depthFunc">A <see cref="ComparisonFunc"/> value that identifies a function that compares depth data against existing depth data.</param>
|
||||||
|
/// <param name="stencilEnable">Specifies whether to enable stencil testing. Set this member to <b>true</b> to enable stencil testing.</param>
|
||||||
|
/// <param name="stencilReadMask">Identify a portion of the depth-stencil buffer for reading stencil data.</param>
|
||||||
|
/// <param name="stencilWriteMask">Identify a portion of the depth-stencil buffer for writing stencil data.</param>
|
||||||
|
/// <param name="frontStencilFailOp"></param>
|
||||||
|
/// <param name="frontStencilDepthFailOp"></param>
|
||||||
|
/// <param name="frontStencilPassOp"></param>
|
||||||
|
/// <param name="frontStencilFunc"></param>
|
||||||
|
/// <param name="backStencilFailOp"></param>
|
||||||
|
/// <param name="backStencilDepthFailOp"></param>
|
||||||
|
/// <param name="backStencilPassOp"></param>
|
||||||
|
/// <param name="backStencilFunc"></param>
|
||||||
|
public DepthStencilDescription(
|
||||||
|
bool depthEnable,
|
||||||
|
bool depthWriteEnable,
|
||||||
|
ComparisonFunc depthFunc,
|
||||||
|
bool stencilEnable,
|
||||||
|
byte stencilReadMask,
|
||||||
|
byte stencilWriteMask,
|
||||||
|
StencilOp frontStencilFailOp,
|
||||||
|
StencilOp frontStencilDepthFailOp,
|
||||||
|
StencilOp frontStencilPassOp,
|
||||||
|
ComparisonFunc frontStencilFunc,
|
||||||
|
StencilOp backStencilFailOp,
|
||||||
|
StencilOp backStencilDepthFailOp,
|
||||||
|
StencilOp backStencilPassOp,
|
||||||
|
ComparisonFunc backStencilFunc)
|
||||||
|
{
|
||||||
|
DepthEnable = depthEnable;
|
||||||
|
DepthWriteMask = depthWriteEnable ? DepthWriteMask.All : DepthWriteMask.Zero;
|
||||||
|
DepthFunc = depthFunc;
|
||||||
|
StencilEnable = stencilEnable;
|
||||||
|
StencilReadMask = stencilReadMask;
|
||||||
|
StencilWriteMask = stencilWriteMask;
|
||||||
|
FrontFace.StencilFailOp = frontStencilFailOp;
|
||||||
|
FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
|
||||||
|
FrontFace.StencilPassOp = frontStencilPassOp;
|
||||||
|
FrontFace.StencilFunc = frontStencilFunc;
|
||||||
|
BackFace.StencilFailOp = backStencilFailOp;
|
||||||
|
BackFace.StencilDepthFailOp = backStencilDepthFailOp;
|
||||||
|
BackFace.StencilPassOp = backStencilPassOp;
|
||||||
|
BackFace.StencilFunc = backStencilFunc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct3D11;
|
||||||
|
|
||||||
|
public unsafe partial struct DepthStencilOpDescription
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// A built-in description with default values.
|
||||||
|
/// </summary>
|
||||||
|
public static readonly DepthStencilOpDescription Default = new(StencilOp.Keep, StencilOp.Keep, StencilOp.Keep, ComparisonFunc.Always);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="DepthStencilOpDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="stencilFailOp">A <see cref="StencilOp"/> value that identifies the stencil operation to perform when stencil testing fails.</param>
|
||||||
|
/// <param name="stencilDepthFailOp">A <see cref="StencilOp"/> value that identifies the stencil operation to perform when stencil testing passes and depth testing fails.</param>
|
||||||
|
/// <param name="stencilPassOp">A <see cref="StencilOp"/> value that identifies the stencil operation to perform when stencil testing and depth testing both pass.</param>
|
||||||
|
/// <param name="stencilFunc">A <see cref="ComparisonFunc"/> value that identifies the function that compares stencil data against existing stencil data.</param>
|
||||||
|
public DepthStencilOpDescription(StencilOp stencilFailOp, StencilOp stencilDepthFailOp, StencilOp stencilPassOp, ComparisonFunc stencilFunc)
|
||||||
|
{
|
||||||
|
StencilFailOp = stencilFailOp;
|
||||||
|
StencilDepthFailOp = stencilDepthFailOp;
|
||||||
|
StencilPassOp = stencilPassOp;
|
||||||
|
StencilFunc = stencilFunc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,266 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
using System.Xml.Serialization;
|
||||||
|
using Win32.Graphics.Direct3D;
|
||||||
|
using Win32.Graphics.Dxgi.Common;
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct3D11;
|
||||||
|
|
||||||
|
public unsafe partial struct ShaderResourceViewDescription
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ShaderResourceViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="viewDimension">The <see cref="SrvDimension"/></param>
|
||||||
|
/// <param name="format">The <see cref="Format"/> to use or <see cref="Format.Unknown"/>.</param>
|
||||||
|
/// <param name="mostDetailedMip">Index of the most detailed mipmap level to use or first element for <see cref="SrvDimension.Buffer"/> or <see cref="SrvDimension.BufferExtended"/>.</param>
|
||||||
|
/// <param name="mipLevels">The maximum number of mipmap levels for the view of the texture or num elements for <see cref="SrvDimension.Buffer"/> or <see cref="SrvDimension.BufferExtended"/>.</param>
|
||||||
|
/// <param name="firstArraySlice">The index of the first texture to use in an array of textures or First2DArrayFace for <see cref="SrvDimension.TextureCubeArray"/>. </param>
|
||||||
|
/// <param name="arraySize">Number of textures in the array or num cubes for <see cref="SrvDimension.TextureCubeArray"/>. </param>
|
||||||
|
/// <param name="flags"><see cref="BufferExtendedSrvFlags"/> for <see cref="SrvDimension.BufferExtended"/>.</param>
|
||||||
|
public ShaderResourceViewDescription(
|
||||||
|
SrvDimension viewDimension,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mostDetailedMip = 0,
|
||||||
|
uint mipLevels = unchecked((uint)-1),
|
||||||
|
uint firstArraySlice = 0,
|
||||||
|
uint arraySize = unchecked((uint)-1),
|
||||||
|
BufferExtendedSrvFlags flags = BufferExtendedSrvFlags.None)
|
||||||
|
{
|
||||||
|
Format = format;
|
||||||
|
ViewDimension = viewDimension;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
switch (viewDimension)
|
||||||
|
{
|
||||||
|
case SrvDimension.Buffer:
|
||||||
|
Anonymous.Buffer.FirstElement = mostDetailedMip;
|
||||||
|
Anonymous.Buffer.NumElements = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture1D:
|
||||||
|
Anonymous.Texture1D.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture1D.MipLevels = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture1DArray:
|
||||||
|
Anonymous.Texture1DArray.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture1DArray.MipLevels = mipLevels;
|
||||||
|
Anonymous.Texture1DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture1DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture2D:
|
||||||
|
Anonymous.Texture2D.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture2D.MipLevels = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture2DArray:
|
||||||
|
Anonymous.Texture2DArray.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture2DArray.MipLevels = mipLevels;
|
||||||
|
Anonymous.Texture2DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture2DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture2DMs:
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture2DMsArray:
|
||||||
|
Anonymous.Texture2DMSArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture2DMSArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture3D:
|
||||||
|
Anonymous.Texture3D.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture3D.MipLevels = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.TextureCube:
|
||||||
|
Anonymous.TextureCube.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.TextureCube.MipLevels = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.TextureCubeArray:
|
||||||
|
Anonymous.TextureCubeArray.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.TextureCubeArray.MipLevels = mipLevels;
|
||||||
|
Anonymous.TextureCubeArray.First2DArrayFace = firstArraySlice;
|
||||||
|
Anonymous.TextureCubeArray.NumCubes = arraySize;
|
||||||
|
break;
|
||||||
|
case SrvDimension.BufferExtended:
|
||||||
|
Anonymous.BufferEx.FirstElement = mostDetailedMip;
|
||||||
|
Anonymous.BufferEx.NumElements = mipLevels;
|
||||||
|
BufferEx.Flags = flags;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ShaderResourceViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="buffer">Unused <see cref="ID3D11Buffer"/> </param>
|
||||||
|
/// <param name="format"></param>
|
||||||
|
/// <param name="firstElement"></param>
|
||||||
|
/// <param name="numElements"></param>
|
||||||
|
/// <param name="flags"></param>
|
||||||
|
public ShaderResourceViewDescription(
|
||||||
|
ID3D11Buffer* buffer,
|
||||||
|
Format format,
|
||||||
|
uint firstElement,
|
||||||
|
uint numElements,
|
||||||
|
BufferExtendedSrvFlags flags = BufferExtendedSrvFlags.None)
|
||||||
|
{
|
||||||
|
Format = format;
|
||||||
|
ViewDimension = SrvDimension.BufferExtended;
|
||||||
|
|
||||||
|
Anonymous = default;
|
||||||
|
Anonymous.BufferEx.FirstElement = firstElement;
|
||||||
|
Anonymous.BufferEx.NumElements = numElements;
|
||||||
|
Anonymous.BufferEx.Flags = flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ShaderResourceViewDescription(
|
||||||
|
ID3D11Texture1D* texture,
|
||||||
|
bool isArray,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mostDetailedMip = 0,
|
||||||
|
uint mipLevels = unchecked((uint)-1),
|
||||||
|
uint firstArraySlice = 0,
|
||||||
|
uint arraySize = unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
ViewDimension = isArray ? SrvDimension.Texture1DArray : SrvDimension.Texture1D;
|
||||||
|
if (format == Format.Unknown
|
||||||
|
|| mipLevels == unchecked((uint)-1)
|
||||||
|
|| (arraySize == unchecked((uint)-1) && SrvDimension.Texture1DArray == ViewDimension))
|
||||||
|
{
|
||||||
|
Texture1DDescription textureDesc;
|
||||||
|
texture->GetDesc(&textureDesc);
|
||||||
|
|
||||||
|
if (format == Format.Unknown)
|
||||||
|
format = textureDesc.Format;
|
||||||
|
if (mipLevels == unchecked((uint)-1))
|
||||||
|
mipLevels = textureDesc.MipLevels - mostDetailedMip;
|
||||||
|
if (arraySize == unchecked((uint)-1))
|
||||||
|
arraySize = textureDesc.ArraySize - firstArraySlice;
|
||||||
|
}
|
||||||
|
|
||||||
|
Format = format;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
switch (ViewDimension)
|
||||||
|
{
|
||||||
|
case SrvDimension.Texture1D:
|
||||||
|
Anonymous.Texture1D.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture1D.MipLevels = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture1DArray:
|
||||||
|
Anonymous.Texture1DArray.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture1DArray.MipLevels = mipLevels;
|
||||||
|
Anonymous.Texture1DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture1DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ShaderResourceViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="texture"></param>
|
||||||
|
/// <param name="viewDimension"></param>
|
||||||
|
/// <param name="format"></param>
|
||||||
|
/// <param name="mostDetailedMip"></param>
|
||||||
|
/// <param name="mipLevels"></param>
|
||||||
|
/// <param name="firstArraySlice"></param>
|
||||||
|
/// <param name="arraySize"></param>
|
||||||
|
public ShaderResourceViewDescription(
|
||||||
|
ID3D11Texture2D* texture,
|
||||||
|
SrvDimension viewDimension,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mostDetailedMip = 0,
|
||||||
|
uint mipLevels = unchecked((uint)-1),
|
||||||
|
uint firstArraySlice = 0,
|
||||||
|
uint arraySize = unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
ViewDimension = viewDimension;
|
||||||
|
if (format == Format.Unknown
|
||||||
|
|| (mipLevels == unchecked((uint)-1) && viewDimension != SrvDimension.Texture2DMs && viewDimension != SrvDimension.Texture2DMsArray)
|
||||||
|
|| (arraySize == unchecked((uint)-1) && (SrvDimension.Texture2DArray == viewDimension || SrvDimension.Texture2DMsArray == viewDimension || SrvDimension.TextureCubeArray == viewDimension)))
|
||||||
|
{
|
||||||
|
Texture2DDescription textureDesc;
|
||||||
|
texture->GetDesc(&textureDesc);
|
||||||
|
|
||||||
|
if (format == Format.Unknown)
|
||||||
|
format = textureDesc.Format;
|
||||||
|
if (unchecked((uint)-1) == mipLevels)
|
||||||
|
mipLevels = textureDesc.MipLevels - mostDetailedMip;
|
||||||
|
if (unchecked((uint)-1) == arraySize)
|
||||||
|
{
|
||||||
|
arraySize = textureDesc.ArraySize - firstArraySlice;
|
||||||
|
if (viewDimension == SrvDimension.TextureCubeArray)
|
||||||
|
arraySize /= 6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Format = format;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
switch (viewDimension)
|
||||||
|
{
|
||||||
|
case SrvDimension.Texture2D:
|
||||||
|
Anonymous.Texture2D.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture2D.MipLevels = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture2DArray:
|
||||||
|
Anonymous.Texture2DArray.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture2DArray.MipLevels = mipLevels;
|
||||||
|
Anonymous.Texture2DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture2DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture2DMs:
|
||||||
|
break;
|
||||||
|
case SrvDimension.Texture2DMsArray:
|
||||||
|
Anonymous.Texture2DMSArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture2DMSArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
case SrvDimension.TextureCube:
|
||||||
|
Anonymous.TextureCube.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.TextureCube.MipLevels = mipLevels;
|
||||||
|
break;
|
||||||
|
case SrvDimension.TextureCubeArray:
|
||||||
|
Anonymous.TextureCubeArray.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.TextureCubeArray.MipLevels = mipLevels;
|
||||||
|
Anonymous.TextureCubeArray.First2DArrayFace = firstArraySlice;
|
||||||
|
Anonymous.TextureCubeArray.NumCubes = arraySize;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ShaderResourceViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="texture"></param>
|
||||||
|
/// <param name="format"></param>
|
||||||
|
/// <param name="mostDetailedMip"></param>
|
||||||
|
/// <param name="mipLevels"></param>
|
||||||
|
public ShaderResourceViewDescription(
|
||||||
|
ID3D11Texture3D* texture,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mostDetailedMip = 0,
|
||||||
|
uint mipLevels = unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
ViewDimension = SrvDimension.Texture3D;
|
||||||
|
if (format == Format.Unknown || mipLevels == unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
Texture3DDescription textureDesc;
|
||||||
|
texture->GetDesc(&textureDesc);
|
||||||
|
|
||||||
|
if (format == Format.Unknown)
|
||||||
|
format = textureDesc.Format;
|
||||||
|
if (mipLevels == unchecked((uint)-1))
|
||||||
|
mipLevels = textureDesc.MipLevels - mostDetailedMip;
|
||||||
|
}
|
||||||
|
|
||||||
|
Format = format;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
Anonymous.Texture3D.MostDetailedMip = mostDetailedMip;
|
||||||
|
Anonymous.Texture3D.MipLevels = mipLevels;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
// Copyright © Amer Koleci and Contributors.
|
||||||
|
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
|
||||||
|
|
||||||
|
using System.Xml.Serialization;
|
||||||
|
using Win32.Graphics.Dxgi.Common;
|
||||||
|
|
||||||
|
namespace Win32.Graphics.Direct3D11;
|
||||||
|
|
||||||
|
public unsafe partial struct UnorderedAccessViewDescription
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="UnorderedAccessViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="viewDimension">The <see cref="UavDimension"/></param>
|
||||||
|
/// <param name="format">The <see cref="Format"/> to use or <see cref="Format.Unknown"/>.</param>
|
||||||
|
/// <param name="mipSlice">The index of the mipmap level to use mip slice or FirstElement for BUFFER.</param>
|
||||||
|
/// <param name="firstArraySlice">The index of the first texture to use in an array of textures or NumElements for BUFFER or FirstWSlice for TEXTURE3D.</param>
|
||||||
|
/// <param name="arraySize">Number of textures in the array or WSize for TEXTURE3D.</param>
|
||||||
|
/// <param name="flags"><see cref="BufferUnorderedAccessViewFlags"/> options flags for the resource.</param>
|
||||||
|
public UnorderedAccessViewDescription(
|
||||||
|
UavDimension viewDimension,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mipSlice = 0,
|
||||||
|
uint firstArraySlice = 0,
|
||||||
|
uint arraySize = unchecked((uint)-1),
|
||||||
|
BufferUavFlags flags = BufferUavFlags.None)
|
||||||
|
{
|
||||||
|
Format = format;
|
||||||
|
ViewDimension = viewDimension;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
switch (viewDimension)
|
||||||
|
{
|
||||||
|
case UavDimension.Buffer:
|
||||||
|
Anonymous.Buffer.FirstElement = mipSlice;
|
||||||
|
Anonymous.Buffer.NumElements = firstArraySlice;
|
||||||
|
Anonymous.Buffer.Flags = flags;
|
||||||
|
break;
|
||||||
|
case UavDimension.Texture1D:
|
||||||
|
Anonymous.Texture1D.MipSlice = mipSlice;
|
||||||
|
break;
|
||||||
|
case UavDimension.Texture1DArray:
|
||||||
|
Anonymous.Texture1DArray.MipSlice = mipSlice;
|
||||||
|
Anonymous.Texture1DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture1DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
case UavDimension.Texture2D:
|
||||||
|
Anonymous.Texture2D.MipSlice = mipSlice;
|
||||||
|
break;
|
||||||
|
case UavDimension.Texture2DArray:
|
||||||
|
Anonymous.Texture2DArray.MipSlice = mipSlice;
|
||||||
|
Anonymous.Texture2DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture2DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
case UavDimension.Texture3D:
|
||||||
|
Anonymous.Texture3D.MipSlice = mipSlice;
|
||||||
|
Anonymous.Texture3D.FirstWSlice = firstArraySlice;
|
||||||
|
Anonymous.Texture3D.WSize = arraySize;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="UnorderedAccessViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="buffer"></param>
|
||||||
|
/// <param name="format"></param>
|
||||||
|
/// <param name="firstElement"></param>
|
||||||
|
/// <param name="numElements"></param>
|
||||||
|
/// <param name="flags"><see cref="BufferUnorderedAccessViewFlags"/> options flags for the resource.</param>
|
||||||
|
public UnorderedAccessViewDescription(
|
||||||
|
ID3D11Buffer* buffer,
|
||||||
|
Format format,
|
||||||
|
uint firstElement = 0,
|
||||||
|
uint numElements = 0,
|
||||||
|
BufferUavFlags flags = BufferUavFlags.None)
|
||||||
|
{
|
||||||
|
Format = format;
|
||||||
|
ViewDimension = UavDimension.Buffer;
|
||||||
|
Anonymous = default;
|
||||||
|
Anonymous.Buffer.FirstElement = firstElement;
|
||||||
|
Anonymous.Buffer.NumElements = numElements;
|
||||||
|
Anonymous.Buffer.Flags = flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="UnorderedAccessViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="texture"></param>
|
||||||
|
/// <param name="isArray"></param>
|
||||||
|
/// <param name="format"></param>
|
||||||
|
/// <param name="mipSlice"></param>
|
||||||
|
/// <param name="firstArraySlice"></param>
|
||||||
|
/// <param name="arraySize"></param>
|
||||||
|
public UnorderedAccessViewDescription(
|
||||||
|
ID3D11Texture1D* texture,
|
||||||
|
bool isArray,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mipSlice = 0,
|
||||||
|
uint firstArraySlice = 0,
|
||||||
|
uint arraySize = unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
ViewDimension = isArray ? UavDimension.Texture1DArray : UavDimension.Texture1D;
|
||||||
|
|
||||||
|
if (format == Format.Unknown
|
||||||
|
|| (arraySize == unchecked((uint)-1) && (UavDimension.Texture1DArray == ViewDimension)))
|
||||||
|
{
|
||||||
|
Texture1DDescription textureDesc;
|
||||||
|
texture->GetDesc(&textureDesc);
|
||||||
|
|
||||||
|
if (format == Format.Unknown)
|
||||||
|
format = textureDesc.Format;
|
||||||
|
if (arraySize == unchecked((uint)-1))
|
||||||
|
arraySize = textureDesc.ArraySize - firstArraySlice;
|
||||||
|
}
|
||||||
|
|
||||||
|
Format = format;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
switch (ViewDimension)
|
||||||
|
{
|
||||||
|
case UavDimension.Texture1D:
|
||||||
|
Anonymous.Texture1D.MipSlice = mipSlice;
|
||||||
|
break;
|
||||||
|
case UavDimension.Texture1DArray:
|
||||||
|
Anonymous.Texture1DArray.MipSlice = mipSlice;
|
||||||
|
Anonymous.Texture1DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture1DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="UnorderedAccessViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="texture"></param>
|
||||||
|
/// <param name="viewDimension"></param>
|
||||||
|
/// <param name="format"></param>
|
||||||
|
/// <param name="mipSlice"></param>
|
||||||
|
/// <param name="firstArraySlice"></param>
|
||||||
|
/// <param name="arraySize"></param>
|
||||||
|
public UnorderedAccessViewDescription(
|
||||||
|
ID3D11Texture2D* texture,
|
||||||
|
UavDimension viewDimension,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mipSlice = 0,
|
||||||
|
uint firstArraySlice = 0,
|
||||||
|
uint arraySize = unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
ViewDimension = viewDimension;
|
||||||
|
|
||||||
|
if (format == Format.Unknown
|
||||||
|
|| (arraySize == unchecked((uint)-1) && (viewDimension == UavDimension.Texture2DArray)))
|
||||||
|
{
|
||||||
|
Texture2DDescription textureDesc;
|
||||||
|
texture->GetDesc(&textureDesc);
|
||||||
|
|
||||||
|
if (format == Format.Unknown)
|
||||||
|
format = textureDesc.Format;
|
||||||
|
if (arraySize == unchecked((uint)-1))
|
||||||
|
arraySize = textureDesc.ArraySize - firstArraySlice;
|
||||||
|
}
|
||||||
|
|
||||||
|
Format = format;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
switch (viewDimension)
|
||||||
|
{
|
||||||
|
case UavDimension.Texture2D:
|
||||||
|
Anonymous.Texture2D.MipSlice = mipSlice;
|
||||||
|
break;
|
||||||
|
case UavDimension.Texture2DArray:
|
||||||
|
Anonymous.Texture2DArray.MipSlice = mipSlice;
|
||||||
|
Anonymous.Texture2DArray.FirstArraySlice = firstArraySlice;
|
||||||
|
Anonymous.Texture2DArray.ArraySize = arraySize;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="UnorderedAccessViewDescription"/> struct.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="texture"></param>
|
||||||
|
/// <param name="viewDimension"></param>
|
||||||
|
/// <param name="format"></param>
|
||||||
|
/// <param name="mipSlice"></param>
|
||||||
|
/// <param name="firstWSlice"></param>
|
||||||
|
/// <param name="wSize"></param>
|
||||||
|
public UnorderedAccessViewDescription(
|
||||||
|
ID3D11Texture3D* texture,
|
||||||
|
UavDimension viewDimension,
|
||||||
|
Format format = Format.Unknown,
|
||||||
|
uint mipSlice = 0,
|
||||||
|
uint firstWSlice = 0,
|
||||||
|
uint wSize = unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
ViewDimension = viewDimension;
|
||||||
|
|
||||||
|
if (format == Format.Unknown || wSize == unchecked((uint)-1))
|
||||||
|
{
|
||||||
|
Texture3DDescription textureDesc;
|
||||||
|
texture->GetDesc(&textureDesc);
|
||||||
|
|
||||||
|
if (format == Format.Unknown)
|
||||||
|
format = textureDesc.Format;
|
||||||
|
if (wSize == unchecked((uint)-1))
|
||||||
|
wSize = textureDesc.Depth - firstWSlice;
|
||||||
|
}
|
||||||
|
|
||||||
|
Format = format;
|
||||||
|
Anonymous = default;
|
||||||
|
|
||||||
|
Anonymous.Texture3D.MipSlice = mipSlice;
|
||||||
|
Anonymous.Texture3D.FirstWSlice = firstWSlice;
|
||||||
|
Anonymous.Texture3D.WSize = wSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user