i965: Fix calculation of layers array length for isl_view
authorDanylo Piliaiev <danylo.piliaiev@gmail.com>
Thu, 15 Nov 2018 10:03:31 +0000 (12:03 +0200)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 16 Nov 2018 01:59:54 +0000 (19:59 -0600)
commitf9fd0cf4790cb2a530e75d1a2206dbb9d8af7cb2
tree733911a4305afaa202c2004586f8059f44f12782
parent6339aba775ecdcaf74136479d02e3622bc1d4c0a
i965: Fix calculation of layers array length for isl_view

Handle all cases in calculation of layers count for isl_view
taking into account texture view and image unit.
st_convert_image was taken as a reference.

When u->Layered is true the whole level is taken with respect to
image view. In other case only one layer is taken.

v3: (Józef Kucia and Ilia Mirkin)
    - Rewrote patch by taking st_convert_image as a reference
    - Removed now unused get_image_num_layers function
    - Changed commit message

v4: (Jason Ekstrand)
    - Added assert

Fixes: 5a8c8903
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107856

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_wm_surface_state.c