On Thu, Apr 27, 2017 at 11:32 AM, Nanley Chery <nanleych...@gmail.com> wrote:
> Signed-off-by: Nanley Chery <nanley.g.ch...@intel.com> > --- > src/intel/isl/isl.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c > index f89f351c15..ce5b35c47c 100644 > --- a/src/intel/isl/isl.c > +++ b/src/intel/isl/isl.c > @@ -1610,14 +1610,19 @@ isl_surf_get_ccs_surf(const struct isl_device *dev, > return false; > } > > + /* Multi-LOD and multi-layer CCS isn't supported on gen7. */ > + const uint8_t levels = ISL_DEV_GEN(dev) == 7 ? 1 : surf->levels; > + const uint32_t array_len = ISL_DEV_GEN(dev) == 7 ? > + 1 : surf->logical_level0_px.array_len; > + > The GL driver does if (brw->gen < 8 && (mip_mapped || arrayed)) return false; Which is a bit stronger condition. I think this is probably ok though so long as we're careful. It might be worth adding the following asserts to blorp_fast_clear and blorp_ccs_resolve: assert(level < surf->aux_surf->levels); if (surf->surf->dim == ISL_SURF_DIM_3D) { assert(start_layer < surf->aux_surf->logical_level0_px.depth); assert(start_layer + num_layers < surf->aux_surf->logical_level0_px.depth); } else { assert(start_layer < surf->aux_surf->logical_level0_px.array_len); assert(start_layer + num_layers < surf->aux_surf->logical_level0_px.array_len); } That way we'll catch it if anyone ever tries to resolve/fast-clear a miplevel or array slice that isn't there. --Jason > return isl_surf_init(dev, ccs_surf, > .dim = surf->dim, > .format = ccs_format, > .width = surf->logical_level0_px.width, > .height = surf->logical_level0_px.height, > .depth = surf->logical_level0_px.depth, > - .levels = surf->levels, > - .array_len = surf->logical_level0_px.array_len, > + .levels = levels, > + .array_len = array_len, > .samples = 1, > .usage = ISL_SURF_USAGE_CCS_BIT, > .tiling_flags = ISL_TILING_CCS_BIT); > -- > 2.12.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev