st/mesa: set PIPE_BIND_RENDER_TARGET for sRGB formats if UNORM is supported

Because the format can be changed to UNORM in a surface.

This fixes:
state_tracker/st_atom_framebuffer.c:163:update_framebuffer_state:
Assertion `framebuffer->cbufs[i]->texture->bind & (1 << 1)' failed.
This commit is contained in:
Marek Olšák 2011-03-04 06:38:13 +01:00
parent 5378983417
commit ba48811fa8

View file

@ -227,8 +227,15 @@ default_bindings(struct st_context *st, enum pipe_format format)
if (screen->is_format_supported(screen, format, target, 0, bindings, geom))
return bindings;
else
return PIPE_BIND_SAMPLER_VIEW;
else {
/* Try non-sRGB. */
format = util_format_linear(format);
if (screen->is_format_supported(screen, format, target, 0, bindings, geom))
return bindings;
else
return PIPE_BIND_SAMPLER_VIEW;
}
}