diff --git a/Directory.Build.props b/Directory.Build.props
index d9998fd..d43fcc3 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -14,7 +14,7 @@
true
$(MSBuildThisFileDirectory)NuGet.config
- 1.9.6
+ 1.9.7
true
diff --git a/src/Generator/Program.cs b/src/Generator/Program.cs
index 255d105..7916050 100644
--- a/src/Generator/Program.cs
+++ b/src/Generator/Program.cs
@@ -2409,11 +2409,6 @@ public static class Program
foreach (ApiParameter parameter in method.Params)
{
- if (method.Name == "CreateRenderTargetView" && comType.Name == "ID3D12Device")
- {
-
- }
-
GetParameterSignature(api, writer, parameter,
$"{comType.Name}::{method.Name}",
out string parameterType,
@@ -2434,6 +2429,36 @@ public static class Program
{
argumentBuilder.Append(" = null");
}
+ else if (method.Name.EndsWith("SetShader") && comType.Name.StartsWith("ID3D11DeviceContext"))
+ {
+ if (parameterName.EndsWith("Shader"))
+ {
+ argumentBuilder.Append(" = null");
+ }
+ else if (parameterName == "ppClassInstances")
+ {
+ argumentBuilder.Append(" = null");
+ }
+ else if (parameterName == "NumClassInstances")
+ {
+ argumentBuilder.Append(" = 0");
+ }
+ }
+ else if (method.Name == "OMSetBlendState" && comType.Name.StartsWith("ID3D11DeviceContext"))
+ {
+ if (parameterName == "pBlendState")
+ {
+ argumentBuilder.Append(" = default");
+ }
+ else if (parameterName == "BlendFactor")
+ {
+ argumentBuilder.Append(" = null");
+ }
+ else if (parameterName == "SampleMask")
+ {
+ argumentBuilder.Append(" = 0xffffffff");
+ }
+ }
argumentsTypesBuilder.Append(parameterType);
argumentsNameBuilder.Append(parameterName);
diff --git a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext.cs b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext.cs
index ce8ffa2..6857bec 100644
--- a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext.cs
+++ b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext.cs
@@ -125,7 +125,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
- public void PSSetShader(ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void PSSetShader(ID3D11PixelShader* pPixelShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID3D11DeviceContext*)Unsafe.AsPointer(ref this), pPixelShader, ppClassInstances, NumClassInstances);
}
@@ -141,7 +141,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
- public void VSSetShader(ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void VSSetShader(ID3D11VertexShader* pVertexShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID3D11DeviceContext*)Unsafe.AsPointer(ref this), pVertexShader, ppClassInstances, NumClassInstances);
}
@@ -237,7 +237,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
- public void GSSetShader(ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void GSSetShader(ID3D11GeometryShader* pShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID3D11DeviceContext*)Unsafe.AsPointer(ref this), pShader, ppClassInstances, NumClassInstances);
}
@@ -333,7 +333,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
- public void OMSetBlendState(ID3D11BlendState* pBlendState, float* BlendFactor, uint SampleMask)
+ public void OMSetBlendState(ID3D11BlendState* pBlendState = default, float* BlendFactor = null, uint SampleMask = 0xffffffff)
{
((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID3D11DeviceContext*)Unsafe.AsPointer(ref this), pBlendState, BlendFactor, SampleMask);
}
@@ -533,7 +533,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(60)]
- public void HSSetShader(ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void HSSetShader(ID3D11HullShader* pHullShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID3D11DeviceContext*)Unsafe.AsPointer(ref this), pHullShader, ppClassInstances, NumClassInstances);
}
@@ -565,7 +565,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(64)]
- public void DSSetShader(ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void DSSetShader(ID3D11DomainShader* pDomainShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID3D11DeviceContext*)Unsafe.AsPointer(ref this), pDomainShader, ppClassInstances, NumClassInstances);
}
@@ -605,7 +605,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(69)]
- public void CSSetShader(ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void CSSetShader(ID3D11ComputeShader* pComputeShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID3D11DeviceContext*)Unsafe.AsPointer(ref this), pComputeShader, ppClassInstances, NumClassInstances);
}
@@ -979,13 +979,13 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
void PSSetShaderResources(uint StartSlot, uint NumViews, ID3D11ShaderResourceView** ppShaderResourceViews);
[VtblIndex(9)]
- void PSSetShader(ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances);
+ void PSSetShader(ID3D11PixelShader* pPixelShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0);
[VtblIndex(10)]
void PSSetSamplers(uint StartSlot, uint NumSamplers, ID3D11SamplerState** ppSamplers);
[VtblIndex(11)]
- void VSSetShader(ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances);
+ void VSSetShader(ID3D11VertexShader* pVertexShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0);
[VtblIndex(12)]
void DrawIndexed(uint IndexCount, uint StartIndexLocation, int BaseVertexLocation);
@@ -1021,7 +1021,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
void GSSetConstantBuffers(uint StartSlot, uint NumBuffers, ID3D11Buffer** ppConstantBuffers);
[VtblIndex(23)]
- void GSSetShader(ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances);
+ void GSSetShader(ID3D11GeometryShader* pShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0);
[VtblIndex(24)]
void IASetPrimitiveTopology(Graphics.Direct3D.PrimitiveTopology Topology);
@@ -1057,7 +1057,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
void OMSetRenderTargetsAndUnorderedAccessViews(uint NumRTVs, ID3D11RenderTargetView** ppRenderTargetViews, ID3D11DepthStencilView* pDepthStencilView, uint UAVStartSlot, uint NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews, uint* pUAVInitialCounts);
[VtblIndex(35)]
- void OMSetBlendState(ID3D11BlendState* pBlendState, float* BlendFactor, uint SampleMask);
+ void OMSetBlendState(ID3D11BlendState* pBlendState = default, float* BlendFactor = null, uint SampleMask = 0xffffffff);
[VtblIndex(36)]
void OMSetDepthStencilState(ID3D11DepthStencilState* pDepthStencilState, uint StencilRef);
@@ -1132,7 +1132,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
void HSSetShaderResources(uint StartSlot, uint NumViews, ID3D11ShaderResourceView** ppShaderResourceViews);
[VtblIndex(60)]
- void HSSetShader(ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances);
+ void HSSetShader(ID3D11HullShader* pHullShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0);
[VtblIndex(61)]
void HSSetSamplers(uint StartSlot, uint NumSamplers, ID3D11SamplerState** ppSamplers);
@@ -1144,7 +1144,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
void DSSetShaderResources(uint StartSlot, uint NumViews, ID3D11ShaderResourceView** ppShaderResourceViews);
[VtblIndex(64)]
- void DSSetShader(ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances);
+ void DSSetShader(ID3D11DomainShader* pDomainShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0);
[VtblIndex(65)]
void DSSetSamplers(uint StartSlot, uint NumSamplers, ID3D11SamplerState** ppSamplers);
@@ -1159,7 +1159,7 @@ public unsafe partial struct ID3D11DeviceContext : ID3D11DeviceContext.Interface
void CSSetUnorderedAccessViews(uint StartSlot, uint NumUAVs, ID3D11UnorderedAccessView** ppUnorderedAccessViews, uint* pUAVInitialCounts);
[VtblIndex(69)]
- void CSSetShader(ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances);
+ void CSSetShader(ID3D11ComputeShader* pComputeShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0);
[VtblIndex(70)]
void CSSetSamplers(uint StartSlot, uint NumSamplers, ID3D11SamplerState** ppSamplers);
diff --git a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext1.cs b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext1.cs
index 4f4c30b..e0a4fb9 100644
--- a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext1.cs
+++ b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext1.cs
@@ -125,7 +125,7 @@ public unsafe partial struct ID3D11DeviceContext1 : ID3D11DeviceContext1.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
- public void PSSetShader(ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void PSSetShader(ID3D11PixelShader* pPixelShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID3D11DeviceContext1*)Unsafe.AsPointer(ref this), pPixelShader, ppClassInstances, NumClassInstances);
}
@@ -141,7 +141,7 @@ public unsafe partial struct ID3D11DeviceContext1 : ID3D11DeviceContext1.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
- public void VSSetShader(ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void VSSetShader(ID3D11VertexShader* pVertexShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID3D11DeviceContext1*)Unsafe.AsPointer(ref this), pVertexShader, ppClassInstances, NumClassInstances);
}
@@ -237,7 +237,7 @@ public unsafe partial struct ID3D11DeviceContext1 : ID3D11DeviceContext1.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
- public void GSSetShader(ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void GSSetShader(ID3D11GeometryShader* pShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID3D11DeviceContext1*)Unsafe.AsPointer(ref this), pShader, ppClassInstances, NumClassInstances);
}
@@ -333,7 +333,7 @@ public unsafe partial struct ID3D11DeviceContext1 : ID3D11DeviceContext1.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
- public void OMSetBlendState(ID3D11BlendState* pBlendState, float* BlendFactor, uint SampleMask)
+ public void OMSetBlendState(ID3D11BlendState* pBlendState = default, float* BlendFactor = null, uint SampleMask = 0xffffffff)
{
((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID3D11DeviceContext1*)Unsafe.AsPointer(ref this), pBlendState, BlendFactor, SampleMask);
}
@@ -533,7 +533,7 @@ public unsafe partial struct ID3D11DeviceContext1 : ID3D11DeviceContext1.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(60)]
- public void HSSetShader(ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void HSSetShader(ID3D11HullShader* pHullShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID3D11DeviceContext1*)Unsafe.AsPointer(ref this), pHullShader, ppClassInstances, NumClassInstances);
}
@@ -565,7 +565,7 @@ public unsafe partial struct ID3D11DeviceContext1 : ID3D11DeviceContext1.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(64)]
- public void DSSetShader(ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void DSSetShader(ID3D11DomainShader* pDomainShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID3D11DeviceContext1*)Unsafe.AsPointer(ref this), pDomainShader, ppClassInstances, NumClassInstances);
}
@@ -605,7 +605,7 @@ public unsafe partial struct ID3D11DeviceContext1 : ID3D11DeviceContext1.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(69)]
- public void CSSetShader(ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void CSSetShader(ID3D11ComputeShader* pComputeShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID3D11DeviceContext1*)Unsafe.AsPointer(ref this), pComputeShader, ppClassInstances, NumClassInstances);
}
diff --git a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext2.cs b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext2.cs
index f0ddce5..5ef94de 100644
--- a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext2.cs
+++ b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext2.cs
@@ -125,7 +125,7 @@ public unsafe partial struct ID3D11DeviceContext2 : ID3D11DeviceContext2.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
- public void PSSetShader(ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void PSSetShader(ID3D11PixelShader* pPixelShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID3D11DeviceContext2*)Unsafe.AsPointer(ref this), pPixelShader, ppClassInstances, NumClassInstances);
}
@@ -141,7 +141,7 @@ public unsafe partial struct ID3D11DeviceContext2 : ID3D11DeviceContext2.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
- public void VSSetShader(ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void VSSetShader(ID3D11VertexShader* pVertexShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID3D11DeviceContext2*)Unsafe.AsPointer(ref this), pVertexShader, ppClassInstances, NumClassInstances);
}
@@ -237,7 +237,7 @@ public unsafe partial struct ID3D11DeviceContext2 : ID3D11DeviceContext2.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
- public void GSSetShader(ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void GSSetShader(ID3D11GeometryShader* pShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID3D11DeviceContext2*)Unsafe.AsPointer(ref this), pShader, ppClassInstances, NumClassInstances);
}
@@ -333,7 +333,7 @@ public unsafe partial struct ID3D11DeviceContext2 : ID3D11DeviceContext2.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
- public void OMSetBlendState(ID3D11BlendState* pBlendState, float* BlendFactor, uint SampleMask)
+ public void OMSetBlendState(ID3D11BlendState* pBlendState = default, float* BlendFactor = null, uint SampleMask = 0xffffffff)
{
((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID3D11DeviceContext2*)Unsafe.AsPointer(ref this), pBlendState, BlendFactor, SampleMask);
}
@@ -533,7 +533,7 @@ public unsafe partial struct ID3D11DeviceContext2 : ID3D11DeviceContext2.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(60)]
- public void HSSetShader(ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void HSSetShader(ID3D11HullShader* pHullShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID3D11DeviceContext2*)Unsafe.AsPointer(ref this), pHullShader, ppClassInstances, NumClassInstances);
}
@@ -565,7 +565,7 @@ public unsafe partial struct ID3D11DeviceContext2 : ID3D11DeviceContext2.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(64)]
- public void DSSetShader(ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void DSSetShader(ID3D11DomainShader* pDomainShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID3D11DeviceContext2*)Unsafe.AsPointer(ref this), pDomainShader, ppClassInstances, NumClassInstances);
}
@@ -605,7 +605,7 @@ public unsafe partial struct ID3D11DeviceContext2 : ID3D11DeviceContext2.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(69)]
- public void CSSetShader(ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void CSSetShader(ID3D11ComputeShader* pComputeShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID3D11DeviceContext2*)Unsafe.AsPointer(ref this), pComputeShader, ppClassInstances, NumClassInstances);
}
diff --git a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext3.cs b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext3.cs
index 0f25be8..5a0de28 100644
--- a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext3.cs
+++ b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext3.cs
@@ -125,7 +125,7 @@ public unsafe partial struct ID3D11DeviceContext3 : ID3D11DeviceContext3.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
- public void PSSetShader(ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void PSSetShader(ID3D11PixelShader* pPixelShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID3D11DeviceContext3*)Unsafe.AsPointer(ref this), pPixelShader, ppClassInstances, NumClassInstances);
}
@@ -141,7 +141,7 @@ public unsafe partial struct ID3D11DeviceContext3 : ID3D11DeviceContext3.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
- public void VSSetShader(ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void VSSetShader(ID3D11VertexShader* pVertexShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID3D11DeviceContext3*)Unsafe.AsPointer(ref this), pVertexShader, ppClassInstances, NumClassInstances);
}
@@ -237,7 +237,7 @@ public unsafe partial struct ID3D11DeviceContext3 : ID3D11DeviceContext3.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
- public void GSSetShader(ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void GSSetShader(ID3D11GeometryShader* pShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID3D11DeviceContext3*)Unsafe.AsPointer(ref this), pShader, ppClassInstances, NumClassInstances);
}
@@ -333,7 +333,7 @@ public unsafe partial struct ID3D11DeviceContext3 : ID3D11DeviceContext3.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
- public void OMSetBlendState(ID3D11BlendState* pBlendState, float* BlendFactor, uint SampleMask)
+ public void OMSetBlendState(ID3D11BlendState* pBlendState = default, float* BlendFactor = null, uint SampleMask = 0xffffffff)
{
((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID3D11DeviceContext3*)Unsafe.AsPointer(ref this), pBlendState, BlendFactor, SampleMask);
}
@@ -533,7 +533,7 @@ public unsafe partial struct ID3D11DeviceContext3 : ID3D11DeviceContext3.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(60)]
- public void HSSetShader(ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void HSSetShader(ID3D11HullShader* pHullShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID3D11DeviceContext3*)Unsafe.AsPointer(ref this), pHullShader, ppClassInstances, NumClassInstances);
}
@@ -565,7 +565,7 @@ public unsafe partial struct ID3D11DeviceContext3 : ID3D11DeviceContext3.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(64)]
- public void DSSetShader(ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void DSSetShader(ID3D11DomainShader* pDomainShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID3D11DeviceContext3*)Unsafe.AsPointer(ref this), pDomainShader, ppClassInstances, NumClassInstances);
}
@@ -605,7 +605,7 @@ public unsafe partial struct ID3D11DeviceContext3 : ID3D11DeviceContext3.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(69)]
- public void CSSetShader(ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void CSSetShader(ID3D11ComputeShader* pComputeShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID3D11DeviceContext3*)Unsafe.AsPointer(ref this), pComputeShader, ppClassInstances, NumClassInstances);
}
diff --git a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext4.cs b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext4.cs
index cde1635..9e7cd8b 100644
--- a/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext4.cs
+++ b/src/Vortice.Win32.Graphics.Direct3D11/Generated/ID3D11DeviceContext4.cs
@@ -125,7 +125,7 @@ public unsafe partial struct ID3D11DeviceContext4 : ID3D11DeviceContext4.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
- public void PSSetShader(ID3D11PixelShader* pPixelShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void PSSetShader(ID3D11PixelShader* pPixelShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID3D11DeviceContext4*)Unsafe.AsPointer(ref this), pPixelShader, ppClassInstances, NumClassInstances);
}
@@ -141,7 +141,7 @@ public unsafe partial struct ID3D11DeviceContext4 : ID3D11DeviceContext4.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
- public void VSSetShader(ID3D11VertexShader* pVertexShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void VSSetShader(ID3D11VertexShader* pVertexShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID3D11DeviceContext4*)Unsafe.AsPointer(ref this), pVertexShader, ppClassInstances, NumClassInstances);
}
@@ -237,7 +237,7 @@ public unsafe partial struct ID3D11DeviceContext4 : ID3D11DeviceContext4.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
- public void GSSetShader(ID3D11GeometryShader* pShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void GSSetShader(ID3D11GeometryShader* pShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID3D11DeviceContext4*)Unsafe.AsPointer(ref this), pShader, ppClassInstances, NumClassInstances);
}
@@ -333,7 +333,7 @@ public unsafe partial struct ID3D11DeviceContext4 : ID3D11DeviceContext4.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
- public void OMSetBlendState(ID3D11BlendState* pBlendState, float* BlendFactor, uint SampleMask)
+ public void OMSetBlendState(ID3D11BlendState* pBlendState = default, float* BlendFactor = null, uint SampleMask = 0xffffffff)
{
((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID3D11DeviceContext4*)Unsafe.AsPointer(ref this), pBlendState, BlendFactor, SampleMask);
}
@@ -533,7 +533,7 @@ public unsafe partial struct ID3D11DeviceContext4 : ID3D11DeviceContext4.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(60)]
- public void HSSetShader(ID3D11HullShader* pHullShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void HSSetShader(ID3D11HullShader* pHullShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID3D11DeviceContext4*)Unsafe.AsPointer(ref this), pHullShader, ppClassInstances, NumClassInstances);
}
@@ -565,7 +565,7 @@ public unsafe partial struct ID3D11DeviceContext4 : ID3D11DeviceContext4.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(64)]
- public void DSSetShader(ID3D11DomainShader* pDomainShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void DSSetShader(ID3D11DomainShader* pDomainShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID3D11DeviceContext4*)Unsafe.AsPointer(ref this), pDomainShader, ppClassInstances, NumClassInstances);
}
@@ -605,7 +605,7 @@ public unsafe partial struct ID3D11DeviceContext4 : ID3D11DeviceContext4.Interfa
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(69)]
- public void CSSetShader(ID3D11ComputeShader* pComputeShader, ID3D11ClassInstance** ppClassInstances, uint NumClassInstances)
+ public void CSSetShader(ID3D11ComputeShader* pComputeShader = null, ID3D11ClassInstance** ppClassInstances = null, uint NumClassInstances = 0)
{
((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID3D11DeviceContext4*)Unsafe.AsPointer(ref this), pComputeShader, ppClassInstances, NumClassInstances);
}
diff --git a/src/Vortice.Win32.Graphics.Direct3D11/ID3D11Device.cs b/src/Vortice.Win32.Graphics.Direct3D11/ID3D11Device.cs
index 5868d0b..b655d42 100644
--- a/src/Vortice.Win32.Graphics.Direct3D11/ID3D11Device.cs
+++ b/src/Vortice.Win32.Graphics.Direct3D11/ID3D11Device.cs
@@ -356,4 +356,40 @@ public static unsafe class ID3D11DeviceExtension
return shader.Move();
}
+
+ public static HResult CreateInputLayout(ref this TD3D11Device self,
+ ReadOnlySpan inputElements,
+ ReadOnlySpan shaderBytecode,
+ ID3D11InputLayout** ppInputLayout)
+ where TD3D11Device : unmanaged, ID3D11Device.Interface
+ {
+ fixed (InputElementDescription* pInputElements = inputElements)
+ fixed (byte* pShaderBytecode = shaderBytecode)
+ {
+ return self.CreateInputLayout(
+ pInputElements, (uint)inputElements.Length,
+ pShaderBytecode, (nuint)shaderBytecode.Length,
+ ppInputLayout);
+ }
+ }
+
+ public static ComPtr CreateInputLayout(ref this TD3D11Device self,
+ ReadOnlySpan inputElements,
+ ReadOnlySpan shaderBytecode)
+ where TD3D11Device : unmanaged, ID3D11Device.Interface
+ {
+ using ComPtr inputLayout = default;
+
+ fixed (InputElementDescription* pInputElements = inputElements)
+ fixed (byte* pShaderBytecode = shaderBytecode)
+ {
+ ThrowIfFailed(self.CreateInputLayout(
+ pInputElements, (uint)inputElements.Length,
+ pShaderBytecode, (nuint)shaderBytecode.Length,
+ inputLayout.GetAddressOf())
+ );
+ }
+
+ return inputLayout.Move();
+ }
}
diff --git a/src/Vortice.Win32.Graphics.Direct3D11/ID3D11DeviceChild.cs b/src/Vortice.Win32.Graphics.Direct3D11/ID3D11DeviceChild.cs
index c7e3043..6030542 100644
--- a/src/Vortice.Win32.Graphics.Direct3D11/ID3D11DeviceChild.cs
+++ b/src/Vortice.Win32.Graphics.Direct3D11/ID3D11DeviceChild.cs
@@ -32,13 +32,12 @@ public static unsafe class ID3D11DeviceChildExtensions
{
fixed (sbyte* valuePtr = value.GetUtf8Span())
{
- _ = self.SetPrivateData(ID3D11DeviceChild.D3DDebugObjectNameGuid, (uint)value.Length, valuePtr);
+ _ = self.SetPrivateData(ID3D11DeviceChild.D3DDebugObjectNameGuid, (uint)value!.Length, valuePtr);
}
}
}
}
-
public unsafe partial struct ID3D11DeviceChild
{
public static ref readonly Guid WKPDID_D3DDebugObjectName