1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Multiply-included message file, hence no include guard here.
6 #include "gpu/command_buffer/common/capabilities.h"
7 #include "gpu/gpu_export.h"
8 #include "ipc/ipc_message_utils.h"
9 #include "ipc/param_traits_macros.h"
11 #undef IPC_MESSAGE_EXPORT
12 #define IPC_MESSAGE_EXPORT GPU_EXPORT
14 IPC_STRUCT_TRAITS_BEGIN(gpu::Capabilities::ShaderPrecision
)
15 IPC_STRUCT_TRAITS_MEMBER(min_range
)
16 IPC_STRUCT_TRAITS_MEMBER(max_range
)
17 IPC_STRUCT_TRAITS_MEMBER(precision
)
18 IPC_STRUCT_TRAITS_END()
20 IPC_STRUCT_TRAITS_BEGIN(gpu::Capabilities::PerStagePrecisions
)
21 IPC_STRUCT_TRAITS_MEMBER(low_int
)
22 IPC_STRUCT_TRAITS_MEMBER(medium_int
)
23 IPC_STRUCT_TRAITS_MEMBER(high_int
)
24 IPC_STRUCT_TRAITS_MEMBER(low_float
)
25 IPC_STRUCT_TRAITS_MEMBER(medium_float
)
26 IPC_STRUCT_TRAITS_MEMBER(high_float
)
27 IPC_STRUCT_TRAITS_END()
29 IPC_STRUCT_TRAITS_BEGIN(gpu::Capabilities
)
30 IPC_STRUCT_TRAITS_MEMBER(vertex_shader_precisions
)
31 IPC_STRUCT_TRAITS_MEMBER(fragment_shader_precisions
)
32 IPC_STRUCT_TRAITS_MEMBER(max_combined_texture_image_units
)
33 IPC_STRUCT_TRAITS_MEMBER(max_cube_map_texture_size
)
34 IPC_STRUCT_TRAITS_MEMBER(max_fragment_uniform_vectors
)
35 IPC_STRUCT_TRAITS_MEMBER(max_renderbuffer_size
)
36 IPC_STRUCT_TRAITS_MEMBER(max_texture_image_units
)
37 IPC_STRUCT_TRAITS_MEMBER(max_texture_size
)
38 IPC_STRUCT_TRAITS_MEMBER(max_varying_vectors
)
39 IPC_STRUCT_TRAITS_MEMBER(max_vertex_attribs
)
40 IPC_STRUCT_TRAITS_MEMBER(max_vertex_texture_image_units
)
41 IPC_STRUCT_TRAITS_MEMBER(max_vertex_uniform_vectors
)
42 IPC_STRUCT_TRAITS_MEMBER(num_compressed_texture_formats
)
43 IPC_STRUCT_TRAITS_MEMBER(num_shader_binary_formats
)
44 IPC_STRUCT_TRAITS_MEMBER(bind_generates_resource_chromium
)
46 IPC_STRUCT_TRAITS_MEMBER(max_3d_texture_size
)
47 IPC_STRUCT_TRAITS_MEMBER(max_array_texture_layers
)
48 IPC_STRUCT_TRAITS_MEMBER(max_color_attachments
)
49 IPC_STRUCT_TRAITS_MEMBER(max_combined_fragment_uniform_components
)
50 IPC_STRUCT_TRAITS_MEMBER(max_combined_uniform_blocks
)
51 IPC_STRUCT_TRAITS_MEMBER(max_combined_vertex_uniform_components
)
52 IPC_STRUCT_TRAITS_MEMBER(max_copy_texture_chromium_size
)
53 IPC_STRUCT_TRAITS_MEMBER(max_draw_buffers
)
54 IPC_STRUCT_TRAITS_MEMBER(max_element_index
)
55 IPC_STRUCT_TRAITS_MEMBER(max_elements_indices
)
56 IPC_STRUCT_TRAITS_MEMBER(max_elements_vertices
)
57 IPC_STRUCT_TRAITS_MEMBER(max_fragment_input_components
)
58 IPC_STRUCT_TRAITS_MEMBER(max_fragment_uniform_blocks
)
59 IPC_STRUCT_TRAITS_MEMBER(max_fragment_uniform_components
)
60 IPC_STRUCT_TRAITS_MEMBER(max_program_texel_offset
)
61 IPC_STRUCT_TRAITS_MEMBER(max_samples
)
62 IPC_STRUCT_TRAITS_MEMBER(max_server_wait_timeout
)
63 IPC_STRUCT_TRAITS_MEMBER(max_texture_lod_bias
)
64 IPC_STRUCT_TRAITS_MEMBER(max_transform_feedback_interleaved_components
)
65 IPC_STRUCT_TRAITS_MEMBER(max_transform_feedback_separate_attribs
)
66 IPC_STRUCT_TRAITS_MEMBER(max_transform_feedback_separate_components
)
67 IPC_STRUCT_TRAITS_MEMBER(max_uniform_block_size
)
68 IPC_STRUCT_TRAITS_MEMBER(max_uniform_buffer_bindings
)
69 IPC_STRUCT_TRAITS_MEMBER(max_varying_components
)
70 IPC_STRUCT_TRAITS_MEMBER(max_vertex_output_components
)
71 IPC_STRUCT_TRAITS_MEMBER(max_vertex_uniform_blocks
)
72 IPC_STRUCT_TRAITS_MEMBER(max_vertex_uniform_components
)
73 IPC_STRUCT_TRAITS_MEMBER(min_program_texel_offset
)
74 IPC_STRUCT_TRAITS_MEMBER(num_extensions
)
75 IPC_STRUCT_TRAITS_MEMBER(num_program_binary_formats
)
76 IPC_STRUCT_TRAITS_MEMBER(uniform_buffer_offset_alignment
)
78 IPC_STRUCT_TRAITS_MEMBER(post_sub_buffer
)
79 IPC_STRUCT_TRAITS_MEMBER(egl_image_external
)
80 IPC_STRUCT_TRAITS_MEMBER(texture_format_atc
)
81 IPC_STRUCT_TRAITS_MEMBER(texture_format_bgra8888
)
82 IPC_STRUCT_TRAITS_MEMBER(texture_format_dxt1
)
83 IPC_STRUCT_TRAITS_MEMBER(texture_format_dxt5
)
84 IPC_STRUCT_TRAITS_MEMBER(texture_format_etc1
)
85 IPC_STRUCT_TRAITS_MEMBER(texture_format_etc1_npot
)
86 IPC_STRUCT_TRAITS_MEMBER(texture_rectangle
)
87 IPC_STRUCT_TRAITS_MEMBER(iosurface
)
88 IPC_STRUCT_TRAITS_MEMBER(texture_usage
)
89 IPC_STRUCT_TRAITS_MEMBER(texture_storage
)
90 IPC_STRUCT_TRAITS_MEMBER(discard_framebuffer
)
91 IPC_STRUCT_TRAITS_MEMBER(sync_query
)
92 IPC_STRUCT_TRAITS_MEMBER(image
)
93 IPC_STRUCT_TRAITS_MEMBER(future_sync_points
)
94 IPC_STRUCT_TRAITS_MEMBER(blend_equation_advanced
)
95 IPC_STRUCT_TRAITS_MEMBER(blend_equation_advanced_coherent
)
96 IPC_STRUCT_TRAITS_MEMBER(texture_rg
)
97 IPC_STRUCT_TRAITS_MEMBER(render_buffer_format_bgra8888
)
98 IPC_STRUCT_TRAITS_MEMBER(occlusion_query_boolean
)
99 IPC_STRUCT_TRAITS_MEMBER(timer_queries
)
100 IPC_STRUCT_TRAITS_MEMBER(surfaceless
)
102 IPC_STRUCT_TRAITS_MEMBER(major_version
)
103 IPC_STRUCT_TRAITS_MEMBER(minor_version
)
104 IPC_STRUCT_TRAITS_END()