[Mesa-dev] [PATCH 07/10] i965/blorp: Don't fall back to swrast when miptrees absent.

Paul Berry stereotype441 at gmail.com
Wed Jul 18 08:15:18 PDT 2012


Previously, the blorp engine would fall back to swrast if the source
or destination of a blit had no associated miptree.  This was
unnecessary, since _mesa_BlitFramebufferEXT() already takes care of
making the blit silently succeed if there are no buffers bound, so the
fallback paths could never actually happen in practice.

Removing these fallback paths will simplify the implementation of
correct DrawBuffers support in blorp.
---
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index 038489f..eb78fe1 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -147,19 +147,15 @@ try_blorp_blit(struct intel_context *intel,
       assert(false);
    }
 
-   /* Validate source */
-   if (!src_rb) return false;
+   /* Find source miptree */
    struct intel_renderbuffer *src_irb = intel_renderbuffer(src_rb);
    struct intel_mipmap_tree *src_mt = src_irb->mt;
-   if (!src_mt) return false;
    if (buffer_bit == GL_STENCIL_BUFFER_BIT && src_mt->stencil_mt)
       src_mt = src_mt->stencil_mt;
 
-   /* Validate destination */
-   if (!dst_rb) return false;
+   /* Find destination miptree */
    struct intel_renderbuffer *dst_irb = intel_renderbuffer(dst_rb);
    struct intel_mipmap_tree *dst_mt = dst_irb->mt;
-   if (!dst_mt) return false;
    if (buffer_bit == GL_STENCIL_BUFFER_BIT && dst_mt->stencil_mt)
       dst_mt = dst_mt->stencil_mt;
 
-- 
1.7.7.6



More information about the mesa-dev mailing list