mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
mesa: remove 'params' parameter from ctx->Driver.TexParameter()
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>
This commit is contained in:
parent
99d790538d
commit
a710c21ac2
8 changed files with 20 additions and 37 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
/*@}*/
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -807,7 +807,7 @@ _mesa_texture_parameterf(struct gl_context *ctx,
|
|||
}
|
||||
|
||||
if (ctx->Driver.TexParameter && need_update) {
|
||||
ctx->Driver.TexParameter(ctx, texObj, pname, ¶m);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue