feat(F-NSWINDOW-E5 r11): D3D11→Metal bridge + native driver test (dead-until-wired) - #36
Merged
Merged
Conversation
…d-until-wired) D3D11-interface-shaped COM vtable layer over Apple Metal headless offscreen: - native/d3d11_metal_bridge.h: COM C structs (ID3D11Device, ID3D11DeviceContext, IDXGISwapChain, ID3D11RenderTargetView, ID3D11Texture2D) with compact vtables (IUnknown stubs [0-2] + implemented methods). Vtable indices documented vs real d3d11.dll for r12 self-authored PE wiring. gamebox_D3D11CreateDeviceAndSwapChain (simplified 5-param vs real 12-param, mapping documented). - native/d3d11_metal_bridge.m: ObjC+Metal+ARC. GBMetalContext holds MTLDevice, queue, PSO, 64x64 BGRA8 offscreen MTLTexture, triColorBuf (red). CFBridgingRetain per COM object for shared ownership. ClearRenderTargetView=Clear-pass, Draw=Load-pass+triangle, Present=no-op (headless). - native/d3d11_metal_bridge_test.c: pure C driver calling through vtable pointers as a D3D11 app would. Local M4 result (clean build -Wall -Wextra): __D3D11_BRIDGE__ PASS px_clear=0x0000FFFF px_triangle=0xFF0000FF nonuniform=1 - .github/workflows/ci.yml: warn-only Smoke step after r10 Metal substrate step. - native/build.sh: d3d11_bridge_test target. - CHANGELOG.md + ARCHITECTURE.json: E5 r11 measured node. own1: Wine 0 / DXVK 0 / d3d11.dll source 0 / DRM 0 / Warden 0. 구현됨·미배선 dead-until-wired. validated_manjeom=0 (native test, not a game frame). r12 = minimal own1 D3D11 test PE + interpreter IAT autobind wiring = manjeom>0 gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dancinlife
pushed a commit
that referenced
this pull request
Jun 26, 2026
…M vtable shim→실 MTLDevice 오프스크린)·native test PASS(px_clear/triangle nonuniform)·구현됨·미배선(dead until wired). r10 #33 Metal substrate proven.⚠️ CI=github-hosted macos-15(Blacksmith 해제·#34/#35 비용·PUBLIC repo 무료). r12 표적=최소 D3D11 테스트 PE(own1 자작)+인터프리터 end-to-end 배선(IAT autobind D3D11 imports→bridge shim)→PE 실행→Metal readback=validated_manjeom>0 첫 시도. SSOT=ARCHITECTURE.json blocking-frontiers+memory.
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.
F-NSWINDOW-E5 r11 — D3D11→Metal 브리지
r10에서 증명된 Metal 오프스크린 경로 위에 D3D11 호출을 실 Metal로 통역하는 브리지(=validated_manjeom>0의 핵심).
신규 (native·ObjC+Metal)
d3d11_metal_bridge.{h,m}: COM-shapedID3D11Device/DeviceContext/IDXGISwapChain/RTV/Texture2Dvtable +D3D11CreateDeviceAndSwapChain→ MTLDevice + 오프스크린 MTLTexture 백버퍼. ClearRTV→Metal clear·Draw→삼각형·Present→오프스크린 finalize·readback.d3d11_metal_bridge_test.c: vtable 통해 D3D11 앱처럼 호출 → readback assert.측정 (M4·-Wall -Wextra clean)
__D3D11_BRIDGE__ PASS px_clear=0x0000FFFF px_triangle=0xFF0000FF nonuniform=1CI
Smoke — D3D11→Metal bridge (E5 r11)step (github-hosted macos-15·warn-only).own1 / wire-to-prod
gamebox 자체 D3D11-인터페이스-shape를 Apple Metal로 — Wine/DXVK/d3d11.dll 소스 0. 구현됨·미배선(dead until wired to PE) — r12에서 인터프리터 배선. validated_manjeom 여전히 0.
🤖 Generated with Claude Code
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.