OpenGL 4 Tessellation on Mac OS X
Here is a quick note about the state of OpenGL 4 tessellation on Mac OS X (10.8). The results are based on the feedbacks of TessMark, the tessellation demo of GpuTest 0.4.0. The code of TessMark is the same on all platforms (Windows, Linux and OS X) and there’s no special tricks to enable tessellation on OS X.
- On NVIDIA GeForce GPUs like the GeForce GT 650M (Macbook Pro, OSX 10.8.3), OpenGL 4 tessellation works fine and works in hardware mode. TessMark X16 demo runs at around 200FPS (1024×640).
- On Intel HD Graphics GPUs like the HD 4000 (Macbook Pro, OSX 10.8.3), the tessellation seems to run on hardware, there’s no shader error but there are visual glitches / artifacts. TessMark X16 demo runs at around 40FPS (1024×640).
- On AMD Radeon cards, there are two kinds of working:
- 1 – with Radeon HD 6970M (iMac, probably on OSX 10.8), there’s no shader error but the tessellation runs in software mode (around 1FPS) according to this feedback.
- 2 – with Radeon HD 6750M (Macbook Pro, OSX 10.8.2), the tesselation demo does not work and there is an error in the tessellation control shader:
Tessellation control shader error: ERROR: 0:16: Indirect index into implicitly-sized array
OpenGL 4 hardware tessellation on Mac OS X – correct rendering
OpenGL 4 hardware tessellation on Mac OS X – incorrect rendering
Jon Macey (Bournemouth University) did some investiguations on GpuTest to know how I managed to run TessMark on OS X and to see if tessellation really works on OS X. His conclusion is that tessellation does work on Mac OS X. According to this page, he tested tessellation with NVIDIA cards (GT 640, GT 330M) so his conclusion is true but only with NVIDIA GPUs. The GeForce GT 330M is not an OpenGL capable hardware, so I presume that the tests with the GT 330M used Apple’s software renderer (GpuTest has a checkbox to enable software renderer on OSX). The GT 640 is an OpenGL 4 card, then hardware tessellation is ok.
Then today (May 2013), OpenGL 4 tessellation on Mac OS X works fine on NVIDIA GPUs and does not work on AMD Radeon and Intel HD Graphics GPUs. I’m curious to see how OpenGL 4 tessellation will evolve with the new OS X 10.9.