i965/blorp: Add bilinear filtering of samples for multisample scaled blits

Current implementation of ext_framebuffer_multisample_blit_scaled in
i965/blorp uses nearest filtering for multisample scaled blits. Using
nearest filtering produces blocky artifacts and negates the benefits
of MSAA. That is the reason why extension was not enabled on i965.

This patch implements the bilinear filtering of samples in blorp
engine. Images generated with this patch are free from blocky
artifacts and show big improvement in visual quality.

Observed no piglit and gles3 regressions.
i965: Enable ext_framebuffer_multisample_blit_scaled on intel h/w

This patch enables ext_framebuffer_multisample_blit_scaled extension
on intel h/w >= gen6.

Note: Patches for piglit tests to verify this functionality are out
for review on piglit mailing list. Tests pass for all of the scaling
factors from 0.1 to 2.4.

Comment from Paul Berry on my previous implementation:
"I have some concerns about the image quality of the method you've
implemented.  As I understand it, the primary use case of this extension
is to allow the client to do multisampled rendering at slightly less
than screen resolution (e.g. 720p instead of 1080p), and then blit the
result to the screen in one step while keeping most of the quality
benefits of multisampling.  Since your implementation is effectively
equivalent to downsampling and then blitting using GL_NEAREST filtering,
my fear is that it will lead to blocky artifacts that are severe enough
to negate the benefit of multisampling in the first place.

Before we turn this extension on in the Intel driver, I'd like to look
at a comparison of:

(1) your technique
(2) downsampling followed by scaling with GL_LINEAR filtering
(3) The nVidia implementation, in GL_SCALED_RESOLVE_FASTEST_EXT mode
(4) The nVidia implementation, in GL_SCALED_RESOLVE_NICEST_EXT mode
(5) Just rendering the image directly to the single-sampled destination
buffer"

My latest implementation uses bilinear filtering and addresses all of
the above concerns. It produces images which are free from blocky
artifacts and show big improvement in visual quality. Here is a link
to an image comparing the rendering quality on Intel and NVIDIA drivers:
https://www.dropbox.com/s/m90lqqrj2vjps3g/scaled-blit.png

While generating these images I came across a bug in NVIDIA's proprietary
OpenGL 4.3 linux driver. While doing glBlitFramebuffer() driver ignores
scissor operation.
From OpenGL 4.3 specification:
"When values are written to the draw buffers, blit operations bypass
most of the fragment pipeline. The only fragment operations which affect
a blit are the pixel ownership test, the scissor test, and sRGB conversion
(see section 17.3.9). Color, depth, and stencil masks (see section 17.4.2)
are ignored."

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>