gfx-rs / portability

Vulkan Portability Implementation
Mozilla Public License 2.0
382 stars 25 forks source link

Using it on top of zink #256

Closed abasgames closed 6 months ago

abasgames commented 1 year ago

I was wondering how to do that Zink for windows are already available here https://github.com/pal1000/mesa-dist-win

kvark commented 1 year ago

Hi! Are you thinking about OpenGL -> (Zink) -> Vulkan -> (gfx-portability) -> Anything?

Could be possible. gfx-portability is producing a regular Vulkan ICD (see https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md), which can be used like any other Vulkan driver. So it would work if Zink can be used with a non-Mesa vulkan driver.

Practically speaking, I'd rather recommend going through https://github.com/google/angle instead. This would translate from OpenGL -> Anything without Vulkan as an intermediate.

abasgames commented 1 year ago

Hi! Are you thinking about OpenGL -> (Zink) -> Vulkan -> (gfx-portability) -> Anything?

Could be possible. gfx-portability is producing a regular Vulkan ICD (see https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md), which can be used like any other Vulkan driver. So it would work if Zink can be used with a non-Mesa vulkan driver.

Practically speaking, I'd rather recommend going through https://github.com/google/angle instead. This would translate from OpenGL -> Anything without Vulkan as an intermediate.

the problem with angle are opengl es only not the desktop opengl

kvark commented 1 year ago

Out of curiosity, are you interested in the OpenGL compat functionality (like glVertex and friends)? Or rather something in OpenGL desktop that is more powerful than what GL ES 3.1 gives you?