summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/svga/svga_pipe_blit.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/svga/svga_pipe_blit.c b/src/gallium/drivers/svga/svga_pipe_blit.c
index ea0b3968c39..e1a4c069ca0 100644
--- a/src/gallium/drivers/svga/svga_pipe_blit.c
+++ b/src/gallium/drivers/svga/svga_pipe_blit.c
@@ -322,6 +322,18 @@ svga_blit(struct pipe_context *pipe,
return;
}
+ /**
+ * When there is blit from srgb to linear format or vice versa, we change
+ * src.format to srgb or linear, respectively
+ */
+
+ if (util_format_is_srgb(blit.dst.format)) {
+ blit.src.format = util_format_srgb(blit.src.format);
+ }
+ else {
+ blit.src.format = util_format_linear(blit.src.format);
+ }
+
/* XXX turn off occlusion and streamout queries */
util_blitter_save_vertex_buffer_slot(svga->blitter, svga->curr.vb);