[Mesa-dev] [PATCH 2/3] hud: try L8 texture for font if I8 format isn't supported

Brian Paul brianp at vmware.com
Mon Apr 1 17:33:34 PDT 2013


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.paul at gmail.com
> <mailto:brian.e.paul at gmail.com>> wrote:
>
>     From: Brian Paul <brianp at vmware.com <mailto:brianp at 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 at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list