| # Copyright 2013 The Flutter Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| import("//flutter/common/config.gni") | |
| import("//flutter/impeller/tools/impeller.gni") | |
| import("//flutter/testing/testing.gni") | |
| source_set("gpu") { | |
| cflags = [ | |
| # Dart gives us doubles. Skia and Impeller work in floats. | |
| # If Dart gives us a double > FLT_MAX or < -FLT_MAX, implicit conversion | |
| # will convert it to either inf/-inf or FLT_MAX/-FLT_MAX (undefined | |
| # behavior). This can result in surprising and difficult to debug behavior | |
| # for Flutter application developers, so it should be explicitly handled | |
| # via SafeNarrow. | |
| "-Wimplicit-float-conversion", | |
| ] | |
| if (is_win) { | |
| # This causes build failures in third_party dependencies on Windows. | |
| cflags += [ "-Wno-implicit-int-float-conversion" ] | |
| } | |
| public_configs = [ "//flutter:config" ] | |
| public_deps = [] | |
| if (!defined(defines)) { | |
| defines = [] | |
| } | |
| if (!is_fuchsia) { | |
| sources = [ | |
| "command_buffer.cc", | |
| "command_buffer.h", | |
| "context.cc", | |
| "context.h", | |
| "device_buffer.cc", | |
| "device_buffer.h", | |
| "export.cc", | |
| "export.h", | |
| "fixtures.cc", | |
| "fixtures.h", | |
| "formats.cc", | |
| "formats.h", | |
| "host_buffer.cc", | |
| "host_buffer.h", | |
| "render_pass.cc", | |
| "render_pass.h", | |
| "render_pipeline.cc", | |
| "render_pipeline.h", | |
| "shader.cc", | |
| "shader.h", | |
| "shader_library.cc", | |
| "shader_library.h", | |
| "smoketest.cc", | |
| "smoketest.h", | |
| "texture.cc", | |
| "texture.h", | |
| ] | |
| } | |
| deps = [ | |
| "//flutter/assets", | |
| "//flutter/impeller", | |
| "//flutter/impeller/display_list:skia_conversions", | |
| "//flutter/impeller/shader_bundle:shader_bundle_flatbuffers", | |
| "//flutter/lib/ui", | |
| "//flutter/third_party/tonic", | |
| ] | |
| if (is_win) { | |
| # Required for M_PI and others. | |
| defines += [ "_USE_MATH_DEFINES" ] | |
| } | |
| } | |
| if (enable_unittests) { | |
| } |