Implement EGL_KHR_surfaceless_context for D3D, GL and NULL backends.

Skip all config attributes that have the value of EGL_DONT_CARE.  From the
EGL 1.5 spec: "If EGL_DONT_CARE is specified as an attribute value, then
the attribute will not be checked.".

BUG=angleproject:1651

Change-Id: I30c95a1970543fb6f1d4b02d2babf3df61cad543
Reviewed-on: https://chromium-review.googlesource.com/533937
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Config.cpp b/src/libANGLE/Config.cpp
index e70f8b7..5bbd112 100644
--- a/src/libANGLE/Config.cpp
+++ b/src/libANGLE/Config.cpp
@@ -218,6 +218,11 @@
             EGLAttrib attributeKey   = attribIter->first;
             EGLAttrib attributeValue = attribIter->second;
 
+            if (attributeValue == EGL_DONT_CARE)
+            {
+                continue;
+            }
+
             switch (attributeKey)
             {
               case EGL_BUFFER_SIZE:               match = config.bufferSize >= attributeValue;                        break;