svga: implement sRGB rendering for imported surfaces

If texture is imported and templ format is sRGB, use compatible sRGB format
to the imported texture format while creating surface view.

tested with MTT piglit, glretrace, viewperf and conform

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
Neha Bhende 2017-04-27 10:05:35 -07:00 committed by Brian Paul
parent 1b415a5b28
commit 197907c926

View file

@ -305,10 +305,17 @@ svga_create_surface_view(struct pipe_context *pipe,
bind = PIPE_BIND_RENDER_TARGET;
}
if (tex->imported)
if (tex->imported) {
/* imported resource (a window) */
format = tex->key.format;
else
if (util_format_is_srgb(surf_tmpl->format)) {
/* sRGB rendering to window */
format = svga_linear_to_srgb(format);
}
}
else {
format = svga_translate_format(ss, surf_tmpl->format, bind);
}
assert(format != SVGA3D_FORMAT_INVALID);