Add pixel unpack buffer stubs to the Renderer classes.

TRAC #23841

Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
diff --git a/src/libGLESv2/renderer/Renderer11.cpp b/src/libGLESv2/renderer/Renderer11.cpp
index 63110db..7aee526 100644
--- a/src/libGLESv2/renderer/Renderer11.cpp
+++ b/src/libGLESv2/renderer/Renderer11.cpp
@@ -30,6 +30,7 @@
 #include "libGLESv2/renderer/Fence11.h"
 #include "libGLESv2/renderer/Blit11.h"
 #include "libGLESv2/renderer/Clear11.h"
+#include "libGLESv2/renderer/PixelTransfer11.h"
 
 #include "libEGL/Display.h"
 
@@ -68,6 +69,7 @@
     mTriangleFanIB = NULL;
 
     mBlit = NULL;
+    mPixelTransfer = NULL;
 
     mClear = NULL;
 
@@ -391,6 +393,9 @@
     ASSERT(!mClear);
     mClear = new Clear11(this);
 
+    ASSERT(!mPixelTransfer);
+    mPixelTransfer = new PixelTransfer11(this);
+
     markAllStateDirty();
 }
 
@@ -1615,6 +1620,7 @@
     SafeDelete(mTriangleFanIB);
     SafeDelete(mBlit);
     SafeDelete(mClear);
+    SafeDelete(mPixelTransfer);
 
     SafeRelease(mDriverConstantBufferVS);
     SafeRelease(mDriverConstantBufferPS);
@@ -2768,6 +2774,13 @@
     return new Fence11(this);
 }
 
+bool Renderer11::fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget,
+                                         GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea)
+{
+    ASSERT(gl::IsFastCopyBufferToTextureSupported(destinationFormat, getCurrentClientVersion()));
+    return mPixelTransfer->copyBufferToTexture(unpack, offset, destRenderTarget, destinationFormat, sourcePixelsType, destArea);
+}
+
 bool Renderer11::getRenderTargetResource(gl::Renderbuffer *colorbuffer, unsigned int *subresourceIndex, ID3D11Texture2D **resource)
 {
     ASSERT(colorbuffer != NULL);