amdgpu/addrlib: add new flag nonSplit
authorXiaoYuan Zheng <xiaoyuan.zheng@amd.com>
Thu, 26 Jun 2014 07:47:51 +0000 (03:47 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 30 Mar 2017 12:44:33 +0000 (14:44 +0200)
Flag tcCompatible has different usage in CI and VI. Add a new flag
"nonSplit" for CI.

src/amd/addrlib/addrinterface.h
src/amd/addrlib/r800/ciaddrlib.cpp

index ead603378cff75dce731cc54fb4afdb1c6b19bb9..98cd405f59446e9c91ea350c1c22fa7cea3f46b0 100644 (file)
@@ -456,7 +456,8 @@ typedef union _ADDR_SURFACE_FLAGS
         UINT_32 czDispCompatible: 1; ///< SI+: CZ family (Carrizo) has a HW bug needs special alignment.
                                      ///<      This flag indicates we need to follow the alignment with
                                      ///<      CZ families or other ASICs under PX configuration + CZ.
-        UINT_32 reserved      :10; ///< Reserved bits
+        UINT_32 nonSplit      : 1; ///< CI: depth texture should not be split
+        UINT_32 reserved      : 9; ///< Reserved bits
     };
 
     UINT_32 value;
index 26c4e05617771332f5cfbecb6fd6faca8e815ebb..5f8a1fee52722f843ff90e21eaf99343c362ce0e 100644 (file)
@@ -1010,7 +1010,7 @@ VOID CiAddrLib::HwlSetupTileInfo(
         // See table entries 0-4
         if (flags.depth || flags.stencil)
         {
-            if (flags.depth && flags.tcCompatible)
+            if (flags.depth && (flags.nonSplit || flags.tcCompatible))
             {
                 // tileSize = bpp * numSamples * 8 * 8 / 8
                 UINT_32 tileSize = bpp * numSamples * 8;