leadedge / Spout2

A video frame sharing system for Microsoft Windows
BSD 2-Clause "Simplified" License
760 stars 138 forks source link

Windows on ARM binaries missing #102

Closed hmartinez82 closed 1 year ago

hmartinez82 commented 1 year ago

The Windows SDK now has OpenGL headers again when compiling for Windows on ARM.

Spout2 should now be able to be built for Windows on ARM for DirectX 11, DirectX 12 and OpenGL (DirectX 9 is not supported for targeting native Windows on ARM)

leadedge commented 1 year ago

Thanks @hmartinez82. That's good to know. I am not sure if the Spout library will work for ARM. I can't test this but others may do so.

hmartinez82 commented 1 year ago

I'll try to create a PR for it.

leadedge commented 1 year ago

Create the pull request for the Beta branch and I will have a look at it.

hmartinez82 commented 1 year ago

Oh. Lots of SSE being used here, this will take a bit longer.

leadedge commented 1 year ago

Ok I thought it was just the CMake files. The problem is that I can't test it and so can't support the changes in the library. I am interested to have a look at what you have done. Do you have this in a repository?

hmartinez82 commented 1 year ago

Yes, I have a fork. I already got it setup. Using CMake to generate the Visual Studio projects for ARM64 is really simple. I'm looking at how to handle the SSE instructions and the __movsd intrinsic (that is x86 and x64 only)

leadedge commented 1 year ago

Maybe could use a conditional memcpy instead of __movsd. It won't affect it much.

hmartinez82 commented 1 year ago

Here's a first Go at it https://github.com/leadedge/Spout2/pull/104 It can be cross compiled from a x64 machine for ARM64, you just need real hardware to test the binaries :)

How can I test the binaries? I have a Windows Dev Kit and a Surface Pro 9. Both are Windows on ARM