Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cmake/fml.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,6 @@ target_include_directories(fml
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> # For includes starting with "third_party/" (abseil-cpp)
$<BUILD_INTERFACE:${THIRD_PARTY_DIR}>/abseil-cpp # For includes starting with "absl/" (in the abseil headers)
$<BUILD_INTERFACE:${THIRD_PARTY_DIR}>/flutter_third_party # For includes beginning with "flutter/third_party"
$<BUILD_INTERFACE:${FLUTTER_INCLUDE_DIR}>) # For includes starting with "flutter/"
target_link_libraries(fml PRIVATE absl_symbolize)
106 changes: 39 additions & 67 deletions cmake/impeller_entity.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,107 +10,83 @@ set(IMPELLER_ENTITY_DIR ${FLUTTER_ENGINE_DIR}/impeller/entity
add_gles_shader_library(
NAME entity
SHADERS
"${IMPELLER_ENTITY_DIR}/shaders/debug/checkerboard.vert"
"${IMPELLER_ENTITY_DIR}/shaders/debug/checkerboard.frag"
"${IMPELLER_ENTITY_DIR}/shaders/blending/advanced_blend.vert"
"${IMPELLER_ENTITY_DIR}/shaders/blending/advanced_blend.frag"
"${IMPELLER_ENTITY_DIR}/shaders/blending/blend.frag"
"${IMPELLER_ENTITY_DIR}/shaders/blending/blend.vert"
"${IMPELLER_ENTITY_DIR}/shaders/border_mask_blur.frag"
"${IMPELLER_ENTITY_DIR}/shaders/border_mask_blur.vert"
"${IMPELLER_ENTITY_DIR}/shaders/clip.frag"
"${IMPELLER_ENTITY_DIR}/shaders/clip.vert"
"${IMPELLER_ENTITY_DIR}/shaders/color_matrix_color_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/color_matrix_color_filter.vert"
"${IMPELLER_ENTITY_DIR}/shaders/conical_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gaussian_blur/gaussian_blur.vert"
"${IMPELLER_ENTITY_DIR}/shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gaussian_blur/kernel_decal.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gaussian_blur/kernel_nodecal.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/conical_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/glyph_atlas.frag"
"${IMPELLER_ENTITY_DIR}/shaders/glyph_atlas_color.frag"
"${IMPELLER_ENTITY_DIR}/shaders/glyph_atlas.vert"
"${IMPELLER_ENTITY_DIR}/shaders/gradient_fill.vert"
"${IMPELLER_ENTITY_DIR}/shaders/linear_to_srgb_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/linear_to_srgb_filter.vert"
"${IMPELLER_ENTITY_DIR}/shaders/linear_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/morphology_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/morphology_filter.vert"
"${IMPELLER_ENTITY_DIR}/shaders/position_color.vert"
"${IMPELLER_ENTITY_DIR}/shaders/radial_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/gradient_fill.vert"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/linear_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/radial_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/rrect_blur.vert"
"${IMPELLER_ENTITY_DIR}/shaders/rrect_blur.frag"
"${IMPELLER_ENTITY_DIR}/shaders/runtime_effect.vert"
"${IMPELLER_ENTITY_DIR}/shaders/solid_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/solid_fill.vert"
"${IMPELLER_ENTITY_DIR}/shaders/srgb_to_linear_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/srgb_to_linear_filter.vert"
"${IMPELLER_ENTITY_DIR}/shaders/sweep_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/sweep_gradient_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/texture_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/texture_fill.vert"
"${IMPELLER_ENTITY_DIR}/shaders/texture_fill_external.frag"
"${IMPELLER_ENTITY_DIR}/shaders/texture_fill_strict_src.frag"
"${IMPELLER_ENTITY_DIR}/shaders/texture_uv_fill.vert"
"${IMPELLER_ENTITY_DIR}/shaders/tiled_texture_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/tiled_texture_fill_external.frag"
"${IMPELLER_ENTITY_DIR}/shaders/vertices.frag"
"${IMPELLER_ENTITY_DIR}/shaders/yuv_to_rgb_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/yuv_to_rgb_filter.vert"
"${IMPELLER_ENTITY_DIR}/shaders/texture_fill_strict_src.frag"
"${IMPELLER_ENTITY_DIR}/shaders/blending/porter_duff_blend.frag"
"${IMPELLER_ENTITY_DIR}/shaders/blending/porter_duff_blend.vert"
"${IMPELLER_ENTITY_DIR}/shaders/filters/border_mask_blur.frag"
"${IMPELLER_ENTITY_DIR}/shaders/filters/color_matrix_color_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/filters/filter_position.vert"
"${IMPELLER_ENTITY_DIR}/shaders/filters/filter_position_uv.vert"
"${IMPELLER_ENTITY_DIR}/shaders/filters/gaussian.frag"
"${IMPELLER_ENTITY_DIR}/shaders/filters/yuv_to_rgb_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/filters/srgb_to_linear_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/filters/linear_to_srgb_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/filters/morphology_filter.frag"
"${IMPELLER_ENTITY_DIR}/shaders/blending/vertices_uber.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/fast_gradient.vert"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/fast_gradient.frag"
OUTPUT_DIR ${IMPELLER_GENERATED_DIR}/impeller/entity)

add_library(entity_shaders_lib STATIC
"${IMPELLER_GENERATED_DIR}/impeller/entity/gles/entity_shaders_gles.cc"

"${IMPELLER_GENERATED_DIR}/impeller/entity/checkerboard.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/checkerboard.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/advanced_blend.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/advanced_blend.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/blend.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/blend.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/border_mask_blur.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/border_mask_blur.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/clip.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/clip.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/color_matrix_color_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/color_matrix_color_filter.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/conical_gradient_fill.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/gaussian_blur.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/gaussian_blur_noalpha_decal.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/gaussian_blur_noalpha_nodecal.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/kernel_decal.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/kernel_nodecal.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/glyph_atlas.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/glyph_atlas_color.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/glyph_atlas.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/gradient_fill.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/linear_to_srgb_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/linear_to_srgb_filter.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/linear_gradient_fill.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/morphology_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/morphology_filter.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/position_color.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/radial_gradient_fill.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/rrect_blur.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/rrect_blur.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/runtime_effect.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/solid_fill.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/solid_fill.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/srgb_to_linear_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/srgb_to_linear_filter.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/sweep_gradient_fill.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/texture_fill.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/texture_fill.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/texture_fill_external.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/texture_fill_strict_src.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/texture_uv_fill.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/tiled_texture_fill.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/tiled_texture_fill_external.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/vertices.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/yuv_to_rgb_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/yuv_to_rgb_filter.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/texture_fill_strict_src.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/porter_duff_blend.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/porter_duff_blend.vert")
"${IMPELLER_GENERATED_DIR}/impeller/entity/porter_duff_blend.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/border_mask_blur.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/color_matrix_color_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/filter_position.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/filter_position_uv.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/gaussian.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/yuv_to_rgb_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/srgb_to_linear_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/linear_to_srgb_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/morphology_filter.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/vertices_uber.frag"
"${IMPELLER_GENERATED_DIR}/impeller/entity/fast_gradient.vert"
"${IMPELLER_GENERATED_DIR}/impeller/entity/fast_gradient.frag")

target_include_directories(entity_shaders_lib
PUBLIC
Expand All @@ -124,22 +100,18 @@ add_gles_shader_library(
NAME modern
GLES_LANGUAGE_VERSION 460
SHADERS
"${IMPELLER_ENTITY_DIR}/shaders/conical_gradient_ssbo_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/linear_gradient_ssbo_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/radial_gradient_ssbo_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/sweep_gradient_ssbo_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/geometry/points.comp"
"${IMPELLER_ENTITY_DIR}/shaders/geometry/uv.comp"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/conical_gradient_ssbo_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/linear_gradient_ssbo_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/radial_gradient_ssbo_fill.frag"
"${IMPELLER_ENTITY_DIR}/shaders/gradients/sweep_gradient_ssbo_fill.frag"
OUTPUT_DIR ${IMPELLER_GENERATED_DIR}/impeller/entity)

add_library(modern_shaders_lib
"${IMPELLER_GENERATED_DIR}/impeller/entity/gles/modern_shaders_gles.cc"
"${IMPELLER_GENERATED_DIR}/impeller/entity/conical_gradient_ssbo_fill.frag.cc"
"${IMPELLER_GENERATED_DIR}/impeller/entity/linear_gradient_ssbo_fill.frag.cc"
"${IMPELLER_GENERATED_DIR}/impeller/entity/radial_gradient_ssbo_fill.frag.cc"
"${IMPELLER_GENERATED_DIR}/impeller/entity/sweep_gradient_ssbo_fill.frag.cc"
"${IMPELLER_GENERATED_DIR}/impeller/entity/points.comp"
"${IMPELLER_GENERATED_DIR}/impeller/entity/uv.comp")
"${IMPELLER_GENERATED_DIR}/impeller/entity/sweep_gradient_ssbo_fill.frag.cc")

target_include_directories(modern_shaders_lib
PUBLIC
Expand Down
5 changes: 0 additions & 5 deletions cmake/impeller_shader_archive.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@ flatbuffers_schema(
INPUT ${IMPELLER_SHADER_ARCHIVE_DIR}/shader_archive.fbs
OUTPUT_DIR ${IMPELLER_GENERATED_DIR}/impeller/shader_archive)

flatbuffers_schema(
TARGET impeller_shader_archive
INPUT ${IMPELLER_SHADER_ARCHIVE_DIR}/multi_arch_shader_archive.fbs
OUTPUT_DIR ${IMPELLER_GENERATED_DIR}/impeller/shader_archive)

target_include_directories(impeller_shader_archive
PUBLIC
$<BUILD_INTERFACE:${FLUTTER_INCLUDE_DIR}> # For includes starting with "flutter/"
Expand Down
2 changes: 1 addition & 1 deletion third_party/flutter
Submodule flutter updated 2164 files
19 changes: 19 additions & 0 deletions third_party/flutter_third_party/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# flutter_third_party

This directory exists for the sole purpose of supporting includes that begin
with `flutter/third_party`.

`third_party/flutter_third_party/flutter/third_party` is a symlink that
redirects to `third_party/flutter_third_party`.

And so CMake libraries can simply add
`${CMAKE_CURRENT_SOURCE_DIR}/third_party/flutter_third_party` to the includes
list alongside `${CMAKE_CURRENT_SOURCE_DIR}` to support both includes starting
with `flutter/third_party/` and `third_party/` respectively.

## Why?

When building Flutter Engine via the GN build, gclient clones many
dependencies into the `flutter/third_party` directory. And source files in
Flutter Engine may begin includes with either `flutter/third_party/` or
`third_party/` to access the headers in this directory.
1 change: 1 addition & 0 deletions third_party/flutter_third_party/flutter/third_party