summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTopi Pohjolainen <topi.pohjolainen@intel.com>2014-05-12 12:42:28 +0300
committerTopi Pohjolainen <topi.pohjolainen@intel.com>2014-05-15 21:39:33 +0300
commitd45fadf11a8dbd9cdf0a1548a38127462b4ceee0 (patch)
treebf9ac0973688604eae0cb6f2989e3bc77d67a447
parent475216a4f082b7db9651238e1bd31f6d52c7c475 (diff)
i965/fb: Use meta path for stencil up/downsampling
Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
-rw-r--r--src/mesa/drivers/dri/i965/intel_mipmap_tree.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 2ce33992a5f..7e626dbbfde 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -1652,7 +1652,7 @@ intel_miptree_updownsample(struct brw_context *brw,
struct intel_mipmap_tree *src,
struct intel_mipmap_tree *dst)
{
- if (brw->gen < 8 || src->format == MESA_FORMAT_S_UINT8) {
+ if (brw->gen < 8) {
brw_blorp_blit_miptrees(brw,
src, 0 /* level */, 0 /* layer */,
dst, 0 /* level */, 0 /* layer */,
@@ -1661,11 +1661,18 @@ intel_miptree_updownsample(struct brw_context *brw,
0, 0,
dst->logical_width0, dst->logical_height0,
GL_NEAREST, false, false /*mirror x, y*/);
+ } else if (src->format == MESA_FORMAT_S_UINT8) {
+ brw_meta_stencil_updownsample(brw, src, dst);
} else {
brw_meta_updownsample(brw, src, dst);
}
if (src->stencil_mt) {
+ if (brw->gen >= 8) {
+ brw_meta_stencil_updownsample(brw, src->stencil_mt, dst);
+ return;
+ }
+
brw_blorp_blit_miptrees(brw,
src->stencil_mt, 0 /* level */, 0 /* layer */,
dst->stencil_mt, 0 /* level */, 0 /* layer */,