llvmpipe/fs: hook up the interpolation APIs.
[mesa.git] / src / gallium / drivers / llvmpipe / lp_rast.h
index 34008e1c01ecdb7d76a8ce3532f2c0c07de6f176..425893704474c7010112df611c6c81bdcbb74e6e 100644 (file)
@@ -72,6 +72,7 @@ struct cmd_bin;
 
 struct lp_rasterizer_task;
 
+extern const float lp_sample_pos_4x[4][2];
 
 /**
  * Rasterization state.
@@ -116,6 +117,12 @@ struct lp_rast_plane {
 
    /* one-pixel sized trivial reject offsets for each plane */
    uint32_t eo;
+   /*
+    * We rely on this struct being 64bit aligned (ideally it would be 128bit
+    * but that's quite the waste) and therefore on 32bit we need padding
+    * since otherwise (even with the 64bit number in there) it wouldn't be.
+    */
+   uint32_t pad;
 };
 
 /**
@@ -297,7 +304,18 @@ lp_rast_arg_null( void )
 #define LP_RAST_OP_TRIANGLE_32_3_16  0x1b
 #define LP_RAST_OP_TRIANGLE_32_4_16  0x1c
 
-#define LP_RAST_OP_MAX               0x1d
+#define LP_RAST_OP_MS_TRIANGLE_1     0x1d
+#define LP_RAST_OP_MS_TRIANGLE_2     0x1e
+#define LP_RAST_OP_MS_TRIANGLE_3     0x1f
+#define LP_RAST_OP_MS_TRIANGLE_4     0x20
+#define LP_RAST_OP_MS_TRIANGLE_5     0x21
+#define LP_RAST_OP_MS_TRIANGLE_6     0x22
+#define LP_RAST_OP_MS_TRIANGLE_7     0x23
+#define LP_RAST_OP_MS_TRIANGLE_8     0x24
+#define LP_RAST_OP_MS_TRIANGLE_3_4   0x25
+#define LP_RAST_OP_MS_TRIANGLE_3_16  0x26
+#define LP_RAST_OP_MS_TRIANGLE_4_16  0x27
+#define LP_RAST_OP_MAX               0x28
 #define LP_RAST_OP_MASK              0xff
 
 void