Vulkan data sharing?!

Hello. Why in Vulkan API no:

  • OpenGL sharing?
  • OpenCL sharing?
  • DirectX 11/12 sharing?
    WHY?! Why Vulkan API can’t share data between these API?
    As minimum can be shared with OpenCL? Or OpenCL data sharing not possible?

NVIDIA allows to acquire OpenGL surfaces from Vulkan. AMD’s stance, it is a horrible idea to mix two. Same goes for DX11.
As of OpenCL, compute shaders should cover all kernel-side features of OpenCL 1.2 (at least those important for real time CG). And translating an OpenCL kernel to Vulkan shader should be relatively straightforward thanks to SPIR-V. I doubt GPUs have some hardware to accelerate pipes from OpenCL 2.0, so it is possible to implement those in shader as efficiently as native pipes in driver. In case Vulkan retained grCmdWhile from Mantle, some form of device-side enqueue is doable as well. I can only see problem with SVM implementation, especially fine-grained buffer\system.

[QUOTE=acterhd;39822]Hello. Why in Vulkan API no:

  • OpenGL sharing?
  • OpenCL sharing?
  • DirectX 11/12 sharing?
    WHY?! Why Vulkan API can’t share data between these API?
    As minimum can be shared with OpenCL? Or OpenCL data sharing not possible?[/QUOTE]
    For OpenGL/Vulkan sharing try these extensions if you’ve 2nd generation Maxwell or newer.
    GL_NV_draw_vulkan_image
    VK_NV_glsl_shader

i.e. sharing with OpenCL not possible?

You can still use copying between host and device, of course, but in the current state of Vulkan, no, there are no API calls for interoperability.

What about Metal shaders?