Chromium Code Reviews| Index: cc/quads/largest_draw_quad.h |
| diff --git a/cc/quads/largest_draw_quad.h b/cc/quads/largest_draw_quad.h |
| index d14906afad80976b744777cbfa877d0754395720..b5ee8dd50393da8bcb41df524749d580c6276019 100644 |
| --- a/cc/quads/largest_draw_quad.h |
| +++ b/cc/quads/largest_draw_quad.h |
| @@ -5,15 +5,27 @@ |
| #ifndef CC_QUADS_LARGEST_DRAW_QUAD_H_ |
| #define CC_QUADS_LARGEST_DRAW_QUAD_H_ |
| +#include "cc/quads/render_pass_draw_quad.h" |
|
danakj
2014/11/03 18:14:21
including this includes GL headers which was break
weiliangc
2014/11/03 18:42:46
Have to include for sizeof(). I don't think it can
jbroman
2014/11/03 18:44:27
I'm curious how this broke the build before; do yo
danakj
2014/11/03 18:50:36
It was a matter of include files including include
danakj
2014/11/03 18:50:36
Ya, it would mean a function returning a size inst
|
| +#include "cc/quads/stream_video_draw_quad.h" |
| + |
| namespace cc { |
| -class StreamVideoDrawQuad; |
| -class RenderPassDrawQuad; |
| -#if defined(ARCH_CPU_64_BITS) |
| -typedef RenderPassDrawQuad kLargestDrawQuad; |
| -#else |
| -typedef StreamVideoDrawQuad kLargestDrawQuad; |
| -#endif |
| +// The largest quad is either a RenderPassDrawQuad or a StreamVideoDrawQuad |
| +// depends on hardware structure, so use a template to determine which is |
| +// larger. |
|
danakj
2014/11/03 18:14:21
TODO to use std::conditional when we can do that :
|
| +template <bool RenderPassDrawQuadLarger> |
|
danakj
2014/11/03 18:14:21
render_pass_draw_quad_is_larger
|
| +struct LargerQuadOfEitherRenderPassOrStreamVideo { |
| + typedef RenderPassDrawQuad Type; |
|
danakj
2014/11/03 18:14:21
using Type = RenderPassDrawQuad
jbroman
2014/11/03 18:28:25
If you don't mind drive-by...
Since you only ever
|
| +}; |
| + |
| +template <> |
| +struct LargerQuadOfEitherRenderPassOrStreamVideo<false> { |
| + typedef StreamVideoDrawQuad Type; |
|
danakj
2014/11/03 18:14:21
using Type = StreamVideoDrawQuad
|
| +}; |
| + |
| +typedef LargerQuadOfEitherRenderPassOrStreamVideo<( |
|
danakj
2014/11/03 18:14:21
using kLargestDrawQuad = ...
|
| + sizeof(RenderPassDrawQuad) > sizeof(StreamVideoDrawQuad))>::Type |
| + kLargestDrawQuad; |
| } // namespace cc |