Split pixelBuffer from pack/unpack state

This will refactor will help use packed enums for buffer targets.

BUG=angleproject:2169

Change-Id: Ie7ed3e105f89457c67027e6598d7e29503ad355c
Reviewed-on: https://chromium-review.googlesource.com/745181
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/null/FramebufferNULL.cpp b/src/libANGLE/renderer/null/FramebufferNULL.cpp
index 7714a15..bca9f8f 100644
--- a/src/libANGLE/renderer/null/FramebufferNULL.cpp
+++ b/src/libANGLE/renderer/null/FramebufferNULL.cpp
@@ -119,13 +119,14 @@
                                       void *ptrOrOffset)
 {
     const gl::PixelPackState &packState = context->getGLState().getPackState();
+    gl::Buffer *packBuffer = context->getGLState().getTargetBuffer(GL_PIXEL_PACK_BUFFER);
 
     // Get the pointer to write to from the argument or the pack buffer
     GLubyte *pixels = nullptr;
-    if (packState.pixelBuffer.get() != nullptr)
+    if (packBuffer != nullptr)
     {
-        BufferNULL *pixelBuffer = GetImplAs<BufferNULL>(packState.pixelBuffer.get());
-        pixels                  = reinterpret_cast<GLubyte *>(pixelBuffer->getDataPtr());
+        BufferNULL *packBufferGL = GetImplAs<BufferNULL>(packBuffer);
+        pixels                     = reinterpret_cast<GLubyte *>(packBufferGL->getDataPtr());
         pixels += reinterpret_cast<intptr_t>(ptrOrOffset);
     }
     else