Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / gpu / command_buffer / client / BUILD.gn
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.
4
5 source_set("client") {
6   sources = [
7     "cmd_buffer_helper.cc",
8     "cmd_buffer_helper.h",
9     "fenced_allocator.cc",
10     "fenced_allocator.h",
11     "gpu_control.h",
12     "mapped_memory.cc",
13     "mapped_memory.h",
14     "ring_buffer.cc",
15     "ring_buffer.h",
16     "transfer_buffer.cc",
17     "transfer_buffer.h",
18   ]
19
20   defines = [ "GPU_IMPLEMENTATION" ]
21
22   if (is_win) {
23     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
24     cflags = [ "/wd4267" ]  # size_t to int truncation.
25   }
26
27   all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
28
29   deps = [
30     "//gpu/command_buffer/common",
31   ]
32 }
33
34 group("gles2_cmd_helper") {
35   if (is_component_build) {
36     deps = [ "//gpu" ]
37   } else {
38     deps = [ ":gles2_cmd_helper_sources" ]
39   }
40 }
41
42 source_set("gles2_cmd_helper_sources") {
43   visibility = [ ":gles2_cmd_helper", "//gpu" ]
44   sources = [
45     "gles2_cmd_helper.cc",
46     "gles2_cmd_helper.h",
47     "gles2_cmd_helper_autogen.h",
48   ]
49
50   defines = [ "GPU_IMPLEMENTATION" ]
51
52   if (is_win) {
53     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
54     cflags = [ "/wd4267" ]  # size_t to int truncation.
55   }
56
57   deps = [ ":client" ]
58 }
59
60 gles2_c_lib_source_files = [
61   "gles2_c_lib.cc",
62   "gles2_c_lib_autogen.h",
63   "gles2_c_lib_export.h",
64   "gles2_lib.h",
65   "gles2_lib.cc",
66 ]
67
68 gles2_implementation_source_files = [
69   "buffer_tracker.cc",
70   "buffer_tracker.h",
71   "client_context_state.h",
72   "client_context_state.cc",
73   "client_context_state_autogen.h",
74   "client_context_state_impl_autogen.h",
75   "gles2_impl_export.h",
76   "gles2_implementation_autogen.h",
77   "gles2_implementation.cc",
78   "gles2_implementation.h",
79   "gles2_implementation_impl_autogen.h",
80   "gles2_trace_implementation_autogen.h",
81   "gles2_trace_implementation.cc",
82   "gles2_trace_implementation.h",
83   "gles2_trace_implementation_impl_autogen.h",
84   "gpu_switches.cc",
85   "gpu_switches.h",
86   "program_info_manager.cc",
87   "program_info_manager.h",
88   "query_tracker.cc",
89   "query_tracker.h",
90   "share_group.cc",
91   "share_group.h",
92   "vertex_array_object_manager.cc",
93   "vertex_array_object_manager.h",
94 ]
95
96 # Provides GLES2 interface, but does not cause any implementation to be linked
97 # in. Useful when a target uses the interface, but permits its users to choose
98 # an implementation.
99 source_set("gles2_interface") {
100   sources = [ "gles2_interface.h" ]
101   public_configs = [ "//third_party/khronos:khronos_headers" ]
102   deps = [
103     "//base",
104   ]
105 }
106
107 source_set("gpu_memory_buffer_manager") {
108   sources = [
109     "gpu_memory_buffer_manager.cc",
110     "gpu_memory_buffer_manager.h",
111   ]
112   deps = [
113     "//ui/gfx",
114   ]
115 }
116
117 # Library emulates GLES2 using command_buffers.
118 component("gles2_implementation") {
119   sources = gles2_implementation_source_files
120
121   defines = [ "GLES2_IMPL_IMPLEMENTATION" ]
122   all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
123
124   if (is_win) {
125     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
126     cflags = [ "/wd4267" ]  # size_t to int truncation.
127   }
128
129   deps = [
130     ":gles2_cmd_helper",
131     ":gles2_interface",
132     "//base",
133     "//gpu/command_buffer/common",
134     "//ui/gfx/geometry",
135   ]
136 }
137
138 component("gl_in_process_context") {
139   sources = [
140     "gl_in_process_context.h",
141     "gl_in_process_context.cc",
142     "gl_in_process_context_export.h",
143   ]
144
145   defines = [ "GL_IN_PROCESS_CONTEXT_IMPLEMENTATION" ]
146
147   deps = [
148     ":gles2_implementation",
149     ":gpu_memory_buffer_manager",
150     "//gpu",
151     "//gpu/command_buffer/common:gles2_utils",
152     "//base",
153     "//base/third_party/dynamic_annotations",
154     "//ui/gfx/geometry",
155     "//ui/gl",
156   ]
157 }
158
159 component("gles2_c_lib") {
160   sources = gles2_c_lib_source_files
161   defines = [ "GLES2_C_LIB_IMPLEMENTATION" ]
162
163   if (is_win) {
164     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
165     cflags = [ "/wd4267" ]  # size_t to int truncation.
166   }
167
168   deps = [
169     ":client",
170     ":gles2_interface",
171     "//base",
172     "//base/third_party/dynamic_annotations",
173     "//gpu/command_buffer/common",
174   ]
175 }
176