[vbox-dev] vbox 3D implementation

DONG HE hedonghust at gmail.com
Fri Apr 11 03:06:58 GMT 2014


Hi Mikhail & Klaus,

Thanks a lot for your information. It is very helpful.
I had wrong impression that VBox 3D implementation is on top SVGA, which
leaded me to the wrong place in the repository where has an uncompleted
SVGA.
Now I kinda have a big picture how VBox D3D&OpenGL driver works.
src\VBox\Additions\WINNT\Graphics\Video\mp\wddm contains the wddm miniport
driver which talks to dxgkrnl.sys
src\VBox\Additions\WINNT\Graphics\Video\disp\wddm has the wddm d3d user
mode driver known as VBoxDispD3D.dll. D3D states will convert to OGL states
with the help of Wine, and eventually goes to the OpenGL drivers,
 VBoxOGL.dll(src/VBox/Additions/common/crOpenGL).
However, a few things are still unclear to me, such as how those modules
interact exactly.
And the OGL driver appears to be a Windows OpenGL ICD driver. I wonder if I
need a Microsoft ICD SDK to build the OpenGL driver successfully. Did
anyone manage to build the WDDM driver and OpenGL driver separately before?


Regards,
DONG


>Just to get a bit more precise info on the current 3D source code location:
>
>Guest-side code is located in
>src/VBox/Additions/common/crOpenGL
>src/VBox/Additions/WINNT/Graphics/Video (WDDM stuff)
>src/VBox/Additions/WINNT/Graphics/Wine_new
>
>Host-side code is in
>src/VBox/HostServices/SharedOpenGL
>
>Gues-Host shared code is
>src/VBox/GuestHost/OpenGL
>
>Hope this helps.
>
>Mikhail
>
>On 02.04.2014 21:26, Klaus Espenlaub wrote:
>> Hi Dong,
>>
>> On 01.04.2014 00:53, DONG HE wrote:
>>> Hello VBox developers,
>>>
>>> Recently I have great interest in figuring out how VBox implement 3D
>>> support for D3D and OpenGL. The learning work finally can not proceed as
>>> a few files are missing from the SVN trunk check-out, which
>>> are DevVGA-SVGA3d-shared.cpp, DevVGA-SVGA3d-win.cpp
>>> and DevVGA-SVGA3d-ogl.cpp.
>>> I wonder why those files are truncated from the repository or if they
>>> exist in some experimental branches? Please give me some ideas. Thanks!
>> You're looking at totally the wrong stuff. These files are totally
>> unrelated to the existing 3D support.
>>
>> Check the contents of src/VBox/HostServices/SharedOpenGL for a lot of
>> the code (there are bits and pieces elsewhere).
>>
>> Note that I'm not knowing any details how the whole thing works, so
>> asking me personally won't get you much further.
>>
>> Klaus
>>> Regards,
>>> DONG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20140410/90f46c50/attachment.html>


More information about the vbox-dev mailing list