On 12/03/2011 09:07 AM, Brian Paul wrote:
No driver implemented this and we always returned "True" for residence
queries.

Most useless query evar.

Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>

Is there's some similar infrastructure for querying residence of ARB vertex shaders? I think that can also die.

---
  src/mesa/drivers/common/driverfuncs.c |    1 -
  src/mesa/main/dd.h                    |    5 -----
  src/mesa/main/texobj.c                |   23 +++--------------------
  src/mesa/main/texparam.c              |    6 ++----
  4 files changed, 5 insertions(+), 30 deletions(-)

diff --git a/src/mesa/drivers/common/driverfuncs.c 
b/src/mesa/drivers/common/driverfuncs.c
index 17281de..50fcede 100644
--- a/src/mesa/drivers/common/driverfuncs.c
+++ b/src/mesa/drivers/common/driverfuncs.c
@@ -119,7 +119,6 @@ _mesa_init_driver_functions(struct dd_function_table 
*driver)
     driver->UnmapTextureImage = _swrast_unmap_teximage;
     driver->MapTexture = NULL;
     driver->UnmapTexture = NULL;
-   driver->IsTextureResident = NULL;
     driver->DrawTex = _mesa_meta_DrawTex;

     /* Vertex/fragment programs */
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index a068397..d6f70d1 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -532,11 +532,6 @@ struct dd_function_table {
     void (*UnmapRenderbuffer)(struct gl_context *ctx,
                             struct gl_renderbuffer *rb);

-   /**
-    * Called by glAreTextureResident().
-    */
-   GLboolean (*IsTextureResident)( struct gl_context *ctx,
-                                   struct gl_texture_object *t );
     /*@}*/


diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 17c78ce..8e447ca 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -1184,10 +1184,7 @@ _mesa_PrioritizeTextures( GLsizei n, const GLuint 
*texName,
   *
   * \return GL_TRUE if all textures are resident and \p residences is left 
unchanged,
   *
- * \sa glAreTexturesResident().
- *
- * Looks up each texture in the hash and calls
- * dd_function_table::IsTextureResident.
+ * Note: we assume all textures are always resident
   */
  GLboolean GLAPIENTRY
  _mesa_AreTexturesResident(GLsizei n, const GLuint *texName,
@@ -1195,7 +1192,7 @@ _mesa_AreTexturesResident(GLsizei n, const GLuint 
*texName,
  {
     GET_CURRENT_CONTEXT(ctx);
     GLboolean allResident = GL_TRUE;
-   GLint i, j;
+   GLint i;
     ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);

     if (n<  0) {
@@ -1206,6 +1203,7 @@ _mesa_AreTexturesResident(GLsizei n, const GLuint 
*texName,
     if (!texName || !residences)
        return GL_FALSE;

+   /* We only do error checking on the texture names */
     for (i = 0; i<  n; i++) {
        struct gl_texture_object *t;
        if (texName[i] == 0) {
@@ -1217,21 +1215,6 @@ _mesa_AreTexturesResident(GLsizei n, const GLuint 
*texName,
           _mesa_error(ctx, GL_INVALID_VALUE, "glAreTexturesResident");
           return GL_FALSE;
        }
-      if (!ctx->Driver.IsTextureResident ||
-          ctx->Driver.IsTextureResident(ctx, t)) {
-         /* The texture is resident */
-         if (!allResident)
-            residences[i] = GL_TRUE;
-      }
-      else {
-         /* The texture is not resident */
-         if (allResident) {
-            allResident = GL_FALSE;
-            for (j = 0; j<  i; j++)
-               residences[j] = GL_TRUE;
-         }
-         residences[i] = GL_FALSE;
-      }
     }

     return allResident;
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index f4ec633..0f92a5b 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -1114,8 +1114,7 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, 
GLfloat *params )
           }
           break;
        case GL_TEXTURE_RESIDENT:
-         *params = ctx->Driver.IsTextureResident ?
-            ctx->Driver.IsTextureResident(ctx, obj) : 1.0F;
+         *params = 1.0F;
           break;
        case GL_TEXTURE_PRIORITY:
           *params = obj->Priority;
@@ -1261,8 +1260,7 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, 
GLint *params )
           }
           break;;
        case GL_TEXTURE_RESIDENT:
-         *params = ctx->Driver.IsTextureResident ?
-            ctx->Driver.IsTextureResident(ctx, obj) : 1;
+         *params = 1;
           break;;
        case GL_TEXTURE_PRIORITY:
           *params = FLOAT_TO_INT(obj->Priority);

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to