Hi All,
We have noticed an issue affecting our users on Intel Arc on windows that seems very similar to an older issue that affected Apple Silicon a couple of years back.
That is, polylines that are meant to be relatively straight, render as jagged zigzag lines.
These are meant to be straight lines for example:
We have some Intel Arc hardware to hand and can confirm that this sandcastle shows the bug on intel arc, but not other GPUs.
This is very very similar to #9417 , and we have found that modifying czm_translateRelativeToEye works around some instances (but not all) of this bug… so pointing as some kind of shader miscompile on this stack.
// Essentially we are replacing this miscompiling code on windows/Intel arc:
vec4 czm_translateRelativeToEye(vec3 high, vec3 low)
{
vec3 highDifference = high - czm_encodedCameraPositionMCHigh;
if (length(highDifference) == 0.0) { highDifference = vec3(0); }
vec3 lowDifference = low - czm_encodedCameraPositionMCLow;
return vec4(highDifference + lowDifference, 1.0);
}
// With this workaround (it works around the faulty fusion):
vec4 czm_translateRelativeToEye(vec3 high, vec3 low){
vec3 highDifference = high - czm_encodedCameraPositionMCHigh;
if (length(highDifference) == 0.0) { highDifference = vec3(0.0); }
vec3 lowDifference = mat3(1.0) * (low - czm_encodedCameraPositionMCLow);
return vec4(highDifference + lowDifference, 1.0);
}
Does anyone on the forum or the Cesium team know how this issue was resolved in the earlier Apple Silicon case ?
Best Regards,
Jason McSweeney
2 Likes
Hi @Jason_McSweeney ,
Thanks for the post and welcome to the community! I’m not sure what to make of this bug off the bat - it’s obviously very specific, and I don’t personally have experience with the earlier Apple Silicon issue.
I’ll ask folks when they’re back in office on Monday if anyone has recalls that issue or has any guidance on where to start here.
Best,
Matt
Is that screen shot above from the sandcastle? When I look at the sandcastle on my M-series apple gpu, I see a somewhat jagged line, but I’m unsure if it’s what you’re talking about:
Thanks for responding @mzschwartz5
Sorry, no, the screenshot was from one of our users, Bad on the sandcastle on Intel Arc looks like so: (sorry for potato quality)
(Its meant to look smooth like the ‘good’ version (like in your post) ), but it wobbles and zigzags around between verts.
I do have an issue in the github about this as well if you want to talk there.
opened 06:18AM - 08 Sep 25 UTC
type - bug
### What happened?
Hi all,
We are seeing a bug with some of our customers line… work, that seems very similar to #9417
[#9417](https://github.com/CesiumGS/cesium/issues/9417)
Except that its happening on windows with Intel Arc hardware.
All the zigzag lines you can see below are actually meant to be straight lines, and do render as straight when NOT using intel arc hardware.
That is, they work fine on nvidia, apple silicon, AMD, etc.
<img width="263" height="139" alt="Image" src="https://github.com/user-attachments/assets/99389071-40e0-4326-8ecb-cd2e281c41b6" />
We cannot easily repro since we don't have the hardware to hand (yet).
We do have a sandcastle setup (from the last time we observed this on apple silicon)
Note: we currently use cesium 1.128, we do not (yet) know if this is still an issue on later Cesium.
One workaround we have successfully tried with our customers is to switch the chrome/edge backend to using OpenGL, not ANGLE.
[sandcastle](https://sandcastle.cesium.com/#c=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)
### Reproduction steps
1. Run sandcastle demo on chrome/edge on windows with intel arc hardware
2. Observe jittery lines
3. switch angle backend to OpenGL
4. Observe correct lines
### Sandcastle example
[sandcastle](https://sandcastle.cesium.com/#c=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)
### Environment
Browser: chrome/edge
CesiumJS Version: 1.128
Operating System: Windows 11
Intel Arc GPU. ANGLE (not opengl)
I have the hw to hand now and have some ideas about what may be causing this (over optimization in shaders) and can help out a bit with testing and debugging, but it would be great to collaborate to solve this (or at least to get intel to solve it)
2 Likes