i965/skl: Avoid using the 1D stencil layout for stencil-only images
authorNeil Roberts <neil@linux.intel.com>
Tue, 31 Mar 2015 13:58:28 +0000 (14:58 +0100)
committerNeil Roberts <neil@linux.intel.com>
Tue, 31 Mar 2015 17:22:01 +0000 (18:22 +0100)
Commit cf67ca9ffa9 made the layouting code pick a special layout for
1D images on Skylake. This should not be used for depth and stencil
buffers because these need to be treated as 2D tiled images. However
the patch was missing a check for images with a base format of
GL_STENCIL_INDEX. In practice I don't think it's currently possible to
hit this because Mesa doesn't support GL_ARB_texture_stencil8 and it's
not possible to create a 1D renderbuffer, but it'll be good to be
ready for when the extension is supported.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/mesa/drivers/dri/i965/brw_tex_layout.c

index 5e70cd26c7ef151d2364d0cfb10e6bf83a42cc75..7a1e09d692c85a927e1bc78eabc5ae6698ae9745 100644 (file)
@@ -289,7 +289,8 @@ use_linear_1d_layout(struct brw_context *brw,
       GLenum base_format = _mesa_get_format_base_format(mt->format);
 
       if (base_format != GL_DEPTH_COMPONENT &&
-          base_format != GL_DEPTH_STENCIL)
+          base_format != GL_DEPTH_STENCIL &&
+          base_format != GL_STENCIL_INDEX)
          return true;
    }