Mesa (master): mesa: Skip redundant texture completeness checking during image validation.

Francisco Jerez currojerez at kemper.freedesktop.org
Fri Oct 9 15:08:24 UTC 2015


Module: Mesa
Branch: master
Commit: 25d3338be37ddbfe676716034ec5f29e27323704
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=25d3338be37ddbfe676716034ec5f29e27323704

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Sep  3 16:12:59 2015 +0300

mesa: Skip redundant texture completeness checking during image validation.

The call to _mesa_test_texobj_completeness() is unnecessary if the
texture is already known to be complete.  If the texture object is
dirtied in the meantime _BaseComplete and _MipmapComplete will be
reset to false.  _mesa_is_image_unit_valid() will start to be called
more frequently in a future commit, so it seems desirable to avoid the
unnecessary work.

Tested-by: Ye Tian <yex.tian at intel.com>
CC: "11.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/main/shaderimage.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c
index acc8fa9..0f0200a 100644
--- a/src/mesa/main/shaderimage.c
+++ b/src/mesa/main/shaderimage.c
@@ -424,7 +424,8 @@ _mesa_is_image_unit_valid(struct gl_context *ctx, struct gl_image_unit *u)
    if (!t)
       return GL_FALSE;
 
-   _mesa_test_texobj_completeness(ctx, t);
+   if (!t->_BaseComplete && !t->_MipmapComplete)
+       _mesa_test_texobj_completeness(ctx, t);
 
    if (u->Level < t->BaseLevel ||
        u->Level > t->_MaxLevel ||




More information about the mesa-commit mailing list