-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed to compile shader on windows (Intel HD Graphics) #1251
Comments
@fryeb could you provide the console output? |
|
Thanks @fryeb ! The error is interesting ("cannot convert parameter 1 from 'float' to 'float'")... I can tweak the code a bit to see how we can work around this (seemingly a driver bug?), and we'll attempt to repro it internally. |
If you can test a potential fix, here is a diff: diff --git a/webrender/res/ps_split_composite.vs.glsl b/webrender/res/ps_split_composite.vs.glsl
index 20cf9a1..309d2c3 100644
--- a/webrender/res/ps_split_composite.vs.glsl
+++ b/webrender/res/ps_split_composite.vs.glsl
@@ -16,10 +16,12 @@ SplitGeometry fetch_split_geometry(int index) {
vec4 data1 = texelFetchOffset(sSplitGeometry, uv, 0, ivec2(1, 0));
vec4 data2 = texelFetchOffset(sSplitGeometry, uv, 0, ivec2(2, 0));
- return SplitGeometry(vec3[4](
- data0.xyz, vec3(data0.w, data1.xy),
- vec3(data1.zw, data2.x), data2.yzw
- ));
+ SplitGeometry geo;
+ geo.points[0] = data0.xyz;
+ geo.points[1] = vec3(data0.w, data1.xy);
+ geo.points[2] = vec3(data1.zw, data2.x);
+ geo.points[3] = data2.yzw;
+ return geo;
}
vec3 bilerp(vec3 a, vec3 b, vec3 c, vec3 d, float s, float t) { |
@kvark I have tested your solution and it works with all of the tests on my machine. I have also managed to get the following to work. SplitGeometry geo;
geo.points = vec3[4](
data0.xyz, vec3(data0.w, data1.xy),
vec3(data1.zw, data2.x), data2.yzw
);
return geo; I think the fact that both versions work, while the current one does not suggests that it is probably a driver bug. Thank you for all your help @kvark . |
Great, @fryeb , thanks for confirmation! |
Workaround for driver bug (Intel HD 4400) Small workaround for a bug in the Intel GLSL compiler. [link](#1251). <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/1263) <!-- Reviewable:end -->
Fixed by #1263 |
ps_split_composite
does not compile. This causes the basic, scrolling and yuv examples to fail. The blob example continues to work. Perhaps a driver bug?The text was updated successfully, but these errors were encountered: