Hey Lynn, hope you’re well!
I’m updating my application StageFlow to use the latest 2.0.0.7 build. I love using the new Spout.dll. makes everything much cleaner and less prone to user error!
I am however running into a strange issue. I’m developing on a little Microsoft Surface laptop with an integrated Intel HD 620.
On the master branch, when I run Demo Sender, it reports:
Not compatible for OpenGL texture sharing. CPU system memory used as backup
However, when I switch to the 2.0.0.6 branch, Demo Sender reports that everything is fine:
NV_DX_interop extension available, DirectX 11 Texture share mode
My code, using a simple draw routine based on SpoutGL::BindSharedTexture works if using the 2.0.0.6 branch. On the master branch, BindSharedTexture never returns true, I assume because the GL/DX interop is reported as not working.
When I check the logs, it mentions an error in spoutGL::LinkGLDXtextures.
[notice] spoutGL::OpenSpout - 64bit 2.007 - this 0xB34DC070
[notice] spoutGL::OpenDirectX
[notice] spoutDirectX::OpenDirectX11()
[notice] Device already initialized 0xB35A8F78
[notice] spoutGL::GLDXready - testing for GL/DX interop compatibility
[notice] GL/DX interop extensions available
[notice] spoutGL::GLDXready - testing GL/DX interop functions
[notice] spoutDirectX::CreateSharedDX11Texture
[notice] pDevice = 0xB35A8F78, width = 256, height = 256, format = 87
[notice] pTexture = 0xAAC3F378 : dxShareHandle = 0x0008502
[notice] Linking test - OpenGL texture (0x0000002) DX11 texture (0xAAC3F378)
[error] spoutGL::LinkGLDXtextures - wglDXRegisterObjectNV :error 13, (0xD)
Incorrect GL name, type or access parameters.
[notice] spoutDirectX::ReleaseDX11Texture (0xB35A8F78)
[warning] spoutGL::GLDXready - GL/DX interop functions failed
[warning] spoutGL::OpenSpout - system is not compatible with GL/DX interop
[warning] Using CPU DirectX methods
[notice] spoutGL::CloseDirectX()
[notice] spoutDirectX::CloseDirectX11()
Is this differing behavior between versions expected? And if I am indeed CPU bound, what is the recommended way for me to address that?