diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/svga/svga_pipe_blit.c | 12 |
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); |