-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #374 from tannergooding/main
Cover some d3dx12 types that require manual porting
- Loading branch information
Showing
55 changed files
with
6,170 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
242 changes: 235 additions & 7 deletions
242
sources/Interop/Windows/DirectX/d3d12/D3D12TokenizedProgramFormat/D3D12.cs
Large diffs are not rendered by default.
Oops, something went wrong.
18 changes: 18 additions & 0 deletions
18
sources/Interop/Windows/DirectX/d3d12/D3D12TokenizedProgramFormat/DirectX.Manual.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. | ||
|
||
// Ported from D3D12TokenizedProgramFormat.hpp in microsoft/DirectX-Headers tag v1.611.2 | ||
// Original source is Copyright © Microsoft. Licensed under the MIT license | ||
|
||
namespace TerraFX.Interop.DirectX; | ||
|
||
public static partial class D3D12 | ||
{ | ||
[NativeTypeName("#define D3D12_SB_OPERAND_NON_UNIFORM_MASK 0x00020000")] | ||
public const int D3D12_SB_OPERAND_NON_UNIFORM_MASK = 0x00020000; | ||
|
||
[NativeTypeName("#define D3D12_SB_OPERAND_NON_UNIFORM_SHIFT 17")] | ||
public const int D3D12_SB_OPERAND_NON_UNIFORM_SHIFT = 17; | ||
|
||
[NativeTypeName("#define D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND (1<<19)")] | ||
public const int D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND = (1 << 19); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
875 changes: 875 additions & 0 deletions
875
...terop/Windows/DirectX/d3dx12/d3dx12_check_feature_support/CD3DX12FeatureSupport.Manual.cs
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
93 changes: 93 additions & 0 deletions
93
.../DirectX/d3dx12/d3dx12_pipeline_state_stream/CD3DX12_PIPELINE_MESH_STATE_STREAM.Manual.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. | ||
|
||
// Ported from d3dx12_pipeline_state_stream.h in microsoft/DirectX-Headers tag v1.611.2 | ||
// Original source is Copyright © Microsoft. Licensed under the MIT license | ||
|
||
using System.Runtime.InteropServices; | ||
|
||
namespace TerraFX.Interop.DirectX; | ||
|
||
public unsafe struct CD3DX12_PIPELINE_MESH_STATE_STREAM | ||
{ | ||
public CD3DX12_PIPELINE_STATE_STREAM_FLAGS Flags; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_PS PS; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_AS AS; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_MS MS; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO; | ||
|
||
public CD3DX12_PIPELINE_STATE_STREAM_VIEW_INSTANCING ViewInstancingDesc; | ||
|
||
|
||
public CD3DX12_PIPELINE_MESH_STATE_STREAM([NativeTypeName("const D3DX12_MESH_SHADER_PIPELINE_STATE_DESC &")] in D3DX12_MESH_SHADER_PIPELINE_STATE_DESC Desc) | ||
{ | ||
Flags = Desc.Flags; | ||
NodeMask = Desc.NodeMask; | ||
pRootSignature = Desc.pRootSignature; | ||
PS = Desc.PS; | ||
AS = Desc.AS; | ||
MS = Desc.MS; | ||
BlendState = Desc.BlendState; | ||
DepthStencilState = new D3D12_DEPTH_STENCIL_DESC1(Desc.DepthStencilState); | ||
DSVFormat = Desc.DSVFormat; | ||
RasterizerState = Desc.RasterizerState; | ||
|
||
fixed (DXGI_FORMAT* pFormats = &Desc.RTVFormats[0]) | ||
{ | ||
RTVFormats = new D3D12_RT_FORMAT_ARRAY(pFormats, Desc.NumRenderTargets); | ||
} | ||
|
||
SampleDesc = Desc.SampleDesc; | ||
SampleMask = Desc.SampleMask; | ||
CachedPSO = Desc.CachedPSO; | ||
ViewInstancingDesc = D3D12_VIEW_INSTANCING_DESC.DEFAULT; | ||
} | ||
|
||
public readonly D3DX12_MESH_SHADER_PIPELINE_STATE_DESC MeshShaderDescV0() | ||
{ | ||
D3DX12_MESH_SHADER_PIPELINE_STATE_DESC D = new D3DX12_MESH_SHADER_PIPELINE_STATE_DESC { | ||
Flags = Flags, | ||
NodeMask = NodeMask, | ||
pRootSignature = pRootSignature, | ||
PS = PS, | ||
AS = AS, | ||
MS = MS, | ||
BlendState = BlendState, | ||
DepthStencilState = (D3D12_DEPTH_STENCIL_DESC)(DepthStencilState.pssInner), | ||
DSVFormat = DSVFormat, | ||
RasterizerState = RasterizerState, | ||
NumRenderTargets = RTVFormats.pssInner.NumRenderTargets, | ||
SampleDesc = SampleDesc, | ||
SampleMask = SampleMask, | ||
CachedPSO = CachedPSO, | ||
}; | ||
|
||
fixed (DXGI_FORMAT* pFormat = &RTVFormats.pssInner.RTFormats[0]) | ||
{ | ||
NativeMemory.Copy(&D.RTVFormats[0], pFormat, 8 * sizeof(DXGI_FORMAT)); | ||
} | ||
|
||
return D; | ||
} | ||
} |
Oops, something went wrong.