Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
ea2dfd4
Baseline: MetalUniversal working tree snapshot (pre-Iris)
Jul 26, 2026
a3e9cf9
docs: Iris-on-Metal audit, feature matrix, implementation plan
Jul 26, 2026
e41414d
iris-b0: generic compute/SSBO/image/mipmap/compare-sampler backend
Jul 26, 2026
a801057
iris-b0: close the MRT validation matrix gaps
Jul 26, 2026
3535788
iris-b1: ping-pong / depthtex / shadow target framework with content …
Jul 26, 2026
69f75cb
iris-b2: Sodium 0.9.1, Iris 1.11.2 dependency, Metal dormancy shims
Jul 26, 2026
4b59c5c
iris-b2-2: real-pack shader translation front-end (96/96), smoke C, p…
21Z121Z1 Jul 26, 2026
933a1ab
B2-1: sodium 地形走 Iris gbuffers_terrain 的编译链 + Iris 唤醒线(默认关)
21Z121Z1 Jul 26, 2026
ba4e1af
Snapshot: uncommitted object-motion + cutout-shimmer working state
21Z121Z1 Jul 26, 2026
fbff4d7
Snapshot: pre-worktree-split state of 3 concurrent Metal sessions
21Z121Z1 Jul 26, 2026
abe5ba8
B2-1 S4+S6a: uniform 供给 + pass 资源 fallback;语义层默认打开
21Z121Z1 Jul 26, 2026
9538341
B2-1: 打通游戏内 pack 装载线;BSL 在真实客户端里被 Iris 解析并转译
21Z121Z1 Jul 26, 2026
6731bad
P4-3 M1/M2/M3: Metal 4 capability gate, MTL4Compiler PSO path, pipeli…
21Z121Z1 Jul 26, 2026
8eaab09
docs: 记录 iris-on-metal 与集成分支的真实冲突面(10 个文件)与同步层边界
21Z121Z1 Jul 26, 2026
0abb3bb
docs: 阶段一验收重算(B2-1 后);计数仍 8/12 不通过
21Z121Z1 Jul 26, 2026
4aa946a
docs: 首次合并集成分支的实测冲突清单与逐文件解法(已 abort,树干净)
21Z121Z1 Jul 26, 2026
f572639
fix(framegraph): drop the invented restriction on writing an external…
21Z121Z1 Jul 26, 2026
c32f04b
validation: pin item spin phase and close the vacuous-run race
21Z121Z1 Jul 26, 2026
5504828
validation: size the spin-spread floor from the motion error envelope
21Z121Z1 Jul 26, 2026
cf2e220
merge: 对齐集成分支 wip/uncommitted-snapshot-2026-07-27 (fbff4d7)
21Z121Z1 Jul 26, 2026
414bb9e
feat(motion): add the core/block motion family
21Z121Z1 Jul 26, 2026
f87a5e9
P4-3 M4: frame-generation present thread on a Metal 4 queue
21Z121Z1 Jul 26, 2026
7579af8
B2-1 修两个 bug + 修掉 handoff 自相矛盾处
21Z121Z1 Jul 26, 2026
0d9d661
Merge branch 'wip/uncommitted-snapshot-2026-07-27' into iris-on-metal
21Z121Z1 Jul 26, 2026
24569dc
P4-3 M4 hardening: fold the readyEvent wait into submit, make the fra…
21Z121Z1 Jul 26, 2026
db16a76
validation: acceptance frames for living, arrow and rail-minecart poses
21Z121Z1 Jul 26, 2026
c193073
S7 冒烟首次走到地形绘制:覆盖命中,崩在惰性分配(诊断已定位)
21Z121Z1 Jul 26, 2026
5ff9fa1
validation: fail minecraftMetalFxClientValidation on a vacuous run
21Z121Z1 Jul 26, 2026
070cc40
feat(motion): attach the motion sample to moving-block geometry
21Z121Z1 Jul 26, 2026
9e77f40
docs(frame-generation): correct the coverage the block family changed
21Z121Z1 Jul 26, 2026
1b7a4f5
B2-1: 惰性分配移出绘制路径,编码器崩溃消失;solid+cutout 覆盖在世界里成功绑定
21Z121Z1 Jul 26, 2026
4932a41
P4-3 M5/M6: uniform bump allocator, and the barrier map that M7e buil…
21Z121Z1 Jul 26, 2026
8b922db
P4-3 M7g/M7h groundwork: completion wait helper, and the copy shapes …
21Z121Z1 Jul 26, 2026
32d51ef
docs: S7 第二次冒烟的退出原因补测 —— SIGABRT(134),且有 12 分钟日志空窗
21Z121Z1 Jul 26, 2026
911a54d
修一颗 GL 地雷 + reload 两个真 bug + 两条可观测性/防御
21Z121Z1 Jul 26, 2026
972178a
validation: fix minecart staging, shake magnitude and silent rail fal…
21Z121Z1 Jul 26, 2026
b71c3c6
test(motion): fail the build, not the client, when a hook descriptor …
21Z121Z1 Jul 26, 2026
d063fdc
修:打开 Iris 设置界面必闪退;新增 runClientAll 手动调试配置
21Z121Z1 Jul 26, 2026
42018a6
P4-3 M5 fix + M6 rework: overflow chain, and a per-encoder barrier in…
21Z121Z1 Jul 26, 2026
49a3727
test(motion): cover building a motion variant from a block source
21Z121Z1 Jul 26, 2026
eb658ca
Merge branch 'wip/uncommitted-snapshot-2026-07-27' into iris-on-metal
21Z121Z1 Jul 26, 2026
adae9d9
reload 生命周期:补自动化覆盖;对齐集成分支(49a3727 线)
21Z121Z1 Jul 26, 2026
3037f1d
validation: acceptance frame for the new-behavior minecart pose
21Z121Z1 Jul 26, 2026
2e49bd1
feat(motion): rebuild the piston root transform
21Z121Z1 Jul 26, 2026
a5227bd
docs(frame-generation): narrow the piston limit to the wiring that is…
21Z121Z1 Jul 26, 2026
40e2305
fix(build): skip the presentation validation on macOS < 26 instead of…
21Z121Z1 Jul 26, 2026
3fb3173
P4-3 M6-B: append the barrier map's consumer barriers to the Metal 3 …
21Z121Z1 Jul 26, 2026
c82bdaf
fix(mixin): compose with fabric's moving-block redirect instead of ra…
21Z121Z1 Jul 26, 2026
45962dc
validation: log the two states that precede the timeline
21Z121Z1 Jul 26, 2026
ca8b50e
cutout-shimmer: 交接文档
21Z121Z1 Jul 26, 2026
c83f7b8
cutout-shimmer: 交接文档补充 §16 同号冲突与在途补丁的裁决项
21Z121Z1 Jul 26, 2026
9353522
cutout-shimmer: land the two combined arms, and warn on the Iris name…
21Z121Z1 Jul 26, 2026
3faf923
S6b R1:扩展附件决策冻结在 Instance 构造期(修 prewarm 竞态)
21Z121Z1 Jul 26, 2026
ee351be
test(motion): guard the method the moving-block wrapper is scoped to
21Z121Z1 Jul 26, 2026
43bedc2
ci: run build workflow on branches
21Z121Z1 Jul 27, 2026
e6e7435
Complete MetalFX temporal validation
21Z121Z1 Jul 27, 2026
11bf396
Merge GitHub master history
21Z121Z1 Jul 27, 2026
7bbfbdb
Fix frame generation recovery and validation
21Z121Z1 Jul 27, 2026
a71fcf0
Document the FrameGen QA launcher profile
21Z121Z1 Jul 27, 2026
15564c6
Keep launcher QA settings editable and fix headless CI
21Z121Z1 Jul 27, 2026
88ddd52
Adapt CI to virtual MetalFX limits
21Z121Z1 Jul 27, 2026
c4bbacf
Optimize MetalFX frame generation budget
21Z121Z1 Jul 27, 2026
5967205
Harden FrameGen pacing and resize recovery
21Z121Z1 Jul 27, 2026
7535943
Fail visible FrameGen gates when console is locked
21Z121Z1 Jul 27, 2026
4a4f53b
Measure FrameGen CPU backpressure
21Z121Z1 Jul 27, 2026
5f9dc1a
Prevent WindowServer starvation from blocking source frames
21Z121Z1 Jul 27, 2026
bbb631e
Ignore stale FrameGen history callbacks
21Z121Z1 Jul 27, 2026
fe7c7f6
Measure locked FrameGen presenter backpressure
21Z121Z1 Jul 27, 2026
994b8e8
Optimize Metal 4 frame generation presentation
21Z121Z1 Jul 27, 2026
0449ea0
Measure native Retina FrameGen ceiling
21Z121Z1 Jul 27, 2026
7dcf786
Add Metal 4 renderer and MetalFX production paths
21Z121Z1 Jul 28, 2026
98ee8a9
Merge pull request #1 from 21Z121Z1/claude/framegen-comparison
21Z121Z1 Jul 28, 2026
03bd363
Merge remote-tracking branch 'fork/master' into iris-on-metal
21Z121Z1 Jul 28, 2026
bbf8eeb
iris: gate incomplete semantic path for mainline merge
21Z121Z1 Jul 28, 2026
cdfeec3
iris: complete Potato native Metal path
21Z121Z1 Jul 30, 2026
51807bf
ci: disable Metal shader validation on hosted runners
21Z121Z1 Jul 30, 2026
6cc98c7
ci: disable Metal validation layers on hosted runners
21Z121Z1 Jul 30, 2026
dc47f0d
ci: keep hosted release build headless
21Z121Z1 Jul 30, 2026
3d0b2fc
iris: add generic BSL raster semantics
21Z121Z1 Jul 30, 2026
d3e09f9
iris: connect fixed-version semantic call surface
21Z121Z1 Jul 31, 2026
f5fe101
ci: keep Iris GPU conformance out of hosted tests
21Z121Z1 Jul 31, 2026
6176795
test(iris): close scoped Metal Gate C evidence
21Z121Z1 Aug 1, 2026
695bd70
fix(iris): align per-program uniform lifecycles
21Z121Z1 Aug 1, 2026
14ea4e7
Merge upstream master into iris-on-metal with Iris-first resolution
21Z121Z1 Aug 2, 2026
250effe
ci: exclude hosted GPU-only tests
21Z121Z1 Aug 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
44 changes: 41 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,23 @@ run-name: ${{ github.ref_name }}
on:
workflow_dispatch:
push:
branches:
- '**'
tags:
- 'v*'
pull_request:
branches:
- master

permissions:
contents: write

jobs:
build:
runs-on: macos-15
# Keep release artifacts tied to the current macOS 26 SDK and arm64 ABI.
# Hosted runners cannot serve as a visual or physical-GPU acceptance gate;
# build.gradle keeps those executions local while CI compiles their code.
runs-on: macos-26
steps:
- name: checkout repository
uses: actions/checkout@v6
Expand All @@ -29,8 +37,35 @@ jobs:
distribution: 'microsoft'
- name: make gradle wrapper executable
run: chmod +x ./gradlew
- name: select latest xcode
run: |
set -euo pipefail
echo "xcode-select current path: $(xcode-select -p)"
LATEST_XCODE=$(ls -d /Applications/Xcode*.app 2>/dev/null | sort -V | tail -1)
if [ -n "${LATEST_XCODE}" ]; then
echo "Selecting latest Xcode: ${LATEST_XCODE}"
sudo xcode-select -s "${LATEST_XCODE}"
fi
echo "xcode-select new path: $(xcode-select -p)"
echo "swiftc version: $(xcrun -f swiftc)"
echo "SDK path: $(xcrun --show-sdk-path)"
echo "MetalFX framework check:"
ls -la "$(xcrun --show-sdk-path)/System/Library/Frameworks/MetalFX.framework/Headers/" 2>/dev/null || echo "MetalFX headers not found at default SDK path"
echo "=== MTLFXSpatialScaler.h ==="
cat "$(xcrun --show-sdk-path)/System/Library/Frameworks/MetalFX.framework/Headers/MTLFXSpatialScaler.h" 2>/dev/null
echo "=== MTLFXTemporalScaler.h ==="
cat "$(xcrun --show-sdk-path)/System/Library/Frameworks/MetalFX.framework/Headers/MTLFXTemporalScaler.h" 2>/dev/null
echo "=== MTLFXFrameInterpolator.h ==="
cat "$(xcrun --show-sdk-path)/System/Library/Frameworks/MetalFX.framework/Headers/MTLFXFrameInterpolator.h" 2>/dev/null
- name: build
run: ./gradlew buildMacNative build
# The hosted virtual GPU aborts in libMTLHud counter sampling even when
# Metal validation is disabled. CI therefore runs compilation and
# headless tests only; physical-GPU readbacks and CAMetalLayer visual
# acceptance are local release evidence.
run: >-
./gradlew buildMacNative build
-x metalFrameGenerationPresentationValidation
-x metalFxOffscreenValidation
- name: capture build artifacts
uses: actions/upload-artifact@v7
with:
Expand All @@ -41,6 +76,8 @@ jobs:
needs: build
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
env:
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
steps:
- name: checkout repository
uses: actions/checkout@v6
Expand Down Expand Up @@ -72,9 +109,10 @@ jobs:
echo "main_jar=${MAIN_JAR}" >> "$GITHUB_OUTPUT"

- name: publish to Modrinth
if: env.MODRINTH_TOKEN != ''
uses: cloudnode-pro/modrinth-publish@v2
with:
token: ${{ secrets.MODRINTH_TOKEN }}
token: ${{ env.MODRINTH_TOKEN }}
project: w79ASAJD
version: ${{ steps.meta.outputs.version }}
channel: alpha
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,6 @@ replay_*.log
/src/main/resources/natives/macos/*
/src/main/resources/natives/ios/*
libs/

# stray client rotated logs at repo root (runClient cwd artifacts)
logs/
Loading