Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Blank Window with integrated GPU with Vulkan #1634
OS and version: MacOS 10.14.6
get black window when running Vulkan Tutorial code to draw triangle Using integrated GPU.
Modified code above to allow selection of GPU. triangle draws with discrete (AMD) GPU selected. Blank black window with integrated GPU selected. The LunarG 'cube' sample
See attached project
Having a similar problem with my glfw Vulkan program, except for me the situation is reversed, the Integrated GPU is rendering fine but the Discrete GPU is only offering up a black screen.
OS and version: MacOS 10.15.2
I'm working on a macOS port of my program, originally developed in Linux, but one thing interesting I noticed is that the VkPhysicalDeviceProperties field returned by both the discrete and integrated GPU have the same value in place for the pipelineCacheUUID field. This is the only mac I've run my code on so far, so apologies if I'm reporting something unremarkable, but it did seem odd, particularly given the vendor and device IDs returned in the same struct are different.
I'll try out a build of the Vulkan Tutorial soon and see if I have the same results there.
Allow me, however, to add the following.
On macOS, glfw loads libvulkan.1.dylib, which in turn loads libMoltenVK.dylib, which currently supports only Vulkan 1.0. Hence, no VK_KHR_external_memory support with glfw.
Ah, thanks for clarifying that @ByunghoonKim. Makes sense. Others reading this issue, kindly disregard my observation about duplicate UUIDs.
For my own part on this issue I haven't made much progress. I did observe that the swapchain is reliably switching frames at 60Hz on the display, and I can set the background color of the screen in the render pass of my primary command buffer. But none of the draw commands, contained within secondary buffers, seem to render on the discrete GPU.
So my (comparatively uninformed) opinion is that the issue has something to do with command buffer setup. I'm going to work on exploring the options offered to the MVKConfiguration structure, but to access that will require I spend some time to set up my project compilation/installation setup on MacOS a bit more. More when I have it.