Vulkan Development

@ken-martin I’ve looked over the commits I merged and don’t see anything that should affect windows… just some additional includes and a find_package(Threads). I don’t understand everything going on with the vulkan buffer-manager class, but vtkVulkanPolyDataMapperNode::BuildVertexInput seems to not always initialize the req.Format member before asking the buffer-manager for a buffer (in the case of where both points and normals arrays exist).

To give a quick meta level update on this topic. I’ve been working on the WebGPU implementation for vtk.js a bit over the past couple months which has been going well. Part of the motivation behind that is to determine if WebGPU is a reasonable API for our desktop graphics as well. Google has created a library named Dawn that provides a native interface to WebGPU that we could use for desktop graphics. Dawn itself sits on top of vulkan/metal/directX12 and can be web assembled into WebGPU in JS. So at some point we need to make a decision between straight vulkan versus dawn. Right now my thinking is to go with Dawn. Google is using Dawn to implement WebGPU for chrome so it is actively being developed on multiple platforms. Dawn would also have the advantage of making rendering code/architecture between desktop and web very similar. So that is the current status and thinking.

5 Likes

As an FYI, we just got a user report that a Mac running Big Sur (Mac OS 11.4) on the Apple M1 core does not have OpenGL installed. What is the priority for getting VTK working on new Macs?

Our M1 system seems to be building withOpenGL ala https://open.cdash.org/build/7405165

Doing a quick google search I did not find anything indicating a drop of OpenGL yet. In terms of schedule we have a proposal in for funding which I think we are supposed to hear about in a month or two. I would not expect much movement before that on the C++ side, but there will likely be more development on the JS side.

The specific error from the console log is:
getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory

A reddit post ( Mac Pro - Big Sur | Apps can’t find GPU drivers : MacOS (reddit.com)) indicates that this may be GPU related. It may not be directly related to VTK.

Karl, we have two M1 Macs where I work, and on both Big Sur and Monterey betas, VTK is working fine for us.

Sean

Thanks for the additional reference point.