If they don't change the strategy, Romulans will win...
They ought to make the United Confederation of Interstellar Planets.
Announcement
Collapse
No announcement yet.
Where is vulkan!?
Collapse
X
-
Originally posted by Ancurio View PostGranted, I'm not an expert in any of this, but looking at the "API" (ie. the parts Gallium would expose were it a public rendering interface and not just a cog inside mesa), it still looks like a lower level OpenGL state machine; you can set all sorts of "registers" (blend/stencil/scissor etc.), bind shaders individually, and most importantly, issue immediate mode draws. There is no concept of explicitly building command buffers for delayed submission whatsoever, and no concept of compiling state into bigger reusable objects (ie. PSOs. btw. isn't this a D3D12 term?).
Originally posted by Ancurio View PostI don't know how hard it would be to meld Gallium into that kind of model, but to someone who knows how complex changes in heavily intertwined codebases can get, it feels like a monumental task. Also, AFAIK Gallium has drivers for a couple older hardware that certainly don't map to the Vulkan/GCN model. I really don't know what you'd want to do for those.Last edited by bridgman; 02 February 2016, 09:05 PM.
- Likes 1
-
Originally posted by bridgman View Post
Depends on whether that's actually the case or not. I have heard confident statements made both ways.
Given that Mantle, Vulkan and Gallium3D were all intended to expose the hardware's command submission and memory mapping capabilities directly, I wouldn't expect a big difference in abstraction level. Haven't had time to go through the Vulkan spec in detail (it's surprisingly big) but from a quick read I didn't see anything contradicting that yet.
It's going to depend on whether Gallium3D or the libdrm interface ends up closer to the Vulkan API. At first glance there are a lot of common elements between the Gallium3D and Vulkan interfaces, particularly the use of constant state objects (PSO's in Vulkan).
Also, AFAIK Gallium has drivers for a couple older hardware that certainly don't map to the Vulkan/GCN model. I really don't know what you'd want to do for those.
-
Originally posted by Ancurio View PostVulkan and Gallium seem sufficiently far apart that it would be easier to just write new Vulkan drivers (for Nvidia and mobile chips) from scratch.
Given that Mantle, Vulkan and Gallium3D were all intended to expose the hardware's command submission and memory mapping capabilities directly, I wouldn't expect a big difference in abstraction level. Haven't had time to go through the Vulkan spec in detail (it's surprisingly big) but from a quick read I didn't see anything contradicting that yet.
It's going to depend on whether Gallium3D or the libdrm interface ends up closer to the Vulkan API. At first glance there are a lot of common elements between the Gallium3D and Vulkan interfaces, particularly the use of constant state objects (PSO's in Vulkan).Last edited by bridgman; 01 February 2016, 09:21 AM.
- Likes 2
-
Originally posted by bridgman View PostRedefine the Gallium3D API to align better with Vulkan, adjust the existing driver accordingly, and run Vulkan over "Gallium3D v2.0".
"Optimizing" in this case would be optimizing the API design not the implementation code.
-
Originally posted by timofonic View PostSo why not optimize it?
How would you "optimise" the hierarchy of things?
- Likes 2
-
Originally posted by rabcor View Post^That is actually quite right, vulkan would have been released long ago if it wasn't for unnecessary bureaucracies, lack of proper toolkits was OpenGL's biggest drawback. Don't know about using gallium to implement vulkan on all operating systems, is that even feasible?
-
^That is actually quite right, vulkan would have been released long ago if it wasn't for unnecessary bureaucracies, lack of proper toolkits was OpenGL's biggest drawback. Don't know about using gallium to implement vulkan on all operating systems, is that even feasible?
Leave a comment: