Skip to content

A very basic test application that uses the available OpenGL & Vulkan interop extensions to render some parts of a scene using OpenGL, and render other parts of the scene using Vulkan.

Notifications You must be signed in to change notification settings

drywolf/vkgl-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vkgl-test

This is a very basic test application that uses the available OpenGL & Vulkan interop extensions to render some parts of a scene using OpenGL, and render other parts of the scene using Vulkan.
An OpenGL Framebuffer-Object and a Vulkan Framebuffer/RenderPass are using shared color- & depth-stencil texture attachments (so there is no per-frame texture-blitting or memory-copying involved)
Both APIs always render directly into the shared color- & depth-stencil textures.
Also both APIs are using the typical depth-buffer z-write/z-test provided by the GPU.
Synchronization between the OpenGL and Vulkan APIs is performed using shared device-queue semaphores.

Used extensions:

Status

  • NVidia
    • ✔️ MSAA OFF
    • ✔️ MSAA ON
  • AMD
    • ✔️ MSAA OFF
    • ❌ MSAA ON ... driver crashes/freezes
  • Intel
    • TBD

It looks like the AMD driver crashes/freezes in the glWaitSemaphoreEXT() or glSignalSemaphoreEXT() calls in vk-render.cpp

Running the app

with MSAA enabled:
vkgl-test OR vkgl-test -msaa

with MSAA disabled:
vkgl-test -no-msaa

Screenshots

With MSAA

No MSAA

Setup & build

Bootstrap vcpkg (only needed once)

.\vcpkg\bootstrap-vcpkg.bat
OR
./vcpkg/bootstrap-vcpkg.sh

Configure CMake

cmake . -Bbuild

Build using CMake

cmake --build build

Open project in IDE

cmake --open build

About

A very basic test application that uses the available OpenGL & Vulkan interop extensions to render some parts of a scene using OpenGL, and render other parts of the scene using Vulkan.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages