Skip to content
This repository has been archived by the owner on Sep 11, 2021. It is now read-only.

Latest commit

 

History

History
29 lines (20 loc) · 1.79 KB

Notes.md

File metadata and controls

29 lines (20 loc) · 1.79 KB

todo: Reallocating an array on a managed struct seems to be broken todo: Unions! ClearValue and ClearColorValue are basically empty todo: Merge extension flag enums todo: CodeSize (on ShaderModuleCreateInfo) is preventing x64 from working because it should be an IntPtr rather then a UInt32 todo: Fix edge cases in VulkanConstant todo: Managed classes still leak memory in some cases

Create overload for commands that return lists (ei: called twice) that allows you to manually provide the length?

Im not sure how I'd like to handle vendor suffixes. Most generators remove them, but the whole point of the suffix is to prevent name collision, which while unlikely is still a thing that can happen.

Calls to EnumeratePhysicalDevices invalidate previous PhysicalDevice objects?

There are lots of cases where a struct/command requires an array but we only provide a single object, leading to lots of unsightly new[]{ obj } cruft. How could this be mitigated?

Weird layout, check the spec: VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE VK_STENCIL_FRONT_AND_BACK

In most destroy commands (ie DestroyFence) the handle to be destroyed is an optional param ... why?

Dispatchable handles use the platform word length so IntPtr is used to ensure that they are the correct size in structs on both platforms. Nondispatchable handles are always 64 bits in length.

[StructLayout(LayoutKind.Sequential)] C#, Visual Basic, and C++ compilers apply the Sequential layout value to structures by default https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.structlayoutattribute(v=vs.110).aspx

Command Recording:

  • individual command buffers allocated from the pool can be reset either explicitly, by calling vkResetCommandBuffer, or implicitly, by calling vkBeginCommandBuffer on an executable command buffer. (spec/5.1)