[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