mesa: remove 'params' parameter from ctx->Driver.TexParameter()
authorBrian Paul <brianp@vmware.com>
Fri, 7 Oct 2016 20:28:21 +0000 (14:28 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 13 Oct 2016 23:38:49 +0000 (17:38 -0600)
None of the drivers which implement this hook do anything with the
texture parameter value.  Drivers just look at the pname and set a
dirty flag if needed.

We were doing some ugly casting and type conversion to setup the
argument so that all goes away.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/drivers/dri/nouveau/nouveau_state.c
src/mesa/drivers/dri/r200/r200_tex.c
src/mesa/drivers/dri/radeon/radeon_tex.c
src/mesa/main/dd.h
src/mesa/main/teximage.c
src/mesa/main/texobj.c
src/mesa/main/texparam.c
src/mesa/state_tracker/st_cb_texture.c

index 6189997397ff4cd670abc1f2d215f3a160033947..de36fa41b59129088cb7850da75ea6f4c70206d3 100644 (file)
@@ -395,8 +395,7 @@ nouveau_tex_env(struct gl_context *ctx, GLenum target, GLenum pname,
 
 static void
 nouveau_tex_parameter(struct gl_context *ctx,
-                     struct gl_texture_object *t, GLenum pname,
-                     const GLfloat *params)
+                     struct gl_texture_object *t, GLenum pname)
 {
        switch (pname) {
        case GL_TEXTURE_MAG_FILTER:
index ca921100c125503bb9989c8bb62c9b87c894a2f1..2a95f2d3cb1e6b91af579b6d9914f6ed7a6ca7c9 100644 (file)
@@ -374,9 +374,9 @@ void r200TexUpdateParameters(struct gl_context *ctx, GLuint unit)
  * Changes variables and flags for a state update, which will happen at the
  * next UpdateTextureState
  */
-static void r200TexParameter( struct gl_context *ctx,
-                               struct gl_texture_object *texObj,
-                               GLenum pname, const GLfloat *params )
+static void r200TexParameter(struct gl_context *ctx,
+                             struct gl_texture_object *texObj,
+                             GLenum pname)
 {
    radeonTexObj* t = radeon_tex_obj(texObj);
 
index d1aa1a187376b7174d084aa38d4ceaeaa14b7e4c..083a5e175fff1437fd33ad23216af3e78a327368 100644 (file)
@@ -329,7 +329,7 @@ void radeonTexUpdateParameters(struct gl_context *ctx, GLuint unit)
 
 static void radeonTexParameter( struct gl_context *ctx,
                                struct gl_texture_object *texObj,
-                               GLenum pname, const GLfloat *params )
+                               GLenum pname )
 {
    radeonTexObj* t = radeon_tex_obj(texObj);
 
index 7f5327186ff5b00eb0f40d91124c57b52ed6a877..1d75b9fc29b202089e9e1071ee0ead0fe4cedeb2 100644 (file)
@@ -610,10 +610,9 @@ struct dd_function_table {
    /** Set texture environment parameters */
    void (*TexEnv)(struct gl_context *ctx, GLenum target, GLenum pname,
                   const GLfloat *param);
-   /** Set texture parameters */
+   /** Set texture parameter (callee gets param value from the texObj) */
    void (*TexParameter)(struct gl_context *ctx,
-                        struct gl_texture_object *texObj,
-                        GLenum pname, const GLfloat *params);
+                        struct gl_texture_object *texObj, GLenum pname);
    /** Set the viewport */
    void (*Viewport)(struct gl_context *ctx);
    /*@}*/
index 411ec49efd1b3214dd13b4ff44d8e4f96faed3fb..bc3b76a926dc3c97b1a78c39673f28d1abeca67e 100644 (file)
@@ -5082,12 +5082,10 @@ texture_buffer_range(struct gl_context *ctx,
 
    if (ctx->Driver.TexParameter) {
       if (offset != oldOffset) {
-         ctx->Driver.TexParameter(ctx, texObj, GL_TEXTURE_BUFFER_OFFSET,
-                                  (const GLfloat *) &offset);
+         ctx->Driver.TexParameter(ctx, texObj, GL_TEXTURE_BUFFER_OFFSET);
       }
       if (size != oldSize) {
-         ctx->Driver.TexParameter(ctx, texObj, GL_TEXTURE_BUFFER_SIZE,
-                                  (const GLfloat *) &size);
+         ctx->Driver.TexParameter(ctx, texObj, GL_TEXTURE_BUFFER_SIZE);
       }
    }
 
index 9a051bc8e2b8bce859f17ccf65337141279087d1..fbd498dd93547301a414195972e55390e660f76c 100644 (file)
@@ -365,15 +365,12 @@ finish_texture_init(struct gl_context *ctx, GLenum target,
          obj->Sampler.MinFilter = filter;
          obj->Sampler.MagFilter = filter;
          if (ctx->Driver.TexParameter) {
-            static const GLfloat fparam_wrap[1] = {(GLfloat) GL_CLAMP_TO_EDGE};
-            const GLfloat fparam_filter[1] = {(GLfloat) filter};
-            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_WRAP_S, fparam_wrap);
-            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_WRAP_T, fparam_wrap);
-            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_WRAP_R, fparam_wrap);
-            ctx->Driver.TexParameter(ctx, obj,
-                  GL_TEXTURE_MIN_FILTER, fparam_filter);
-            ctx->Driver.TexParameter(ctx, obj,
-                  GL_TEXTURE_MAG_FILTER, fparam_filter);
+            /* XXX we probably don't need to make all these calls */
+            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_WRAP_S);
+            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_WRAP_T);
+            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_WRAP_R);
+            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_MIN_FILTER);
+            ctx->Driver.TexParameter(ctx, obj, GL_TEXTURE_MAG_FILTER);
          }
          break;
 
index a8147786fa82be869f7fe1e319ddc7279415a06d..29eed078650adf0d8d37ed86799290930e6b38b1 100644 (file)
@@ -807,7 +807,7 @@ _mesa_texture_parameterf(struct gl_context *ctx,
    }
 
    if (ctx->Driver.TexParameter && need_update) {
-      ctx->Driver.TexParameter(ctx, texObj, pname, &param);
+      ctx->Driver.TexParameter(ctx, texObj, pname);
    }
 }
 
@@ -874,7 +874,7 @@ _mesa_texture_parameterfv(struct gl_context *ctx,
    }
 
    if (ctx->Driver.TexParameter && need_update) {
-      ctx->Driver.TexParameter(ctx, texObj, pname, params);
+      ctx->Driver.TexParameter(ctx, texObj, pname);
    }
 }
 
@@ -919,8 +919,7 @@ _mesa_texture_parameteri(struct gl_context *ctx,
    }
 
    if (ctx->Driver.TexParameter && need_update) {
-      GLfloat fparam = (GLfloat) param;
-      ctx->Driver.TexParameter(ctx, texObj, pname, &fparam);
+      ctx->Driver.TexParameter(ctx, texObj, pname);
    }
 }
 
@@ -964,15 +963,7 @@ _mesa_texture_parameteriv(struct gl_context *ctx,
    }
 
    if (ctx->Driver.TexParameter && need_update) {
-      GLfloat fparams[4];
-      fparams[0] = INT_TO_FLOAT(params[0]);
-      if (pname == GL_TEXTURE_BORDER_COLOR ||
-          pname == GL_TEXTURE_CROP_RECT_OES) {
-         fparams[1] = INT_TO_FLOAT(params[1]);
-         fparams[2] = INT_TO_FLOAT(params[2]);
-         fparams[3] = INT_TO_FLOAT(params[3]);
-      }
-      ctx->Driver.TexParameter(ctx, texObj, pname, fparams);
+      ctx->Driver.TexParameter(ctx, texObj, pname);
    }
 }
 
index b448e56738fe2e986b1393a09eba7a56915cd266..fa52a4e18a87b52a701d3e43b6612294069b2a5f 100644 (file)
@@ -2860,8 +2860,7 @@ st_ClearTexSubImage(struct gl_context *ctx,
  */
 static void
 st_TexParameter(struct gl_context *ctx,
-                struct gl_texture_object *texObj,
-                GLenum pname, const GLfloat *params)
+                struct gl_texture_object *texObj, GLenum pname)
 {
    struct st_context *st = st_context(ctx);
    struct st_texture_object *stObj = st_texture_object(texObj);