LWJGL Forum

Please login or register.

Login with username, password and session length

Author Topic: Couple quick questions about the vulkan implementation  (Read 193 times)

Grayscale

  • Newbie
  • *
  • Offline Offline
  • Posts: 2
Couple quick questions about the vulkan implementation
« on: July 25, 2017, 17:54:17 »

Firstly, I'm looking to get started dabbling in vulkan and java is my language of choice but I first have to ask, how much of the vulkan api has been implemented into LWJGL as of late? Is there any functionality missing and if so would I be better off going the c++ and LunarG route?

Secondly, is there any large performance hit when interfacing with the vulkan libraries over jni?
Logged

spasi

  • Administrator
  • Nerdus Imperius
  • *****
  • Offline Offline
  • Posts: 1837
Re: Couple quick questions about the vulkan implementation
« Reply #1 on: July 25, 2017, 18:28:24 »

Firstly, I'm looking to get started dabbling in vulkan and java is my language of choice but I first have to ask, how much of the vulkan api has been implemented into LWJGL as of late? Is there any functionality missing and if so would I be beeter off giong the c++ and LunarG route?

The Vulkan bindings are generated using a dedicated project that parses the Vulkan registry. That means that the entire API (core + extensions) and all documentation is always up-to-date (as of this post: 1.0.56 with this commit).

Secondly, is there any large performance hit when interfacing with the vulkan libraries over jni?

No, LWJGL is optimized for Vulkan; lowest possible JNI overhead and efficient struct access. Stack allocation of structs is also ideal for high performance rendering.
Logged

Grayscale

  • Newbie
  • *
  • Offline Offline
  • Posts: 2
Re: Couple quick questions about the vulkan implementation
« Reply #2 on: July 26, 2017, 20:00:44 »

Firstly, I'm looking to get started dabbling in vulkan and java is my language of choice but I first have to ask, how much of the vulkan api has been implemented into LWJGL as of late? Is there any functionality missing and if so would I be beeter off giong the c++ and LunarG route?

The Vulkan bindings are generated using a dedicated project that parses the Vulkan registry. That means that the entire API (core + extensions) and all documentation is always up-to-date (as of this post: 1.0.56 with this commit).

Secondly, is there any large performance hit when interfacing with the vulkan libraries over jni?

No, LWJGL is optimized for Vulkan; lowest possible JNI overhead and efficient struct access. Stack allocation of structs is also ideal for high performance rendering.
thank you, quick and precise. I look forward to jumping right into vulkan now  :)
Logged