summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-04-01 21:15:42 -0700
committerKeith Packard <keithp@keithp.com>2014-04-03 13:07:51 -0700
commit693e6bea897e4c9473a9f22dd8b90df3437e04a1 (patch)
tree16da84af80a87828b6b6b69e6426f7a1e3ad987b
parent5b76b3978d792c92b23a691204b473209782476e (diff)
glamor: Use plain GLSL 1.20 features for fill code.
This prevents performance regressions from losing acceleration support on older hardware as we transition to using glamor_program.c for acceleration. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
-rw-r--r--glamor/glamor_program.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/glamor/glamor_program.c b/glamor/glamor_program.c
index 5996ed9a8..0f4d0f06a 100644
--- a/glamor/glamor_program.c
+++ b/glamor/glamor_program.c
@@ -45,9 +45,8 @@ use_tile(PixmapPtr pixmap, GCPtr gc, glamor_program *prog, void *arg)
static const glamor_facet glamor_fill_tile = {
.name = "tile",
- .version = 130,
- .vs_exec = " fill_pos = fill_offset + primitive.xy + pos;\n",
- .fs_exec = " gl_FragColor = texelFetch(sampler, ivec2(mod(fill_pos,fill_size)), 0);\n",
+ .vs_exec = " fill_pos = (fill_offset + primitive.xy + pos) / fill_size;\n",
+ .fs_exec = " gl_FragColor = texture2D(sampler, fill_pos);\n",
.locations = glamor_program_location_fill,
.use = use_tile,
};
@@ -108,6 +107,7 @@ static glamor_location_var location_vars[] = {
{
.location = glamor_program_location_fill,
.vs_vars = ("uniform vec2 fill_offset;\n"
+ "uniform vec2 fill_size;\n"
"varying vec2 fill_pos;\n"),
.fs_vars = ("uniform sampler2D sampler;\n"
"uniform vec2 fill_size;\n"