1 # Copyright (c) 2013 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 # The files here go into the "gpu" component in a component build (with
6 # "command_buffer_client" and "gles2_cmd_helper" just forwarding) and goes into
7 # separate static libraries in non-component build. This needs to match the
8 # GYP build which was likely an attempt to make larger components to help with
11 if (is_component_build) {
22 group("gles2_cmd_helper") {
23 if (is_component_build) {
29 ":gles2_cmd_helper_sources",
34 source_set("client_sources") {
35 visibility = [ "//gpu/*" ]
38 "cmd_buffer_helper.cc",
39 "cmd_buffer_helper.h",
40 "fenced_allocator.cc",
43 "gpu_memory_buffer_manager.cc",
44 "gpu_memory_buffer_manager.h",
54 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
55 "//build/config/compiler:no_size_t_to_int_warning",
56 "//gpu:gpu_implementation",
59 all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
62 "//gpu/command_buffer/common:common_sources",
66 source_set("gles2_cmd_helper_sources") {
67 visibility = [ "//gpu/*" ]
69 "gles2_cmd_helper.cc",
71 "gles2_cmd_helper_autogen.h",
75 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
76 "//build/config/compiler:no_size_t_to_int_warning",
77 "//gpu:gpu_implementation",
85 gles2_c_lib_source_files = [
87 "gles2_c_lib_autogen.h",
88 "gles2_c_lib_export.h",
93 gles2_implementation_source_files = [
96 "client_context_state.cc",
97 "client_context_state.h",
98 "client_context_state_autogen.h",
99 "client_context_state_impl_autogen.h",
100 "gles2_impl_export.h",
101 "gles2_implementation.cc",
102 "gles2_implementation.h",
103 "gles2_implementation_autogen.h",
104 "gles2_implementation_impl_autogen.h",
105 "gles2_trace_implementation.cc",
106 "gles2_trace_implementation.h",
107 "gles2_trace_implementation_autogen.h",
108 "gles2_trace_implementation_impl_autogen.h",
111 "program_info_manager.cc",
112 "program_info_manager.h",
117 "vertex_array_object_manager.cc",
118 "vertex_array_object_manager.h",
121 # Provides GLES2 interface, but does not cause any implementation to be linked
122 # in. Useful when a target uses the interface, but permits its users to choose
124 source_set("gles2_interface") {
128 public_configs = [ "//third_party/khronos:khronos_headers" ]
134 # Library emulates GLES2 using command_buffers.
135 component("gles2_implementation") {
136 sources = gles2_implementation_source_files
138 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
139 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
141 defines = [ "GLES2_IMPL_IMPLEMENTATION" ]
142 all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
148 "//gpu/command_buffer/common:gles2_utils",
153 # Library emulates GLES2 using command_buffers.
154 component("gles2_implementation_no_check") {
155 sources = gles2_implementation_source_files
157 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
158 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
161 "GLES2_IMPL_IMPLEMENTATION",
162 "GLES2_CONFORMANCE_TESTS=1",
168 "//gpu/command_buffer/common:gles2_utils",
174 component("gl_in_process_context") {
176 "gl_in_process_context.cc",
177 "gl_in_process_context.h",
178 "gl_in_process_context_export.h",
181 defines = [ "GL_IN_PROCESS_CONTEXT_IMPLEMENTATION" ]
184 ":gles2_implementation",
186 "//gpu/command_buffer/common:gles2_utils",
188 "//base/third_party/dynamic_annotations",
194 component("gles2_c_lib") {
195 sources = gles2_c_lib_source_files
196 defines = [ "GLES2_C_LIB_IMPLEMENTATION" ]
198 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
199 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
205 "//base/third_party/dynamic_annotations",
206 "//gpu/command_buffer/common",
210 # GYP version: gpu/gpu.gyp:gles2_c_lib_nocheck
211 # Same as gles2_c_lib except with no parameter checking. Required for
212 # OpenGL ES 2.0 conformance tests.
213 component("gles2_c_lib_nocheck") {
214 sources = gles2_c_lib_source_files
217 "GLES2_C_LIB_IMPLEMENTATION",
218 "GLES2_CONFORMANCE_TESTS=1",
222 ":gles2_implementation_no_check",
225 "//base/third_party/dynamic_annotations",
226 "//gpu/command_buffer/common",