Add sampler state and tile define for gen8.
authorJunyan He <junyan.he@linux.intel.com>
Thu, 9 Oct 2014 08:27:35 +0000 (16:27 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Fri, 10 Oct 2014 08:24:50 +0000 (16:24 +0800)
Signed-off-by: Junyan He <junyan.he@linux.intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Reviewed-by: Yang Rong <rong.r.yang@intel.com>
src/intel/intel_defines.h
src/intel/intel_structs.h

index 496a9eb..7bba154 100644 (file)
 #define I965_TILEWALK_XMAJOR                 0
 #define I965_TILEWALK_YMAJOR                 1
 
+#define GEN8_TILEMODE_LINEAR                 0
+#define GEN8_TILEMODE_WMAJOR                 1
+#define GEN8_TILEMODE_XMAJOR                 2
+#define GEN8_TILEMODE_YMAJOR                 3
+
 #define I965_SURCHAN_SELECT_ZERO             0
 #define I965_SURCHAN_SELECT_ONE              1
 #define I965_SURCHAN_SELECT_RED              4
index 40185bf..66761ff 100644 (file)
@@ -593,6 +593,61 @@ typedef struct gen7_sampler_state
 
 STATIC_ASSERT(sizeof(gen6_sampler_state_t) == sizeof(gen7_sampler_state_t));
 
+typedef struct gen8_sampler_state
+{
+  struct {
+    uint32_t aniso_algorithm:1;
+    uint32_t lod_bias:13;
+    uint32_t min_filter:3;
+    uint32_t mag_filter:3;
+    uint32_t mip_filter:2;
+    uint32_t base_level:5;
+    uint32_t lod_preclamp:2;
+    uint32_t default_color_mode:1;
+    uint32_t pad0:1;
+    uint32_t disable:1;
+  } ss0;
+
+  struct {
+    uint32_t cube_control_mode:1;
+    uint32_t shadow_function:3;
+    uint32_t chromakey_mode:1;
+    uint32_t chromakey_index:2;
+    uint32_t chromakey_enable:1;
+    uint32_t max_lod:12;
+    uint32_t min_lod:12;
+  } ss1;
+
+  struct {
+    uint32_t lod_clamp_mag_mode:1;
+    uint32_t flexible_filter_valign:1;
+    uint32_t flexible_filter_halign:1;
+    uint32_t flexible_filter_coeff_size:1;
+    uint32_t flexible_filter_mode:1;
+    uint32_t pad1:1;
+    uint32_t indirect_state_ptr:18;
+    uint32_t pad0:2;
+    uint32_t sep_filter_height:2;
+    uint32_t sep_filter_width:2;
+    uint32_t sep_filter_coeff_table_size:2;
+  } ss2;
+
+  struct {
+    uint32_t r_wrap_mode:3;
+    uint32_t t_wrap_mode:3;
+    uint32_t s_wrap_mode:3;
+    uint32_t pad:1;
+    uint32_t non_normalized_coord:1;
+    uint32_t trilinear_quality:2;
+    uint32_t address_round:6;
+    uint32_t max_aniso:3;
+    uint32_t pad0:2;
+    uint32_t non_sep_filter_footprint_mask:8;
+  } ss3;
+} gen8_sampler_state_t;
+
+STATIC_ASSERT(sizeof(gen6_sampler_state_t) == sizeof(gen8_sampler_state_t));
+
 #undef BITFIELD_BIT
 #undef BITFIELD_RANGE