Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

D3D12 ARM64 Rotating Cube Sample

A tiny Windows ARM64 Direct3D 12 test program for Hangover/Wine/VKD3D-Proton experiments.

The program opens a Win32 window and renders a continuously rotating 3D cube through Direct3D 12. It is intentionally simple and has no asset files.

Expected binary

The GitHub Actions workflow builds:

D3D12Arm64Cube.exe

Expected file result inside Termux:

PE32+ executable for MS Windows, ARM64

Why this is useful

This sample directly calls:

  • CreateDXGIFactory2
  • D3D12CreateDevice
  • D3D12SerializeRootSignature
  • D3D12 command queue / swapchain / pipeline / draw calls

So it is a much clearer DirectX 12 / VKD3D-Proton test than apps that may silently fall back to D3D11.

Build on GitHub Actions

Fork or create a repository, put these files in it, then run:

Actions -> Build D3D12 ARM64 Cube -> Run workflow

Download the artifact:

D3D12Arm64Cube-windows-arm64.zip

Run in Hangover / Termux

Make sure your ARM64 prefix has native ARM64 DLLs:

file "$WINEPREFIX/drive_c/windows/system32/dxgi.dll"
file "$WINEPREFIX/drive_c/windows/system32/d3d12.dll"
file "$WINEPREFIX/drive_c/windows/system32/d3d12core.dll"

Expected: ARM64 / AArch64 PE DLLs.

Then run:

export WINEPREFIX="$HOME/.wine"
export VKD3D_DEBUG=info
export VKD3D_LOG_FILE="$HOME/vkd3d-cube.log"
export WINEDEBUG=+loaddll

wine D3D12Arm64Cube.exe 2>&1 | tee "$HOME/d3d12-cube-load.log"

Check:

grep -Ei 'D3D12|d3d12core|vkd3d|dxgi|D3D12CreateDevice' "$HOME/d3d12-cube-load.log"
cat "$HOME/vkd3d-cube.log" 2>/dev/null | head -120
cat d3d12-arm64-cube.log 2>/dev/null

A successful run should show a window titled:

D3D12 ARM64 Rotating Cube - close with Esc

and d3d12-arm64-cube.log should contain:

D3D12CreateDevice OK
D3D12 sample initialized successfully.

Notes

  • This is a diagnostic sample, not a benchmark.
  • It uses runtime HLSL compilation via d3dcompiler.
  • It links against Windows SDK d3d12, dxgi, and d3dcompiler libraries.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages