Create a DefaultAttachment type and an implementation for it.
This allows for dynamically sized default attachments instead of calling
Context::makeCurrent each time the surface changes size.
BUG=angle:824
Change-Id: Ic39c0d7dc4269db53a34c01c4d915cb1a3cfbd08
Reviewed-on: https://chromium-review.googlesource.com/228180
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index fe9b1a2..b0c5bc5 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -193,12 +193,9 @@
mHasBeenCurrent = true;
}
- // Wrap the existing swapchain resources into GL objects and assign them to the '0' names
- rx::SwapChain *swapchain = surface->getSwapChain();
-
- rx::RenderbufferImpl *colorbufferZero = mRenderer->createRenderbuffer(swapchain, false);
- rx::RenderbufferImpl *depthStencilbufferZero = mRenderer->createRenderbuffer(swapchain, true);
- Framebuffer *framebufferZero = new DefaultFramebuffer(colorbufferZero, depthStencilbufferZero);
+ Framebuffer *framebufferZero = new DefaultFramebuffer(mRenderer->createDefaultAttachment(GL_BACK, surface),
+ mRenderer->createDefaultAttachment(GL_DEPTH, surface),
+ mRenderer->createDefaultAttachment(GL_STENCIL, surface));
setFramebufferZero(framebufferZero);
}