Skip to content

Commit 0e58877

Browse files
committed
Merge branch 'rc/1.75.0' into release
2 parents a6584b7 + 3bcc2a2 commit 0e58877

2,465 files changed

Lines changed: 356037 additions & 42061 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/get-commit-msg/action.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ outputs:
66
value: ${{ steps.action_output.outputs.msg }}
77
hash:
88
value: ${{ steps.action_output.outputs.hash }}
9+
hashes:
10+
value: ${{ steps.action_output.outputs.hashes }}
911
runs:
1012
using: "composite"
1113
steps:
@@ -25,6 +27,7 @@ runs:
2527
echo "" >> /tmp/commit_msg.txt
2628
echo "$COMMIT_MESSAGE" >> /tmp/commit_msg.txt
2729
echo "$HASH" > /tmp/commit_hash.txt
30+
echo "$HASH" > /tmp/commit_hashes.txt
2831
- name: Find commit message (PR)
2932
shell: bash
3033
if: github.event_name == 'pull_request'
@@ -33,18 +36,22 @@ runs:
3336
# Fetch the head of the PR explicitly to handle forks. Depth 50 ensures we can traverse past recent merge commits.
3437
git fetch --depth=50 origin "pull/$PR_NUMBER/head:pr-head"
3538
39+
BASE_REF="${{ github.event.pull_request.base.ref }}"
40+
git fetch origin "$BASE_REF"
41+
3642
COMMIT_HASH=$(git log -1 --no-merges pr-head --format=%H)
3743
AUTHOR_NAME=$(git log -1 --no-merges pr-head --format=%an)
3844
AUTHOR_EMAIL=$(git log -1 --no-merges pr-head --format=%ae)
3945
TSTAMP=$(git log -1 --no-merges pr-head --format=%aI)
40-
COMMIT_MESSAGE=$(git log -1 --no-merges pr-head --format=%B)
46+
COMMIT_MESSAGE=$(git log --no-merges "origin/$BASE_REF..pr-head" --format=%B)
4147
4248
echo "commit $COMMIT_HASH" > /tmp/commit_msg.txt
4349
echo "Author: ${AUTHOR_NAME}<${AUTHOR_EMAIL}>" >> /tmp/commit_msg.txt
4450
echo "Date: ${TSTAMP}" >> /tmp/commit_msg.txt
4551
echo "" >> /tmp/commit_msg.txt
4652
echo "$COMMIT_MESSAGE" >> /tmp/commit_msg.txt
4753
echo "$COMMIT_HASH" > /tmp/commit_hash.txt
54+
git log --no-merges "origin/$BASE_REF..pr-head" --format=%H | tr '\n' ' ' > /tmp/commit_hashes.txt
4855
- shell: bash
4956
id: action_output
5057
run: |
@@ -54,4 +61,6 @@ runs:
5461
cat /tmp/commit_msg.txt >> "$GITHUB_OUTPUT"
5562
echo "$DELIMITER" >> "$GITHUB_OUTPUT"
5663
# Get the commit hash
57-
echo "hash=$(cat /tmp/commit_hash.txt)" >> "$GITHUB_OUTPUT"
64+
echo "hash=$(cat /tmp/commit_hash.txt)" >> "$GITHUB_OUTPUT"
65+
# Get the commit hashes
66+
echo "hashes=$(cat /tmp/commit_hashes.txt)" >> "$GITHUB_OUTPUT"

.github/workflows/presubmit.yml

Lines changed: 36 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ concurrency:
1717
# and that commit is cryptographically "verified". Typically, a verified commit (like a GitHub UI
1818
# squash-and-merge) has already passed through presubmit during the Pull Request phase.
1919
# The conditional explicitly checks:
20-
# 1. always() && !cancelled(): Ensures the job runs even if 'check-verification' is skipped, but
21-
# aborts if the workflow was manually cancelled.
22-
# 2. github.event_name == 'pull_request': Presubmits should always run normally on PRs.
23-
# 3. github.event_name == 'push' && ...: If it's a push to main, it only runs if the
24-
# 'check-verification' job confirmed the commit is NOT verified.
20+
# 1. always() && !cancelled(): Ensures the job runs even if 'check-verification' is skipped
21+
# (which happens normally on PRs), but aborts if the workflow was manually cancelled.
22+
# 2. !needs.check-verification.outputs.skip: Evaluates to true when the 'skip' output is empty.
23+
# The 'skip' output is only set to 'true' if it's a push to main AND the commit is verified.
24+
# In all other cases (including PRs where the job is skipped), it defaults to empty.
2525

2626
jobs:
2727
check-verification:
2828
if: github.event_name == 'push'
2929
runs-on: ubuntu-latest
3030
outputs:
31-
verified: ${{ steps.check.outputs.verified }}
31+
skip: ${{ steps.check.outputs.skip }}
3232
steps:
3333
- name: Check commit verification
3434
id: check
@@ -40,22 +40,16 @@ jobs:
4040
repo: context.repo.repo,
4141
ref: context.sha
4242
});
43-
core.setOutput('verified', data.commit.verification.verified);
43+
if (data.commit.verification.verified) {
44+
core.setOutput('skip', 'true');
45+
}
4446
4547
build-desktop-mac:
4648
name: build-mac
4749
runs-on: 'macos-14-xlarge'
50+
timeout-minutes: 45
4851
needs: [check-verification]
49-
if: >
50-
always() && !cancelled() &&
51-
(
52-
github.event_name == 'pull_request' ||
53-
(
54-
github.event_name == 'push' &&
55-
needs.check-verification.result == 'success' &&
56-
needs.check-verification.outputs.verified == 'false'
57-
)
58-
)
52+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
5953
steps:
6054
- uses: actions/checkout@v4.1.6
6155
with:
@@ -68,17 +62,9 @@ jobs:
6862
build-desktop-linux:
6963
name: build-linux
7064
runs-on: 'arm-ubuntu-24.04-16core'
65+
timeout-minutes: 45
7166
needs: [check-verification]
72-
if: >
73-
always() && !cancelled() &&
74-
(
75-
github.event_name == 'pull_request' ||
76-
(
77-
github.event_name == 'push' &&
78-
needs.check-verification.result == 'success' &&
79-
needs.check-verification.outputs.verified == 'false'
80-
)
81-
)
67+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
8268
steps:
8369
- uses: actions/checkout@v4.1.6
8470
with:
@@ -95,16 +81,7 @@ jobs:
9581
name: build-windows
9682
runs-on: 'windows-2022'
9783
needs: [check-verification]
98-
if: >
99-
always() && !cancelled() &&
100-
(
101-
github.event_name == 'pull_request' ||
102-
(
103-
github.event_name == 'push' &&
104-
needs.check-verification.result == 'success' &&
105-
needs.check-verification.outputs.verified == 'false'
106-
)
107-
)
84+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
10885
steps:
10986
- uses: actions/checkout@v4.1.6
11087
with:
@@ -117,17 +94,9 @@ jobs:
11794
build-android:
11895
name: build-android
11996
runs-on: 'ubuntu-24.04-8core'
97+
timeout-minutes: 45
12098
needs: [check-verification]
121-
if: >
122-
always() && !cancelled() &&
123-
(
124-
github.event_name == 'pull_request' ||
125-
(
126-
github.event_name == 'push' &&
127-
needs.check-verification.result == 'success' &&
128-
needs.check-verification.outputs.verified == 'false'
129-
)
130-
)
99+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
131100
steps:
132101
- uses: actions/checkout@v4.1.6
133102
with:
@@ -150,7 +119,7 @@ jobs:
150119
run: |
151120
python3 test/sizeguard/dump_artifact_size.py out/*.aar > current_size.json
152121
BYPASS_ARG=""
153-
if python3 test/sizeguard/check_bypass.py ${{ steps.get_commit_msg.outputs.hash }}; then
122+
if python3 test/sizeguard/check_bypass.py ${{ steps.get_commit_msg.outputs.hashes }}; then
154123
BYPASS_ARG="--bypass"
155124
fi
156125
python3 test/sizeguard/check_size.py current_size.json \
@@ -162,17 +131,9 @@ jobs:
162131
build-ios:
163132
name: build-iOS
164133
runs-on: 'macos-14-xlarge'
134+
timeout-minutes: 45
165135
needs: [check-verification]
166-
if: >
167-
always() && !cancelled() &&
168-
(
169-
github.event_name == 'pull_request' ||
170-
(
171-
github.event_name == 'push' &&
172-
needs.check-verification.result == 'success' &&
173-
needs.check-verification.outputs.verified == 'false'
174-
)
175-
)
136+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
176137
steps:
177138
- uses: actions/checkout@v4.1.6
178139
with:
@@ -190,17 +151,9 @@ jobs:
190151
build-web:
191152
name: build-web
192153
runs-on: 'arm-ubuntu-24.04-16core'
154+
timeout-minutes: 45
193155
needs: [check-verification]
194-
if: >
195-
always() && !cancelled() &&
196-
(
197-
github.event_name == 'pull_request' ||
198-
(
199-
github.event_name == 'push' &&
200-
needs.check-verification.result == 'success' &&
201-
needs.check-verification.outputs.verified == 'false'
202-
)
203-
)
156+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
204157
steps:
205158
- uses: actions/checkout@v4.1.6
206159
with:
@@ -215,16 +168,7 @@ jobs:
215168
name: validate-docs
216169
runs-on: 'ubuntu-24.04'
217170
needs: [check-verification]
218-
if: >
219-
always() && !cancelled() &&
220-
(
221-
github.event_name == 'pull_request' ||
222-
(
223-
github.event_name == 'push' &&
224-
needs.check-verification.result == 'success' &&
225-
needs.check-verification.outputs.verified == 'false'
226-
)
227-
)
171+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
228172
steps:
229173
- uses: actions/checkout@v4.1.6
230174
with:
@@ -233,22 +177,14 @@ jobs:
233177
uses: ./.github/actions/get-commit-msg
234178
- name: Check for manual edits to /docs
235179
run: |
236-
bash docs_src/build/presubmit_check.sh ${{ steps.get_commit_msg.outputs.hash }}
180+
bash docs_src/build/presubmit_check.sh ${{ steps.get_commit_msg.outputs.hashes }}
237181
238182
test-renderdiff:
239183
name: test-renderdiff
240184
runs-on: 'macos-14-xlarge'
185+
timeout-minutes: 45
241186
needs: [check-verification]
242-
if: >
243-
always() && !cancelled() &&
244-
(
245-
github.event_name == 'pull_request' ||
246-
(
247-
github.event_name == 'push' &&
248-
needs.check-verification.result == 'success' &&
249-
needs.check-verification.outputs.verified == 'false'
250-
)
251-
)
187+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
252188
steps:
253189
- uses: actions/checkout@v4.1.6
254190
with:
@@ -319,17 +255,9 @@ jobs:
319255
build-wgsl-webgpu:
320256
name: build-wgsl-webgpu
321257
runs-on: 'arm-ubuntu-24.04-16core'
258+
timeout-minutes: 45
322259
needs: [check-verification]
323-
if: >
324-
always() && !cancelled() &&
325-
(
326-
github.event_name == 'pull_request' ||
327-
(
328-
github.event_name == 'push' &&
329-
needs.check-verification.result == 'success' &&
330-
needs.check-verification.outputs.verified == 'false'
331-
)
332-
)
260+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
333261
steps:
334262
- uses: actions/checkout@v4.1.6
335263
with:
@@ -343,17 +271,9 @@ jobs:
343271
test-code-correctness:
344272
name: test-code-correctness
345273
runs-on: 'arm-ubuntu-24.04-16core'
274+
timeout-minutes: 45
346275
needs: [check-verification]
347-
if: >
348-
always() && !cancelled() &&
349-
(
350-
github.event_name == 'pull_request' ||
351-
(
352-
github.event_name == 'push' &&
353-
needs.check-verification.result == 'success' &&
354-
needs.check-verification.outputs.verified == 'false'
355-
)
356-
)
276+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
357277
steps:
358278
- uses: actions/checkout@v4.1.6
359279
with:
@@ -371,7 +291,12 @@ jobs:
371291
run: bash test/code-correctness/clang-tidy-proxy.sh
372292
- name: Check - public header inclusion
373293
run: bash test/code-correctness/headers-inclusion.sh out/release/filament/include
294+
- name: Get commit message
295+
id: get_commit_msg
296+
uses: ./.github/actions/get-commit-msg
374297
- name: Check - header organization
298+
env:
299+
COMMIT_MESSAGE: ${{ steps.get_commit_msg.outputs.msg }}
375300
run: |
376301
if [ "${{ github.event_name }}" = "pull_request" ]; then
377302
FILES=()
@@ -392,17 +317,9 @@ jobs:
392317
test-backend:
393318
name: test-backend
394319
runs-on: 'arm-ubuntu-24.04-16core'
320+
timeout-minutes: 45
395321
needs: [check-verification]
396-
if: >
397-
always() && !cancelled() &&
398-
(
399-
github.event_name == 'pull_request' ||
400-
(
401-
github.event_name == 'push' &&
402-
needs.check-verification.result == 'success' &&
403-
needs.check-verification.outputs.verified == 'false'
404-
)
405-
)
322+
if: always() && !cancelled() && !needs.check-verification.outputs.skip
406323
steps:
407324
- uses: actions/checkout@v4.1.6
408325
with:

CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -994,13 +994,14 @@ if (WASM)
994994
add_subdirectory(web/examples)
995995
endif()
996996

997+
if (IS_HOST_PLATFORM OR ANDROID)
998+
add_subdirectory(${LIBRARIES}/filamentapp)
999+
endif()
1000+
9971001
if (IS_HOST_PLATFORM)
9981002
if (FILAMENT_SUPPORTS_OPENGL)
9991003
add_subdirectory(${LIBRARIES}/bluegl)
10001004
endif()
1001-
if (NOT FILAMENT_SKIP_SDL2)
1002-
add_subdirectory(${LIBRARIES}/filamentapp)
1003-
endif()
10041005
add_subdirectory(${LIBRARIES}/imageio)
10051006
add_subdirectory(${LIBRARIES}/filament-matp)
10061007

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ repositories {
3131
}
3232
3333
dependencies {
34-
implementation 'com.google.android.filament:filament-android:1.74.1'
34+
implementation 'com.google.android.filament:filament-android:1.75.0'
3535
}
3636
```
3737

@@ -50,7 +50,7 @@ Here are all the libraries available in the group `com.google.android.filament`:
5050
iOS projects can use CocoaPods to install the latest release:
5151

5252
```shell
53-
pod 'Filament', '~> 1.74.1'
53+
pod 'Filament', '~> 1.75.0'
5454
```
5555

5656
## Documentation

RELEASE_NOTES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ A new header is inserted each time a *tag* is created.
77
Instead, if you are authoring a PR for the main branch, add your release note to
88
[NEW_RELEASE_NOTES.md](./NEW_RELEASE_NOTES.md).
99

10+
## v1.75.0
11+
12+
- web: expand JS bindings coverage for Fence, SkinningBuffer, MorphTargetBuffer, and other previously unbound APIs
13+
- variant: compile MNT variant for unlit materials by default. [⚠️ **Recompile Materials**]
14+
- materials: fix punctual-only shadow receivers selecting the SSR shader. [⚠️ **Recompile Materials**]
15+
1016
## v1.74.1
1117

1218

android/filament-android/build.gradle

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
plugins {
2+
id "org.jetbrains.dokka" version "1.9.20"
3+
}
4+
15
android {
26
namespace 'com.google.android.filament'
37

@@ -25,3 +29,13 @@ afterEvaluate { project ->
2529
}
2630
}
2731
}
32+
33+
dokkaGfm {
34+
dokkaSourceSets {
35+
// Use 'register' instead of 'configureEach' to force Dokka
36+
// to create a new source set from scratch.
37+
register("main") {
38+
sourceRoots.from(file("src/main/java"))
39+
}
40+
}
41+
}

0 commit comments

Comments
 (0)