[Mesa-dev] [PATCH] i965: Force border color A to 1 when it's not present in the GL format.

Kenneth Graunke kenneth at whitecape.org
Thu Nov 1 14:13:20 PDT 2012


On 11/01/2012 11:46 AM, Eric Anholt wrote:
> It's usually forced to 1 by the surface format, but sometimes we actually have
> alpha present because it's the only format available.
>
> Fixes piglit texwrap bordercolor tests for GL_EXT_texture_sRGB and OpenGL 1.1.
> ---
>   src/mesa/drivers/dri/i965/brw_wm_sampler_state.c |    7 +++++++
>   1 file changed, 7 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
> index e51381b..fb9cb83 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
> @@ -105,6 +105,13 @@ upload_default_color(struct brw_context *brw, struct gl_sampler_object *sampler,
>         color[3] = sampler->BorderColor.f[3];
>      }
>
> +   /* In some cases we use an RGBA surface format for GL RGB textures,
> +    * where we've initialized the A channel to 1.0.  We also have to set
> +    * the border color alpha to 1.0 in that case.
> +    */
> +   if (firstImage->_BaseFormat == GL_RGB)
> +      color[3] = 1.0;
> +
>      if (intel->gen == 5 || intel->gen == 6) {
>         struct gen5_sampler_default_color *sdc;

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>



More information about the mesa-dev mailing list