Added Texture desc to render target
authorrobertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 13 Jun 2012 12:53:07 +0000 (12:53 +0000)
committerrobertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Wed, 13 Jun 2012 12:53:07 +0000 (12:53 +0000)
http://codereview.appspot.com/6302068/

git-svn-id: http://skia.googlecode.com/svn/trunk@4243 2bbb7eff-a529-9590-31e7-b0007b416f81

include/gpu/GrRenderTarget.h
src/gpu/GrRenderTarget.cpp

index 909adb3..4a2c254 100644 (file)
@@ -37,18 +37,18 @@ public:
     /**
      * @return the width of the rendertarget
      */
-    int width() const { return fWidth; }
+    int width() const { return fDesc.fWidth; }
     /**
      * @return the height of the rendertarget
      */
-    int height() const { return fHeight; }
+    int height() const { return fDesc.fHeight; }
 
     /**
      * @return the pixel config. Can be kUnknown_GrPixelConfig
      * if client asked us to render to a target that has a pixel
      * config that isn't equivalent with one of our configs.
      */
-    GrPixelConfig config() const { return fConfig; }
+    GrPixelConfig config() const { return fDesc.fConfig; }
 
     /**
      * @return the texture associated with the rendertarget, may be NULL.
@@ -72,12 +72,12 @@ public:
     /**
      * @return true if the render target is multisampled, false otherwise
      */
-    bool isMultisampled() const { return 0 != fSampleCnt; }
+    bool isMultisampled() const { return 0 != fDesc.fSampleCnt; }
 
     /**
      * @return the number of samples-per-pixel or zero if non-MSAA.
      */
-    int numSamples() const { return fSampleCnt; }
+    int numSamples() const { return fDesc.fSampleCnt; }
 
     /**
      * Call to indicate the multisample contents were modified such that the
@@ -180,12 +180,13 @@ protected:
                    int sampleCnt)
         : INHERITED(gpu)
         , fStencilBuffer(NULL)
-        , fTexture(texture)
-        , fWidth(width)
-        , fHeight(height)
-        , fConfig(config)
-        , fSampleCnt(sampleCnt) {
+        , fTexture(texture) {
         fResolveRect.setLargestInverted();
+
+        fDesc.fWidth = width;
+        fDesc.fHeight = height;
+        fDesc.fConfig = config;
+        fDesc.fSampleCnt = sampleCnt;
     }
 
     friend class GrTexture;
@@ -202,10 +203,9 @@ protected:
 private:
     GrStencilBuffer*  fStencilBuffer;
     GrTexture*        fTexture; // not ref'ed
-    int               fWidth;
-    int               fHeight;
-    GrPixelConfig     fConfig;
-    int               fSampleCnt;
+
+    GrTextureDesc     fDesc;
+
     GrIRect           fResolveRect;
 
     typedef GrResource INHERITED;
index ed1a018..be08444 100644 (file)
@@ -52,15 +52,15 @@ void GrRenderTarget::resolve() {
 
 size_t GrRenderTarget::sizeInBytes() const {
     int colorBits;
-    if (kUnknown_GrPixelConfig == fConfig) {
+    if (kUnknown_GrPixelConfig == fDesc.fConfig) {
         colorBits = 32; // don't know, make a guess
     } else {
-        colorBits = GrBytesPerPixel(fConfig);
+        colorBits = GrBytesPerPixel(fDesc.fConfig);
     }
-    uint64_t size = fWidth;
-    size *= fHeight;
+    uint64_t size = fDesc.fWidth;
+    size *= fDesc.fHeight;
     size *= colorBits;
-    size *= GrMax(1,fSampleCnt);
+    size *= GrMax(1, fDesc.fSampleCnt);
     return (size_t)(size / 8);
 }