targets/surfaceless: Add support for Chrome OS surfaceless
authorStéphane Marchesin <marcheu@chromium.org>
Tue, 1 Mar 2016 06:19:09 +0000 (22:19 -0800)
committerGurchetan Singh <gurchetansingh@google.com>
Tue, 10 Oct 2017 20:20:44 +0000 (13:20 -0700)
commit04589e1a53e11599a386ff99dc1ce135e3770653
tree091fb695d572ffc655343781b3b9a6a88473b503
parent3a1de9094d072324ef2c16a21c1893b881c2a8e7
targets/surfaceless: Add support for Chrome OS surfaceless

Implement a new dEQP target, "surfaceless", that supports offscreen
rendering using Chrome OS's EGL null platform. This is based on
intel's work to add support for "drm" target, but extends it to work
on ARM as well.

dEQP could be ran with --deqp-surface-type=fbo because the native EGL
platform does not support EGLSurfaces. However, because of b:27656575,
it must be run with --deqp-surface-type=pbuffer at the moment.

Unlike all of dEQP's other EGL-derived platforms (x11::egl::Platform,
Android::Platform, rpi::Platform, etc), class surfaceless::Platform does
not inherit from eglu::Platform and it reuses very little of dEQP's
existing EGL code. I had to re-invent the wheel when implementing the DRM
platform because dEQP's existing EGL code relies heavily on EGLSurfaces,
which Chrome's EGL surfaceless does not support.

BUG=chromium:543372
TEST=run deqp on veyron_jaq
framework/platform/CMakeLists.txt
framework/platform/surfaceless/tcuSurfacelessPlatform.cpp [new file with mode: 0644]
framework/platform/surfaceless/tcuSurfacelessPlatform.hpp [new file with mode: 0644]
targets/surfaceless/surfaceless.cmake [new file with mode: 0644]