blob: 2cf663bc4db1dcac8d3d3512dfa8f58284aab47d [file] [log] [blame]
# 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/impeller/tools/impeller.gni")
if (impeller_enable_compute) {
impeller_shaders("compute_shaders") {
name = "compute"
enable_opengles = false
if (impeller_enable_vulkan) {
vulkan_language_version = 130
}
if (is_ios) {
metal_version = "2.4"
} else if (is_mac) {
metal_version = "2.1"
}
shaders = [
"stroke.comp",
"path_polyline.comp",
"prefix_sum_test.comp",
"threadgroup_sizing_test.comp",
]
}
impeller_component("compute_tessellation_unittests") {
testonly = true
sources = [ "compute_subgroup_unittests.cc" ]
deps = [
":compute_shaders",
":renderer",
"../display_list:skia_conversions",
"../entity",
"../fixtures",
"../playground:playground_test",
"//flutter/testing:testing_lib",
]
}
}
impeller_component("renderer") {
sources = [
"blit_command.cc",
"blit_command.h",
"blit_pass.cc",
"blit_pass.h",
"capabilities.cc",
"capabilities.h",
"command.cc",
"command.h",
"command_buffer.cc",
"command_buffer.h",
"command_queue.cc",
"command_queue.h",
"compute_pass.cc",
"compute_pass.h",
"compute_pipeline_builder.cc",
"compute_pipeline_builder.h",
"compute_pipeline_descriptor.cc",
"compute_pipeline_descriptor.h",
"context.cc",
"context.h",
"pipeline.cc",
"pipeline.h",
"pipeline_builder.cc",
"pipeline_builder.h",
"pipeline_descriptor.cc",
"pipeline_descriptor.h",
"pipeline_library.cc",
"pipeline_library.h",
"pool.h",
"render_pass.cc",
"render_pass.h",
"render_target.cc",
"render_target.h",
"renderer.cc",
"renderer.h",
"sampler_library.cc",
"sampler_library.h",
"shader_function.cc",
"shader_function.h",
"shader_key.cc",
"shader_key.h",
"shader_library.cc",
"shader_library.h",
"snapshot.cc",
"snapshot.h",
"surface.cc",
"surface.h",
"texture_mipmap.cc",
"texture_mipmap.h",
"vertex_buffer_builder.cc",
"vertex_buffer_builder.h",
"vertex_descriptor.cc",
"vertex_descriptor.h",
]
public_deps = [
"../base",
"../core",
"../geometry",
"../runtime_stage",
"../tessellator",
]
if (impeller_enable_compute) {
sources += [
"compute_tessellator.cc",
"compute_tessellator.h",
]
public_deps += [ ":compute_shaders" ]
}
deps = [ "//flutter/fml" ]
}
impeller_component("renderer_unittests") {
testonly = true
sources = [
"blit_pass_unittests.cc",
"capabilities_unittests.cc",
"device_buffer_unittests.cc",
"pipeline_descriptor_unittests.cc",
"pool_unittests.cc",
"renderer_unittests.cc",
]
deps = [
":renderer",
"../fixtures",
"../playground:playground_test",
"//flutter/testing:testing_lib",
]
if (impeller_enable_compute) {
sources += [ "compute_unittests.cc" ]
}
}
impeller_component("renderer_dart_unittests") {
testonly = true
sources = [ "renderer_dart_unittests.cc" ]
public_configs = [ "//flutter:export_dynamic_symbols" ]
deps = [
":renderer",
"../fixtures:flutter_gpu_fixtures",
"../fixtures:flutter_gpu_shaders",
"../playground:playground_test",
"//flutter/lib/gpu",
"//flutter/lib/snapshot",
"//flutter/runtime:runtime",
"//flutter/testing:fixture_test",
"//flutter/testing:testing",
]
}