Linker error when building demo and webgpu on Windows arm64
Describe the bug
I receive the following errors (see attachments) when trying to run the demo as well as the webgpu info tool. C++ toolchain is MSYS2 CLANGARM64. Please advise. Thank you very much in advance, Jan
cogentcore demo error windows arm64.txt cogentcore webgpu error windows arm64.txt
How to reproduce
Simply run the commands: go run cogentcore.org/core/examples/demo@main and go run cogentcore.org/core/gpu/cmd/webgpuinfo@main
Example code
Relevant output
Platform
Windows
@SideFx Thank you for filing this issue. I cannot reproduce this on my Windows arm64 VM. Is it possible for you to try using Git Bash and w64devkit as documented on the install page? It should work with your toolchain as well, but given that it is not, it might be helpful to verify it works with the standard tools.
@kkoreilly Thank you for having a look at my issue. Beside MSYS2 (Git included) I've installed Visual Studio 2022 Professional (MSVC toolchain) and Qt6 (for MSVC) on my system. Having a third compiler (and a second Git) installed would give me headaches. Thank you very much (really!), but pls close this case :) Best, Jan
Link is recognized as "malicious" by uBlock.
@SideFx I have reported the account and hidden the message as spam. This was just done on various issues on this repository, all with the same malicious link.
For the actual issue in question here, I would be glad to help debug this further, but if you don't want to, please feel free to close the issue. There is no reason this shouldn't work, and one step would be trying to run one of the examples in https://github.com/gfx-rs/wgpu-native directly.
@kkoreilly Ok, I installed everything as described on the Cogent web site in a Windows arm64 VM (running on my Macstudio). Also cloned the core repo. When I tried to build the demo app I received some exciting new errors which exceed my knowledge of common compiler messages. Last time I dealt with assembler stuff was on the Commodore plus/4 about 40 years ago :) :) :)
gcc_arm64.S: Assembler messages:
gcc_arm64.S:30: Error: no such instruction: stp x29,x30,[sp,' gcc_arm64.S:34: Error: operand size mismatch for mov'
gcc_arm64.S:36: Error: no such instruction: stp x19,x20,[sp,' gcc_arm64.S:39: Error: no such instruction: stp x21,x22,[sp,'
gcc_arm64.S:42: Error: no such instruction: stp x23,x24,[sp,' gcc_arm64.S:45: Error: no such instruction: stp x25,x26,[sp,'
gcc_arm64.S:48: Error: no such instruction: stp x27,x28,[sp,' gcc_arm64.S:52: Error: operand size mismatch for mov'
gcc_arm64.S:53: Error: operand size mismatch for mov' gcc_arm64.S:54: Error: operand size mismatch for mov'
gcc_arm64.S:56: Error: no such instruction: blr x20' gcc_arm64.S:57: Error: no such instruction: blr x19'
gcc_arm64.S:59: Error: no such instruction: ldp x27,x28,[sp,' gcc_arm64.S:62: Error: no such instruction: ldp x25,x26,[sp,'
gcc_arm64.S:65: Error: no such instruction: ldp x23,x24,[sp,' gcc_arm64.S:68: Error: no such instruction: ldp x21,x22,[sp,'
gcc_arm64.S:71: Error: no such instruction: ldp x19,x20,[sp,' gcc_arm64.S:74: Error: no such instruction: ldp x29,x30,[sp],'
This is exactly what I got after installing the w64devkit on my native arm64 machine. (w64devkit is v2.1.0 from the releases page)
Best regards, Jan
Update: I very reluctantly :) installed Rust (MSYS2) and was able to build a wgpu_native.dll as well as all the examples. Got the following info: janbu@constellation CLANGARM64 ~/git/wgpu-native/examples/build/enumerate_adapters $ ./enumerate_adapters.exe [wgpu] [warn] Unable to find extension: VK_EXT_swapchain_colorspace [wgpu] [warn] Returned GL context is 1.1, when 3.3+ is needed [wgpu] [warn] Returned GL context is 1.1, when 3.3+ is needed WGPUAdapter: 0 WGPUAdapterInfo { vendor: Qualcomm Technologies Inc. Adreno Vulkan Driver architecture: device: Qualcomm(R) Adreno(TM) X1-85 GPU description: Driver Build: , , 1698055923 Date: 10/23/2023 Compiler Version: E031.49.06.00 Driver Branch:
backendType: 0x00000006
adapterType: 0x00000002
vendorID: 20803
deviceID: 909329200
} WGPUAdapter: 1 WGPUAdapterInfo { vendor: 31.0.96.0 architecture: device: Qualcomm(R) Adreno(TM) X1-85 GPU description: backendType: 0x00000004 adapterType: 0x00000002 vendorID: 1297040209 deviceID: 909329200 } WGPUAdapter: 2 WGPUAdapterInfo { vendor: 10.0.26100.3775 architecture: device: Microsoft Basic Render Driver description: backendType: 0x00000004 adapterType: 0x00000003 vendorID: 5140 deviceID: 140 }