Skip to content

Remove OpenGLProvider and add project reference instead - #4784

Merged
Morilli merged 2 commits into
TASEmulators:masterfrom
Morilli:remove-openglprovider
Oct 3, 2026
Merged

Morilli merged 2 commits into
TASEmulators:masterfrom
Morilli:remove-openglprovider

Conversation

@Morilli

@Morilli Morilli commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

dev build for branch | USERNAME:BRANCHNAME

I think this makes more logical sense and makes it easier to add new classes and functions in the future, and will also help if we ever want to use hardware contexts for other renderers (vulkan, direct3d) and would have to do the same frontend graphics integration there. See also #4758 for an example where this helps implementation.

Check if completed:

@Morilli
Morilli requested a review from CasualPokePlayer June 25, 2026 11:19
@YoshiRulz YoshiRulz added the Meta Relating to code organisation or to things that aren't code label Jun 25, 2026
using BizHawk.Common.CollectionExtensions;
using BizHawk.Common;
using BizHawk.Common.StringExtensions;
using CollectionExtensions = BizHawk.Common.CollectionExtensions.CollectionExtensions;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Was this to avoid a name collision or something?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Yeah, BizHawk.Common.CollectionExtensions and System.Collections.Generic.CollectionExtensions.

@YoshiRulz YoshiRulz Jun 26, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cause is an explicit (non-Source Generator) backport... BY MS https://github.com/dotnet/runtime/blob/c369fd627a26b606f36e6b3cbef6f25f3c00bbac/src/libraries/Microsoft.Extensions.DependencyModel/ref/Microsoft.Extensions.DependencyModel.cs#L221-L223 -_-
which we depend on via Silk.NET, hence no collisions before adding the dep on Bizware.Graphics.
edit: dotnet/runtime#129881

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Considering upstream seems unwilling to fix this, do you think this workaround is fine as is or can you think of a better solution?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

There's a mechanism for dealing with libraries that misbehave like this: assembly/reference aliases. See new commit below.

Also FFS upstream locked the issue so I can't edit in this workaround -_- if any future humans made it here, it's simply <PackageReference Include="Microsoft.Extensions.DependencyModel" Alias="ms_ext_depmodel" />

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Soo how does this help when we still get a conflict between BizHawk.Common.CollectionExtensions and System.Collections.Generic.CollectionExtensions now?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It should only conflict when the type is referenced by name i.e. for a non-extension member, which is rare. We should eventually rename the type though.

@Morilli
Morilli merged commit b110b73 into TASEmulators:master Oct 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Meta Relating to code organisation or to things that aren't code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants