Commit 7dcd2c7b by Geoff Lang

Add stubs for EGL pixmap surface creation.

BUG=angleproject:795 Change-Id: I76b44e837eb6919f9d3c1eb56c2d3af84bc5ab09 Reviewed-on: https://chromium-review.googlesource.com/260943Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Reviewed-by: 's avatarKenneth Russell <kbr@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 3d5f2687
...@@ -407,6 +407,36 @@ Error Display::createPbufferFromClientBuffer(const Config *configuration, EGLCli ...@@ -407,6 +407,36 @@ Error Display::createPbufferFromClientBuffer(const Config *configuration, EGLCli
return Error(EGL_SUCCESS); return Error(EGL_SUCCESS);
} }
Error Display::createPixmapSurface(const Config *configuration, NativePixmapType nativePixmap, const AttributeMap &attribs,
Surface **outSurface)
{
ASSERT(isInitialized());
if (mImplementation->testDeviceLost())
{
Error error = restoreLostDevice();
if (error.isError())
{
return error;
}
}
rx::SurfaceImpl *surfaceImpl = nullptr;
Error error = mImplementation->createPixmapSurface(configuration, nativePixmap, attribs, &surfaceImpl);
if (error.isError())
{
return error;
}
ASSERT(surfaceImpl != nullptr);
Surface *surface = new Surface(surfaceImpl, EGL_PIXMAP_BIT, configuration, attribs);
mImplementation->getSurfaceSet().insert(surface);
ASSERT(outSurface != nullptr);
*outSurface = surface;
return Error(EGL_SUCCESS);
}
Error Display::createContext(const Config *configuration, gl::Context *shareContext, const AttributeMap &attribs, Error Display::createContext(const Config *configuration, gl::Context *shareContext, const AttributeMap &attribs,
gl::Context **outContext) gl::Context **outContext)
{ {
......
...@@ -54,6 +54,8 @@ class Display final ...@@ -54,6 +54,8 @@ class Display final
Error createPbufferSurface(const Config *configuration, const AttributeMap &attribs, Surface **outSurface); Error createPbufferSurface(const Config *configuration, const AttributeMap &attribs, Surface **outSurface);
Error createPbufferFromClientBuffer(const Config *configuration, EGLClientBuffer shareHandle, const AttributeMap &attribs, Error createPbufferFromClientBuffer(const Config *configuration, EGLClientBuffer shareHandle, const AttributeMap &attribs,
Surface **outSurface); Surface **outSurface);
Error createPixmapSurface(const Config *configuration, NativePixmapType nativePixmap, const AttributeMap &attribs,
Surface **outSurface);
Error createContext(const Config *configuration, gl::Context *shareContext, const AttributeMap &attribs, Error createContext(const Config *configuration, gl::Context *shareContext, const AttributeMap &attribs,
gl::Context **outContext); gl::Context **outContext);
......
...@@ -51,6 +51,8 @@ class DisplayImpl ...@@ -51,6 +51,8 @@ class DisplayImpl
SurfaceImpl **outSurface) = 0; SurfaceImpl **outSurface) = 0;
virtual egl::Error createPbufferFromClientBuffer(const egl::Config *configuration, EGLClientBuffer shareHandle, virtual egl::Error createPbufferFromClientBuffer(const egl::Config *configuration, EGLClientBuffer shareHandle,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface) = 0; const egl::AttributeMap &attribs, SurfaceImpl **outSurface) = 0;
virtual egl::Error createPixmapSurface(const egl::Config *configuration, NativePixmapType nativePixmap,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface) = 0;
virtual egl::Error createContext(const egl::Config *config, const gl::Context *shareContext, const egl::AttributeMap &attribs, virtual egl::Error createContext(const egl::Config *config, const gl::Context *shareContext, const egl::AttributeMap &attribs,
gl::Context **outContext) = 0; gl::Context **outContext) = 0;
......
...@@ -221,6 +221,16 @@ egl::Error DisplayD3D::createPbufferFromClientBuffer(const egl::Config *configur ...@@ -221,6 +221,16 @@ egl::Error DisplayD3D::createPbufferFromClientBuffer(const egl::Config *configur
return egl::Error(EGL_SUCCESS); return egl::Error(EGL_SUCCESS);
} }
egl::Error DisplayD3D::createPixmapSurface(const egl::Config *configuration, NativePixmapType nativePixmap,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface)
{
ASSERT(mRenderer != nullptr);
UNIMPLEMENTED();
*outSurface = nullptr;
return egl::Error(EGL_BAD_DISPLAY);
}
egl::Error DisplayD3D::createContext(const egl::Config *config, const gl::Context *shareContext, const egl::AttributeMap &attribs, egl::Error DisplayD3D::createContext(const egl::Config *config, const gl::Context *shareContext, const egl::AttributeMap &attribs,
gl::Context **outContext) gl::Context **outContext)
{ {
......
...@@ -29,6 +29,8 @@ class DisplayD3D : public DisplayImpl ...@@ -29,6 +29,8 @@ class DisplayD3D : public DisplayImpl
SurfaceImpl **outSurface) override; SurfaceImpl **outSurface) override;
egl::Error createPbufferFromClientBuffer(const egl::Config *configuration, EGLClientBuffer shareHandle, egl::Error createPbufferFromClientBuffer(const egl::Config *configuration, EGLClientBuffer shareHandle,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface) override; const egl::AttributeMap &attribs, SurfaceImpl **outSurface) override;
egl::Error createPixmapSurface(const egl::Config *configuration, NativePixmapType nativePixmap,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface) override;
egl::Error createContext(const egl::Config *config, const gl::Context *shareContext, const egl::AttributeMap &attribs, egl::Error createContext(const egl::Config *config, const gl::Context *shareContext, const egl::AttributeMap &attribs,
gl::Context **outContext) override; gl::Context **outContext) override;
......
...@@ -364,6 +364,13 @@ egl::Error DisplayWGL::createPbufferFromClientBuffer(const egl::Config *configur ...@@ -364,6 +364,13 @@ egl::Error DisplayWGL::createPbufferFromClientBuffer(const egl::Config *configur
return egl::Error(EGL_BAD_DISPLAY); return egl::Error(EGL_BAD_DISPLAY);
} }
egl::Error DisplayWGL::createPixmapSurface(const egl::Config *configuration, NativePixmapType nativePixmap,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface)
{
UNIMPLEMENTED();
return egl::Error(EGL_BAD_DISPLAY);
}
egl::Error DisplayWGL::makeCurrent(egl::Surface *drawSurface, egl::Surface *readSurface, gl::Context *context) egl::Error DisplayWGL::makeCurrent(egl::Surface *drawSurface, egl::Surface *readSurface, gl::Context *context)
{ {
if (!drawSurface) if (!drawSurface)
......
...@@ -33,6 +33,8 @@ class DisplayWGL : public DisplayGL ...@@ -33,6 +33,8 @@ class DisplayWGL : public DisplayGL
SurfaceImpl **outSurface) override; SurfaceImpl **outSurface) override;
egl::Error createPbufferFromClientBuffer(const egl::Config *configuration, EGLClientBuffer shareHandle, egl::Error createPbufferFromClientBuffer(const egl::Config *configuration, EGLClientBuffer shareHandle,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface) override; const egl::AttributeMap &attribs, SurfaceImpl **outSurface) override;
egl::Error createPixmapSurface(const egl::Config *configuration, NativePixmapType nativePixmap,
const egl::AttributeMap &attribs, SurfaceImpl **outSurface) override;
egl::Error makeCurrent(egl::Surface *drawSurface, egl::Surface *readSurface, gl::Context *context) override; egl::Error makeCurrent(egl::Surface *drawSurface, egl::Surface *readSurface, gl::Context *context) override;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment