rendy icon indicating copy to clipboard operation
rendy copied to clipboard

Support GL and DX11 backends

Open 64 opened this issue 6 years ago • 7 comments

DX11 and OpenGL backends are not supported even though they are supported by gfx_hal. I had a quick try implementing them today, but ran into issues with how OpenGL initialises surfaces (you have to create a surface before you ask for the adapters, which is the opposite of what rendy_factory does). I also had an issue with DX11 at runtime but I suspect that can be fixed with some further investigation.

Is there any interest in implementing them in the future?

64 avatar Dec 29 '18 02:12 64

@64 support for other backends is planed. Yet we were focusing on modern backends. Adding new backends shouldn't be too hard, but may require some backend specific code. Also one should note that not all features are implemented for all backends

zakarumych avatar Dec 29 '18 09:12 zakarumych

Will WebGL be supported if OpenGL is implemented ?

vlabo avatar Feb 27 '19 14:02 vlabo

@vlabo it’s not for sure yes or no yet. @grovesNL has been working on getting webgl working with hal thru a unified gl/webgl interface I believe he’s calling glow, so hopefully yes.

Sent with GitHawk

fu5ha avatar Feb 27 '19 20:02 fu5ha

We would have to add gfx-backend-gl support when it is in good shape. Hopefully it would require custom code only in factory and wsi crates.

zakarumych avatar Feb 28 '19 16:02 zakarumych

For now, does anyone have a workaround on being able to render 'something'? Anything at all? I can't dev using amethyst because of this issue...

    Device: AMD CYPRESS (DRM 2.43.0 / 4.4.0-140-generic, LLVM 7.0.0) (0x6899)
    Version: 18.1.0
    Accelerated: yes
    Video memory: 1024MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1

And as for vulkan:

╰─➤  DISPLAY=:0 vulkaninfo 
===========
VULKAN INFO
===========

Vulkan API Version: 1.0.61

Cannot create Vulkan instance.
/build/vulkan-YO5iw0/vulkan-1.0.61.1+dfsg1/demos/vulkaninfo.c:704: failed with VK_ERROR_INCOMPATIBLE_DRIVER

OvermindDL1 avatar Aug 02 '19 19:08 OvermindDL1

@OvermindDL1 sure, the workaround is to come and help to finish GL support :)

zakarumych avatar Aug 04 '19 13:08 zakarumych

Lol, for anyone curious, it was discovered on Discord just recently that an OGL/WebGL backend is in progress and is almost complete! ^.^

OvermindDL1 avatar Aug 05 '19 16:08 OvermindDL1