Skip to content

Commit bfb26e9

Browse files
committed
Apply Tizen GL-only GN optimization flags
Disable unused Vulkan-related backends and validation layers for Tizen GL engine artifacts generated by the GitHub Actions workflow. Applied GN args: - skia_use_vulkan=false - shell_enable_vulkan=false - impeller_enable_vulkan=false - enable_vulkan_validation_layers=false - impeller_enable_vulkan_validation_layers=false This configuration is intended for the current Tizen GL Skia and GL Impeller artifacts. The expected benefit is smaller engine/package size and a modest resident-memory reduction, while launch-time improvement is expected to be negligible. Known limitations and risks: - Vulkan Impeller artifacts must not reuse this configuration because the Vulkan Impeller backend is not built. - Vulkan shell/surface and Skia Vulkan paths are unavailable in these artifacts. - Debug builds cannot use Vulkan validation layers for Vulkan diagnostics. - GL-only artifacts should be distinguishable from Vulkan-ready artifacts to avoid validation mistakes. - When Tizen changes the default renderer to Vulkan Impeller, GL and Vulkan artifact configurations should be split. - Future platform-view, video, external texture, or shared-image paths that depend on Vulkan image import require Vulkan-enabled artifacts. - The Windows workflow expands TIZEN_GL_GN_ARGS by whitespace, so future quoted or space-containing GN args need explicit handling.
1 parent a233b7a commit bfb26e9

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

.github/workflows/build.yml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
name: Build
22

33
on: [push, pull_request]
4+
5+
env:
6+
TIZEN_GL_GN_ARGS: >-
7+
--gn-args=skia_use_vulkan=false
8+
--gn-args=shell_enable_vulkan=false
9+
--gn-args=impeller_enable_vulkan=false
10+
--gn-args=enable_vulkan_validation_layers=false
11+
--gn-args=impeller_enable_vulkan_validation_layers=false
12+
413
jobs:
514
build:
615
runs-on: ubuntu-latest
@@ -78,7 +87,8 @@ jobs:
7887
--runtime-mode ${{ matrix.mode }} \
7988
--enable-fontconfig \
8089
--disable-desktop-embeddings \
81-
--target-dir build
90+
--target-dir build \
91+
${TIZEN_GL_GN_ARGS}
8292
cd engine/src
8393
ninja -C out/build flutter_engine_library
8494
cp -f flutter/third_party/icu/flutter/icudtl.dat out/build
@@ -96,7 +106,8 @@ jobs:
96106
--runtime-mode ${{ matrix.mode }} \
97107
--enable-fontconfig \
98108
--disable-desktop-embeddings \
99-
--target-dir build
109+
--target-dir build \
110+
${TIZEN_GL_GN_ARGS}
100111
101112
cd engine/src
102113
ninja -C out/build flutter_engine_library
@@ -197,12 +208,14 @@ jobs:
197208
- name: Build
198209
working-directory: C:\workspace\flutter\engine\src
199210
run: |
211+
$tizenGnArgs = $Env:TIZEN_GL_GN_ARGS -split ' '
200212
python3 .\flutter\tools\gn `
201213
--linux `
202214
--linux-cpu=${{ matrix.arch }} `
203215
--runtime-mode=${{ matrix.mode }} `
204216
--no-goma `
205-
--target-dir build
217+
--target-dir build `
218+
@tizenGnArgs
206219
ninja -C .\out\build gen_snapshot
207220
208221
- uses: actions/upload-artifact@v4
@@ -258,7 +271,8 @@ jobs:
258271
--target-triple _ \
259272
--runtime-mode=${{ matrix.mode }} \
260273
--disable-desktop-embeddings \
261-
--target-dir build
274+
--target-dir build \
275+
${TIZEN_GL_GN_ARGS}
262276
cd engine/src
263277
ninja -C out/build clang_arm64/gen_snapshot
264278
@@ -315,7 +329,8 @@ jobs:
315329
--target-triple _ \
316330
--runtime-mode=${{ matrix.mode }} \
317331
--disable-desktop-embeddings \
318-
--target-dir build
332+
--target-dir build \
333+
${TIZEN_GL_GN_ARGS}
319334
cd engine/src
320335
ninja -C out/build clang_x64/gen_snapshot
321336

0 commit comments

Comments
 (0)