Skip to content

Conversation

@MarijnS95
Copy link
Contributor

@MarijnS95 MarijnS95 commented Aug 29, 2024

Separated from #1911 (comment).

On the side, alphabetically sort some flags and use --enumMakeFlags in emitter.settings.rsp instead of --with-attribute XXX=Flags in Namespace/settings.rsp.

<IncludeRoot>/um/dxprogrammablecapture.h
--namespace
Windows.Win32.Graphics.Dxgi
--with-attribute
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Inversely, could we also have all the =AssociatedEnum in here? It seems much nicer to me to have configuration in the namespace-specific settings.rsp than in one humongous global file, if possible?

Copy link
Collaborator

Choose a reason for hiding this comment

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

No. The scraper and the emitter have different roles and supporting toolchains.

Copy link
Contributor Author

@MarijnS95 MarijnS95 Sep 9, 2024

Choose a reason for hiding this comment

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

Is there any complete docs on what configures the scraper (probably the namespace-specific settings.rsp) and what configures the emitter (probably the global emitter.settings.rsp... 🙂), and when to use either?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Contributor Author

@MarijnS95 MarijnS95 Sep 19, 2024

Choose a reason for hiding this comment

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

@mikebattista unfortunately that doesn't explain directly which flags are available, nor what precedence I should stick to. Searching further in the repo shows that --enumMakeFlags is a feature of ClangSharpSourceToWinmd so it makes sense that that only works via emitter settings (and likewise, --with-attribute seems to be a feature of the scraper).

The question remains: do we prefer to set the Flags attribute on the emitter via --enumMakeFlags, or do we prefer to set it earlier via --with-attribute on the scraper as done before this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@mikebattista are you able to help with the above question, so that we can further this PR?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Resolving this thread as it seems like a tangent and unrelated to the PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@riverar it's a valid question to ask whether to configure partition-specific types inside the... partition, or in the global file (and if either method has repercussions). That affects how this PR is structured (i.e. related) which now mostly hacks more types into the global file.

Sure we can merge this without that discussion since there are many more DXGI annotations to move if partition-specific configuration is preferred, but we should still have that discussion (and resulting documentation improvements and .rsp changes somewhere). Should I click "reference in new issue"?

mikebattista
mikebattista previously approved these changes Sep 9, 2024
riverar
riverar previously approved these changes Sep 1, 2025
riverar
riverar previously approved these changes Sep 10, 2025
On the side, alphabetically sort some flags and use `--enumMakeFlags`
in `emitter.settings.rsp` instead of `--with-attribute XXX=Flags`
in `Namespace/settings.rsp`.
@MarijnS95 MarijnS95 force-pushed the dxgi-associated-enum branch from e091ffd to 25ad66f Compare October 16, 2025 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants