Export / Import example codeįor example, on the Vulkan side, when you're allocating memory for an image you can do this. By using such a texture in an OpenGL framebuffer, you can pretty much render whatever you want to it, and then use the rendered results in Vulkan. Based on that you can determine if your overall OpenGL load was 'successful' per your own metrics and handle that accordingly (crashing, in your case). Other values, such as GLVENDOR or GLRENDERER, may tell you information about the driver you are interested in. In respect to this, does Intel HD Graphics 3000 support OpenGL It looks like intel hd 3000 official drivers. You can call glGetString with GLVERSION to determine the actual version of OpenGL you were able to load. Check the supported OpenGL versions in the Core features. The corresponding GL extensions allow you to take the objects and manipulate them with new GL commands which allow you to wait on fences, signal and wait on semaphores, or use Vulkan allocated memory to back an OpenGL texture. To verify the supported OpenGL versions of the graphic card: Download and install GLview (free of charge). The Vulkan side of the extensions allow you to allocate memory, create semaphores or fences while marking the resulting objects as exportable. You need the the External Objects extension for OpenGL and the External Memory/ Fence/ Sempahore extensions for Vulkan. Requirementsĭoing this requires that both the OpenGL and Vulkan implementations support the required extensions, however, according to this site, these extensions are widely supported across OS versions and GPU vendors, as long as you're working with a recent (> 1.0.51) version of Vulkan. The hardware reports can be submitted to a public online database that allows comparing different devices, browsing available features, extensions, formats, etc. Check the OpenGL version of the GPU: Example: OpenGL version for the GPU is 4.6 and lower. Client application to display hardware implementation details for GPUs supporting the Vulkan API by Khronos. You can also do the same thing with buffers, so for instance you could use Vulkan for compute operations and then use the results in an OpenGL render. To verify the supported OpenGL versions of the graphic card: Download and install OpenGL Extensions Viewer (free of charge). But given that Vulkan renders the same stuff as OpenGL ES, using the same hardware, its probably better to port this Vulkan code into OpenGL ES than to try to use this dual approach. populate a texture in one API, use synchronization to ensure the GPU work is complete, and then use the texture in the other API. There are extensions to allow Vulkan to access OpenGL objects, assuming your extension supports them. Here is a screenshot from an example app in the Vulkan Samples repository which uses OpenGL to render a simple shadertoy to a texture, and then uses that texture in a Vulkan rendered window.Īlthough your question seems to suggest you want to do the reverse (render to something using Vulkan and then display the results using OpenGL), the same concepts apply. Yes, it's possible if the Vulkan implementation and the OpenGL implementation both have the appropriate extensions available.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |