fix(windows-drivers): emit IddCx DXGI/OPM/UINT types locally
The iddcx bindgen now SUCCEEDS (C++ fix). Generated module had 38 unresolved-type errors — a bounded set wdk-sys does not bindgen: UINT, DXGI_FORMAT, DXGI_COLOR_SPACE_TYPE, IDXGIDevice/Resource, 6 OPM_* types. No WDF type is missing, so the crate::types sharing (type-identity) holds. Allowlist those families so they emit locally in iddcx.rs (non-conflicting — absent from crate::types), keeping allowlist_recursively(false). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -369,6 +369,14 @@ fn generate_iddcx(out_path: &Path, config: &Config) -> Result<(), ConfigError> {
|
||||
.allowlist_recursively(false)
|
||||
.header_contents("iddcx-input.h", &header_contents)
|
||||
.allowlist_file("(?i).*iddcx.*")
|
||||
// IddCx structs reference DXGI + OPM (output-protection) types and the `UINT` primitive that
|
||||
// wdk-sys does NOT bindgen. Emit those locally (non-conflicting — they're absent from
|
||||
// crate::types). WDF/GUID/ULONG types it shares DO resolve from crate::types (no WDF type is
|
||||
// missing), so this stays type-identical for the WDF surface.
|
||||
.allowlist_type("DXGI_.*")
|
||||
.allowlist_type("IDXGI.*")
|
||||
.allowlist_type("OPM_.*")
|
||||
.allowlist_type("UINT")
|
||||
};
|
||||
trace!(bindgen_builder = ?bindgen_builder);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user