diff --git a/guest/egl/egl.cpp b/guest/egl/egl.cpp
index 95b82f9..1b7193d 100644
--- a/guest/egl/egl.cpp
+++ b/guest/egl/egl.cpp
@@ -2265,6 +2265,11 @@
             case HAL_PIXEL_FORMAT_RGBA_1010102:
             case HAL_PIXEL_FORMAT_YCBCR_420_888:
             case HAL_PIXEL_FORMAT_YCBCR_P010:
+            case HAL_PIXEL_FORMAT_DEPTH_16:
+            case HAL_PIXEL_FORMAT_DEPTH_24:
+            case HAL_PIXEL_FORMAT_DEPTH_24_STENCIL_8:
+            case HAL_PIXEL_FORMAT_DEPTH_32F:
+            case HAL_PIXEL_FORMAT_DEPTH_32F_STENCIL_8:
                 break;
             case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED:
                 ALOGW("%s:%d using HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED\n", __func__, __LINE__);
diff --git a/host/gl/ColorBufferGl.cpp b/host/gl/ColorBufferGl.cpp
index d0129b2..213de8a 100644
--- a/host/gl/ColorBufferGl.cpp
+++ b/host/gl/ColorBufferGl.cpp
@@ -203,6 +203,38 @@
             *bytesPerPixel = 2;
             *sizedInternalFormat = GL_RG8;
             return true;
+        case GL_DEPTH_COMPONENT:
+        case GL_DEPTH_COMPONENT16:
+            *texFormat = GL_DEPTH_COMPONENT;
+            *pixelType = GL_UNSIGNED_SHORT;
+            *bytesPerPixel = 2;
+            *sizedInternalFormat = GL_DEPTH_COMPONENT16;
+            return true;
+        case GL_DEPTH_COMPONENT24:
+            *texFormat = GL_DEPTH_COMPONENT;
+            *pixelType = GL_UNSIGNED_INT;
+            *bytesPerPixel = 4;
+            *sizedInternalFormat = GL_DEPTH_COMPONENT24;
+            return true;
+        case GL_DEPTH_COMPONENT32F:
+            *texFormat = GL_DEPTH_COMPONENT;
+            *pixelType = GL_FLOAT;
+            *bytesPerPixel = 4;
+            *sizedInternalFormat = GL_DEPTH_COMPONENT32F;
+            return true;
+        case GL_DEPTH_STENCIL:
+        case GL_DEPTH24_STENCIL8:
+            *texFormat = GL_DEPTH_STENCIL;
+            *pixelType = GL_UNSIGNED_INT_24_8;
+            *bytesPerPixel = 4;
+            *sizedInternalFormat = GL_DEPTH24_STENCIL8;
+            return true;
+        case GL_DEPTH32F_STENCIL8:
+            *texFormat = GL_DEPTH_STENCIL;
+            *pixelType = GL_FLOAT_32_UNSIGNED_INT_24_8_REV;
+            *bytesPerPixel = 8;
+            *sizedInternalFormat = GL_DEPTH32F_STENCIL8;
+            return true;
         default:
             fprintf(stderr, "%s: Unknown format 0x%x\n", __func__,
                     *internalFormat);
