Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3579)

Unified Diff: cc/gl_renderer_drawcache.h

Issue 11415161: Texture Draw Calls Coalescing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: forgot to actually add gl_renderer_drawcache.cc Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/gl_renderer_drawcache.h
diff --git a/cc/gl_renderer_drawcache.h b/cc/gl_renderer_drawcache.h
new file mode 100644
index 0000000000000000000000000000000000000000..0a5967d3a2512afd6838ba00712c9a7a8709b9c3
--- /dev/null
+++ b/cc/gl_renderer_drawcache.h
@@ -0,0 +1,43 @@
+// Copyright 2010 The Chromium Authors. All rights reserved.
jamesr 2012/11/29 11:17:11 it's 2012
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CC_GL_RENDERER_DRAW_CACHE_H_
+#define CC_GL_RENDERER_DRAW_CACHE_H_
+
+#include <vector>
+
+
+// collects 4 floats at a time for easy upload to GL
jamesr 2012/11/29 11:17:11 Start comments with a uppercase letter, end with a
+struct float4 { float data[4]; };
jamesr 2012/11/29 11:17:11 chromium style for naming would have this be Float
+
+// collects 16 floats at a time for easy upload to GL
+struct float16 { float data[16]; };
jamesr 2012/11/29 11:17:11 similarly Float16
+
+// A cache for storing textured quads to be drawn. Stores the minimum required
+// data to tell if two back to back draws only differ in their transform. Quads
+// that only differ by transform may be coalesced into a single draw call.
+struct TexturedQuadDrawCache
+{
jamesr 2012/11/29 11:17:11 the cc/ directory is currently a mix of WebKit sty
+ TexturedQuadDrawCache();
+ virtual ~TexturedQuadDrawCache();
jamesr 2012/11/29 11:17:11 do you need a virtual destructor? there aren't any
+
+ // Values tracked to determine if textured quads may be coalesced
+ int programID;
jamesr 2012/11/29 11:17:11 chromium style for these is to use hacker_style in
+ int resourceID;
+ float alpha;
+ bool usePremultipliedAlpha;
+ bool needsBlending;
+
+ // Information about the program binding that is required to draw
+ int alphaLocation;
+ int uvXformLocation;
+ int matrixLocation;
+
+ // A cache for the coalesced quad data
+ std::vector<float4> uvXformData;
+ std::vector<float16> matrixData;
+};
+
+#endif // CC_GL_RENDERER_DRAW_CACHE_H_
+

Powered by Google App Engine
This is Rietveld 408576698