summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga
diff options
context:
space:
mode:
authorThomas Hellstrom <[email protected]>2017-05-03 05:26:02 -0700
committerThomas Hellstrom <[email protected]>2017-06-16 08:40:26 +0200
commit5732ac3eccdc750593d2c0d3a5348d709106cdbf (patch)
tree7bb5b049aea4347635a4cf22b533f2507515842c /src/gallium/drivers/svga
parent14f888a2ba506a66754fcdfc7b050bdedf15ac7c (diff)
svga: Fix srgb copy_region regression
This fixes a tf2 srgb copy_region regression from "svga: Rework the blit and resource_copy_region functionality v3" Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers/svga')
-rw-r--r--src/gallium/drivers/svga/svga_pipe_blit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/svga/svga_pipe_blit.c b/src/gallium/drivers/svga/svga_pipe_blit.c
index ef5aeee9a16..fd287a1815c 100644
--- a/src/gallium/drivers/svga/svga_pipe_blit.c
+++ b/src/gallium/drivers/svga/svga_pipe_blit.c
@@ -736,9 +736,12 @@ svga_resource_copy_region(struct pipe_context *pipe,
/* Blits are format-converting which is not what we want, so perform a
* strict format-check.
- * FIXME: Also blits appear broken with 3D source textures.
+ * FIXME: Need to figure out why srgb blits (tf2) and
+ * 3D blits (piglit) are broken here. Perhaps we set up the
+ * struct pipe_blit_info incorrectly.
*/
if (src_tex->format == dst_tex->format &&
+ !util_format_is_srgb(src_tex->format) &&
svga_resource_type(src_tex->target) != SVGA3D_RESOURCE_TEXTURE3D &&
try_blit(svga, &blit))
goto done;