From: Neha Bhende Date: Thu, 27 Apr 2017 17:05:35 +0000 (-0700) Subject: svga: implement sRGB rendering for imported surfaces X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=197907c9267c9e9372a6cbb7699e3bf1fcf787cb;p=mesa.git 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 Reviewed-by: Charmaine Lee --- diff --git a/src/gallium/drivers/svga/svga_surface.c b/src/gallium/drivers/svga/svga_surface.c index fdc6ba4e4da..04173266ff0 100644 --- a/src/gallium/drivers/svga/svga_surface.c +++ b/src/gallium/drivers/svga/svga_surface.c @@ -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);