[PATCH xserver] glamor: Declare "pos" in the composite glyph GLSL 1.20 vertex shader
Michel Dänzer
michel at daenzer.net
Thu Aug 18 00:43:58 UTC 2016
From: Michel Dänzer <michel.daenzer at amd.com>
Fixes shader compile failure:
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:
#define ATLAS_DIM_INV 0.000976562500000000
attribute vec2 primitive;
attribute vec2 source;
varying vec2 glyph_pos;
uniform vec2 fill_offset;
uniform vec2 fill_size_inv;
varying vec2 fill_pos;
uniform vec4 v_matrix;
void main() {
gl_Position.xy = primitive.xy * v_matrix.xz + v_matrix.yw;
gl_Position.zw = vec2(0.0,1.0);
glyph_pos = source.xy * ATLAS_DIM_INV;
fill_pos = (fill_offset + primitive.xy + pos) * fill_size_inv;
}
(EE) Fatal server error:
(EE) GLSL compile failure
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97300
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
glamor/glamor_composite_glyphs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/glamor/glamor_composite_glyphs.c b/glamor/glamor_composite_glyphs.c
index cc0aa6f..b651274 100644
--- a/glamor/glamor_composite_glyphs.c
+++ b/glamor/glamor_composite_glyphs.c
@@ -199,7 +199,8 @@ static const glamor_facet glamor_facet_composite_glyphs_120 = {
.vs_vars = ("attribute vec2 primitive;\n"
"attribute vec2 source;\n"
"varying vec2 glyph_pos;\n"),
- .vs_exec = (GLAMOR_POS(gl_Position, primitive)
+ .vs_exec = (" vec2 pos = vec2(0,0);\n"
+ GLAMOR_POS(gl_Position, primitive.xy)
" glyph_pos = source.xy * ATLAS_DIM_INV;\n"),
.fs_vars = ("varying vec2 glyph_pos;\n"),
.fs_exec = (" vec4 mask = texture2D(atlas, glyph_pos);\n"),
--
2.9.3
More information about the xorg-devel
mailing list