diff options
author | Kenneth Graunke <[email protected]> | 2019-08-14 13:54:55 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-08-15 10:39:09 -0700 |
commit | f741de236b5fa5522d8749a4b3e6d994fb98c630 (patch) | |
tree | 6e3988112b427e4881969a307861a949cde4bc62 | |
parent | ceeaf93c8e0ac502410da82e07aa25b15b065b9c (diff) |
isl: Enable Unorm Path in Color Pipe
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 <[email protected]>
-rw-r--r-- | src/intel/genxml/gen11.xml | 1 | ||||
-rw-r--r-- | src/intel/isl/isl_surface_state.c | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/intel/genxml/gen11.xml b/src/intel/genxml/gen11.xml index e30143366f1..26c532b54bc 100644 --- a/src/intel/genxml/gen11.xml +++ b/src/intel/genxml/gen11.xml @@ -706,6 +706,7 @@ <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"/> diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index c47b8e0e9da..be9566d05c3 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -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; |