ilo: set VME for 3DSTATE_PS
authorChia-I Wu <olvaffe@gmail.com>
Fri, 16 Oct 2015 14:53:05 +0000 (22:53 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Sun, 18 Oct 2015 13:35:16 +0000 (21:35 +0800)
When the bit is not set, we can see sampling artifacts on triangle edges when
the mip filter is not GEN6_MIPFILTER_NONE.

src/gallium/drivers/ilo/core/ilo_state_shader_ps.c

index f4d801e9b5619539e3ad2a04773b5dc09487039c..ceeb68a460ef9d1aeb3026afd5e9436646bd899a 100644 (file)
@@ -592,7 +592,12 @@ ps_set_gen8_3DSTATE_PS(struct ilo_state_ps *ps,
 
    ILO_DEV_ASSERT(dev, 8, 8);
 
-   dw3 = ff->sampler_count << GEN6_THREADDISP_SAMPLER_COUNT__SHIFT |
+   /*
+    * Set VME here for correct computation of LODs and others.  Not sure why
+    * it is needed now.
+    */
+   dw3 = GEN6_THREADDISP_VME |
+         ff->sampler_count << GEN6_THREADDISP_SAMPLER_COUNT__SHIFT |
          ff->surface_count << GEN6_THREADDISP_BINDING_TABLE_SIZE__SHIFT;
 
    if (false)