Failed to compile shader due to integer overflow
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox71 | --- | unaffected |
firefox72 | --- | wontfix |
firefox73 | --- | fixed |
People
(Reporter: aosmond, Assigned: aosmond)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(1 file)
On my Z3C running LineageOS 16 (Android 9), Adreno 330, OpenGL ES 3.0 V@140.0, when I attempt to enable WebRender, I get the following shader compilation error:
Failed to compile shader: brush_solid
Vertex shader compilation failed.
ERROR: 0:792: '0xffff0000' : Integer overflow
ERROR: 0:792: '0xffff0000' : Syntax error
2 compilation errors. No code generated.
Repeated for each of the shaders. It appears it doesn't like the high bit being set for a signed integer. It is easy enough to fix however if we just do >> 16 instead of the mask and adjust the shaders that check instance.flags appropriately.
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
Some OpenGL ES implementations do not like how we overflow a signed
32-bit integer when masking what are otherwise really unsigned 32-bit
integers. This patch avoids the problematic mask and instead just
does an equivalent shift.
Comment 4•5 years ago
|
||
bugherder |
Comment 5•5 years ago
|
||
Does this need a Beta approval request?
Assignee | ||
Comment 6•5 years ago
|
||
I don't think so. We are only shipping WR on Android to the Pixel 2 and it seems to be fine.
Updated•5 years ago
|
Updated•3 years ago
|
Description
•