i965: Add helper functions for interpolation map
authorChris Forbes <chrisf@ijw.co.nz>
Wed, 31 Jul 2013 10:28:13 +0000 (22:28 +1200)
committerChris Forbes <chrisf@ijw.co.nz>
Thu, 1 Aug 2013 08:58:49 +0000 (20:58 +1200)
V6: real bools

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_context.h

index 7b5fd130619ab25b8c8ae3a86f6ad72284a3c89c..00dd2b4b87f7cd0982bb17253071576ce709c2ba 100644 (file)
@@ -420,6 +420,24 @@ struct interpolation_mode_map {
    unsigned char mode[BRW_VARYING_SLOT_COUNT];
 };
 
+static inline bool brw_any_flat_varyings(struct interpolation_mode_map *map)
+{
+   for (int i = 0; i < BRW_VARYING_SLOT_COUNT; i++)
+      if (map->mode[i] == INTERP_QUALIFIER_FLAT)
+         return true;
+
+   return false;
+}
+
+static inline bool brw_any_noperspective_varyings(struct interpolation_mode_map *map)
+{
+   for (int i = 0; i < BRW_VARYING_SLOT_COUNT; i++)
+      if (map->mode[i] == INTERP_QUALIFIER_NOPERSPECTIVE)
+         return true;
+
+   return false;
+}
+
 
 struct brw_sf_prog_data {
    GLuint urb_read_length;