Commit 5ce48e21 by Jamie Madill

Use EGLClientBuffer in place of HANDLE in EGL.

BUG=angle:795 Change-Id: I7af47e9306e0e12b980cfd3f061bbbe0951ac4e4 Reviewed-on: https://chromium-review.googlesource.com/228913Tested-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 4349ab85
...@@ -386,7 +386,7 @@ Error Display::createWindowSurface(EGLNativeWindowType window, EGLConfig config, ...@@ -386,7 +386,7 @@ Error Display::createWindowSurface(EGLNativeWindowType window, EGLConfig config,
return Error(EGL_SUCCESS); return Error(EGL_SUCCESS);
} }
Error Display::createOffscreenSurface(EGLConfig config, HANDLE shareHandle, const EGLint *attribList, EGLSurface *outSurface) Error Display::createOffscreenSurface(EGLConfig config, EGLClientBuffer shareHandle, const EGLint *attribList, EGLSurface *outSurface)
{ {
EGLint width = 0, height = 0; EGLint width = 0, height = 0;
EGLenum textureFormat = EGL_NO_TEXTURE; EGLenum textureFormat = EGL_NO_TEXTURE;
......
...@@ -46,7 +46,7 @@ class Display ...@@ -46,7 +46,7 @@ class Display
bool getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value); bool getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value);
Error createWindowSurface(EGLNativeWindowType window, EGLConfig config, const EGLint *attribList, EGLSurface *outSurface); Error createWindowSurface(EGLNativeWindowType window, EGLConfig config, const EGLint *attribList, EGLSurface *outSurface);
Error createOffscreenSurface(EGLConfig config, HANDLE shareHandle, const EGLint *attribList, EGLSurface *outSurface); Error createOffscreenSurface(EGLConfig config, EGLClientBuffer shareHandle, const EGLint *attribList, EGLSurface *outSurface);
Error createContext(EGLConfig configHandle, EGLint clientVersion, const gl::Context *shareContext, bool notifyResets, Error createContext(EGLConfig configHandle, EGLint clientVersion, const gl::Context *shareContext, bool notifyResets,
bool robustAccess, EGLContext *outContext); bool robustAccess, EGLContext *outContext);
......
...@@ -51,7 +51,7 @@ Surface::Surface(Display *display, const Config *config, EGLNativeWindowType win ...@@ -51,7 +51,7 @@ Surface::Surface(Display *display, const Config *config, EGLNativeWindowType win
subclassWindow(); subclassWindow();
} }
Surface::Surface(Display *display, const Config *config, HANDLE shareHandle, EGLint width, EGLint height, EGLenum textureFormat, EGLenum textureType) Surface::Surface(Display *display, const Config *config, EGLClientBuffer shareHandle, EGLint width, EGLint height, EGLenum textureFormat, EGLenum textureType)
: mDisplay(display), mNativeWindow(NULL), mConfig(config), mShareHandle(shareHandle), mWidth(width), mHeight(height), mPostSubBufferSupported(EGL_FALSE) : mDisplay(display), mNativeWindow(NULL), mConfig(config), mShareHandle(shareHandle), mWidth(width), mHeight(height), mPostSubBufferSupported(EGL_FALSE)
{ {
//TODO(jmadill): MANGLE refactor. (note, can't call makeRendererD3D because of dll export issues) //TODO(jmadill): MANGLE refactor. (note, can't call makeRendererD3D because of dll export issues)
...@@ -135,7 +135,7 @@ Error Surface::resetSwapChain() ...@@ -135,7 +135,7 @@ Error Surface::resetSwapChain()
height = mHeight; height = mHeight;
} }
mSwapChain = mRenderer->createSwapChain(mNativeWindow, mShareHandle, mSwapChain = mRenderer->createSwapChain(mNativeWindow, static_cast<HANDLE>(mShareHandle),
mConfig->mRenderTargetFormat, mConfig->mRenderTargetFormat,
mConfig->mDepthStencilFormat); mConfig->mDepthStencilFormat);
if (!mSwapChain) if (!mSwapChain)
......
...@@ -37,7 +37,7 @@ class Surface ...@@ -37,7 +37,7 @@ class Surface
{ {
public: public:
Surface(Display *display, const egl::Config *config, EGLNativeWindowType window, EGLint fixedSize, EGLint width, EGLint height, EGLint postSubBufferSupported); Surface(Display *display, const egl::Config *config, EGLNativeWindowType window, EGLint fixedSize, EGLint width, EGLint height, EGLint postSubBufferSupported);
Surface(Display *display, const egl::Config *config, HANDLE shareHandle, EGLint width, EGLint height, EGLenum textureFormat, EGLenum textureTarget); Surface(Display *display, const egl::Config *config, EGLClientBuffer shareHandle, EGLint width, EGLint height, EGLenum textureFormat, EGLenum textureTarget);
virtual ~Surface(); virtual ~Surface();
...@@ -77,7 +77,7 @@ class Surface ...@@ -77,7 +77,7 @@ class Surface
Display *const mDisplay; Display *const mDisplay;
rx::RendererD3D *mRenderer; rx::RendererD3D *mRenderer;
HANDLE mShareHandle; EGLClientBuffer mShareHandle;
rx::SwapChain *mSwapChain; rx::SwapChain *mSwapChain;
void subclassWindow(); void subclassWindow();
......
...@@ -687,7 +687,7 @@ EGLSurface __stdcall eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum bu ...@@ -687,7 +687,7 @@ EGLSurface __stdcall eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum bu
} }
EGLSurface surface = EGL_NO_SURFACE; EGLSurface surface = EGL_NO_SURFACE;
egl::Error error = display->createOffscreenSurface(config, (HANDLE)buffer, attrib_list, &surface); egl::Error error = display->createOffscreenSurface(config, buffer, attrib_list, &surface);
if (error.isError()) if (error.isError())
{ {
recordError(error); recordError(error);
......
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