Exanite's Tracking Issue
This tracks a bunch of miscellaneous tasks that I accumulated while working on Silk 3.
I'm open for anyone to work on these tasks, but please discuss with me in the Silk Discord first.
In-progress
Tasks in progress will be moved to the corresponding pull request.
Uncategorized
This section contains informal reports, suggestions, or complaints about Silk 3.
I'm logging them here so they don't get forgotten about until I either open a formal issue or address them.
From Aqua:
From Ethereal:
From Nolram (https://discord.com/channels/521092042781229087/607634593201520651/1524213012402147348):
High priority
Generator:
Bindings usage:
Enums and other integral typedefs:
These have been proving to be consistently annoying to work with...
Vulkan and OpenXR have some special handling so this problem is less problematic, but still exists.
Documentation:
Maintenance:
DI:
Medium priority
Bindings:
Quality:
Maintenance:
Low priority
CI:
Maintenance:
High level utilities:
IDE / Metadata:
Completed
Completed during #2588:
Completed during #2591:
Completed or planned to be completed during #2590 (not yet merged):
Completed in dotnet/ClangSharp#699
Completed outside of a PR:
Not doing
For transparency and for reference, I'll move any tasks I don't plan on doing here.
Figure out how to handle CLA properly. Currently native builds will block CLA due to the use of a bot account.
Exanite's Tracking Issue
This tracks a bunch of miscellaneous tasks that I accumulated while working on Silk 3.
I'm open for anyone to work on these tasks, but please discuss with me in the Silk Discord first.
In-progress
Tasks in progress will be moved to the corresponding pull request.
Uncategorized
This section contains informal reports, suggestions, or complaints about Silk 3.
I'm logging them here so they don't get forgotten about until I either open a formal issue or address them.
From Aqua:
From Ethereal:
From Nolram (https://discord.com/channels/521092042781229087/607634593201520651/1524213012402147348):
High priority
Generator:
ExtractEnumConstantsdoes not preserve attributes placed on extracted constants (needs verification).Bindings usage:
InlineArrayN<T>types provided by .NET? Should we use them?channels/521092042781229087/1514735149915439274/1519099432442794150
nullptrconstant does not work. It fails to resolve to anything.RegisterHookin both Vk (defined in a manual file) and Vk.DllImport (defined in a generated file).KhronosNonExclusiveVendorcan identify. Eg: For OpenGL, this should be onlyARB.nullptr. Seems like a nice QOL feature.Enums and other integral typedefs:
These have been proving to be consistently annoying to work with...
Vulkan and OpenXR have some special handling so this problem is less problematic, but still exists.
void DrawElements(uint mode, uint count, uint type, void* indices);uint.uintis used instead ofMaybeBool<uint>. https://discord.com/Documentation:
Maintenance:
ModCSharpSyntaxRewriterDI:
TransformFunctions.Silk.NET.SDL.ConditionHandle.gen.csinstead ofConditionHandle.gen.cswhen running multiple jobs at the same time.Medium priority
Bindings:
IsProbablyABitmaskfunction based on BuildTool's IsProbablyABitmask for identifying flags enumsQuality:
Sdl.PropGpuDeviceCreateDebugmodeBooleanare technically correct (native name isSDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN, soDebugmodeis "one" word), but we could have an audit tool that checks for these non-ideal cases so we can add manual overrides. Worth the effort? Probably not unless we care about perfecting the bindings.Maintenance:
Low priority
CI:
Maintenance:
High level utilities:
IDE / Metadata:
NativeNamefor resolving API profilesNativeNameattributes.StripAttributestoCleanupAttributesand adding an option in its config to optimizeNativeNameattributes.Completed
Completed during #2588:
develop/3.0. Might be related to the error I saw half a year ago. If so, likely can be fixed by simply updating CSharpier. CSharpier has updated their Roslyn package since then.Completed during #2591:
--onlyoption from Curin's branch so I don't need to specify--skipfor all but one jobCompleted or planned to be completed during #2590 (not yet merged):
.gen.cs.csfiles during theGenerated Bindings OutputsectionalSourceRewindvandalSourceRewind. ThedinRewindcan be mistaken as a data type suffix, so we add it to theEndingsNotToTrimregex. However, thedvinRewindvalso has the same problem.WordsNotToTrimIntothanEndingsNotToTrim.AddVTablesin the mod MD docs.Completed in dotnet/ClangSharp#699
SDL_MAX_SINT64generation on Linuxpublic const nint SDL_MAX_SINT64 = unchecked(0x7FFFFFFFFFFFFFFF);does not compileCompleted outside of a PR:
DrawElements/etc, check if the pointer to 0 issue present in Silk 2 still exists in Silk 3Not doing
For transparency and for reference, I'll move any tasks I don't plan on doing here.
Figure out how to handle CLA properly. Currently native builds will block CLA due to the use of a bot account.