-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: xboxone uwp target #457
Comments
I was trying to run NME with Angle. I almost got it but I'm not sure why it couldnt compile the shaders. I tried the Google version, so I may give a shot to the Microsoft version instead. for reference, I added some lines to ToolkitBuild (toolkit has support for angle)
In OGL.h
one more thing. In SDL2Stage.cpp, in InitSDL(), after SDL_Init() add this to select the opengl version to use.
|
This looks like a pretty worthwhile project. |
I'm missing in SDL2Stage.cpp and add d3dcompiler_47.dll Edit: Still not working but found this to show the OutputDebugString's https://technet.microsoft.com/en-us/sysinternals/bb896647.aspx |
Tried NME_ANGLE on Windows 10 with the nme-toolkit 6.1.0, Visual Studio 2015 update 3, Windows SDK 10.0.14393.33, D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(87): error C2787: 'IDCompositionDevice': no GUID has been associated with this object |
The files.xml might be missing a "compilerflag" define that would normally
be set from the angle make system.
If you look in the files for a "#ifdef" you might see something missing.
…On Fri, Apr 28, 2017 at 10:56 PM, Carlos Madrazo ***@***.***> wrote:
Tried NME_ANGLE on Windows 10 with the nme-toolkit 6.1.0, Visual Studio
2015 update 3, Windows SDK 10.0.14393.33,
and got the following errors
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(87):
error C2787: 'IDCompositionDevice': no GUID has been associated with this
object
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(88):
error C2198: 'PFN_DCOMPOSITION_CREATE_DEVICE': too few arguments for call
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(100):
error C2027: use of undefined type 'IDCompositionDevice'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src\libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h(14):
note: see declaration of 'IDCompositionDevice'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(100):
error C2227: left of '->CreateTargetForHwnd' must point to
class/struct/union/generic type
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(109):
error C2027: use of undefined type 'IDCompositionDevice'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src\libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h(14):
note: see declaration of 'IDCompositionDevice'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(109):
error C2227: left of '->CreateVisual' must point to
class/struct/union/generic type
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(139):
error C2027: use of undefined type 'IDCompositionVisual'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src\libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h(16):
note: see declaration of 'IDCompositionVisual'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(139):
error C2227: left of '->SetContent' must point to
class/struct/union/generic type
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(140):
error C2027: use of undefined type 'IDCompositionTarget'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src\libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h(15):
note: see declaration of 'IDCompositionTarget'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(140):
error C2227: left of '->SetRoot' must point to class/struct/union/generic
type
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(206):
error C2027: use of undefined type 'IDCompositionDevice'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src\libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h(14):
note: see declaration of 'IDCompositionDevice'
D:/haxe/lib/nme-toolkit/6,1,0/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp(206):
error C2227: left of '->Commit' must point to class/struct/union/generic
type
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#457 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABlp1kxj_sNO3FCLWM86H4yx0ZRf-RCFks5r0f4dgaJpZM4MSSlQ>
.
|
Maybe I need to add the lib path directory? In my case it seems to be C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86 I can build libAngle on Visual Studio project. For reference, it uses the following compile options Debug: /GS /analyze- /W4 /wd"4100" /wd"4127" /wd"4718" /wd"4251" /Gy /Zc:wchar_t /I"." /I"..\include" /I"third_party\khronos" /I"D:\angle\src\Debug_Win32\obj\global_intermediate\angle" /I"..\src" /I"..\src\common\third_party\numerics" /I"..\third_party\glslang-angle\src\glslang\Public" /I"..\third_party\glslang-angle\src" /I"..\third_party\vulkan-validation-layers\src\include" /I"..\third_party\vulkan-validation-layers\src\loader" /Zi /Gm- /Od /Fd"D:\angle\src\Debug_Win32\obj\libANGLE\libANGLE.pdb" /Zc:inline /fp:precise /D "_CRT_SECURE_NO_DEPRECATE" /D "_SCL_SECURE_NO_WARNINGS" /D "_HAS_EXCEPTIONS=0" /D "NOMINMAX" /D "LIBANGLE_IMPLEMENTATION" /D "ANGLE_STANDALONE_BUILD" /D "ANGLE_ENABLE_ESSL" /D "ANGLE_ENABLE_GLSL" /D "ANGLE_ENABLE_HLSL" /D "ANGLE_ENABLE_VULKAN" /D "ANGLE_ENABLE_D3D11" /D "ANGLE_ENABLE_D3D9" /D "ANGLE_ENABLE_OPENGL" /D "ANGLE_ENABLE_NULL" /D "VK_USE_PLATFORM_WIN32_KHR" /D "_DEBUG" /D "ANGLE_ENABLE_DEBUG_ANNOTATIONS" /D "_MBCS" /errorReport:prompt /WX /Zc:forScope /RTC1 /GR /Gd /Oy- /MTd /Fa"D:\angle\src\Debug_Win32\obj\libANGLE" /nologo /Fo"D:\angle\src\Debug_Win32\obj\libANGLE" /Fp"D:\angle\src\Debug_Win32\obj\libANGLE\libANGLE.pch" Release: /GS /analyze- /W4 /wd"4100" /wd"4127" /wd"4718" /wd"4251" /Gy /Zc:wchar_t /I"." /I"..\include" /I"third_party\khronos" /I"D:\angle\src\Release_Win32\obj\global_intermediate\angle" /I"..\src" /I"..\src\common\third_party\numerics" /I"..\third_party\glslang-angle\src\glslang\Public" /I"..\third_party\glslang-angle\src" /I"..\third_party\vulkan-validation-layers\src\include" /I"..\third_party\vulkan-validation-layers\src\loader" /Zi /Gm- /O2 /Fd"D:\angle\src\Release_Win32\obj\libANGLE\libANGLE.pdb" /Zc:inline /fp:precise /D "_CRT_SECURE_NO_DEPRECATE" /D "_SCL_SECURE_NO_WARNINGS" /D "_HAS_EXCEPTIONS=0" /D "NOMINMAX" /D "LIBANGLE_IMPLEMENTATION" /D "ANGLE_STANDALONE_BUILD" /D "ANGLE_ENABLE_ESSL" /D "ANGLE_ENABLE_GLSL" /D "ANGLE_ENABLE_HLSL" /D "ANGLE_ENABLE_VULKAN" /D "ANGLE_ENABLE_D3D11" /D "ANGLE_ENABLE_D3D9" /D "ANGLE_ENABLE_OPENGL" /D "ANGLE_ENABLE_NULL" /D "VK_USE_PLATFORM_WIN32_KHR" /D "NDEBUG" /D "_MBCS" /errorReport:prompt /WX /Zc:forScope /GR- /Gd /Oy- /MT /Fa"D:\angle\src\Release_Win32\obj\libANGLE" /nologo /Fo"D:\angle\src\Release_Win32\obj\libANGLE" /Fp"D:\angle\src\Release_Win32\obj\libANGLE\libANGLE.pch" |
Sorry, finally got it working. I had the following extra define flags on my msvc-toolchain.xml
(reference: https://msdn.microsoft.com/en-us/library/6sehtctf.aspx) |
It's compiling now for winrt. I'm checking https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/automate-launching-uwp-apps for launching the app |
This is good stuff. I have to get my windows system up and working with VS 2017 and getting UWP going at the same time seems like a good idea. |
I'm still using 2015 |
@hughsando I'mworking on this branch https://github.com/madrazo/nme/tree/winrt_tools. Added the winrt target which sets some defines such as NME_ANGLE and static_link automatically. Also added a templates/winrt/static/Main.cpp for a custom winrt Main. SDL says to call SDL_WinRTRunApp but it has a C++ main as a parameter. When linking, it can't be found since It has s static linking. https://github.com/madrazo/nme/blob/winrt_tools/templates/winrt/static/Main.cpp#L101 Please let me know if you have an idea on how to fix this Main. Compile DisplayingABitmap with Manually copy templates/winrt/Appx in the exe directory and follow these Instructions for registering an running it from command line in https://github.com/madrazo/nme/blob/winrt_tools/tools/nme/src/platforms/WindowsPlatform.hx#L112 Thanks |
@hughsando sorry. Got it working |
Nice! |
Most of the samples are working on winrt (still no font and sound available). There was this issue on OpenFL a while ago http://community.openfl.org/t/how-to-use-angle-library-on-old-machines/1158/9 I'm not sure if we need to include the DLLs. I have tried some things without luck. I tried with the ms version as well (https://github.com/madrazo/angle-ms) EDIT: including the DLLs (libGLESv2.dll) would need |
Actually, it seems to be only an issue with the functions that are inside OGLExport . Maybe becase of the nme namespace, and we need to declare them in OGLExtensions.h? |
native-toolkit/libsdl#10 fixes nme angle |
Tried HerokuShaders with |
I'm almost getting audio working with the 06-Sound sample but requires update of the SDL-mixer lib |
To be able to see the logs: Run app from debugger: In Debug, Other Debug Targets, Debug Installed App Package. Select the app, type Mixed, and press Start. The logs will be in the Output window. Edit: this may be improved by using a LoggingChannel class https://docs.microsoft.com/en-us/uwp/api/windows.foundation.diagnostics.loggingchannel |
Winrt Sound is working with an updated SDL Mixer (https://github.com/madrazo/sdl-mixer/tree/winrt), except midi. I'm not sending this PR because it's development (git) version of sdl-mixer. Instead, I'll try to see if patching the current one with HX_WINRT defines also works. Edit2: I had enabled sound since it worked with few changes on sdl-mixer that should not affect other targets native-toolkit/libsdl-mixer#1 For the To-do list, there are more parameters that could be added from the XML (for AppManifest) such as Better control on the Splash screen, icons Platform for Xbox should be x64 Edit: To deal with certificates (create and apply) Edit2: now the certificate xml tag can be used to sign the resulting Appx with a .pfx file. If the certificate does not exist in the path, a new one is created using the provided password using a powershell script (makes it easier). Currently I tried it with |
Now I feel it can be considered a "beta" version. Samples are running ok with font and sound and creates the Appx correctly. I almost forgot that there is still stuff to implement on project/src/windows/System.cpp and maybe on common/Utils.cpp |
Every UWP app goes fullscreen using Shift+WindowsKey+Enter. Furthermore, adding the Fullscreen button on the title bar requires XAML so I'm not doing that either. |
@hughsando sorry, I forgot to add this one native-toolkit/libmodplug#2 |
I have the XBOX devkit. And I made haxe compilation work in HTML5 + UWP. Performance is poor and I think there was no sound. So I'm after making it work with hxcpp and openFL/lime. I'm far too new into toolchains but I guess I could get this working with a little bit of guidance with my setup. Can somebody help me? |
@jaimedominguez NME compiles into UWP, C++ not HTML5. However, I had never actually tried it on an XBOXONE. It should run on a Retail XBOXONE in Developer Mode. Also the DevKit should be able to run it. Please try the DisplayingABitmap sample:
If you have some errors, please try it with PR #520 but I'll also check it if it is still needed If you success to build the UWP Appx, there is a way to send it to the XBOXONE* and try it https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/getting-started EDIT: worked for me, hxcpp git, nme git, haxe 4 preview 5, Windows SDK 10.0.10240. Needed #520 otherwise crashes at startup. I wil try on a second PC with fresh install. By the way, nme does not uses lime. Use nme command only. *By XBOX Device Portal https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/device-portal-xbox |
As for October 2018, Microsoft requires VS 2017 15.7 or higher and the Windows SDK 10.0.17134 or higher for UWP development on XB1
|
MS has moved the bin directory of their tools, so a little update will be required to generate the appx. I still had not the chance to test this on a real xbox one |
Finally tested the APPX on an XboxOne and its all good. |
Appx can be automatically deployed with the command I am not sure how to generate "Microsoft.VCLibs.x64.14.00.appx" |
@hughsando modplug in native toolkit fixes winrt compilation but the one in nme is not up to date https://github.com/native-toolkit/modplug |
http://www.gamespot.com/articles/xbox-one-may-soon-see-a-flood-of-new-games/1100-6448335/
https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/
https://developer.microsoft.com/en-us/games/xbox/xboxlive/creator
I'm sure that this can be done since hxcpp supports it.
This is kind of low priority for us now but we are willing to help if someone is interested.
The text was updated successfully, but these errors were encountered: