<br><br><div class="gmail_quote">On Fri, Feb 22, 2013 at 2:23 PM, Ian Romanick <span dir="ltr"><<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 02/15/2013 11:20 AM, Anuj Phogat wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
tex->Sright and tex->Ttop are initialized during texture allocation.<br>
This fixes depth buffer blitting failures in khronos conformance tests<br>
when run on desktop GL 3.0.<br>
<br>
Note: This is a candidate for stable branches.<br>
<br>
Signed-off-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>><br>
</blockquote>
<br>
Reviewed-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com" target="_blank">ian.d.romanick@intel.com</a>><br>
<br>
I think there is a lot of room for other improvements in this code. Like... why are we doing glReadPixels into malloc memory, then handing that same pointer to glTexImage2D.  We should (at least for desktop and GLES3) use a PBO. </blockquote>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
---<br>
  src/mesa/drivers/common/meta.c |   17 ++++++++---------<br>
  1 files changed, 8 insertions(+), 9 deletions(-)<br>
<br>
diff --git a/src/mesa/drivers/common/<u></u>meta.c b/src/mesa/drivers/common/<u></u>meta.c<br>
index 4e32b50..29a209e 100644<br>
--- a/src/mesa/drivers/common/<u></u>meta.c<br>
+++ b/src/mesa/drivers/common/<u></u>meta.c<br>
@@ -1910,6 +1910,14 @@ _mesa_meta_BlitFramebuffer(<u></u>struct gl_context *ctx,<br>
        GLuint *tmp = malloc(srcW * srcH * sizeof(GLuint));<br>
<br>
        if (tmp) {<br>
+<br>
+         newTex = alloc_texture(depthTex, srcW, srcH, GL_DEPTH_COMPONENT);<br></blockquote></blockquote><div><br></div><div>Are out of memory conditions handled in alloc_texture?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+         _mesa_ReadPixels(srcX, srcY, srcW, srcH, GL_DEPTH_COMPONENT,<br>
+                          GL_UNSIGNED_INT, tmp);<br>
+         setup_drawpix_texture(ctx, depthTex, newTex, GL_DEPTH_COMPONENT,<br>
+                               srcW, srcH, GL_DEPTH_COMPONENT,<br>
+                               GL_UNSIGNED_INT, tmp);<br>
+<br>
           /* texcoords (after texture allocation!) */<br>
           {<br>
              verts[0].s = 0.0F;<br>
@@ -1928,15 +1936,6 @@ _mesa_meta_BlitFramebuffer(<u></u>struct gl_context *ctx,<br>
           if (!blit->DepthFP)<br>
              init_blit_depth_pixels(ctx);<br>
<br>
-         /* maybe change tex format here */<br>
-         newTex = alloc_texture(depthTex, srcW, srcH, GL_DEPTH_COMPONENT);<br>
-<br>
-         _mesa_ReadPixels(srcX, srcY, srcW, srcH,<br>
-                          GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, tmp);<br>
-<br>
-         setup_drawpix_texture(ctx, depthTex, newTex, GL_DEPTH_COMPONENT, srcW, srcH,<br>
-                               GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, tmp);<br>
-<br>
           _mesa_BindProgramARB(GL_<u></u>FRAGMENT_PROGRAM_ARB, blit->DepthFP);<br>
           _mesa_set_enable(ctx, GL_FRAGMENT_PROGRAM_ARB, GL_TRUE);<br>
           _mesa_ColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);<br>
<br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br>