| # Copyright (c) 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. |
| |
| # The files here go into the "gpu" component in a component build (with |
| # "command_buffer_common" just forwarding) and goes into a static library in |
| # non-component build. This needs to match the GYP build which was likely an |
| # attempt to make larger components to help with loading. |
| |
| import("//build/config/jumbo.gni") |
| |
| group("common") { |
| if (is_component_build) { |
| public_deps = [ |
| "//gpu", |
| ] |
| } else { |
| public_deps = [ |
| ":common_sources", |
| ] |
| } |
| } |
| |
| group("gles2") { |
| if (is_component_build) { |
| public_deps = [ |
| "//gpu:gles2", |
| ] |
| } else { |
| public_deps = [ |
| ":gles2_sources", |
| ] |
| } |
| } |
| |
| group("raster") { |
| if (is_component_build) { |
| public_deps = [ |
| "//gpu:gles2", |
| ] |
| } else { |
| public_deps = [ |
| ":raster_sources", |
| ] |
| } |
| } |
| |
| group("webgpu") { |
| public_deps = [ |
| ":webgpu_sources", |
| ] |
| } |
| |
| jumbo_source_set("common_sources") { |
| visibility = [ "//gpu/*" ] |
| |
| sources = [ |
| "activity_flags.cc", |
| "activity_flags.h", |
| "bitfield_helpers.h", |
| "buffer.cc", |
| "buffer.h", |
| "capabilities.cc", |
| "capabilities.h", |
| "cmd_buffer_common.cc", |
| "cmd_buffer_common.h", |
| "command_buffer.h", |
| "command_buffer_id.h", |
| "common_cmd_format.h", |
| "constants.h", |
| "context_creation_attribs.cc", |
| "context_creation_attribs.h", |
| "context_result.cc", |
| "context_result.h", |
| "debug_marker_manager.cc", |
| "debug_marker_manager.h", |
| "discardable_handle.cc", |
| "discardable_handle.h", |
| "gl2_types.h", |
| "gpu_memory_buffer_support.cc", |
| "gpu_memory_buffer_support.h", |
| "id_allocator.cc", |
| "id_allocator.h", |
| "id_type.h", |
| "mailbox.cc", |
| "mailbox.h", |
| "mailbox_holder.cc", |
| "mailbox_holder.h", |
| "presentation_feedback_utils.cc", |
| "presentation_feedback_utils.h", |
| "scheduling_priority.cc", |
| "scheduling_priority.h", |
| "shared_image_trace_utils.cc", |
| "shared_image_trace_utils.h", |
| "shared_image_usage.h", |
| "swap_buffers_complete_params.cc", |
| "swap_buffers_complete_params.h", |
| "swap_buffers_flags.h", |
| "sync_token.cc", |
| "sync_token.h", |
| "texture_in_use_response.h", |
| "thread_local.h", |
| "time.h", |
| ] |
| |
| configs += [ "//gpu:gpu_implementation" ] |
| |
| public_deps = [ |
| "//mojo/public/cpp/system", |
| "//ui/gfx:memory_buffer", |
| "//ui/gfx/geometry", |
| ] |
| |
| deps = [ |
| "//base", |
| ] |
| |
| # TODO(piman): needed for gpu_memory_buffer_support.cc. Split common vs gles2 |
| # specifics. |
| configs += [ "//third_party/khronos:khronos_headers" ] |
| } |
| |
| source_set("gles2_sources") { |
| visibility = [ "//gpu/*" ] |
| |
| sources = [ |
| "gles2_cmd_format.cc", |
| "gles2_cmd_format.h", |
| "gles2_cmd_format_autogen.h", |
| "gles2_cmd_ids.h", |
| "gles2_cmd_ids_autogen.h", |
| ] |
| |
| configs += [ |
| "//gpu:gpu_gles2_implementation", |
| "//build/config/compiler:no_shorten_64_warnings", |
| ] |
| |
| deps = [ |
| ":gles2_utils", |
| "//base", |
| ] |
| public_deps = [ |
| ":common", |
| ] |
| } |
| |
| source_set("raster_sources") { |
| visibility = [ "//gpu/*" ] |
| |
| sources = [ |
| "raster_cmd_format.cc", |
| "raster_cmd_format.h", |
| "raster_cmd_format_autogen.h", |
| "raster_cmd_ids.h", |
| "raster_cmd_ids_autogen.h", |
| "skia_utils.cc", |
| "skia_utils.h", |
| ] |
| |
| configs += [ "//gpu:raster_implementation" ] |
| |
| deps = [ |
| ":gles2_utils", |
| "//base", |
| "//skia", |
| "//ui/gl:gl", |
| ] |
| public_deps = [ |
| ":common", |
| "//components/viz/common:resource_format", |
| ] |
| } |
| |
| source_set("webgpu_sources") { |
| visibility = [ "//gpu/*" ] |
| |
| sources = [ |
| "webgpu_cmd_format.cc", |
| "webgpu_cmd_format.h", |
| "webgpu_cmd_format_autogen.h", |
| "webgpu_cmd_ids.h", |
| "webgpu_cmd_ids_autogen.h", |
| ] |
| |
| configs += [ "//gpu:webgpu_implementation" ] |
| |
| deps = [ |
| ":gles2_utils", |
| "//base", |
| ] |
| public_deps = [ |
| ":common", |
| ] |
| } |
| |
| component("gles2_utils") { |
| sources = [ |
| "gles2_cmd_utils.cc", |
| "gles2_cmd_utils.h", |
| "gles2_utils_export.h", |
| ] |
| |
| defines = [ "GLES2_UTILS_IMPLEMENTATION" ] |
| |
| deps = [ |
| "//base", |
| ] |
| |
| all_dependent_configs = [ "//third_party/khronos:khronos_headers" ] |
| } |