porting Blender-Benchmark for Windows ARM64 #101875

Open
Mohammad-Aamir-Afroz wants to merge 1 commits from Mohammad-Aamir-Afroz/blender-open-data:main into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
First-time contributor

We have ported the Blender Benchmark code to support ARM64 architecture on Windows. This task involved modifying the existing codebase to ensure compatibility with the native ARM64 version of Blender. The changes have been tested.

We have ported the Blender Benchmark code to support ARM64 architecture on Windows. This task involved modifying the existing codebase to ensure compatibility with the native ARM64 version of Blender. The changes have been tested.
Mohammad-Aamir-Afroz added 1 commit 2024-10-09 12:32:15 +02:00
Sergey Sharybin requested changes 2024-10-11 10:45:20 +02:00
Sergey Sharybin left a comment
Owner

Thanks for looking into it, but the current implementation will conflict with the universal binary compilation for macOS.

Thanks for looking into it, but the current implementation will conflict with the universal binary compilation for macOS.
Author
First-time contributor

Hi Sergey,

Thank you for your feedback. I reviewed my changes based on your comment and did not find any conflicts introduced in the existing code for universal binary compilation for macOS.

I modified two Makefiles, and in both, I added commands to enable ARM64 compilation parallel to AMD64 compilation in the else part (if not Darwin).

Could you please provide more details on where the conflict might be occurring?

Regards,
Aamir

Hi Sergey, Thank you for your feedback. I reviewed my changes based on your comment and did not find any conflicts introduced in the existing code for universal binary compilation for macOS. I modified two Makefiles, and in both, I added commands to enable ARM64 compilation parallel to AMD64 compilation in the else part (if not Darwin). Could you please provide more details on where the conflict might be occurring? Regards, Aamir

Ah, indeed it is in the sneaky else branch. However, it is only the freetype which compiles both arm64 and x64 builds, and the launcher itself is only compiled for the native architecture?

In any case, as I've wrote in the devtalk thread I am not really sure this is the way to go. Windows does not support universal binaries, and in all my experiments it could run x64 binaries on WoA (unlike macOS which asks you to install Rosetta). To prevent user confusion or unusable data, the x64 build would either need to reject to operate, or would need to do proper decision making to support WoA.

We do need to add support of WoA to the scheme, and to a code which detects which build to grab. And to me the x64 build can perfectly implement all of this, without going into complexity of building/packaging/distribution on our side, and confusion on the user side.

Ah, indeed it is in the sneaky `else` branch. However, it is only the freetype which compiles both arm64 and x64 builds, and the launcher itself is only compiled for the native architecture? In any case, as I've wrote in the devtalk thread I am not really sure this is the way to go. Windows does not support universal binaries, and in all my experiments it could run x64 binaries on WoA (unlike macOS which asks you to install Rosetta). To prevent user confusion or unusable data, the x64 build would either need to reject to operate, or would need to do proper decision making to support WoA. We do need to add support of WoA to the scheme, and to a code which detects which build to grab. And to me the x64 build can perfectly implement all of this, without going into complexity of building/packaging/distribution on our side, and confusion on the user side.
Author
First-time contributor
Tagging the Dev Forum Discussion Thread here for reference. https://devtalk.blender.org/t/how-to-update-metadata-for-blender-benchmark-to-support-windows-arm64/37009/10
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u main:Mohammad-Aamir-Afroz-main
git checkout Mohammad-Aamir-Afroz-main
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: infrastructure/blender-open-data#101875
No description provided.