Summary: | GLAMOR crashes when drawing dashed lines | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Max Staudt <bugzilla-fdo-max> | ||||
Component: | Server/Acceleration/glamor | Assignee: | Xorg Project Team <xorg-team> | ||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | medium | CC: | sndirsch | ||||
Version: | git | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
See Also: | https://bugzilla.opensuse.org/show_bug.cgi?id=1025985 | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Max Staudt
2017-03-02 18:40:27 UTC
This is how it crashes in the commit that introduced it, bd3b2c48f69a5169aefb261c041462271c69a07a : Failed to compile VS: 0:13(43): error: `pos' undeclared 0:13(14): error: operands to arithmetic operators must be numeric 0:13(13): error: operands to arithmetic operators must be numeric Program source: #version 130 attribute vec3 primitive; varying float dash_offset; uniform vec2 fill_offset; uniform vec2 fill_size; varying vec2 fill_pos; uniform float dash_length; uniform vec4 v_matrix; void main() { dash_offset = primitive.z / dash_length; gl_Position.xy = primitive.xy.xy * v_matrix.xz + v_matrix.yw; gl_Position.zw = vec2(0.0,1.0); fill_pos = (fill_offset + primitive.xy + pos) / fill_size; } Some commit has since changed fill_size to fill_size_inv. Since the recent d8161aeb50891ae10c5656487ce8f982deed5f9f we now also have vec2_pos undeclared: Failed to compile VS: 0:11(2): error: `vec2_pos' undeclared 0:11(2): error: value of type vec2 cannot be assigned to variable of type error 0:14(43): error: `pos' undeclared 0:14(14): error: operands to arithmetic operators must be numeric 0:14(13): error: operands to arithmetic operators must be numeric Program source: #version 130 attribute vec3 primitive; varying float dash_offset; uniform vec2 fill_offset; uniform vec2 fill_size_inv; varying vec2 fill_pos; uniform float dash_length; uniform vec4 v_matrix; void main() { dash_offset = primitive.z / dash_length; vec2_pos = vec2(0,0); gl_Position.xy = primitive.xy.xy * v_matrix.xz + v_matrix.yw; gl_Position.zw = vec2(0.0,1.0); fill_pos = (fill_offset + primitive.xy + pos) * fill_size_inv; } (EE) Fatal server error: (EE) GLSL compile failure (EE) *** This bug has been marked as a duplicate of bug 99943 *** Aaah, thanks for pointing out the other bug! However, I'm afraid this is not a dupe. To put things in perspective: The patch that introduced bug 99943 has been written in an attempt to solve the bug I described here, and which was originally filed at: https://bugzilla.opensuse.org/show_bug.cgi?id=1025985 It's similar to bug 97300, but not the same. Fixed in Git master. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.