Chromium Code Reviews| Index: cc/quads/largest_draw_quad.cc |
| diff --git a/cc/quads/largest_draw_quad.cc b/cc/quads/largest_draw_quad.cc |
| index 35c64314c6d87965e331a478f83e3537f3af7487..94c1785865f1acc322dd147c604634e8e20cede1 100644 |
| --- a/cc/quads/largest_draw_quad.cc |
| +++ b/cc/quads/largest_draw_quad.cc |
| @@ -19,17 +19,25 @@ |
| #include "cc/quads/yuv_video_draw_quad.h" |
| namespace { |
| -const size_t kLargestDrawQuadSize = |
| - sizeof(cc::YUVVideoDrawQuad) + sizeof(gfx::ColorSpace); |
| +const size_t kLargestDrawQuadSize1 = sizeof(cc::StreamVideoDrawQuad); |
| +const size_t kLargestDrawQuadSize2 = sizeof(cc::RenderPassDrawQuad) > |
|
danakj
2016/09/09 23:15:23
Can you make a helper constexpr method here to do
hubbe
2016/09/09 23:20:07
I tried using std::max(), which I think is constex
danakj
2016/09/09 23:30:25
std::max is constexpr in c++14: http://en.cpprefer
hubbe
2016/09/10 00:10:01
How about a recursive variadic template so we can
danakj
2016/09/10 00:14:24
Is that going to be easier to read and maintain? I
|
| + kLargestDrawQuadSize1 |
| + ? sizeof(cc::RenderPassDrawQuad) |
| + : kLargestDrawQuadSize1; |
| +const size_t kLargestDrawQuadSize = sizeof(cc::YUVVideoDrawQuad) > |
| + kLargestDrawQuadSize2 |
| + ? sizeof(cc::YUVVideoDrawQuad) |
| + : kLargestDrawQuadSize2; |
| + |
| } // namespace |
| namespace cc { |
| size_t LargestDrawQuadSize() { |
| - // Currently the largest quad is either a RenderPassDrawQuad or a |
| - // StreamVideoDrawQuad depends on hardware structure. |
| + // Currently the largest quad is either a RenderPassDrawQuad, |
| + // StreamVideoDrawQuad or YUVVideoDrawQuad depending on hardware structure. |
| - // Use compile assert to make sure largest is actually larger than all other |
| + // Use compile assert to make sure largest is actually larger than all |
| // type of draw quads. |
| static_assert(sizeof(DebugBorderDrawQuad) <= kLargestDrawQuadSize, |
| "Largest Draw Quad size needs update. DebugBorderDrawQuad is " |
| @@ -52,6 +60,12 @@ size_t LargestDrawQuadSize() { |
| static_assert(sizeof(YUVVideoDrawQuad) <= kLargestDrawQuadSize, |
| "Largest Draw Quad size needs update. YUVVideoDrawQuad is " |
| "currently largest."); |
| + static_assert(sizeof(RenderPassDrawQuad) <= kLargestDrawQuadSize, |
| + "Largest Draw Quad size needs update. RenderPassDrawQuad is " |
| + "currently largest."); |
| + static_assert(sizeof(StreamVideoDrawQuad) <= kLargestDrawQuadSize, |
| + "Largest Draw Quad size needs update. StreamVideoDrawQuad is " |
| + "currently largest."); |
| return kLargestDrawQuadSize; |
| } |