Skip to content

Vulkan struct chaining #706

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 74 commits into from
Dec 3, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
ea222f8
feat: Initial working sample
thargy Nov 4, 2021
7863b1d
feat: Now supports limiting allowed structs.
thargy Nov 4, 2021
babe08f
docs: Added Readme.md
thargy Nov 4, 2021
58865bf
fix: Change __makeref to Unsafe.AsPointer
thargy Nov 4, 2021
73763e6
chore: Retargeting
thargy Nov 5, 2021
81cc29c
refactor: Various changes
thargy Nov 5, 2021
aea15c9
chore: Updated readme.md
thargy Nov 5, 2021
eca1dd2
feat: Added ManagedChain
thargy Nov 5, 2021
389c1f9
feat: Added static `ManagedChain.Create` example
thargy Nov 5, 2021
e7f047d
feat: ManagedChain uses a single memory block.
thargy Nov 5, 2021
ff031f6
feat: Added T4 template.
thargy Nov 5, 2021
dd2c1a8
feat: Added `ManagedChain.Append`
thargy Nov 5, 2021
ea96e2a
feat: Loading of unmanaged chains
thargy Nov 5, 2021
ec40730
feat: Added `IReadOnlyList` support to `ManagedChain`
thargy Nov 6, 2021
5254b9d
feat: Added deconstructor to `ManageChain<...>`
thargy Nov 6, 2021
8d3f124
feat: Added static `ManagedChain.Load`
thargy Nov 6, 2021
80dac45
chore: Readme.md updated
thargy Nov 6, 2021
fe2baf7
Imported PrototypeStructChaining into src/Lab/Experiments from extern…
thargy Nov 6, 2021
e74c977
chore: Added Lab projects to Solution
thargy Nov 6, 2021
3cae5cc
chore: Fixed issues with previous commit
thargy Nov 6, 2021
ef57171
docs: Finished initial draft #1
thargy Nov 6, 2021
089f2e5
docs: Embedded code sample directly into Proposal #1
thargy Nov 6, 2021
d5552b6
docs: Updated the Unmanaged Chaining Proposal.
thargy Nov 7, 2021
bd9f0eb
chore: Minor fixes to lab
thargy Nov 7, 2021
1c8dbda
docs: Initial work on Managed Chaining Proposal.
thargy Nov 7, 2021
af6c5a8
docs: Finished draft proposal for Managed Chains
thargy Nov 7, 2021
75f0371
feat: Numerous enhancements to ManagedChains
thargy Nov 7, 2021
d1ced73
docs: Updated Chaining proposals to match new functionality.
thargy Nov 7, 2021
e07f72f
feat: Added chain metadata extensions.
thargy Nov 7, 2021
374d85e
docs: Added suggestion for specific chain interfaces
thargy Nov 9, 2021
866f2dc
docs: Updated to use `BaseInStructure`
thargy Nov 9, 2021
92f98ed
feat: Implements `IStructuredType`
thargy Nov 9, 2021
66f0e05
feat: Implements Unmanaged Chains
thargy Nov 9, 2021
ce48c5b
chore: Committing structure changes
thargy Nov 9, 2021
c56ac2a
fix: Fixed capitalization of struct aliases.
thargy Nov 9, 2021
055a809
chore: Committing structure changes
thargy Nov 9, 2021
66336d7
feat: Linked `PrototypeStructChaining` projects to implementation
thargy Nov 9, 2021
589d934
feat: Added `Any` overloads
thargy Nov 10, 2021
8152c47
docs: Updated the first two proposals
thargy Nov 10, 2021
bc26afc
Merge branch 'proposal/vulkan-struct-chaining' into feature/vulkan-st…
thargy Nov 10, 2021
5b96bfb
Merge branch 'feature/vulkan-struct-chaining/1-istructuredtype' into …
thargy Nov 10, 2021
a83156e
feat: Added `Any` functionality to `ManagedChain`
thargy Nov 11, 2021
aebe0d2
feat: Added `GetHashCode` implementation
thargy Nov 14, 2021
35cf0f5
Merge branch 'proposal/vulkan-struct-chaining' into feature/vulkan-st…
thargy Nov 14, 2021
956ec6e
Merge branch 'feature/vulkan-struct-chaining/1-istructuredtype' into …
thargy Nov 14, 2021
930a2fc
fix: Fixed GetHashCode
thargy Nov 15, 2021
7efd6fa
Merge branch 'proposal/vulkan-struct-chaining' into feature/vulkan-st…
thargy Nov 15, 2021
294bc77
Merge branch 'feature/vulkan-struct-chaining/1-istructuredtype' into …
thargy Nov 15, 2021
8a2eb80
feat: Moved ManagedChain.gen.tt to Silk.NET.Vulkan
thargy Nov 15, 2021
4af9ffd
Merge branch 'dotnet:main' into feature/vulkan-struct-chaining/3-mana…
thargy Nov 21, 2021
1089e52
Merge branch 'dotnet:main' into feature/vulkan-struct-chaining/approved
thargy Nov 30, 2021
39d46cb
feat: `IExtendsChain` constraints reviewed.
thargy Nov 30, 2021
7d934a9
refactor: Renamed `ManagedChain` to `Chain`
thargy Nov 30, 2021
dca8596
refactor: Changed Marshal calls
thargy Nov 30, 2021
f67c314
feat: Added mutation method to base `Chain`
thargy Nov 30, 2021
7e0ed93
feat: Optimised copy
thargy Nov 30, 2021
e18994d
chore: Moved tests to `Silk.NET.Vulkan.Test`
thargy Nov 30, 2021
0592b4e
feat: Added `Chain.Clear` method.
thargy Dec 1, 2021
d91e207
feat: Added implicit conversions to `Chain`
thargy Dec 1, 2021
149d359
docs: Started adding documentation for structure chaining.
thargy Dec 1, 2021
b1bf5e8
testing: Added tests for casts and Clear
thargy Dec 1, 2021
c7c667e
feat: Added `IEquatable<Chain>` to `Chain`
thargy Dec 1, 2021
44c4571
docs: Finished all but structure chaining docs
thargy Dec 1, 2021
1b12cde
chore: Added license to top of `Chain.gen.cs`
thargy Dec 1, 2021
c8f52f9
Update src/Core/Silk.NET.BuildTools/Bind/StructWriter.cs
thargy Dec 1, 2021
412d4e0
Update src/Core/Silk.NET.BuildTools/Bind/StructWriter.cs
thargy Dec 1, 2021
3422b1b
Update src/Core/Silk.NET.BuildTools/Bind/StructWriter.cs
thargy Dec 1, 2021
d7805c8
chore: Removed imported .idea files.
thargy Dec 1, 2021
43bca4e
Merge remote-tracking branch 'origin/feature/vulkan-struct-chaining/a…
thargy Dec 1, 2021
dcc2269
chore: Renamed `Silk.NET.Vulkan.Test` to `Silk.NET.Vulkan.Tests`
thargy Dec 1, 2021
1f16afb
fix: Full disposal pattern implementation for `Chain`
thargy Dec 1, 2021
7a52f1b
fix: Renamed `Chain.gen.cs` to `Chain.g.cs`
thargy Dec 1, 2021
1735a85
docs: Finished first pass of documentation
thargy Dec 1, 2021
1fb2003
feat: Optimized `Chain.Load(TChain)`
thargy Dec 2, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
54 changes: 51 additions & 3 deletions Silk.NET.sln
Original file line number Diff line number Diff line change
Expand Up @@ -270,9 +270,9 @@ EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Silk.NET.NUKE", "build\nuke\Silk.NET.NUKE.csproj", "{B9A8D738-FE7D-4860-A446-4A03E3DDEB74}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft", "Microsoft", "{F2CF5D32-4B41-425E-B229-8FFC48F88063}"
ProjectSection(SolutionItems) = preProject
src\Microsoft\dxva.h = src\Microsoft\dxva.h
EndProjectSection
ProjectSection(SolutionItems) = preProject
src\Microsoft\dxva.h = src\Microsoft\dxva.h
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Silk.NET.Direct3D11", "src\Microsoft\Silk.NET.Direct3D11\Silk.NET.Direct3D11.csproj", "{F3B7A9D6-5B15-45E8-925B-20B5BBD33428}"
EndProject
Expand Down Expand Up @@ -474,6 +474,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.OpenXR.Extensions.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.OpenXR.Extensions.HTCX", "src\OpenXR\Extensions\Silk.NET.OpenXR.Extensions.HTCX\Silk.NET.OpenXR.Extensions.HTCX.csproj", "{782B6A7E-9F04-429A-9DCD-D7273AA3882E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PrototypeStructChaining", "PrototypeStructChaining", "{B15922CB-815C-4038-B635-EE2D8A8F700B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrototypeStructChaining", "src\Lab\Experiments\PrototypeStructChaining\PrototypeStructChaining\PrototypeStructChaining.csproj", "{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrototypeStructChaining.Test", "src\Lab\Experiments\PrototypeStructChaining\PrototypeStructChaining.Test\PrototypeStructChaining.Test.csproj", "{BD19250B-E143-4F4E-9E1D-18829CCB3642}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Vulkan.Tests", "src\Vulkan\Silk.NET.Vulkan.Tests\Silk.NET.Vulkan.Tests.csproj", "{225BA79C-36FE-421A-85E4-D15F8B61869B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -2823,6 +2831,42 @@ Global
{782B6A7E-9F04-429A-9DCD-D7273AA3882E}.Release|x64.Build.0 = Release|Any CPU
{782B6A7E-9F04-429A-9DCD-D7273AA3882E}.Release|x86.ActiveCfg = Release|Any CPU
{782B6A7E-9F04-429A-9DCD-D7273AA3882E}.Release|x86.Build.0 = Release|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Debug|x64.ActiveCfg = Debug|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Debug|x64.Build.0 = Debug|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Debug|x86.ActiveCfg = Debug|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Debug|x86.Build.0 = Debug|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Release|Any CPU.Build.0 = Release|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Release|x64.ActiveCfg = Release|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Release|x64.Build.0 = Release|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Release|x86.ActiveCfg = Release|Any CPU
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C}.Release|x86.Build.0 = Release|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Debug|x64.ActiveCfg = Debug|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Debug|x64.Build.0 = Debug|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Debug|x86.ActiveCfg = Debug|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Debug|x86.Build.0 = Debug|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Release|Any CPU.Build.0 = Release|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Release|x64.ActiveCfg = Release|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Release|x64.Build.0 = Release|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Release|x86.ActiveCfg = Release|Any CPU
{BD19250B-E143-4F4E-9E1D-18829CCB3642}.Release|x86.Build.0 = Release|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Debug|x64.ActiveCfg = Debug|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Debug|x64.Build.0 = Debug|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Debug|x86.ActiveCfg = Debug|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Debug|x86.Build.0 = Debug|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|Any CPU.Build.0 = Release|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|x64.ActiveCfg = Release|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|x64.Build.0 = Release|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|x86.ActiveCfg = Release|Any CPU
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -3052,6 +3096,10 @@ Global
{3E30D674-9282-4297-AD1F-9B233A166308} = {0651C5EF-50AA-4598-8D9C-8F210ADD8490}
{606214B8-07FC-436F-9523-02AF32E1AB1E} = {90471225-AC23-424E-B62E-F6EC4C6ECAC0}
{782B6A7E-9F04-429A-9DCD-D7273AA3882E} = {90471225-AC23-424E-B62E-F6EC4C6ECAC0}
{B15922CB-815C-4038-B635-EE2D8A8F700B} = {39B598E9-44BA-4A61-A1BB-7C543734DBA6}
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C} = {B15922CB-815C-4038-B635-EE2D8A8F700B}
{BD19250B-E143-4F4E-9E1D-18829CCB3642} = {B15922CB-815C-4038-B635-EE2D8A8F700B}
{225BA79C-36FE-421A-85E4-D15F8B61869B} = {E2ABDF45-C329-47B2-8E09-B7298E2557F7}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F5273D7F-3334-48DF-94E3-41AE6816CD4D}
Expand Down
1 change: 1 addition & 0 deletions Silk.NET.sln.DotSettings
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=trimmable/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=typemap/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=typemaps/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=typeparam/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Ultz/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=vsync/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Vulkan/@EntryIndexedValue">True</s:Boolean>
Expand Down
Binary file modified build/cache/vulkan.json.gz
Binary file not shown.
Loading