ilo: no layer offsetting on GEN7+
authorChia-I Wu <olvaffe@gmail.com>
Sat, 21 Dec 2013 12:09:49 +0000 (20:09 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Wed, 8 Jan 2014 10:11:34 +0000 (18:11 +0800)
Even though the Ivy Bridge PRM lists some restrictions that require layer
offsetting as the Sandy Bridge PRM does, it seems they are actually lifted.

src/gallium/drivers/ilo/ilo_gpe_gen6.c

index d4c0398a1f2d53571b17fe645e7d743357429289..d461fe511aba8afcbc4506d745aaf9105dc5bc2c 100644 (file)
@@ -2478,7 +2478,11 @@ ilo_gpe_init_fb(const struct ilo_dev_info *dev,
 
    fb->offset_to_layers = false;
 
-   if (num_surfaces > 1) {
+   /*
+    * The PRMs list several restrictions when the framebuffer has more than
+    * one surface, but it seems they are lifted on GEN7+.
+    */
+   if (dev->gen < ILO_GEN(7) && num_surfaces > 1) {
       const unsigned first_depth =
          (first->texture->target == PIPE_TEXTURE_3D) ?
          first->texture->depth0 :