// Copyright 2013 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 "gpu/command_buffer/common/capabilities.h"

namespace gpu {

Capabilities::PerStagePrecisions::PerStagePrecisions() {
}

Capabilities::Capabilities()
    : max_combined_texture_image_units(0),
      max_cube_map_texture_size(0),
      max_fragment_uniform_vectors(0),
      max_renderbuffer_size(0),
      max_texture_image_units(0),
      max_texture_size(0),
      max_varying_vectors(0),
      max_vertex_attribs(0),
      max_vertex_texture_image_units(0),
      max_vertex_uniform_vectors(0),
      num_compressed_texture_formats(0),
      num_shader_binary_formats(0),
      bind_generates_resource_chromium(0),
      max_3d_texture_size(0),
      max_array_texture_layers(0),
      max_color_attachments(0),
      max_combined_fragment_uniform_components(0),
      max_combined_uniform_blocks(0),
      max_combined_vertex_uniform_components(0),
      max_copy_texture_chromium_size(0),
      max_draw_buffers(0),
      max_element_index(0),
      max_elements_indices(0),
      max_elements_vertices(0),
      max_fragment_input_components(0),
      max_fragment_uniform_blocks(0),
      max_fragment_uniform_components(0),
      max_program_texel_offset(0),
      max_samples(0),
      max_server_wait_timeout(0),
      max_texture_lod_bias(0.f),
      max_transform_feedback_interleaved_components(0),
      max_transform_feedback_separate_attribs(0),
      max_transform_feedback_separate_components(0),
      max_uniform_block_size(0),
      max_uniform_buffer_bindings(0),
      max_varying_components(0),
      max_vertex_output_components(0),
      max_vertex_uniform_blocks(0),
      max_vertex_uniform_components(0),
      min_program_texel_offset(0),
      num_extensions(0),
      num_program_binary_formats(0),
      uniform_buffer_offset_alignment(1),
      post_sub_buffer(false),
      swap_buffers_with_damage(false),
      commit_overlay_planes(false),
      egl_image_external(false),
      texture_format_astc(false),
      texture_format_atc(false),
      texture_format_bgra8888(false),
      texture_format_dxt1(false),
      texture_format_dxt5(false),
      texture_format_etc1(false),
      texture_format_etc1_npot(false),
      texture_rectangle(false),
      iosurface(false),
      texture_usage(false),
      texture_storage(false),
      discard_framebuffer(false),
      sync_query(false),
      future_sync_points(false),
      blend_equation_advanced(false),
      blend_equation_advanced_coherent(false),
      texture_rg(false),
      texture_half_float_linear(false),
      image_ycbcr_422(false),
      image_ycbcr_420v(false),
      render_buffer_format_bgra8888(false),
      occlusion_query_boolean(false),
      timer_queries(false),
      surfaceless(false),
      flips_vertically(false),
      msaa_is_slow(false),
      disable_one_component_textures(false),
      disable_multisampling_color_mask_usage(false),
      disable_webgl_rgb_multisampling_usage(false),
      chromium_image_rgb_emulation(false),
      emulate_rgb_buffer_with_rgba(false),
      major_version(2),
      minor_version(0) {}

Capabilities::Capabilities(const Capabilities& other) = default;

}  // namespace gpu
