-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vulkan design tracking issue #10
Comments
One of blocks concerning Vulkan is how to handle The most straight-forward way would be to:
This, however, poses a problem. The Vulkan API mentions that at least one memory type with the Another solution could be to add a new type of memory representing "memory inside of this VM". However this means that we also have to implement creating buffers and images on top of this memory, plus implement creating command buffers that copy from that memory to elsewhere. It also raises the question of what to do if the user wants to copy from that "memory inside of this VM" to a device-local-only memory. The next solution I can think of is to make the memory coherent. That is, to automatically detect changes that are made to the "mapped" memory locations and propagate them to the other process or outside of the VM. This raises a lot of other questions though, and can potentially make the design way more complicated. If this solution is chosen, I would lean towards having a "mem-map" interface (that's always implemented by the kernel) with messages that explicitly ask to flush/invalidate memory. |
Pragmatically speaking, the Vulkan/windowing roadmap would be:
|
Thinking about this, I think we might have to implement the encoding/decoding code manually, rather than automatically generating it. |
Closing for #187 Vulkan is too much efforts to make work properly. |
The general plan concerning Vulkan and drawing in general is:
vulkan
interface.vulkan
interface consists of the serialized calls to Vulkan.window
. One of its functions allows creating a Vulkan surface from the created windows.window
andvulkan
interfaces would be the windows manager.VK_KHR_display
extension to creates surfaces covering the whole screen.The text was updated successfully, but these errors were encountered: