diff options
author | Topi Pohjolainen <topi.pohjolainen@intel.com> | 2014-05-12 12:42:28 +0300 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2014-05-16 23:45:24 -0700 |
commit | 872ea423ac4b62479375395ff0ebf6c7f24b713a (patch) | |
tree | a536f8d10a493e662926cfd9c70fffa1c09842f3 | |
parent | ad8ad99eff71014af60cc434f7d7ac102e3cf4d5 (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>
(cherry picked from commit d45fadf11a8dbd9cdf0a1548a38127462b4ceee0)
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 9 |
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 b23fddf7b0f..88bd8f06df0 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -1655,7 +1655,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 */, @@ -1664,11 +1664,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 */, |