<div dir="ltr">On 1 May 2013 14:10, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
This patch enables ext_framebuffer_multisample_blit_scaled extension<br>
on intel h/w >= gen6.<br>
<br>
Note: Patches for piglit tests to verify this functionality are out<br>
for review on piglit mailing list. Tests pass for all of the scaling<br>
factors except 1.3 and 1.8. I'm still investigating what's so special<br>
about these scaling factors. I'll update my patches to fix the issue<br>
along with other review comments.<br>
<br>
Signed-off-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>><br></blockquote><div><br></div>We discussed this a bit in person yesterday, but I'd like to get the discussion on record:<br>
<br></div><div class="gmail_quote">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.<br>
<br></div><div class="gmail_quote">Before we turn this extension on in the Intel driver, I'd like to look at a comparison of:<br></div><br>(1) your technique<br><div class="gmail_quote">(2) downsampling followed by scaling with GL_LINEAR filtering<br>
(3) The nVidia implementation, in GL_SCALED_RESOLVE_FASTEST_EXT mode<br></div><div class="gmail_quote">(4) The nVidia implementation, in GL_SCALED_RESOLVE_NICEST_EXT mode<br></div><div class="gmail_quote">(5) Just rendering the image directly to the single-sampled destination buffer<br>
<br></div><div class="gmail_quote">I believe my nVidia card supports this extension; I'll try to gather images of (3) and (4) today. <br></div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

---<br>
 src/mesa/drivers/dri/intel/intel_extensions.c | 1 +<br>
 1 file changed, 1 insertion(+)<br>
<br>
diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c<br>
index 18f19b8..e5c2cd6 100755<br>
--- a/src/mesa/drivers/dri/intel/intel_extensions.c<br>
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c<br>
@@ -97,6 +97,7 @@ intelInitExtensions(struct gl_context *ctx)<br>
<br>
    if (intel->gen >= 6) {<br>
       ctx->Extensions.EXT_framebuffer_multisample = true;<br>
+      ctx->Extensions.EXT_framebuffer_multisample_blit_scaled = true;<br>
       ctx->Extensions.ARB_blend_func_extended = !driQueryOptionb(&intel->optionCache, "disable_blend_func_extended");<br>
       ctx->Extensions.ARB_draw_buffers_blend = true;<br>
       ctx->Extensions.ARB_ES3_compatibility = true;<br>
<span class=""><font color="#888888">--<br>
1.8.1.4<br>
<br>
</font></span></blockquote></div><br></div></div>