isl: Enable Unorm Path in Color Pipe
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 14 Aug 2019 20:54:55 +0000 (13:54 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 15 Aug 2019 17:39:09 +0000 (10:39 -0700)
Improves performance on my Icelake 8x8 locked to 700Mhz.  For example,
some GfxBench5 subtests have the following results:

- [i965] gl_manhattan: ................ 7.01119% +/- 0.180971% (n=5)
- [i965] gl_4 (Car Chase):              4.24351% +/- 0.175622% (n=5)
- [i965] gl_blending:  ................ 3.36327% +/- 0.180267% (n=5)
- [i965] gl_5_normal (Aztec Ruins):     1.67962% +/- 0.243534% (n=10)
- [iris] gl_manhattan: ................ 3.92357% +/- 0.073965% (n=25)
- [iris] gl_4 (Car Chase):              2.17746% +/- 0.0826858% (n=5)
- [iris] gl_blending:  ................ 2.79599% +/- 0.803652% (n=15)
- [iris] gl_5_normal (Aztec Ruins):     1.30930% +/- 0.106523% (n=25)

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/genxml/gen11.xml
src/intel/isl/isl_surface_state.c

index e30143366f10f270846690c4e81f9517d9720488..26c532b54bcfda9c44bdac75d46ec4efef99bc6b 100644 (file)
     <field name="Surface QPitch" start="32" end="46" type="uint"/>
     <field name="Base Mip Level" start="51" end="55" type="u4.1"/>
     <field name="MOCS" start="56" end="62" type="uint"/>
+    <field name="EnableUnormPathInColorPipe" start="63" end="63" type="bool"/>
     <field name="Width" start="64" end="77" type="uint"/>
     <field name="Height" start="80" end="93" type="uint"/>
     <field name="Surface Pitch" start="96" end="113" type="uint"/>
index c47b8e0e9dad301262b435be0b2c73ea1aefd4da..be9566d05c347dbab38c930b96de455b39198ff0 100644 (file)
@@ -454,6 +454,10 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
    s.RenderCacheReadWriteMode = 0;
 #endif
 
+#if GEN_GEN >= 11
+   s.EnableUnormPathInColorPipe = true;
+#endif
+
    s.CubeFaceEnablePositiveZ = 1;
    s.CubeFaceEnableNegativeZ = 1;
    s.CubeFaceEnablePositiveY = 1;
@@ -760,6 +764,10 @@ isl_genX(buffer_fill_state_s)(void *state,
    s.RenderCacheReadWriteMode = 0;
 #endif
 
+#if GEN_GEN >= 11
+   s.EnableUnormPathInColorPipe = true;
+#endif
+
    s.SurfaceBaseAddress = info->address;
 #if GEN_GEN >= 6
    s.MOCS = info->mocs;