Files
appsandbox/tools/agent
James Stringer f4307c0e43 Add Windows guest OpenGL/OpenCL/Vulkan via D3D mapping layers
Provision the Microsoft D3D mapping layers (OpenGLOn12, OpenCLOn12, Dozen)
into Windows GPU-PV guests so apps get hardware-accelerated GL/CL/Vulkan on
top of the projected host D3D12 driver.

- d3dlayers.c/.h: fetch the D3DMappingLayers package from Microsoft on demand
  over WinHTTP (displaycatalog -> FE3 -> CDN), extract with in-box tar, cache
  beside the exe. Sets the Dozen ICD manifest library_path to the absolute
  guest path (the Vulkan loader's LoadLibraryEx fallback uses
  LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR, which requires a fully-qualified path).
- fe3_templates.h: SOAP envelopes for the FE3 client.
- gpu_enum.c/.h: add the AppSandbox.GlLayers Plan 9 share (guest path
  C:\Windows\AppSandbox\d3dlayers).
- asb_core.c: stage the layers + OpenGL shim and append the share before VM start.
- disk_util.c: skip the GlLayers share during build-time image staging.
- agent.c: gl_provision() copies dxil.dll to System32 and registers the ICDs
  (OpenGL via AppInit_DLLs shim, OpenCL + Vulkan via Khronos registry keys)
  after the GPU driver copy, before the device disable/enable cycle.
- tools/gl-shim: appsandbox_gl_shim.dll, an AppInit_DLLs shim that IAT-hooks
  gdi32!D3DKMTQueryAdapterInfo to route opengl32 to OpenGLOn12.dll.
- AppSandbox.sln / AppSandboxCore.vcxproj: build wiring.
2026-05-30 22:07:24 -04:00
..
2026-03-18 18:44:36 -04:00
2026-03-18 18:44:36 -04:00
2026-03-18 18:44:36 -04:00
2026-04-14 20:12:59 -04:00
2026-03-18 18:44:36 -04:00