// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "cc/quads/largest_draw_quad.h" #include #include "cc/quads/checkerboard_draw_quad.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/io_surface_draw_quad.h" #include "cc/quads/picture_draw_quad.h" #include "cc/quads/render_pass_draw_quad.h" #include "cc/quads/solid_color_draw_quad.h" #include "cc/quads/stream_video_draw_quad.h" #include "cc/quads/surface_draw_quad.h" #include "cc/quads/texture_draw_quad.h" #include "cc/quads/tile_draw_quad.h" #include "cc/quads/yuv_video_draw_quad.h" namespace { const size_t kLargestDrawQuadSize = sizeof(cc::RenderPassDrawQuad) > sizeof(cc::StreamVideoDrawQuad) ? sizeof(cc::RenderPassDrawQuad) : sizeof(cc::StreamVideoDrawQuad); } // namespace namespace cc { size_t LargestDrawQuadSize() { // Currently the largest quad is either a RenderPassDrawQuad or a // StreamVideoDrawQuad depends on hardware structure. // Use compile assert to make sure largest is actually larger than all other // type of draw quads. static_assert(sizeof(CheckerboardDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. CheckerboardDrawQuad is " "currently largest."); static_assert(sizeof(DebugBorderDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. DebugBorderDrawQuad is " "currently largest."); static_assert(sizeof(IOSurfaceDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. IOSurfaceDrawQuad is " "currently largest."); static_assert(sizeof(PictureDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. PictureDrawQuad is " "currently largest."); static_assert(sizeof(TextureDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. TextureDrawQuad is " "currently largest."); static_assert(sizeof(SolidColorDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. SolidColorDrawQuad is " "currently largest."); static_assert(sizeof(SurfaceDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. SurfaceDrawQuad is " "currently largest."); static_assert(sizeof(TileDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. TileDrawQuad is " "currently largest."); static_assert(sizeof(YUVVideoDrawQuad) <= kLargestDrawQuadSize, "Largest Draw Quad size needs update. YUVVideoDrawQuad is " "currently largest."); return kLargestDrawQuadSize; } } // namespace cc