I use a simple texturing fragment shader and the equation "src*a + dst*(1-a)" for blending.
Sorry A8 is probably wrong too, because the text would be black (it's (0,0,0,A), not (1,1,1,A)). I'll write a patch to use swizzling in the fragment shader instead. Marek On Tue, Apr 2, 2013 at 2:33 AM, Brian Paul <bri...@vmware.com> wrote: > On 04/01/2013 06:18 PM, Marek Olšák wrote: > >> Have you checked the font is rendered correctly? >> > > Yeah, it works fine. > > > > 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. >> > > Hmmm, I just tried A8 and it text is missing. > > I figured you were using a KIL-based fragment shader for the text as in > the state tracker's glBitmap code. > > I'll look closer later... > > -Brian > > > >> >> On Tue, Apr 2, 2013 at 12:46 AM, Brian Paul <brian.e.p...@gmail.com >> <mailto:brian.e.p...@gmail.com**>> wrote: >> >> From: Brian Paul <bri...@vmware.com <mailto: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 <mailto:mesa-dev@lists.** >> freedesktop.org <mesa-dev@lists.freedesktop.org>> >> >> http://lists.freedesktop.org/**mailman/listinfo/mesa-dev<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<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