Re: Upcoming Qt switch to OpenGL ES on arm64
- Date: Mon, 26 Nov 2018 14:43:00 +0100
- From: bret curtis <psi29a@xxxxxxxxx>
- Subject: Re: Upcoming Qt switch to OpenGL ES on arm64
On Mon, Nov 26, 2018 at 2:04 PM Ian Campbell <ijc@xxxxxxxxxx> wrote:
> On Mon, 2018-11-26 at 12:07 +0100, bret curtis wrote:
> > The hardware that supports GLES also supports OpenGL because GLES is
> > a subset of OpenGL.
> I'm confused by this inference. If GLES is a subset of OpenGL then
> surely hardware which claims to implement GLES is at liberty to only
> implement that subset and would therefore not necessarily support
I believe this is a purely a driver/firmware distinction. So whoever
implements this is at liberty to do whatever they want so long as the
hardware supports it.
Meaning that if something advertises GLESv2 support then it has, at
least, OpenGL 2.0 support in hardware because without that, they
couldn't have supported GLESv1.
GLES1.1 is fixed-function pipeline that is compatible with OpenGL 2.0,
you're not going to create hardware to support GLES1.1 that doesn't
also support at least OpenGL 2.0
GLESv2 is another beast, it dropped fixed-function pipeline because
that was the spec, but it is still a software implementation and
doesn't mean that it no longer exists in hardware.
Take for example the Nvidia Tegra:
https://opengles.gpuinfo.org/displayreport.php?id=690 <-- SHIELD
Android TV which happens to be a Tegra SoC supports OpenGL ES 3.2
https://opengl.gpuinfo.org/displayreport.php?id=2377 <-- Tegra as
integrated with CPU (nvgpu), supports OpenGL 4.6.0
Similar (if not the same?) hardware, running aarch64, the only real
difference is the driver.
That being said, I would love to hear from someone who actually makes
these things to comment. It is entirely possible that there is a chip
out there that supports GLES 3.2 and only that in hardware. I would be
amazed but I'm reluctant to ever use the words never and ever. So far,
the hardware that supports that are:
Adreno 420 and newer
Intel HD Graphics Skylake and higher
Mali-T760 and newer
Nvidia GeForce 400 series (Fermi)
As I said, I would be amazed if these GPUs didn't support some minimal
version OpenGL in hardware. As I said elsewhere, most free and
open-source drivers (mesa) support both some version of GLES along
with some version of GL.