From f0794d0544395cf4ebde1e4e83e11350efd1f68b Mon Sep 17 00:00:00 2001 From: igv Date: Mon, 22 Feb 2016 23:15:01 +0200 Subject: vo_opengl: set uniform variable "pixel_size" pixel_size is often used variable, also reciprocal is a costly operation for AMD and older nVidia (prior to Kepler) GPUs. --- video/out/opengl/video.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/video/out/opengl/video.c b/video/out/opengl/video.c index db83067357..85fa4e7ed3 100644 --- a/video/out/opengl/video.c +++ b/video/out/opengl/video.c @@ -986,6 +986,8 @@ static void load_shader(struct gl_video *p, const char *body) gl_sc_uniform_f(p->sc, "frame", p->frames_uploaded); gl_sc_uniform_vec2(p->sc, "image_size", (GLfloat[]){p->image_params.w, p->image_params.h}); + gl_sc_uniform_vec2(p->sc, "pixel_size", (GLfloat[]){1.0f / p->texture_w, + 1.0f / p->texture_h}); } static const char *get_custom_shader_fn(struct gl_video *p, const char *body) -- cgit v1.2.3