 uniform ivec3 options; /* x = video_filter, y = show_border, z = blank_left */
 uniform int scale;
 
+
+/*
+ * Given a pixel coordinate into the video-out, return the colour value.
+ * This  function handles the dimming of the border area.
+ */
 vec4 get_pixel (int x, int y)
 {
     bool active_area;

            break;

        case VIDEO_FILTER_SCANLINES:
            if (mod_y == 0)
            {
                pixel = vec4 (0.0, 0.0, 0.0, 1.0);
            }
            else
            {
                pixel = get_pixel (video_x, video_y);
            }
            break;

        case VIDEO_FILTER_DOT_MATRIX:

        video_y = VIDEO_BUFFER_LINES - 2;
    }

    float x_mix;
    float y_mix;

    switch (OPTION_VIDEO_FILTER)
    {
        case VIDEO_FILTER_LINEAR:
            x_mix = float (mod_x) / float (scale);
            y_mix = float (mod_y) / float (scale);

            /* Fetch the four pixels to interpolate between */
            vec4 pixel_tl = get_pixel (video_x,     video_y    );
