Mesa (master): i965: Also copy stencil miptree data.
Kenneth Graunke
kwg at kemper.freedesktop.org
Wed May 25 21:23:17 UTC 2016
Module: Mesa
Branch: master
Commit: c51702bdc81b65396a7945d2cb30e0576e4aa59a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c51702bdc81b65396a7945d2cb30e0576e4aa59a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu May 19 20:50:06 2016 -0700
i965: Also copy stencil miptree data.
The Meta path handles this, but the CPU/BLT fallbacks did not.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Chris Forbes <chrisforbes at google.com>
---
src/mesa/drivers/dri/i965/intel_copy_image.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c b/src/mesa/drivers/dri/i965/intel_copy_image.c
index d114534..ead5b0d 100644
--- a/src/mesa/drivers/dri/i965/intel_copy_image.c
+++ b/src/mesa/drivers/dri/i965/intel_copy_image.c
@@ -314,6 +314,21 @@ intel_copy_image_sub_data(struct gl_context *ctx,
copy_miptrees(brw, src_mt, src_x, src_y, src_z, src_level,
dst_mt, dst_x, dst_y, dst_z, dst_level,
src_width, src_height);
+
+ /* CopyImage only works for equal formats, texture view equivalence
+ * classes, and a couple special cases for compressed textures.
+ *
+ * Notably, GL_DEPTH_STENCIL does not appear in any equivalence
+ * classes, so we know the formats must be the same, and thus both
+ * will either have stencil, or not. They can't be mismatched.
+ */
+ assert((src_mt->stencil_mt != NULL) == (dst_mt->stencil_mt != NULL));
+
+ if (dst_mt->stencil_mt) {
+ copy_miptrees(brw, src_mt->stencil_mt, src_x, src_y, src_z, src_level,
+ dst_mt->stencil_mt, dst_x, dst_y, dst_z, dst_level,
+ src_width, src_height);
+ }
}
void
More information about the mesa-commit
mailing list