Skip to content
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

A proposal for Bindings Owners to allow more bindings into Silk.NET #2030

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Perksey
Copy link
Member

@Perksey Perksey commented Apr 12, 2024

Just read the proposal, I promise this isn't scope creep.

@Perksey Perksey marked this pull request as ready for review April 12, 2024 04:58
@Perksey Perksey requested a review from a team as a code owner April 12, 2024 04:58
@Perksey
Copy link
Member Author

Perksey commented Apr 12, 2024

This is ready for a pre-WG review.

Copy link
Contributor

@Beyley Beyley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in my initial glance all is pona tawa mi

@Perksey Perksey added this to the Next Working Group Meeting milestone Apr 12, 2024
3. An API developed by a multi-vendor standards team/body, or an API with notable industry presence otherwise implemented by multiple vendors and/or developed in collaboration with those vendors.
2. The C API being bound to **must** have open-source headers that do not preclude the automated transformation to C# bindings without undue licensing provisions inflicted on users of such transformations.

All Khronos and DirectX APIs meet both requirements 1.1 and 1.3. OpenAL also meets this requirement based on its historical development. GLFW and SDL both meet these rqeuirements today given that the Windowing HLU requires both of them in 2.X, their continued status as "core binding" is dependent on what the final implementation of the Windowing 3.0 proposal [5] uses.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
All Khronos and DirectX APIs meet both requirements 1.1 and 1.3. OpenAL also meets this requirement based on its historical development. GLFW and SDL both meet these rqeuirements today given that the Windowing HLU requires both of them in 2.X, their continued status as "core binding" is dependent on what the final implementation of the Windowing 3.0 proposal [5] uses.
All Khronos and DirectX APIs meet both requirements 1.1 and 1.3. OpenAL also meets this requirement based on its historical development. GLFW and SDL both meet these requirements today given that the Windowing HLU requires both of them in 2.X, their continued status as "core binding" is dependent on what the final implementation of the Windowing 3.0 proposal [5] uses.

3. The C API **must** be a recognised industry standard multimedia or compute API, aid in the creation of applications making use of such APIs, and/or used to implement a Silk.NET High Level Utility.
- The "recognised industry standard multimedia or compute API" covers all Khronos APIs, OpenAL, and the 2.X portfolio of DirectX bindings.
- The "aid in the creation of applications making use of such APIs" covers Assimp and Shaderc.
- The "used to implement a Silk.NET High Level Utility" covers GLFW and SDL.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand why you write this, but seeing that Silk SDL bindings are the best ones available, is it there for the HLU or primarily for Standard Multimedia API?

Copy link
Member Author

@Perksey Perksey May 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, we will maintain our SDL bindings to the best of our ability so long as we're using them in our windowing/input HLU APIs. This does not preclude the bindings going beyond what is needed for the HLUs e.g. binding to the rendering APIs for instance, but it sets a tone for how we approach their maintenance.

Our approach in 2.X is not changing in 3.0.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So if the HLU, which some might not use (preferring their own), switches to direct Mac/windows/X bindings, Silk SDL could be dropped according to the new proposal.

Or rather, it would have to become an Additional Binding.

According to https://www.nuget.org/profiles/Silk.NET, the most popular bindings are OGL/Vulkan, then LWGL, and then SDL. The HLU is actually less popular than SDL itself. Do I read that correctly?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you're correct that we should likely make it so core bindings must remain core for the entirety of the major version's lifecycle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

None yet

7 participants