gallium/hud: try L8 texture for font if I8 format isn't supported

This commit is contained in:
Brian Paul 2013-04-01 16:44:50 -06:00
parent 0289ebaa0f
commit a9ae7e9c28

View file

@ -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;