Skip to content
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

Multiview Support #446

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 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
9d56e48
initial multidisplay work
ardera Aug 20, 2024
fd0bcb1
implement proper frame scheduling
ardera Sep 4, 2024
e596830
drmdev: call release callback before scanout callback
ardera Sep 4, 2024
16a5be7
kms req builder: rename destroy_cb -> release_cb
ardera Sep 4, 2024
71ece41
document event_loop
ardera Sep 4, 2024
efacb05
egl_gbm_render_surface: check we're using at most 3 fbs in debug mode
ardera Sep 4, 2024
d4ba01f
start work on compositor display infra
ardera Sep 4, 2024
6f9bfa0
add more multi-display infra
ardera Sep 11, 2024
f975b48
format lock_ops.h
ardera Sep 11, 2024
53758b0
rework cmake presets
ardera Sep 11, 2024
5b93934
fix gstreamer plugins
ardera Sep 11, 2024
0af7fca
WIP
ardera Sep 15, 2024
379afbc
fix analysis issues
ardera Sep 16, 2024
eac03dd
fixes for codechecker
ardera Sep 17, 2024
408767a
clang pedantic warning fixes
ardera Sep 17, 2024
93876b9
paste `CodeChecker parse` output in job summary
ardera Sep 17, 2024
4b32278
don't use drmIsKMS
ardera Sep 17, 2024
ae163c5
define _GNU_SOURCE in kms_window for asprintf
ardera Sep 17, 2024
54e0885
workaround analyzer issue in on_present_frame
ardera Sep 17, 2024
d8d37c3
fix formatting of codechecker parse output in step summary
ardera Sep 17, 2024
378832b
don't use drmModeGetConnectorTypeName
ardera Sep 17, 2024
7112fc2
fix `FlutterWindowMetricsEvent` size check for armv7
ardera Sep 17, 2024
e84902c
require `libsystemd` v243 at minimum
ardera Sep 17, 2024
bac5232
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
Loading