[vbox-dev] Chromium WebGL vs Angle WebGL

Michael Thayer michael.thayer at oracle.com
Mon Apr 29 13:33:49 PDT 2013


Not sure what you mean by the second part, but regarding the first it 
seems to me that we can also achieve that by working on (our in-tree 
version of) the code, which is exactly what we are doing.  It would be 
faster if we had more developers available for the task, but I have 
doubts as to whether tying up what development time we have in a major 
re-write of the code is really going to improve that.

Regards,

Michael

On 29/04/13 22:18, Michael Slavitch wrote:
> Longer term? More rendering in hardware less in software, full
> productization / support for 3D guest additions, instead of treating
> it like a red-headed stepchild.
>
> On Mon, Apr 29, 2013 at 4:14 PM, Michael Thayer
> <michael.thayer at oracle.com> wrote:
>> Hello Michael,
>>
>> Once again, what would you expect that to gain us that our existing solution
>> can't provide?
>>
>> Regards,
>>
>> Michael
>>
>>
>> On 29/04/13 22:11, Michael Slavitch wrote:
>>>
>>> Not there yet.
>>>
>>> I'm glad that there's a fork. Has there been any thought of revisiting the
>>> model towards something more akin to Gallium3D?
>>>
>>>
>>> -----Original Message-----
>>> From: Michael Thayer <michael.thayer at oracle.com>
>>> Date: Mon, 29 Apr 2013 22:03:33
>>> To: Michael Slavitch<slavitch at gmail.com>
>>> Cc: <vbox-dev at virtualbox.org>
>>> Subject: Re: [vbox-dev] Chromium WebGL vs Angle WebGL
>>>
>>> Hello Michael,
>>>
>>> VirtualBox is not using upstream Chromium - we have forked it and
>>> maintaining our version ourselves.  There is certainly room for
>>> improvement there, and you are welcome to contribute, but it is being
>>> actively worked upon on our side.  I still haven't find anything on
>>> ANGLE through google to indicate that it is not Windows-only (except
>>> for: "In addition to OpenGL ES 2.0 and EGL 1.4 libraries, ANGLE also
>>> provides a GLSL ES to GLSL translator [...] The translator code is fully
>>> independent of the rest of ANGLE code and resides in $BASE/src/compiler.
>>> Since the translator is supposed to be a cross-platform utility, it uses
>>> a different build system GYP, which generates native project files for
>>> all supported platforms."[1]  Do you have a pointer to something relevant?
>>>
>>> Regards,
>>>
>>> Michael
>>>
>>> [1] http://code.google.com/p/angleproject/wiki/DevSetup
>>>
>>> On 29/04/13 21:36, Michael Slavitch wrote:
>>>>
>>>> The VirtualBox 3D driver is based on the Chromium OpenGL proxy tool.
>>>> As far as I know Chromium does not support Mac OS X as a platform.
>>>> There hasn't been an official release since 2006. From what I have
>>>> seen on MacOS hosts 3D rendering is done by the host using a mix of
>>>> software and hardware calls.  The performance of 3D on Windows guests
>>>> running on MacOS and Linux hosts is somewhat lacking.
>>>>
>>>> Angle is not Windows only, it a cross-platform library that wraps
>>>> local implementations of OpenGL (MacOS, Linux) or DirectX (9 and 10)
>>>> (Windows) with WebGL to access hardware-accelerated libraries using a
>>>> single consistent API.  3D tasks such as shading are done in hardware,
>>>> not software, using common calls. It is used on Mac OS X, Linux, and
>>>> in mobile platforms, as well as in Windows. The major use has been in
>>>> browsers but that is only a circumstance of the energy going towards
>>>> web applications.
>>>>
>>>> Now, I might be wrong but I would be very leery of depending on API's
>>>> from a project that hasn't seen a revision in seven years, and looks
>>>> to be orphaned, when there is a library that allows VirtualBox to
>>>> create host environments that can provide a consistent
>>>> hardware-accelerated graphics API to guest, especially one that is
>>>> still in active development.  There seems to be little thought put in
>>>> to 3D support.  This has the potential of changing that.
>>>>
>>>> Regards
>>>>
>>>> Michael
>>>>
>>>>
>>>> On Mon, Apr 29, 2013 at 2:49 PM, Michael Thayer
>>>> <michael.thayer at oracle.com> wrote:
>>>>>
>>>>> Hello Michael,
>>>>>
>>>>> Perhaps I am missing something here, but first I have trouble seeing
>>>>> what
>>>>> ANGLE should provide which we are currently lacking (in fact I am not
>>>>> quite
>>>>> sure what you feel is wrong with our current solution at all which
>>>>> cannot be
>>>>> fixed in place), and secondly it looks from its web page like a
>>>>> Windows-only
>>>>> library to run OpenGL ES on top of DirectX rather than a cross-platform
>>>>> one
>>>>> to translate DirectX into WebGL.  I am not even quite clear either why
>>>>> you
>>>>> think we need such a library - are you considering Windows guests being
>>>>> displayed in a host web browser?  And if so, do you think that ANGLE
>>>>> would
>>>>> be suitable for being embedded into a guest display driver?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Michael
>>>>>
>>>>>
>>>>> On 29/04/13 19:09, Michael Slavitch wrote:
>>>>>>
>>>>>>
>>>>>> In other words, it's an open-source library that can do for VirtualBox
>>>>>> what Mesa/Gallium3D does for VMWare: Present a consistent OpenGL 3D
>>>>>> library no matter the underlying platform.  It has a BSD license.
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 29, 2013 at 12:49 PM, Michael Slavitch <slavitch at gmail.com>
>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>> The latter is what's used in Oracle VirtualBox to provide WebGL
>>>>>>> services to pass graphics commands to the host.
>>>>>>>
>>>>>>> That's what Angle provides, as a library, for applications that can
>>>>>>> use it, and for the same reason, as it allows the same library to
>>>>>>> offer near-native graphics support cross-platform, such that DirectX
>>>>>>> API commands can be translated into WebGL calls supported on myriad
>>>>>>> platforms.  They support translation of DirectX 9 and DirectX 10.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Apr 29, 2013 at 12:42 PM, Michael Slavitch
>>>>>>> <slavitch at gmail.com>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> The latter is what's used in Oracle VirtualBox to provide WebGL
>>>>>>>> services, correct?  That's what Angle provides, as a library, for
>>>>>>>> applications that can use it.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Apr 29, 2013 at 12:13 PM, Michael Thayer
>>>>>>>> <michael.thayer at oracle.com> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hello Michael,
>>>>>>>>>
>>>>>>>>> I think you have the wrong Chromium there[1][2].
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>>
>>>>>>>>> Michael
>>>>>>>>>
>>>>>>>>> [1] http://www.chromium.org/
>>>>>>>>> [2] http://chromium.sourceforge.net/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 29/04/13 17:59, Michael Slavitch wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Has anyone investigated replacing the Chromium WebGL used in
>>>>>>>>>> Virtualbox with the capabilities offered by Angle?  The result
>>>>>>>>>> would
>>>>>>>>>> give Windows guests on Linux/MacOS hosts access to
>>>>>>>>>> hardware-accelerated WebGL libraries on the underlying hosts,  and
>>>>>>>>>> achieve parity with host implementations when using Direct3D 10 or
>>>>>>>>>> above.
>>>>>>>>>>
>>>>>>>>>> Deets here:
>>>>>>>>>>
>>>>>>>>>> https://code.google.com/p/angleproject/
>>>>>>>>>>
>>>>>>>>>> ANGLE is a conformant implementation of the OpenGL ES 2.0
>>>>>>>>>> specification that is hardware‐accelerated via Direct3D. ANGLE
>>>>>>>>>> v1.0.772 was certified compliant by passing the ES 2.0.3
>>>>>>>>>> conformance
>>>>>>>>>> tests in October 2011. ANGLE also provides an implementation of the
>>>>>>>>>> EGL 1.4 specification.
>>>>>>>>>>
>>>>>>>>>> ANGLE is used as the default WebGL backend for both Google Chrome
>>>>>>>>>> and
>>>>>>>>>> Mozilla Firefox on Windows platforms. Chrome uses ANGLE for all
>>>>>>>>>> graphics rendering on Windows, including the accelerated Canvas2D
>>>>>>>>>> implementation and the Native Client sandbox environment.
>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>> Portions of the ANGLE shader compiler are used as a shader
>>>>>>>>>> validator
>>>>>>>>>> and translator by WebGL implementations across multiple platforms.
>>>>>>>>>> It
>>>>>>>>>> is used on Mac OS X, Linux, and in mobile variants of the browsers.
>>>>>>>>>> Having one shader validator helps to ensure that a consistent set
>>>>>>>>>> of
>>>>>>>>>> GLSL ES shaders are accepted across browsers and platforms.
>>>>>>>>>>
>>>>>>>>>> The shader translator can be used to translate shaders to other
>>>>>>>>>> shading languages, and to optionally apply shader modifications to
>>>>>>>>>> work around bugs or quirks in the native graphics drivers. The
>>>>>>>>>> translator targets Desktop GLSL, Direct3D HLSL, and even ESSL for
>>>>>>>>>> native GLES2 platforms.
>>>>>>>>>> <<<
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> vbox-dev mailing list
>>>>>>>>>> vbox-dev at virtualbox.org
>>>>>>>>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> ORACLE Deutschland B.V. & Co. KG   Michael Thayer
>>>>>>>>> Werkstrasse 24                     VirtualBox engineering
>>>>>>>>> 71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com
>>>>>>>>>
>>>>>>>>> Hauptverwaltung: Riesstr. 25, D-80992 München
>>>>>>>>> Registergericht: Amtsgericht München, HRA 95603
>>>>>>>>> Geschäftsführer: Jürgen Kunz
>>>>>>>>>
>>>>>>>>> Komplementärin: ORACLE Deutschland Verwaltung B.V.
>>>>>>>>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>>>>>>>>> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
>>>>>>>>> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> vbox-dev mailing list
>>>>>> vbox-dev at virtualbox.org
>>>>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> ORACLE Deutschland B.V. & Co. KG   Michael Thayer
>>>>> Werkstrasse 24                     VirtualBox engineering
>>>>> 71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com
>>>>>
>>>>> Hauptverwaltung: Riesstr. 25, D-80992 München
>>>>> Registergericht: Amtsgericht München, HRA 95603
>>>>> Geschäftsführer: Jürgen Kunz
>>>>>
>>>>> Komplementärin: ORACLE Deutschland Verwaltung B.V.
>>>>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>>>>> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
>>>>> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher
>>>
>>>
>>>
>>
>>
>> --
>> ORACLE Deutschland B.V. & Co. KG   Michael Thayer
>> Werkstrasse 24                     VirtualBox engineering
>> 71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com
>>
>> Hauptverwaltung: Riesstr. 25, D-80992 München
>> Registergericht: Amtsgericht München, HRA 95603
>> Geschäftsführer: Jürgen Kunz
>>
>> Komplementärin: ORACLE Deutschland Verwaltung B.V.
>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
>> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher


-- 
ORACLE Deutschland B.V. & Co. KG   Michael Thayer
Werkstrasse 24                     VirtualBox engineering
71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com

Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Geschäftsführer: Jürgen Kunz

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher



More information about the vbox-dev mailing list