[vbox-dev] Chromium WebGL vs Angle WebGL

mikhail sennikovsky mikhail.sennikovsky at oracle.com
Mon Apr 29 23:39:02 PDT 2013


Just to add to Michael T, VBox does all 3D rendering using host 
hardware, i.e. NO software-based rendering taking place.

Mikhail

On 30.04.2013 0:33, Michael Thayer wrote:
> 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
>




More information about the vbox-dev mailing list