isl/state: Allow for full 31-bit buffer texture sizes
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 10 Jun 2016 17:45:43 +0000 (10:45 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 22 Jun 2016 19:26:43 +0000 (12:26 -0700)
Ivy Bridge and above can handle up to 2^31 elements for RAW buffer
surfaces.

Reviewed-by: Chad Versace <chad.versace@intel.com>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
src/intel/isl/isl_surface_state.c

index 896778c..13e621f 100644 (file)
@@ -455,7 +455,7 @@ isl_genX(buffer_fill_state_s)(void *state,
    s.SurfaceHorizontalAlignment = isl_to_gen_halign[4];
    s.Height = ((num_elements - 1) >> 7) & 0x3fff;
    s.Width = (num_elements - 1) & 0x7f;
-   s.Depth = ((num_elements - 1) >> 21) & 0x3f;
+   s.Depth = ((num_elements - 1) >> 21) & 0x3ff;
    s.SurfacePitch = info->stride - 1;
    s.NumberofMultisamples = MULTISAMPLECOUNT_1;