Change setScissor() to take in Vulkan coordinate convention.

* Cache dimensions in GLSurface and GLFramebuffer so that we don't have
to query properties through gl.
* Change argument to const Rect&

Bug: 114439058
Change-Id: Ia5ba9405af92819152e26e13508e0b57bc73f233
Test: SurfaceFlinger_Test, go/wm-smoke
diff --git a/services/surfaceflinger/RenderEngine/gl/GLFramebuffer.cpp b/services/surfaceflinger/RenderEngine/gl/GLFramebuffer.cpp
index 6aca1c8..83d2bde 100644
--- a/services/surfaceflinger/RenderEngine/gl/GLFramebuffer.cpp
+++ b/services/surfaceflinger/RenderEngine/gl/GLFramebuffer.cpp
@@ -20,6 +20,7 @@
 #include <GLES/glext.h>
 #include <GLES2/gl2.h>
 #include <GLES2/gl2ext.h>
+#include <nativebase/nativebase.h>
 #include "GLES20RenderEngine.h"
 
 namespace android {
@@ -43,6 +44,8 @@
     if (mEGLImage != EGL_NO_IMAGE_KHR) {
         eglDestroyImageKHR(mEGLDisplay, mEGLImage);
         mEGLImage = EGL_NO_IMAGE_KHR;
+        mBufferWidth = 0;
+        mBufferHeight = 0;
     }
 
     if (nativeBuffer) {
@@ -52,6 +55,8 @@
         if (mEGLImage == EGL_NO_IMAGE_KHR) {
             return false;
         }
+        mBufferWidth = nativeBuffer->width;
+        mBufferHeight = nativeBuffer->height;
     }
     return true;
 }