Skip to content

Multiview Support #446

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
80321d6
Add CodeChecker static analysis workflow
ardera Sep 15, 2024
2c6521e
add script for rolling `flutter_embedder.h`
ardera Aug 10, 2024
9deaf96
Roll `flutter_embedder.h`
ardera Aug 10, 2024
5f47825
util: add khash hashmap implementation
ardera May 8, 2025
a800a95
initial multidisplay work
ardera May 8, 2025
c1fe895
implement proper frame scheduling
ardera Sep 4, 2024
d521fff
drmdev: call release callback before scanout callback
ardera Sep 4, 2024
b3f3f8f
kms req builder: rename destroy_cb -> release_cb
ardera Sep 4, 2024
baae1e4
document event_loop
ardera Sep 4, 2024
4e1a12a
egl_gbm_render_surface: check we're using at most 3 fbs in debug mode
ardera Sep 4, 2024
cdfa8a9
start work on compositor display infra
ardera Sep 4, 2024
4efc403
add more multi-display infra
ardera Sep 11, 2024
b107de7
format lock_ops.h
ardera Sep 11, 2024
4e007b6
rework cmake presets
ardera Sep 11, 2024
885bcba
fix gstreamer plugins
ardera Sep 11, 2024
c643e7f
WIP
ardera Sep 15, 2024
d170148
fix analysis issues
ardera Sep 16, 2024
cc09145
fixes for codechecker
ardera Sep 17, 2024
2aa82fb
clang pedantic warning fixes
ardera Sep 17, 2024
bffa254
paste `CodeChecker parse` output in job summary
ardera Sep 17, 2024
d926d79
don't use drmIsKMS
ardera Sep 17, 2024
3bf69e6
define _GNU_SOURCE in kms_window for asprintf
ardera Sep 17, 2024
5871622
workaround analyzer issue in on_present_frame
ardera Sep 17, 2024
12de576
fix formatting of codechecker parse output in step summary
ardera Sep 17, 2024
98d8759
don't use drmModeGetConnectorTypeName
ardera Sep 17, 2024
c608d33
fix `FlutterWindowMetricsEvent` size check for armv7
ardera Sep 17, 2024
e9fc9bf
require `libsystemd` v243 at minimum
ardera Sep 17, 2024
d762d8c
ci: remove debian:buster container, add debian:bookworm container
ardera Sep 17, 2024
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
22 changes: 22 additions & 0 deletions .codechecker.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"analyze": [
"-d",
"clang-diagnostic-reserved-macro-identifier",
"-d",
"clang-diagnostic-reserved-identifier",
"-d",
"cert-err33-c",
"-d",
"clang-diagnostic-sign-compare",
"-d",
"clang-diagnostic-implicit-int-float-conversion",
"-d",
"clang-diagnostic-switch-enum",
"--analyzers",
"clangsa",
"clang-tidy",
"gcc",
"-i",
".codechecker.skipfile"
]
}
2 changes: 2 additions & 0 deletions .codechecker.skipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
+*/flutter-pi/src
-*
2 changes: 1 addition & 1 deletion .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ jobs:
matrix:
container:
- 'debian:bullseye'
- 'debian:buster'
- 'debian:bookworm'
graphics-backends:
- vulkan-only
- opengl-only
Expand Down
25 changes: 21 additions & 4 deletions .github/workflows/codeql-buildscript.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
#!/usr/bin/env bash

sudo apt install -y cmake libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdrm-dev libgbm-dev ttf-mscorefonts-installer fontconfig libsystemd-dev libinput-dev libudev-dev libxkbcommon-dev
mkdir build && cd build
cmake ..
make -j`nproc`
# gstreamer and libc++ want different versions of libunwind-dev.
# We explicitly install the version that gstreamer wants so
# we don't get install errors.

sudo apt-get install -y --no-install-recommends \
git cmake pkg-config ninja-build clang clang-tools \
libgl-dev libgles-dev libegl-dev libvulkan-dev libdrm-dev libgbm-dev libsystemd-dev libinput-dev libudev-dev libxkbcommon-dev \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libunwind-dev

$WRAPPER cmake \
-S . -B build \
-GNinja \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_GSTREAMER_VIDEO_PLAYER_PLUGIN=ON \
-DBUILD_GSTREAMER_AUDIO_PLAYER_PLUGIN=ON \
-DENABLE_VULKAN=ON \
-DENABLE_SESSION_SWITCHING=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON

$WRAPPER cmake --build build
126 changes: 0 additions & 126 deletions .github/workflows/codeql.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,18 @@ def codeql_sarif_contain_error(filename):
rule_index = res['rule']['index']
else:
continue

try:
rule_level = rules_metadata[rule_index]['defaultConfiguration']['level']
except IndexError as e:
print(e, rule_index, len(rules_metadata))
else:
if rule_level == 'error':
return True
except LookupError:
# According to the SARIF schema (https://www.schemastore.org/schemas/json/sarif-2.1.0-rtm.6.json),
# the defalt level is "warning" if not specified.
rule_level = 'warning'

if rule_level == 'error':
return True
elif rule_level == 'warning':
return True
return False

if __name__ == "__main__":
Expand Down
64 changes: 64 additions & 0 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: "Static Analysis"

on:
push:
branches: [ "main", "master" ]
schedule:
- cron: '0 0 * * *'
pull_request:
branches: '*'

jobs:
codechecker:
name: CodeChecker

# Use latest Ubuntu 24.04 for latest GCC.
# CodeChecker requires gcc >= 13.0.0.
# ubuntu-latest is ubuntu 22.04 (atm)
runs-on: ubuntu-24.04

permissions:
actions: read
contents: read
security-events: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Install Deps, Configure and Build
run: |
./.github/workflows/codeql-buildscript.sh

- name: Run CodeChecker
uses: ardera/CodeChecker-Action@master
id: codechecker
with:
ctu: true
logfile: ${{ github.workspace }}/build/compile_commands.json
config: ${{ github.workspace }}/.codechecker.json

- uses: actions/upload-artifact@v4
id: upload
with:
name: "CodeChecker Bug Reports"
path: ${{ steps.codechecker.outputs.result-html-dir }}

- name: Fail on Warnings
if: ${{ steps.codechecker.outputs.warnings == 'true' }}
run: |
cat <<EOF >>$GITHUB_STEP_SUMMARY
## ⚠️ CodeChecker found warnings
Please see the 'CodeChecker Bug Reports' artifact for more details:
- ${{ steps.upload.outputs.artifact-url }}

**\`CodeChecker parse\`:**
EOF

echo '```' >>$GITHUB_STEP_SUMMARY
cat ${{ steps.codechecker.outputs.result-log }} >>$GITHUB_STEP_SUMMARY
echo '```' >>$GITHUB_STEP_SUMMARY

exit 1
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/.vscode
/build
/out
/.codechecker

# CMake docs says it should not be checked in.
CMakeUserPresets.json
Expand Down
Loading