Have you checked the font is rendered correctly? The font should be transparent and the blend function reads the alpha channel to determine the transparency, so A8 would be a better option. If that isn't an option either, the fragment shader should do .xxxx swizzling.
Marek On Tue, Apr 2, 2013 at 12:46 AM, Brian Paul <brian.e.p...@gmail.com> wrote: > From: Brian Paul <bri...@vmware.com> > > --- > src/gallium/auxiliary/hud/font.c | 17 +++++++++++++---- > 1 file changed, 13 insertions(+), 4 deletions(-) > > diff --git a/src/gallium/auxiliary/hud/font.c > b/src/gallium/auxiliary/hud/font.c > index 5c4a4d0..6747874 100644 > --- a/src/gallium/auxiliary/hud/font.c > +++ b/src/gallium/auxiliary/hud/font.c > @@ -377,17 +377,26 @@ util_font_create_fixed_8x13(struct pipe_context > *pipe, > struct pipe_resource tex_templ, *tex; > struct pipe_transfer *transfer = NULL; > char *map; > + enum pipe_format tex_format; > int i; > > - if (!screen->is_format_supported(screen, PIPE_FORMAT_I8_UNORM, > - PIPE_TEXTURE_RECT, 0, > - PIPE_BIND_SAMPLER_VIEW)) { > + if (screen->is_format_supported(screen, PIPE_FORMAT_I8_UNORM, > + PIPE_TEXTURE_RECT, 0, > + PIPE_BIND_SAMPLER_VIEW)) { > + tex_format = PIPE_FORMAT_I8_UNORM; > + } > + else if (screen->is_format_supported(screen, PIPE_FORMAT_L8_UNORM, > + PIPE_TEXTURE_RECT, 0, > + PIPE_BIND_SAMPLER_VIEW)) { > + tex_format = PIPE_FORMAT_L8_UNORM; > + } > + else { > return FALSE; > } > > memset(&tex_templ, 0, sizeof(tex_templ)); > tex_templ.target = PIPE_TEXTURE_RECT; > - tex_templ.format = PIPE_FORMAT_I8_UNORM; > + tex_templ.format = tex_format; > tex_templ.width0 = 128; > tex_templ.height0 = 256; > tex_templ.depth0 = 1; > -- > 1.7.9.5 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev