isl: Bring back isl_format_layout::bpb
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 9 Jul 2016 04:55:34 +0000 (21:55 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 13 Jul 2016 18:47:37 +0000 (11:47 -0700)
A while ago we got rid of the bits-per-block because we thought we didn't
need it.  We're about to introduce some very useful 1 and 2-bit formats so
we really should be able to handle them again.

Reviewed-by: Chad Versace <chad.versace@intel.com>
src/intel/isl/gen_format_layout.py
src/intel/isl/isl.h

index d7f39000b262f52b2ae7fc9a30d380c72521ab59..803967ec490a98bd69ee9008806ababe09431437 100644 (file)
@@ -67,7 +67,8 @@ TEMPLATE = template.Template(
           [ISL_FORMAT_${format.name}] = {
             .format = ISL_FORMAT_${format.name},
             .name = "ISL_FORMAT_${format.name}",
-            .bs = ${format.bs},
+            .bpb = ${format.bpb},
+            .bs = ${format.bpb // 8},
             .bw = ${format.bw},
             .bh = ${format.bh},
             .bd = ${format.bd},
@@ -137,7 +138,7 @@ class Format(object):
         self.name = line[0].strip()
 
         # Future division makes this work in python 2.
-        self.bs = int(line[1]) // 8
+        self.bpb = int(line[1])
         self.bw = line[2].strip()
         self.bh = line[3].strip()
         self.bd = line[4].strip()
index f169fefd16e16ffc89a3f0b22cb8e84731aa5fd6..f74c071705d41462a92498674bc009019d9e88f8 100644 (file)
@@ -639,6 +639,7 @@ struct isl_format_layout {
    enum isl_format format;
    const char *name;
 
+   uint16_t bpb; /**< Bits per block */
    uint8_t bs; /**< Block size, in bytes, rounded towards 0 */
    uint8_t bw; /**< Block width, in pixels */
    uint8_t bh; /**< Block height, in pixels */