Repository navigation
Fix cross-assembly COM projections and shared helpers - #1870
Merged
Merged
Conversation
Resolve interface definitions and COM ancestry with their owning generator and metadata reader. Add reciprocal metadata fixtures covering native pointers, marshaled arrays, and non-COM ancestry. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This was referenced Oct 30, 2026
Run the SDK COM source generator on GUID-bearing reciprocal fixtures and compile its output. Fix inherited CCW property inspection to use the method-owning metadata reader. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Verify the SDK-generated compilation emits successfully, then normalize only third-party generated trees for the existing cross-platform test formatting assertions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Register compatible replacement types across inputs, forward local and external dependencies, and replace Apis members individually. Cover complete enum upgrades, architecture variants, nested types and real COM/LibraryImport generation in the three supported modes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Emit common SliceAtNull and GeneratedCode attribute once across metadata inputs while preserving distinct per-array ReadOnlyItemRef overloads. Cover both generation orders with authored array fixtures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…overage Use complete public Windows metadata70.0.11 and a reproducible public Agility1.619.3 fixture. Exercise real DXGI/D3D/DirectML requests in native, marshaled and actual COM-source-generated modes, both request orders, baseline precedence and target architectures. Remove all ExternalCom/Occlusion fixtures added by this work. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use existing inline-array namespace/name cache keys to select one same-root declaration at emission without changing transactional generation. Cover real D3D11 and D3D12 sampler border arrays in all three modes and both request orders, including retained ReadOnlyItemRef calls. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Remove type, method and constant winner registration and local-definition forwarding. Keep qualified COM resolution, shared projection roots and helper ownership. Test full public split Windows metadata with one baseline or Agility D3D12 provider, neutral identities, all three projection modes, request/input orders, samplers and failed-generation retry. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep cross-assembly regression coverage on the split Windows SDK baseline and defer Agility coverage to the published SDK package. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Jevan Saks (jevansaks)
marked this pull request as ready for review
November 4, 2026 08:37
Update to Win32Metadata 71.0.45-preview and remove the checked-in Windows/D3D12 pair. Collect and copy package-selected test metadata after provider selection. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Honor AvoidWinmdRootAlias for type definitions as well as references, so inherited IInspectable friendly methods keep Windows HSTRING locals correctly qualified. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Jevan Saks (jevansaks)
enabled auto-merge (squash)
November 5, 2026 17:12
Sergio Pedri (Sergio0694)
approved these changes
Nov 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix projections when Windows metadata references COM interfaces defined in a separate WinMD, such as a D3D12 provider.
DML_BUFFER_BINDING.Bufferuses the referencedID3D12Resourcewith the correct pointer or managed interface shape.Key changes:
IntPtr.Windows.Win32.PInvokewhen metadata files share a projection root.71.0.45-previewand use its package-selected Windows/D3D12 baseline for native, marshaled, and COM source-generator regression coverage. No checked-in WinMDs or local SDK reproduction tooling are added.Input selection supplies exactly one D3D12 provider. There is no per-type occlusion or name-based replacement logic. Agility coverage will use the published SDK package.