From 2f3905aadba27ec724cc9115719617ff281893aa Mon Sep 17 00:00:00 2001 From: Craig Dean Date: Fri, 3 Dec 2021 17:37:33 +0000 Subject: [PATCH 1/4] docs: Added blog post for structure chaining. --- website/blog/dec-2021/structure-chaining.md | 69 ++++++++++++++++++ .../blog/dec-2021/structure-chaining.png | Bin 0 -> 732023 bytes 2 files changed, 69 insertions(+) create mode 100644 website/blog/dec-2021/structure-chaining.md create mode 100644 website/images/blog/dec-2021/structure-chaining.png diff --git a/website/blog/dec-2021/structure-chaining.md b/website/blog/dec-2021/structure-chaining.md new file mode 100644 index 0000000000..5885e74200 --- /dev/null +++ b/website/blog/dec-2021/structure-chaining.md @@ -0,0 +1,69 @@ +--- +{ +"TableOfContents": { +"Name": "Silk.NET Structure Chaining", +"Url": "structure-chaining.html", +"Metadata": { +"AuthorGitHub": "thargy", +"DateTimeWritten": "09/12/2021 16:00", +"PreviewImage": "images/blog/dec-2021/structure-chaining.png" +} } } +--- + +# Silk.NET Structure Chaining + +With the release of Silk.NET 2.11 we've enhanced the usability of `Silk.NET.Vulkan` by addressing one of its pain +points, specifically building the [Singly Linked Lists](https://en.wikipedia.org/wiki/Linked_list) (or chains) of +structures that are frequently used to pass information to, and from, the API. + +Up to now, it was not unusual to have to write quite a lot of unsafe code to work with the Vulkan API. For example, to +query device features you would need to create a chain of empty structures to be populated by the API: + +```csharp +var accelerationStructureFeaturesKhr = new PhysicalDeviceAccelerationStructureFeaturesKHR + {SType = StructureType.PhysicalDeviceAccelerationStructureFeaturesKhr}; +var indexingFeatures = new PhysicalDeviceDescriptorIndexingFeatures +{ + SType = StructureType.PhysicalDeviceDescriptorIndexingFeatures, + PNext = &accelerationStructureFeaturesKhr +}; +var features2 = new PhysicalDeviceFeatures2 +{ + SType = StructureType.PhysicalDeviceFeatures2, + PNext = &indexingFeatures +}; +vk.GetPhysicalDeviceFeatures2(device, &features2); +``` + +Not only is this quite a bit of boiler plate (and it gets worse when you actually want to pass data to the API), but its +really easy for developers, who are not always comfortable with `unsafe` code, memory management and pointers, to +introduce subtle bugs by passing in pointers to structures they have previously generated and are now residing on the +.NET heap. Such structures can be moved by the Garbage Collector at the most unexpected times! + +Thanks to Structure Chaining, we now have 2 new ways to write the above code. The most +useful [Managed Chaining](https://github.com/dotnet/Silk.NET/blob/main/documentation/structure-chaining/managed-chaining.md), +makes it much easier, and safer, to work with Vulkan Structure Chains. For example, the above code can now be written +as: + +```csharp +using var chain = Chain.Create(); +vk.GetPhysicalDeviceFeatures2(device, features2); +``` + +Not only do the new `Chain` classes manage the lifetime of the structures for you, they can be safely stored on the +heap, like any object. They efficiently handle the `SType` and `PNext` fields, ensuring they are always correct. It is +also easy to modify and manipulate the chains. What is less obvious from the above example is that we are now able to +validate that `PhysicalDeviceFeatures2` can be used as the _start_ of a chain, and that +both `PhysicalDeviceDescriptorIndexingFeatures` and `PhysicalDeviceAccelerationStructureFeaturesKHR` are valid +structures to appear in such a chain. That validation occurs at compile time, meaning that most modern IDEs will give +you error 'squiggles' as soon as you try and use an invalid structure (according to the Vulkan Specification)! + +That 'magic' is possible due to a set of new interfaces we've added to Vulkan Structures to indicate when they can be +used in chains, and, when the Vulkan Specification explicitly states it, what chains they can be used in. All without +effecting runtime performance. + +Full documentation is +available [here](https://github.com/dotnet/Silk.NET/blob/main/documentation/structure-chaining/overview.md), and we +can't wait for you to start using the new features! If they prove popular, we plan on expanding the functionality to +other APIs supported by Silk.NET. \ No newline at end of file diff --git a/website/images/blog/dec-2021/structure-chaining.png b/website/images/blog/dec-2021/structure-chaining.png new file mode 100644 index 0000000000000000000000000000000000000000..f151c39a1e5e64b524da094714061bd4cf0c86e0 GIT binary patch literal 732023 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