[Mesa-dev] [PATCH] mesa: enable GL_TEXTURE_LOD_BIAS set/get
Eric Anholt
eric at anholt.net
Tue Nov 19 12:16:24 PST 2013
Tapani Pälli <tapani.palli at intel.com> writes:
> Earlier comments suggest this was removed from GL core spec but it is
> still there. Enabling makes 'texture_lod_bias_getter' Khronos
> conformance tests pass, also removes some errors from Metro Last Light
> game which is using this API.
Looks to me like this makes things start erroring on a compat context.
>
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
> src/mesa/main/texparam.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
> index d56b7d9..e1bfeb0 100644
> --- a/src/mesa/main/texparam.c
> +++ b/src/mesa/main/texparam.c
> @@ -684,11 +684,7 @@ set_tex_parameterf(struct gl_context *ctx,
> return GL_FALSE;
>
> case GL_TEXTURE_LOD_BIAS:
> - /* NOTE: this is really part of OpenGL 1.4, not EXT_texture_lod_bias.
> - * It was removed in core-profile, and it has never existed in OpenGL
> - * ES.
> - */
> - if (ctx->API != API_OPENGL_COMPAT)
> + if (_mesa_is_gles(ctx))
> goto invalid_pname;
>
> if (!target_allows_setting_sampler_parameters(texObj->Target))
> @@ -1513,7 +1509,7 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params )
> *params = (GLfloat) obj->DepthMode;
> break;
> case GL_TEXTURE_LOD_BIAS:
> - if (ctx->API != API_OPENGL_COMPAT)
> + if (_mesa_is_gles(ctx))
> goto invalid_pname;
>
> *params = obj->Sampler.LodBias;
> @@ -1701,10 +1697,13 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params )
> *params = (GLint) obj->DepthMode;
> break;
> case GL_TEXTURE_LOD_BIAS:
> - if (ctx->API != API_OPENGL_COMPAT)
> + if (_mesa_is_gles(ctx))
> goto invalid_pname;
>
> - *params = (GLint) obj->Sampler.LodBias;
> + /* GL spec 'Data Conversions' section specifies that floating-point
> + * value in integer Get function is rounded to nearest integer
> + */
> + *params = (GLint) roundf(obj->Sampler.LodBias);
> break;
> case GL_TEXTURE_CROP_RECT_OES:
> if (ctx->API != API_OPENGLES || !ctx->Extensions.OES_draw_texture)
> --
> 1.8.1.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131119/23fd9c12/attachment.pgp>
More information about the mesa-dev
mailing list