CesiumGS / CesiumGS/cesium

Renderer/AutomaticUniforms spec "has czm_pass and czm_passOverlay" fails on main in Chrome

Open
#13,657 0 comments 0 reactions 0 assignees View on GitHub
test failure type - bug
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

### What happened?

The `Renderer/AutomaticUniforms` spec `"has czm_pass and czm_passOverlay"` fails on `main` when run in Chrome. The shader is expected to render `255,255,255,255` but renders `0,0,0,255`, suggesting `czm_pass == czm_passOverlay` evaluates to false even after `uniformState.updatePass(Pass.OVERLAY)`.

Originally noticed while testing #13531, but it reproduces on `main` (at 507e9264de) with no local changes, so it is unrelated to that PR. See https://github.com/CesiumGS/cesium/pull/13531#issuecomment-5146473494.

### Reproduction steps

On `main`:

```sh
npm run test -- --browsers Chrome --includeName "AutomaticUniforms"
```

Output:

```
✗ has czm_pass and czm_passOverlay
Expected context to render 255,255,255,255, but rendered: 0,0,0,255
at
at UserContext. (packages/engine/Specs/Renderer/AutomaticUniformSpec.js:2095:10 <- Build/Specs/SpecList.js:4585:10)
at
Chrome 150.0.0.0 (Mac OS 10.15.7): Executed 88 of 15722 (1 FAILED) (skipped 15634) (0.834 secs / 0.158 secs)
TOTAL: 1 FAILED, 87 SUCCESS
```

The failing test:

https://github.com/CesiumGS/cesium/blob/507e9264de029d10b6cfd6b98433a36e381af0ec/packages/engine/Specs/Renderer/AutomaticUniformSpec.js#L2084-L2096

### Sandcastle example

_No response_

### Environment

- Browser: Chrome
- CesiumJS Version: `main` (507e9264de)
- Operating System: macOS

### AI acknowledgment

- [x] I used AI to generate this issue report.
- [x] (If the above is checked) I have reviewed the AI-generated content before submitting.

Contributor guide

Open the contributing guide

Research direction

Run `npm run test -- --browsers Chrome --includeName "AutomaticUniforms"` and start with the failing spec in `packages/engine/Specs/Renderer/AutomaticUniformSpec.js` at lines 2084-2096. Trace the `uniformState.updatePass(Pass.OVERLAY)` setup and shader comparison; done means the spec renders `255,255,255,255` in Chrome on main.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.