| # 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") |
| import("//flutter/testing/testing.gni") |
| |
| impeller_component("playground") { |
| sources = [ |
| "playground.cc", |
| "playground.h", |
| "playground_impl.cc", |
| "playground_impl.h", |
| "widgets.cc", |
| "widgets.h", |
| ] |
| |
| deps = [ "../renderer/backend" ] |
| |
| if (impeller_enable_metal) { |
| sources += [ |
| "backend/metal/playground_impl_mtl.h", |
| "backend/metal/playground_impl_mtl.mm", |
| ] |
| } |
| |
| if (impeller_enable_opengles) { |
| sources += [ |
| "backend/gles/playground_impl_gles.cc", |
| "backend/gles/playground_impl_gles.h", |
| ] |
| } |
| |
| if (impeller_enable_vulkan) { |
| sources += [ |
| "backend/vulkan/playground_impl_vk.cc", |
| "backend/vulkan/playground_impl_vk.h", |
| ] |
| } |
| |
| public_deps = [ |
| "../entity:entity_shaders", |
| "../entity:framebuffer_blend_entity_shaders", |
| "../entity:modern_entity_shaders", |
| "../fixtures:shader_fixtures", |
| "../renderer", |
| "../scene/shaders", |
| "imgui:imgui_impeller_backend", |
| "//flutter/fml", |
| "//third_party/glfw", |
| "//third_party/imgui:imgui_glfw", |
| ] |
| |
| if (impeller_enable_vulkan || impeller_enable_metal) { |
| public_deps += [ "../fixtures:shader_subgroup_fixtures" ] |
| } |
| |
| public_configs = [ ":playground_config" ] |
| |
| if (is_mac) { |
| frameworks = [ |
| "AppKit.framework", |
| "QuartzCore.framework", |
| ] |
| } |
| } |
| |
| impeller_component("playground_test") { |
| testonly = true |
| |
| sources = [ |
| "compute_playground_test.cc", |
| "compute_playground_test.h", |
| "playground_test.cc", |
| "playground_test.h", |
| ] |
| |
| public_deps = [ |
| ":playground", |
| "//flutter/testing", |
| ] |
| } |
| |
| config("playground_config") { |
| if (impeller_enable_playground) { |
| defines = [ "IMPELLER_ENABLE_PLAYGROUND" ] |
| } |
| } |